DRAKON.SU https://forum.drakon.su/ |
|
Временная диаграмма ---> ДРАКОН схема https://forum.drakon.su/viewtopic.php?f=78&t=6645 |
Страница 1 из 1 |
Автор: | Владимир Невзоров [ Пятница, 23 Август, 2019 12:17 ] |
Заголовок сообщения: | Временная диаграмма ---> ДРАКОН схема |
Добрый день, дорогие форумчане! Сейчас будет чистая практика. Есть пример временной диаграммы(в каком то виде). Хочется сделать её чистой и понятной благодаря ДРАКОНу. Есть некоторые мысли как это можно сделать. Хотел бы получить от Вас обратную связь. Любые мысли о том как выразить понятно и ясно временную диаграмму и эту в частности - очень важны для меня, и, думаю, для всех интересующихся этой темой. I. Описание системы Представим систему из двух частей(TX, RX), разделенных сетью: Вложение: Одна часть компонент, создает важную информацию синхронно общаясь по сети. Это компоненты: 1. "Генератор информации TX" 2. Сеть 3. "Генератор информации RX" Их цель - создать очередной блок информации одинаковый на обоих сторонах. После этого один из них(кто-то первее) кидает запрос на добавление информации в своё "Хранилище Информации". Здесь мы уже говорим, что у нас есть: 1. "Хранилище TX" 2. Сеть 3. "Хранилище RX" Цель хранилищ - получить очередной блок информации от "Генераторов информации" и синхронно добавить блок себе внутрь. II. Временная диаграмма Интересует освещение алгоритма работы Хранилищ. Ниже представлена временная диаграмма, освещающая взаимодействие Хранилищ, а конкретно: -очередность событий по добавлению блока информации внутрь Хранилищ. Вложение: Всё начинается с обработки запроса типа "PutEvent". Обработчик событий одного из хранилищ получил очередное событие - "PutEvent" с блоком информации в нем. Большие прямоугольники с маленькими прямоугольники внутри выражают функции с действиями. В основном это функции - call-back'и - т.е. функции, которые вызываются обработчиком событий при наступление очередного события(приходе очередного сообщения по сети). Есть продолжение в виде ДРАКОН схемы, освещающей часть работы - работу Хранилища TX. Выложу чуть позже. |
Автор: | Владимир Невзоров [ Пятница, 23 Август, 2019 15:47 ] |
Заголовок сообщения: | Re: Временная диаграмма ---> ДРАКОН схема |
III. Обработка временной диаграммы. Сначала, я бы убрал связи-стрелочки между сторонами RX и TX: Вложение: Сейчас видим поток исполнения каждого компонента сверху вниз благодаря стрелочкам. Всё идет последовательно: -выполняем инструкции -отсылаем сообщения(события) Лишь в каких-то местах останавливаемся из-за: -ожидания сообщения(события) Сконцентрируемся на стороне TX: Вложение: IV. Превращение диаграммы в ДРАКОН схему Выразим её с помощью ДРАКОН схемы: Вложение: Действия общения по сети выразил через иконки: -send(отослать) ---> иконка "Вывод" с указанием получателя и сути сообщения -wait_for(ожидать ответа) ---> иконка "Ввод" с указанием отправителя и сути сообщения |
Автор: | LKom [ Пятница, 23 Август, 2019 17:04 ] |
Заголовок сообщения: | Re: Временная диаграмма ---> ДРАКОН схема |
Смотрите схему в сообщении выше. Схема выполнена в инструменте Степана Митькина. Инструмент не обеспечивает автоматизация построения схему. В ветке имеется 2-е одинаковых иконы Адрес "Обработка входящих событий". Автоматическое объединение икон не произошло, осталась визуальная избыточность. Пользователь надеется на инструмент и не производить объединение с применением горизонтальной линии объединения. Степану Митькину необходимо совершенствовать инструмент. Сморите в книге "Учись ..." стр. 102, "рис. 61. Плохая схема." и "рис. 62. Хорошая схема.". |
Автор: | Alexey_Donskoy [ Понедельник, 02 Сентябрь, 2019 19:25 ] |
Заголовок сообщения: | Re: Временная диаграмма ---> ДРАКОН схема |
Для точности терминологии. Вообще-то это не временная диаграмма, а два взаимосвязанных алгоритма. Временная диаграмма это примерно вот что: В программировании учёт временной координаты показывается на диаграмме последовательности (sequence diagram): Временную диаграмму не заменишь ничем - в ряде случаев она максимально удобна для анализа сигналов. Sequence diagram можно перевести в другую форму (например, Дракон), но при этом пропадёт её основное преимущество и назначение - графическое отображение временных соотношений. |
Автор: | А_МУР [ Понедельник, 02 Сентябрь, 2019 23:24 ] |
Заголовок сообщения: | Re: Временная диаграмма ---> ДРАКОН схема |
Здравствуйте Владимир, я тоже немного не понял про временную диаграмму. Возможно Вы имели ввиду логику процесса? |
Автор: | Владимир Невзоров [ Вторник, 03 Сентябрь, 2019 11:05 ] |
Заголовок сообщения: | Re: Временная диаграмма ---> ДРАКОН схема |
LKom, Alexey_Donskoy, А_МУР. Спасибо за Ваши комментарии, вопросы. Думаю, благодаря им сам лучше разберусь в сути) Думаю, ближе всего именно временная диаграмма(Sequence diagram). Хотя.. нет. Речь идет о "Событийно-ориентированном программирование": 1) Событийно-ориентированное программирование и язык ДРАКОН 2) Икона "Событие". Как изобразить? 3) Как с помощью силуэта изобразить асинхронный автомат? Насколько понял, сейчас консенсуса нет и как-то Владимир Паронджанов говорил, что требуется широкое обсуждение этого вопроса перед принятием решения. Я для себя выбрал вариант switch'a. Не знаю насколько он хорош по сравнению с другими. Думаю, нужно еще лучше изучить код, чтобы понять как его отобразить в ДРАКОНе. |
Автор: | А_МУР [ Вторник, 03 Сентябрь, 2019 12:48 ] |
Заголовок сообщения: | Re: Временная диаграмма ---> ДРАКОН схема |
я предполагаю, что события лучше отображать как отдельная ветка алгоритма. Например событие "клик мышки по форме" и т.д |
Автор: | Alexey_Donskoy [ Вторник, 03 Сентябрь, 2019 13:03 ] |
Заголовок сообщения: | Re: Временная диаграмма ---> ДРАКОН схема |
Владимир Невзоров писал(а): временная диаграмма (Sequence diagram) Ещё раз: в устоявшейся инженерной практике "временная диаграмма" и "Sequence diagram" - это разные термины! Хотя в принципе это почти одно и то же, но термины смешивать всё-таки не стоит.Событийность на Sequence diagram прекрасно показывается, но без алгоритмической детализации. Попытка впихнуть туда алгоритмический слой имеет право на существование, но обычно приводит к крайне громоздким, нечитабельным схемам. Пока предлагается начать с Sequence diagram, где показывается взаимодействие двух объектов, и потом каждый прямоугольник диаграммы раскрыть детально в отдельном алгоритме (Дракон-схеме). Это будет методически верно, т.к. соответствует системной иерархии и принципам инкапсуляции. |
Страница 1 из 1 | Часовой пояс: UTC + 3 часа |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |