DRAKON.SU

Текущее время: Четверг, 09 Май, 2024 15:50

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 91 ]  На страницу Пред.  1, 2, 3, 4, 5
Автор Сообщение
СообщениеДобавлено: Понедельник, 10 Февраль, 2014 13:18 

Зарегистрирован: Суббота, 16 Февраль, 2008 07:58
Сообщения: 239
Откуда: Россия, Стерлитамак
Владимир Паронджанов писал(а):
Цитата:
Я не понял, зачем нужна (одна) стрелка, которая непосредственно под иконой "Монтаж электрощита"? Мне кажется, она не нужна. Ведь она втыкается в начало параллельного процесса...

Если убрать эту стрелку, других замечаний у меня нет.

Ну так она кроме того является окончанием другого параллельного процесса


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Понедельник, 10 Февраль, 2014 13:31 

Зарегистрирован: Воскресенье, 24 Февраль, 2008 15:32
Сообщения: 5857
Откуда: Москва
adva писал(а):
Ну так она кроме того является окончанием другого параллельного процесса


Мне кажется, Ваше утверждение содержит противоречие. И вот почему.

Вопрос 1. Где кончается параллельный процесс "Монтаж электрощита"?
Ответ 1. Получается, что у этого процесса два конца, обозначенных двумя стрелками.

Вопрос 2. Что означает верхняя стрелка?
Ответ 2. Она не нужна.

Вопрос 3. Что означает нижняя стрелка?
Ответ 3. (Вместе с одиночной горизонтальной линией) она означает конец параллельного процесса "Монтаж электрощита".


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Понедельник, 10 Февраль, 2014 14:08 

Зарегистрирован: Суббота, 16 Февраль, 2008 07:58
Сообщения: 239
Откуда: Россия, Стерлитамак
Владимир Паронджанов писал(а):
Вопрос 1. Где кончается параллельный процесс "Монтаж электрощита"?
Ответ 1. Получается, что у этого процесса два конца, обозначенных двумя стрелками.

Получается, что верхняя стрелка обозначает окончание одного из параллельных процессов "Монтаж электрощита", после которого начинается новые параллельные процессы: "Установка крыши", "Установка окон", "Прокладка водопровода".
А вот нижняя стрелка обозначет окончание группы параллелных процессов ("Подводка электролинии", "Закупка электропроводов", "Монтаж электрощитка"), после которых можно приступить к "Прокладка электропроводки".

Т.е. имеем 2 стрелки, которые обозначают разные вещи.

Если же оставить только нижнюю стрелку, то получается, что к "Установка крыши" можно будет приступить не дожидаясь окончания "Монтаж электрощита"


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Понедельник, 10 Февраль, 2014 14:11 

Зарегистрирован: Суббота, 16 Февраль, 2008 07:58
Сообщения: 239
Откуда: Россия, Стерлитамак
Возможно из "Монтаж электрощита" надо было вывести 2 линии со стрелками, либо сделать разветвление, с каким либо обозначением.

Либо всё же отказаться от стрелок, и оставить 2 линии, как признак начала и окончания процесса.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Понедельник, 10 Февраль, 2014 14:19 

Зарегистрирован: Четверг, 30 Январь, 2014 13:38
Сообщения: 423
andr писал(а):
Геннадий Тышов писал(а):
Смотрите:
На рис. 155б/1 действие Z30 выполняется после завершения действий Z20, Z21, Z22.
На рис. 155б/2 действие Z30 выполняется после завершения действий Z20, Z21, Z22, Z23.
Разница есть.
Так точно.
Цитата:
Предлагаю (по крайней мере себе) эти вопросы поставить точно.
1. Доказать аналитически (функционально) неэквивалентность схем Рис. 155б/1 и 155б/2.
2. Преобразовать исходную многополюсную схему 155б/1 в эквивалентную двухполюсную,
то есть последовательно-параллельную структуру
(и какая бяка при этом может получиться).
3. Кое-какие дополнительные вопросы.

Начну по порядку в отдельных последующих постах.

Начнем, помолясь.

------------------------------------------ 1
Принимается следующий исходный вариант многополюсной (внутри) блок-схемы,
то есть схемы не последовательно-параллельного (не базового) структурного типа:

Изображение

Узлы коммутации потоков - узлы вилки и сборки потоков (вытянутые в линию)
не обязательно отображать двойными поперечными линиями.
То есть их можно отображать одинарными линиями (далее будет понятно почему).
Но так (двойными) нагляднее, читабельнее и соответствует стандарту
ГОСТ 19.701-90 = ISO 5807-85.
Может быть, есть версия стандарта поновее?

Поперечные линии узлов коммутации выступают за продольные линии связей
(в данном случае - на пол корпуса блоков).
Можно их подводить впритык.
Но так тоже нагляднее и читабельнее.
Но хозяин-барин - у каждого может быть свое мнение.

------------------------------------------- 2
Далее явно вводятся блоки узлов коммутации потоков:
# - блоки узлов вилки и o (o = &) - блоки узлов сборки.

Изображение

Для исключения изломов выходных или входных цепей узлов коммутации
(для спрямления линий):
-- либо узлы коммутации можно вытягивать (пунктир),
-- либо продлевать одну или обе, если надо, поперечные стороны блоков - это обычный прием в схемотехнике.
Поперечные линии продленки сторон блоков могут быть одинарные.

Блоки дивергенции (вилки) потоков в программной реализации
содержат коды в основном потоке, порождающие параллельные потоки.
В аппаратной реализации - это могут быть простые монтажные узлы разветвления цепей
(с подсоединением, например, пайкой или через клеммы).
Но в общем случае для обеспечения нагрузочной способности схемы они должны содержать
усилители мощности.
В логическом смысле - это множественные (разветвленные) логические повторители.

Блоки конвергенции (сборки) в программной и аппаратной реализации
представляют потенциальные или импульсные логические функции:
По умолчанию имеется в виду конъюнкция.
Это традиционное применение параллельных структур:
в данном случае параллельная конъюнкция потоков.
Может быть параллельная дизъюнкция - начинает осваиваться,
но это очень проблемный вопрос.
В принципе могут быть другие функции.

--------------------------------- 3
Далее приводится схема потенциальной аппаратной модели данного алгоритма:

Изображение

Блоки рабочих операторов алгоритмов Ai и их команд Zi, заменяются
элементами задержки D(mzi) с величиной задержки mai, mzi и связями:
входы xai, xzi и выходы yai, yzi.

В данном случае проставлены входы и выходы первой половины схемы.

=======================
В учебном процессе я применяю такие схемы для моделирования циклов работы схем:
для построения временных диаграмм.
Используются разные способы программной реализации аппаратных моделей алгоритмов
в разных языках программирования и в разных средах моделирования:
строятся временные диаграммы - с графическими и литерными линиями (например, ********).
Такие модели в принципе годятся и для разных доказательств.

------------------------------
Многополюсные схемы - это обычно довольно замысловатые головоломки,
что затрудняет их читабельность и понимание их работы, и чревато ошибками.
Необходимо иметь возможность строго анализа и доказательства
различных зависимостей и разных их соотношений.
В частности, в данном случае:

1) Сигналы на входах блоков Z20..Z23 второго ряда после вилки #1:

xz20 = xz21 = xz22 = xz23 = Ryz10 = yz10

равны между собой и появляются одновременно,
где R - репитер, логический повторитель (оператор повторения) с функциональным отношением:
Ryz10 = R(yz10) = yz10.
Блоки Z20..Z23 запускаются одновременно (после окончания работы блока Z10),
и завершают свою работу в общем случае в разное время.
Их выходные сигналы y20..y23 появляются в общем случае не одновременно.
Необходимо :
-- определить зависимость входных сигналов блоков Z30..Z33 от указанных выходов блоков предыдущего ряда;
-- получить соответствующие им частные алгоритмические цепи (фрагменты).

2) Сигналы на выходах вилки #2:

yr20 = yr21 = yr22 = yr23 = Ryz20 = yz20

равны между собой (и появляются одновременно).

3) Сигнал на входе оператора Z30:

xz30 = yz20 & yz21 & yr20 = yz20 & yz21 & yz22.

Откуда (в конечном счете) получается частный фрагмент алгоритма:

Az30 = Z10-(Z20 || Z21 || Z22) - Z30 = Z10-(Z20 #& Z21 #& Z22)-Z30 =
= Z10-#(Z20, Z21, Z22)&-Z30

4) Сигнал на входе оператора Z31:

xz31 = yr21 = yz22

Откуда (в конечном счете) получается частный фрагмент алгоритма:

Az31 = Z10-Z22

5) Сигнал на входе оператора Z32 - аналогично:

Az32 = Z10-Z22

6) Сигнал на входе оператора Z33:

xz33 = yr22 & yz23 = yz22 & yz23

Откуда (в конечном счете) получается частный фрагмент алгоритма:

Az33 = Z10-(Z22 || Z23) = Z10-(Z22 #&| Z23) = Z10-#(Z22, Z23)&

------------------------
Здесь уже есть много информации для размышления.
В частности, строго аналитически подтверждается:
andr писал(а):
Геннадий Тышов писал(а):
Смотрите:
На рис. 155б/1 действие Z30 выполняется после завершения действий Z20, Z21, Z22.
На рис. 155б/2 действие Z30 выполняется после завершения действий Z20, Z21, Z22, Z23.
Разница есть.


---------------------
Далее можно:
-- продолжать анализ до конца схемы;
-- построить эквивалентную последовательно-параллельную структуру
(но там будет некоторая специфика).


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Понедельник, 10 Февраль, 2014 16:12 

Зарегистрирован: Понедельник, 09 Ноябрь, 2009 17:29
Сообщения: 904
Откуда: Россия, Питер
Владимир Паронджанов писал(а):
Я не понял, зачем нужна (одна) стрелка, которая непосредственно под иконой "Монтаж электрощита"?

Действительно, не нужна.

См. рис. а.

В точке A мы имеем один маршрут (поэтому он без стрелки).
Ниже имеем параллельные маршруты (отличительная черта - стрелка).

В точках B и С имеем завершение маршрутов, которые выполнялись параллельно с другими маршрутами. При этом некоторые маршруты продолжают выполняться.
В точках В и С стрелки - символ параллельных маршрутов ( а не одного единственного).

Правда, не совсем понятна стрелка ниже точки В.
Это пустой маршрут?
Нет, это всё тот же маршрут сверху точки В. Соответственно, визуально разделять их неправильно.

См. рис. а1.

Глядя на точку В можно сказать, что маршрут В порождает параллельные процессы и сам завершается в точке слияния.
Пустой маршрут из верхнего рисунка пропал (что есть хорошо, он давно мешал : ).

(Точки не подписал, чтобы не мешали восприятию : )

Вложение:
a.png
a.png [ 20.36 КБ | Просмотров: 9133 ]

Вложение:
a1.png
a1.png [ 19.14 КБ | Просмотров: 9133 ]


Правда, теперь с точкой С нехорошо, под ней начинается новый маршрут, а не продолжается старый.
В результате получается, что если под точкой расщепления самый левый маршрут пустой, то над точкой расщепления стрелка не нужна. Если для маршрута над точкой расщепления (как над точкой С) имеются параллельные маршруты, то стрелка нужна.
Впрочем, из соображений, что в точке А порождаются маршруты отличные от входящего, то и над ней нужна стрелка.

С другой стороны, можно оставить всё как на схеме а1 и не заморачиваться : )

Я считаю, что схема на рис. а1 достаточна логична и элегантна.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Понедельник, 10 Февраль, 2014 16:36 

Зарегистрирован: Понедельник, 09 Ноябрь, 2009 17:29
Сообщения: 904
Откуда: Россия, Питер
andr писал(а):
Далее явно вводятся блоки узлов коммутации потоков:
# - блоки узлов вилки и o (o = &) - блоки узлов сборки.

Некоторое время назад были предложения по блокам коммутации.
http://forum.oberoncore.ru/viewtopic.php?p=40032#p40032
http://forum.oberoncore.ru/viewtopic.php?p=40270#p40270
http://forum.oberoncore.ru/viewtopic.php?p=40280#p40280

Имхо, для простых схем они излишни. Утяжеляют композицию.

Кстати, ещё как-то нужно обозначать хозяина процесса или именовать его (процесс).
Например, так:
Вложение:
b.png
b.png [ 32.36 КБ | Просмотров: 9129 ]


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Понедельник, 10 Февраль, 2014 16:41 

Зарегистрирован: Понедельник, 09 Ноябрь, 2009 17:29
Сообщения: 904
Откуда: Россия, Питер
Ильченко Эдуард писал(а):
Правда, теперь с точкой С нехорошо, под ней начинается новый маршрут, а не продолжается старый.
В результате получается, что если под точкой расщепления самый левый маршрут пустой, то над точкой расщепления стрелка не нужна. Если для маршрута над точкой расщепления (как над точкой С) имеются параллельные маршруты, то стрелка нужна.
Впрочем, из соображений, что в точке А порождаются маршруты отличные от входящего, то и над ней нужна стрелка.

Эх, всё таки, для сравнения, со стрелочками : )
Вложение:
b1.png
b1.png [ 32.89 КБ | Просмотров: 9129 ]


Правило: Если все порождённые процессы отличаются от порождающего - у порождающего ставим стрелочку.
Если порождающий процесс продолжает работать параллельно с порождёнными - стрелочку не ставим : ) Такой процесс всегда слева от иконы Параллель.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Понедельник, 10 Февраль, 2014 17:35 

Зарегистрирован: Воскресенье, 24 Февраль, 2008 15:32
Сообщения: 5857
Откуда: Москва
В сообщении viewtopic.php?p=85892#p85892 Ильченко Эдуард писал(а):
С другой стороны, можно оставить всё как на схеме а1 и не заморачиваться : )

Я считаю, что схема на рис. а1 достаточна логична и элегантна.

Поддерживаю.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 18 Февраль, 2014 16:27 

Зарегистрирован: Понедельник, 25 Июнь, 2012 17:26
Сообщения: 396
Вот в этом сообщении лучший вариант решения задачи насчёт строительства дома, имею в виду вариант на UML (хотя, конечно, это частный случай). Игра с горизонтальными ломанными линиями-шинами на Драконе -- неэргономична. Альтернатива -- когда-то предложенные "мультишампура". Но подобные блоки расщепления/слияния процессов довольны громоздки и выбиваются из ритма схемы, и не всегда в схеме они требуются (диаграмма с соответствующим уровнем детализации, или принят единый механизм, раскрываемый отдельно, и т.п.). Но, в общем случае, узлы необходимы. Отсюда -- как вынужденный компромисс -- "параллельные" линии (как близость к типовым стандартам блок-схем) плюс необязательные узлы разделения/сборки процессов, а также иконы для начала/конца конкретного параллельного процесса (т.е. блок из мультишампура "разрывается" на части).

На основе "кусочка" рисунка, представленного Эдуардом выше:
Вложение:
c.PNG
c.PNG [ 24.32 КБ | Просмотров: 9041 ]

Здесь имеются:

- узлы разделения/слияния процессов, дающие конкретизацию соответствующих механизмов;
- иконы начала/конца параллельного процесса, где могут быть определены условия запуска и прочие пред- и постусловия.

Иконы могут быть обозначены как-то иначе. Параллельные процессы могут "растянуться" по "параллельным" веткам, поэтому возможны пометки икон-переходов по аналогии с "мультишампурами". "Параллельные" иконы не обязательны.

Вместо вертикальных стрелочек (дающих неоднозначность в восприятии схемы, особенно когда имеются вертикальные линии с ними и без) представлен вариант обозначения шины-слияния параллельных действий двойной стрелочкой на самой шине (одинарная стрелка уже используется в циклах, на шинах, "приходящих" снизу). В принципе, шину можно и не выделять, что только способствует применению минимального зазора между иконами.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 18 Февраль, 2014 21:47 

Зарегистрирован: Понедельник, 09 Ноябрь, 2009 17:29
Сообщения: 904
Откуда: Россия, Питер
PSV100 писал(а):
Вместо вертикальных стрелочек ...

Вложение:
f1.png
f1.png [ 22.47 КБ | Просмотров: 9021 ]

Без стрелочек как-то безлико.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 91 ]  На страницу Пред.  1, 2, 3, 4, 5

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Вся информация, размещаемая участниками на конференции (тексты сообщений, вложения и пр.) © 2008-2024, участники конференции «DRAKON.SU», если специально не оговорено иное.
Администрация не несет ответственности за мнения, стиль и достоверность высказываний участников, равно как и за безопасность материалов, предоставляемых участниками во вложениях.
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB