- •Часть 1
- •Пустой алгоритм:
- •Алгоритм a001: Пустой алгоритм - проходная интерпретация
- •Описание алгоритма
- •Исходный текст программной реализации
- •Алгоритм a101: Единичный алгоритм
- •Описание алгоритма
- •Исходный текст программной реализации
- •Алгоритм a211: Последовательность двух команд
- •Описание алгоритма
- •Исходный текст программной реализации
- •Алгоритм a222: Параллельная конъюнкция двух команд
- •Исходное общее описание алгоритма
- •Многопоточные представления
- •Исходный текст программной реализации
- •Исходный текст программной реализации
Исходный текст программной реализации
ВИ: Вертикальное исполнение
def eA101(ccrt, hCycles): // alg A211():
hCycles.Zh(ccrt.techsys.head7) // Zh7() - типовой цикл СГ1
Алгоритм a211: Последовательность двух команд
Описание алгоритма
СФА: Структурная формула алгоритма
Алгоритм этапа обработки (основного перехода тех. операции):
A211 = (Z7 –Z4) =Z7 –Z4
Алгоритм операционного цикла
A = (Zz – A211 – Zr) = (Zz – (Z7 –Z4) – Zr) = (Zz – Z7 –Z4 – Zr)
ССА: Структурная схема алгоритма
ДИА: Диаграмма исполнения алгоритма: mz7 = 40,mz4 = 70
ВТА: Вербальный текст алгоритма / ПиПТ: Питон-подобный текст
ГИ: Горизонтальное исполнение
ШТА: Шаблон текста алгоритма
A211 = (Z7–Z4) =Z7–Z4
A001 = Z7–Z4
РТА: Рабочий текст алгоритма
algA001( ):Zh7( );Zh4( )
ВИ: Вертикальное исполнение
ШТА: Шаблон текста алгоритма РТА: Рабочий текст алгоритма
A211 A211= A211= A211= A211= alg A211( ):
=
( ( |
Z7 – | Z7 Zh7( )
( Z7 – | Z7 – | Z4 | Z4 Zh4( )
Z7 Z4 | Z4
– ) )
Z4
)
Исходный текст программной реализации
ВИ: Вертикальное исполнение
def eA211(ccrt, hCycles): # alg A211( ):
hCycles.Zh(ccrt.techsys.head7) # Zh7( ) - типовой цикл СГ7
hCycles.Zh(ccrt.techsys.head4) # Zh4( ) - типовой цикл СГ4
Алгоритм a222: Параллельная конъюнкция двух команд
Исходное общее описание алгоритма
СФА: Структурная формула алгоритма
Алгоритм этапа обработки (основного перехода тех. операции):
A222 = (Z7 &Z4) = (Z7#&Z4) = #(Z7,Z4)& = #Z7,Z4 &
Алгоритм операционного цикла
A = (Zz – A222 – Zr) = (Zz – (Z7 & Z4) – Zr)
ССА: Структурная схема алгоритма
ДИА: Диаграмма исполнения алгоритма: mz7 = 40,mz4 = 70
Многопоточные представления
ССА: Структурная схема алгоритма
Структурные операторы:
FZi = F(Zi) = Fork(Zi) – оператор узла вилки:
упаковка в поток и вызов команды Zi в потоке
JZi= J&Zi = J&(Zi) = Join_&(Zi) – оператор узла сборки:
ожидание (wait) завершения команды Zi
ВТА: Вербальный текст алгоритма / ПиПТ: Питон-подобный текст
ГИ: Горизонтальное исполнение
ШТА: Шаблон текста алгоритма
A222 = (Z7 &Z4) = (Z7 #&Z4) = #(Z7,Z4)& = #Z7,Z4 & =
= # Z7Z4 & =#Z7Z4&=#Z7Z4&=
= FZ4Z7JZ4 =FZ4–Z7–J&Z4
РТА: Рабочий текст алгоритма
algA222 ( ):Fork(Zh4( ));Zh7( );Join_&(Zh4( ))
ВИ: Вертикальное исполнение
ШТА: Шаблон текста алгоритма РТА: Рабочий текст алгоритма
A222 = alg A222( ):
| FZ4 Fork(Zh4( ))
| Z7 Zh7( )
| J&Z4 Join_&(Zh4( ))
Исходный текст программной реализации
ВИ: Вертикальное исполнение
def eA222(ccrt, hCycles): // alg A222():
thread.start_new(hCycles.Zh, (ccrt.techsys.head4, )) // Fork(Zh4())
hCycles.Zh(ccrt.techsys.head7) // Zh7()
while not ccrt.techsys.head4.yzh: // Join(Zh4()): ожидание (head4.yzh = 1)
pass
Алгоритм A323: Параллельная конъюнкции трех команд
Исходное общее описание алгоритма
СФА: Структурная формула алгоритма
Алгоритм этапа обработки (основного перехода тех. операции):
A323 = (Z7 & Z4 & Z5) = (Z7 #& Z4 #& Z5) =
= #(Z7, Z4, Z5)& = # Z7, Z4, Z5 &
Алгоритм операционного цикла // включая загрузку и разгрузку
A = (Zz – A323 – Zr) = (Zz – (Z7 & Z4 & Z5) – Zr)
ССА: Структурная схема алгоритма
Вариант 1 Вариант 2
ДИА: Диаграмма исполнения алгоритма: mz7 = 40,mz4 = 70,mz5 = 50
Многопоточные представления
СФА: Структурная формула алгоритма
A323 = (Z7 & Z4 & Z5) = ((Z7 & Z4) & Z5) = ((Z7 #& Z4) #& Z5)
= #(#(Z7,Z4)&,Z5)& = # #Z7,Z4&,Z5&
ССА: Структурная схема алгоритма / Вариант 3
ССА: Структурная схема алгоритма / Вариант 4
Структурные операторы:
FZi = F(Zi) = Fork(Zi) – оператор узла вилки:
упаковка в поток и вызов команды Zi в потоке
J&Zi = J&(Zi) = Join_&(Zi) – оператор узла сборки:
ожидание (wait) завершения команды Zi
ВТА: Вербальный текст алгоритма / ПиПТ: Питон-подобный текст
ГИ: Горизонтальное исполнение
ШТА: Шаблон текста алгоритма
A323 = ((Z7 & Z4) & Z5) = ((Z7 #& Z4) #& Z5) =
= #(#(Z7, Z4)&, Z5)& = # # Z7, Z4 &, Z5 & =
= # # Z7 Z4 & Z5 & = # # Z7 Z4 & Z5 & = # # Z7 Z4 & Z5 & =
= # FZ4 Z7 J&Z4 Z5 & = # FZ4 Z7 JZ4 Z5 & = # FZ4 Z7 JZ4 Z5 & =
= FZ5 FZ4 Z7 J&Z4 J&Z5 = FZ5 – FZ4 – Z7 – J&Z4 – J&Z5
РТА: Рабочий текст алгоритма
alg A323( ): Fork(Zh4( )); Fork(Zh4( )); Zh7( ); Join_&(Zh4( )) ; Join_&(Zh5( ))
ВИ: Вертикальное исполнение
ШТА: Шаблон текста алгоритма РТА: Рабочий текст алгоритма
A222 = alg A222( ):
| FZ5 Fork(Zh5( ))
| FZ4 Fork(Zh4( ))
| Z7 Zh7( )
| J&Z4 Join_&(Zh4( ))
| J&Z5 Join_&(Zh5( ))