DRAKON.SU
https://forum.drakon.su/

Как с помощью силуэта изобразить асинхронный автомат?
https://forum.drakon.su/viewtopic.php?f=78&t=2200
Страница 1 из 1

Автор:  MaximGB [ Воскресенье, 13 Декабрь, 2009 18:51 ]
Заголовок сообщения:  Как с помощью силуэта изобразить асинхронный автомат?

Возник вопрос. Допустим я проектируею управляющий автомат событиями которого являются события, получаемые от элементов пользовательского интерфейса, события эти приходят асинхронно, т.е. при завершении обработки одного события, следующее событие не известно, известен только некий набор разрешённых для полученного состояния событий. Как это отобразить на дракон-схеме?

Автор:  ==== [ Воскресенье, 13 Декабрь, 2009 19:04 ]
Заголовок сообщения:  Re: Как с помощью силуэта изобразить асинхронный автомат?

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

Автор:  MaximGB [ Воскресенье, 13 Декабрь, 2009 19:07 ]
Заголовок сообщения:  Re: Как с помощью силуэта изобразить асинхронный автомат?

Геннадий Тышов писал(а):
MaximGB писал(а):
Возник вопрос. ...
Вероятно для отображения логики управляющего автомата надо использовать схему "Силуэт" с несколькими входами, для каждого вида событий.

Не совсем понял про несколько входов, разве это разрешено?

Автор:  Илья Ермаков [ Воскресенье, 13 Декабрь, 2009 19:08 ]
Заголовок сообщения:  Re: Как с помощью силуэта изобразить асинхронный автомат?

Я рисую значок ввода, и после CASE по типу сообщения.

Автор:  ==== [ Воскресенье, 13 Декабрь, 2009 19:11 ]
Заголовок сообщения:  Re: Как с помощью силуэта изобразить асинхронный автомат?

Из книги В.Д. Паронджанова "Как улучшить работу ума"

"Тезис 35. Дополнительный вход — преобразование силуэта, с помощью которого добавляется еще одна икона “заголовок”, которая размещается над любой иконой “имя ветки” (кроме левой) и соединяется с ней вертикальным отростком. При этом на верхней горизонтальной линии силуэта рисуют направленную вправо стрелку, как показано в примере на рис. 84 справа.
О г р а н и ч е н и е. При наличии веточного цикла запрещается присоединять дополнительный заголовок к середине веточного цикла."

Автор:  MaximGB [ Воскресенье, 13 Декабрь, 2009 19:18 ]
Заголовок сообщения:  Re: Как с помощью силуэта изобразить асинхронный автомат?

Илья Ермаков писал(а):
Я рисую значок ввода, и после CASE по типу сообщения.

Да, я пришел к такому же решению, только я рисую значёк "задержка" (перевёрнутая трапеция) перед CASE в конце каждой ветки силуэта, для каждой метки CASE сразу идёт адрес ветки силуэта. Думал есть вариант по проще.

Автор:  MaximGB [ Воскресенье, 13 Декабрь, 2009 19:42 ]
Заголовок сообщения:  Re: Как с помощью силуэта изобразить асинхронный автомат?

Геннадий Тышов писал(а):
Из книги В.Д. Паронджанова "Как улучшить работу ума"

"Тезис 35. Дополнительный вход — преобразование силуэта, с помощью которого добавляется еще одна икона “заголовок”, которая размещается над любой иконой “имя ветки” (кроме левой) и соединяется с ней вертикальным отростком. При этом на верхней горизонтальной линии силуэта рисуют направленную вправо стрелку, как показано в примере на рис. 84 справа.
О г р а н и ч е н и е. При наличии веточного цикла запрещается присоединять дополнительный заголовок к середине веточного цикла."


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

Автор:  ==== [ Воскресенье, 13 Декабрь, 2009 20:10 ]
Заголовок сообщения:  Re: Как с помощью силуэта изобразить асинхронный автомат?

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

По поводу иконы "Пауза" - у вас задержка, то ее применение для обработки событий не представляется необходимым.

Автор:  MaximGB [ Воскресенье, 13 Декабрь, 2009 21:45 ]
Заголовок сообщения:  Re: Как с помощью силуэта изобразить асинхронный автомат?

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

По поводу иконы "Пауза" - у вас задержка, то ее применение для обработки событий не представляется необходимым.


А как тогда замыкать силуэт?
~
Вот что пока получается:
Изображение

Автор:  Илья Ермаков [ Воскресенье, 13 Декабрь, 2009 22:14 ]
Заголовок сообщения:  Re: Как с помощью силуэта изобразить асинхронный автомат?

Да нормально вроде.

Автор:  Ильченко Эдуард [ Четверг, 25 Август, 2011 00:51 ]
Заголовок сообщения:  Re: Как с помощью силуэта изобразить асинхронный автомат?

Вот такой вариант, имхо, попроще будет ...
Вложение:
ev.png
ev.png [ 13.55 КБ | Просмотров: 15595 ]

Так сказать, этюд из любви к искусству : )

Автор:  Владислав Жаринов [ Четверг, 25 Август, 2011 11:07 ]
Заголовок сообщения:  Re: Как с помощью силуэта изобразить асинхронный автомат?

Ильченко Эдуард писал(а):
Вот такой вариант, имхо, попроще будет ...
Вложение:
ev.png

Так сказать, этюд из любви к искусству : )
Тока он однократно работает... а в исходном вроде как предполагается реагирующий процесс. "Зацикливание кейса" же в стиле ЯВС-метода, как описано в этой работе, приводит нас к "силуэтному" циклу Дейкстры, как показано здесь... ;) Ваша интерпретация (если она эквивалентна - честно говоря, не вникал), IMHO, позволяет упростить переход к СЦД (хотя по-хорошему его надо выводить сразу из условий задачи).

Автор:  Ильченко Эдуард [ Четверг, 25 Август, 2011 11:30 ]
Заголовок сообщения:  Re: Как с помощью силуэта изобразить асинхронный автомат?

Драконограф писал(а):
Тока он однократно работает...

Он сработает столько раз, сколько будет "возбуждено" Event'ов : )

Автор:  Владислав Жаринов [ Четверг, 25 Август, 2011 11:54 ]
Заголовок сообщения:  Re: Как с помощью силуэта изобразить асинхронный автомат?

Ильченко Эдуард писал(а):
Драконограф писал(а):
Тока он однократно работает...

Он сработает столько раз, сколько будет "возбуждено" Event'ов : )
В таком случае описание только этой схемой неполное - не показано, что этот процесс служит источником образования системы процессов. Если я правильно понимаю, это "зашито" в текстоэлементах - как понимание сущности некоторых величин, употребляемых в текстах. Но читатель не должен догадываться - он должен видеть - раз уж у нас визуализация... ;)
Впрочем, это возвращает нас к средствам визуализации систем алгопроцессов, возникающих путём, отличным от вызовов алгопроцедур. А определение таких средств пока что не завершено - как можно видеть из дискуссий в этой теме...

Страница 1 из 1 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/