Этап э3: Работа
-
Исходные условия
-
Общее содержание работы
Выполняется самостоятельная разработка многопоточной программной реализации заданного параллельного алгоритма Axx1 в языке программирования Питон (Python).
Работа выполняется по образцу алгоритма:
A141 = (((Z1 – Z2) & (Z3 – (Z4 & (Z5 – Z6)))) – Z3 – Z1)
СФА: Структурная формула алгоритма
A991=(Z1 - (( ( Z2 & Z5 ) - Z2) & ((( Z7 - (Z8 &Z3 )) & (Z4 - Z1 ) ) - Z0 ) ) )
-
Исходное описание алгоритма
-
Сфа: Структурная формула алгоритма
Алгоритм операционного цикла // включая загрузку и разгрузку
A = (Zz – A991 – Zr)
Алгоритм этапа обработки:
основной перехода технологической операции – без учета вспомогательных переходов загрузки разгрузки деталей.
ИнФ: Инфиксная форма
A991 =(Z1 - (( ( Z2 & Z5 ) - Z2) & ((( Z7 - (Z8 &Z3 )) & (Z4 - Z1 ) ) - Z0 ) ) )
Ввод явного отражения парной операции параллельной конъюнкции (#&):
ИнФ: Инфиксная форма
=(Z1 - (( ( Z2 #& Z5 ) - Z2) #& ((( Z7 - (Z8 #&Z3 )) #& (Z4 - Z1 ) ) - Z0 ) ) )=
=(Z1 - (( ( Z2 #& Z5 ) - Z2) #& ((( Z7 - (Z8 #&Z3 )) #& (Z4 - Z1 ) ) - Z0 ) ) )
Вывод комбинированной формы записи структурной формулы:
ИнПрПоФ: Инфиксно-префиксно-постфиксная форма
=(Z1 - (( ( Z2 #& Z5 ) - Z2) #& ((( Z7 - (Z8 #&Z3 )) #& (Z4 - Z1 ) ) - Z0 ) ) )=
=(Z1 - (( #( Z2 , Z5 )& - Z2) #& ((( Z7 - (Z8 #&Z3 )) #& (Z4 - Z1 ) ) - Z0 ) ) )=
=(Z1 - # (( #( Z2 , Z5 )& - Z2) , ((( Z7 - (Z8 #&Z3 )) #& (Z4 - Z1 ) ) - Z0 ) ) &)=
=(Z1 - # (( #( Z2 , Z5 )& - Z2) , ((( Z7 - #(Z8 ,Z3 )&) #& (Z4 - Z1 ) ) - Z0 ) ) &)=
=(Z1 - # (( #( Z2 , Z5 )& - Z2) , (#(( Z7 - #(Z8 ,Z3 )&) , (Z4 - Z1 ) )& - Z0 ) ) &)=
=(Z1-#((#(Z2,Z5)&-Z2),(#((Z7-#(Z8,Z3)&),(Z4-Z1))&-Z0))&)
-
ССА: Структурная схема алгоритма. Вариант 2. Линейный стиль
-
ДИА: Диаграмма исполнения алгоритма
Набор формулы и данных:
ДИА: Диаграмма исполнения алгоритма
ЛД: Линейная (временная) диаграмма
СД: Сетевая (временная) диаграмма:
ручная доработка – указание причинно-следственных связей событий
-
Специальная подготовка алгоритма
-
ССА: Структурная схема алгоритма. Вариант 2. Мозаичный стиль
СФА: Структурная формула алгоритма
ИнПрПоФ: Инфиксно-префиксно-постфиксная форма
A991 (Z1-#((#(Z2,Z5)&-Z2),(#((Z7-#(Z8,Z3)&),(Z4-Z1))&-Z0))&)
ШСА: Штрих-схема алгоритма
Связный вариант
Замена обозначений
-
Итоговая СФА: Структурная формула алгоритма:
1) Дополнительные алгоритмы (подалгоритмы), выделяемые в дополнительные потоки (упаковываются в треды):
A40 = Z5
A30 = Z4 – Z1
A20 = Z3
A10 = FA30- Z7 – FA20 – Z8 – JFA20 – JFA30 – Z0
2) Основной алгоритм (в основном потоке):
A991 = FA10 – FA40 –Z2 –JA40 –Z2 – JA10
-
Вербальные (словесные) тексты алгоритма
ШТА: Шаблон текста алгоиртма
A40 = Z5
A30 = Z4 – Z1
A20 = Z3
A10 = FA30- Z7 – FA20 – Z8 – JFA20 – JFA30 – Z0
A991 = FA10 – FA40 –Z2 –JA40 –Z2 – JA10
РТА: Рабочий текст алгоритма
alg A40( ): Zh5( )
alg A30( ): Zh4( ); Zh1( )
alg A20( ): Zh3
alg A10( ): Fork(A30( )); Zh7( ); Fork(A20( )); Zh8( ); Join_&(A20( )); Join_&(A30( )) Zh0( )
alg A991( ): Fork(A10( )); Fork(A40( )); Zh2( ); Join_&(A40( )); Zh2( ); Join_&(A100( ))
ВИ: Вертикальное исполнение
ШТА: Шаблон текста алгоритма |
РТА: Рабочий текст алгоритма |
|||
A40 = Z5 |
A40 = |z5 |
A40 = |z5 |
A40 = |z5 |
alg40: Zh5()
|
A30 = Z4 - Z1
|
A30 = |Z4 |- |Z1
|
A30 = |Z4 |- |Z1
|
A30 = |Z4 |- |Z1
|
alg A30(): Zh4( ) Zh1( ) |
A20 = Z3
|
A20 = Z3 |
A20 = | Z3 |
A20 = | Z3 |
alg A20(): Zh3()
|
A10 = FA30- Z7- FA20- Z8- JA20- JA30- Z0 |
A10 = FA30- Z7- FA20- Z8- JA20- JA30- Z0 |
A10 = FA30- Z7- FA20- Z8- JA20- JA30- Z0 |
A10 = FA30- Z7- FA20- Z8- JA20- JA30- Z0 |
alg A10():
Fork(A30( )) zh7() Fork(A20( )) Zh8( ) Join_&(A20( )) Join_&(A30( )) Zh 0 () |
A991( )= Fork(A10( ))– Fork(A40( ))– Zh2( )– Join_&(A40( ))– Zh2( )– Join_&(A10( ))–
|
A991( )= Fork(A10( ))– Fork(A40( ))– Zh2( )– Join_&(A40( ))– Zh2( )– Join_&(A10( ))–
|
A991( )= Fork(A10( ))– Fork(A40( ))– Zh2( )– Join_&(A40( ))– Zh2( )– Join_&(A10( ))–
|
alg A991( ): Fork(A10( )); Fork(A40( )); Zh2( ); Join_&(A40( )); Zh2( ); Join_&(A10( )); |