DRAKON.SU

Текущее время: Четверг, 18 Апрель, 2024 17:00

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




Начать новую тему Ответить на тему  [ Сообщений: 30 ]  На страницу Пред.  1, 2
Автор Сообщение
 Заголовок сообщения: Re: Гонки Роботов
СообщениеДобавлено: Пятница, 27 Январь, 2012 11:21 

Зарегистрирован: Вторник, 01 Март, 2011 09:34
Сообщения: 145
Откуда: Москва
Вот и я бы так делал. Силуэт, каждая ветка соответствует состоянию КА. При любом событии внешней программой запускается Дракон-схема, проходящая по одной ветке и, возможно, меняющая состояние.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Гонки Роботов
СообщениеДобавлено: Пятница, 27 Январь, 2012 12:03 

Зарегистрирован: Вторник, 01 Март, 2011 09:34
Сообщения: 145
Откуда: Москва
Вот нормально нарисованный КА. Только состояние может меняться внутри КА. В данном примере состояние - День Недели - меняется внешне.


Вложения:
automate3.png
automate3.png [ 50.74 КБ | Просмотров: 6920 ]
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Гонки Роботов
СообщениеДобавлено: Пятница, 27 Январь, 2012 12:11 

Зарегистрирован: Пятница, 20 Июль, 2007 17:26
Сообщения: 105
Откуда: Псков
Дмитрий Дагаев писал(а):
Вот нормально нарисованный КА.

Честно говоря считать это как КА можно с большой натяжкой :(


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Гонки Роботов
СообщениеДобавлено: Пятница, 27 Январь, 2012 12:20 

Зарегистрирован: Вторник, 01 Март, 2011 09:34
Сообщения: 145
Откуда: Москва
А что Вам не нравится?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Гонки Роботов
СообщениеДобавлено: Пятница, 27 Январь, 2012 13:15 

Зарегистрирован: Пятница, 20 Июль, 2007 17:26
Сообщения: 105
Откуда: Псков
Дмитрий Дагаев писал(а):
А что Вам не нравится?

Здесь день недели это скорее событие. А состояние всегда одно - студент учится в институте(надо подрабатывать)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Гонки Роботов
СообщениеДобавлено: Пятница, 27 Январь, 2012 13:29 

Зарегистрирован: Понедельник, 09 Ноябрь, 2009 17:29
Сообщения: 904
Откуда: Россия, Питер
Для описания рабочего цикла контроллеров я использую слегка модернизированные дракон-схемы.
Вложение:
K1.png
K1.png [ 27.67 КБ | Просмотров: 6897 ]

От иконы Начало до силуэта маршрут инициализации рабочего цикла (может выполняться при каждом входе).

Икона Выбор выбирает текущее состояние программы, соответственно, управление передается на требуемую ветку СОСТОЯНИЕ.

При достижении иконы Адрес со словом СОСТОЯНИЕ управление передается на ветку ТЕКУЩИЙ ВЫХОД и происходит выход из цикла.

Через какой Адрес СОСТОЯНИЕ N был выход из рабочего цикла, в такую ветку с именем СОСТОЯНИЕ N будет передано управление в следующем рабочем цикле.

В одном рабочем цикле передача управления с ветки на ветку возможна только для веток не имеющих слова СОСТОЯНИЕ в названии и только для веток, находящихся между двумя соседними ветками СОСТОЯНИЕ.

Текст иконы Имя ветки, содержащий слово СОСТОЯНИЕ, может содержать и другие слова, характеризующие это состояние : )

Еще оказалось удобным писать рабочие команды в иконе черным цветом, а примечания (в той же иконе) синим цветом.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Гонки Роботов
СообщениеДобавлено: Пятница, 27 Январь, 2012 13:53 

Зарегистрирован: Вторник, 01 Март, 2011 09:34
Сообщения: 145
Откуда: Москва
С днем недели Вы правы, я более близкого не нашел в книжке :wink:

Но тем не менее(как я писал), если менять День Недели внутри...
На рисунке область КА отмечена серым. Белым - исполняющая система. При любом событии (инициализация или 1 раз в час) вызывается КА. В конце серой области добавляем алгоритм перехода состояний
if (Час==24) День Недели++

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

Но я по-прежнему не уверен, что это лучше, чем граф состояний КА у Шалыто. И некоторые вещи нужно доопределять (команды - черным, примечания - синим).

И, повторяюсь, есть еще проблема доказуемости, что разработанная Вами Дракон схема является КА. Как ее проверить, что она хотя бы не зависнет? Для КА есть формальные методы.

Как во времена моей молодости вставляли студентам перфокарты
1 GOTO 2
...
2 GOTO 1


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ДРАКОН и автоматные среды
СообщениеДобавлено: Вторник, 31 Январь, 2012 16:06 

Зарегистрирован: Воскресенье, 01 Ноябрь, 2009 05:13
Сообщения: 1443
Дмитрий Дагаев в viewtopic.php?p=70099#p70099 писал(а):
Владислав!

Я не спрашивал, можно ли нарисовать конечный автомат. Я спрашивал, можно ли нарисовать конечный автомат нагляднее :lol:

Дмитрий! :)
Дык и я отвечал на второй вопрос. ;) В том ключе, что, если переходы КА полны и непротиворечивы - то импер-граф-схему (т.е. операционную графическую модель) и сделать несложно, и она (IMHO) по крайней мере, не потеряет в наглядности. Хотя второе, наверное, так же субъективно (точнее, обусловлено типом мышления), как и предпочтение "графика-текст"...
Но. Схема-то указанная и граф-, и импер-,... и даже выводима "по шампуру"... да не силуэт... :) Видимо, Вы это имели в виду (что может ли быть нагляднее и проверяемее, чем КА-граф, не вообще шампур-схема, а именно какой-нибудь силуэт)?

В целом же если рассматривать - то allbobin уже сказал - силуэт возможен для представления каких-то частных случаев КА. У меня же мнение, что всё-таки ЦД-алгоритм (и дейкстрал как его графит-запись) - там ни внешнего цикла не надо, ни goto...
Но что м.б. важнее всего и для эргономики (той, которая учитывает необходимость через форму лучше передавать содержание - опираясь не только на лёгкость восприятия, но и на понятийную структуру "предметки"), и для доказательности - ЦД-алгоритм "вытаскивает" в "шапку" схемы проверку реального набора величин. В чисто автоматном программировании это обычно номера состояний. Но можно и "предметные" величины в ЦД-охраны поставить (тока это немного другой подход будет, наверное)...

Дмитрий Дагаев в viewtopic.php?p=70099#p70099 писал(а):
...
Владислав Жаринов писал(а):
Вообще-то имеет смысл, чтобы ДРАКОН-инструмент с этим и разбирался... :) Т.е. ретранслировал XML в ДРАКОН-Х-схему/модель. Опять же для языка Х (= Java или C++ в случае UniMod) нужно гибрид определить... Так ведь?

Истинно так!

Владислав Жаринов писал(а):
Тут вопрос можно и иначе поставить - а зачем нам здесь ДРАКОН, если делаем точно по автоматной спецификации Х-программу?

Заметьте - не я это предложил! Развиваться нужно, чтобы не остаться в стороне от технического прогресса.
Вот, кстати, блог, указанный здесь, показывает, что и не обязательно с XML нужно будет дело иметь... и не обязательно императивный язык визуализировать...
Возможно, и такое развитие Вы имели в виду?.. Или пока будем определять гибрид с императивным ("КАК-") языком (учитывая также область применения - см. хотя бы здесь: viewtopic.php?p=68442#p68442)? С каким Вы бы предложили (учитывая возможные "подводные камни"...)?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Гонки Роботов
СообщениеДобавлено: Вторник, 31 Январь, 2012 16:58 

Зарегистрирован: Вторник, 01 Март, 2011 09:34
Сообщения: 145
Откуда: Москва
Владислав!

Я давно описал в "Два пернатых" и свое видение редактора, и свое видение языка как инварианта Дракон-схемы.

Просто можно сделать приемлемое для всех решение (в виде скажем библиотеки):
1. структура данных, которую представляет собой Дракон-схема.
2. формат данных, грубо: XML, LISP(ПРОТОН), КАРТА ЗНАНИЙ, TCL, бинарный.
3. утилиты преобразования туда-обратно.

После того как какой-то редактор поддерживает один из форматов, Вы можете там что-то нарисовать и использовать в программе. А пока Вы можете только отслеживать полет Дракона как полет Фобос-грунт - в телескоп :shock:


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Гонки Роботов
СообщениеДобавлено: Вторник, 31 Январь, 2012 19:27 

Зарегистрирован: Воскресенье, 01 Ноябрь, 2009 05:13
Сообщения: 1443
Не могу не согласиться... :wink:


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

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


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

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


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

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