DRAKON.SU

Текущее время: Четверг, 20 Июнь, 2019 10:20

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




Начать новую тему Ответить на тему  [ Сообщений: 276 ]  На страницу Пред.  1 ... 8, 9, 10, 11, 12, 13, 14  След.
Автор Сообщение
СообщениеДобавлено: Вторник, 12 Февраль, 2019 21:18 

Зарегистрирован: Понедельник, 25 Июнь, 2012 17:26
Сообщения: 262
Исходная картинка:
https://forum.drakon.su/viewtopic.php?f=78&t=6263&start=100#p102579

https://forum.drakon.su/viewtopic.php?f=78&p=102588#p102588
Владимир Паронджанов писал(а):
LKom писал(а):
В левой схеме веточного цикла не должно быть.

А_МУР писал(а):
Да он то меня и смущает!

Чтобы удалить ненужный веточный цикл, надо:

1) В последней ветке пространства имен убрать икону Адрес.
2) Вместо нее установить икону Конец

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

И разные типы схем с одними и теми же графическими элементами, но с разной семантикой, входят не только в один комплект чертежей, но отображаются одновременно на одной диасцене.


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

Зарегистрирован: Понедельник, 25 Июнь, 2012 17:26
Сообщения: 262
Исходная картинка:
https://forum.drakon.su/viewtopic.php?f=78&t=6263&start=120#p102589

https://forum.drakon.su/viewtopic.php?f=78&t=6263&start=120#p102591
Владимир Паронджанов писал(а):
А_МУР писал(а):
выдержка из ТЗ
Замена иконы КОНЕЦ "живой" иконой цикл. В режиме исполнения икона работает как счетчик циклов и отображает номер полного цикла контроллера
Одно другому не мешает.

1. Для программ одни правила.
2. Для пространства имен — другие.

Похоже, что это и есть принцип потенциального ГОСТ-а.

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

Всё же, подобных "UML" нигде нет в инженерии. Те же Р-схемы Вельбицкого полиморфны "в высшей степени" в своей основе, однако там нет образов-метафор геометрических фигур, такая полиморфная их интерпретация отклоняется от распространённых принципов построения чертежей.


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

Зарегистрирован: Среда, 27 Сентябрь, 2017 18:44
Сообщения: 255
Левая схема предназначена только для декларирования используемых данных. В процессе исполнения схема пространства имен выполняется как линейный алгоритм без ветвлений
На самом деле есть желание заменить эту схему на обычную таблицу
И тогда семантику (и прочие ) портить не будет!


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

Зарегистрирован: Воскресенье, 24 Февраль, 2008 15:32
Сообщения: 4232
Откуда: Москва
PSV100 писал(а):
Дракон не только вводит упорядоченность в блок-схемы, но и нарушает их ключевой принцип, распространённый в инженерии -- мономорфизм предназначения языковых элементов.

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

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

Просьба привести пример, когда Дракон нарушает ключевой принцип.
Без примера понять трудно.


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

Зарегистрирован: Понедельник, 25 Июнь, 2012 17:26
Сообщения: 262
Владимир Паронджанов писал(а):
Просьба привести пример, когда Дракон нарушает ключевой принцип.
Без примера понять трудно.

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

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

Вложение:
params.png
params.png [ 4.29 КБ | Просмотров: 574 ]

Выше один и тот же геометрический образ "прямоугольник" имеет предназначение "действие" и "формальные параметры". В блок-схемах этот символ всегда и везде есть "процесс". Скорее, в блок-схемах такой параметр интерпретировался бы как процесс-аргумент (аля "лямбда"), что предметно может быть важным, учитывая суть схемы как графа последовательности действий.
К слову, в "официальном" сборнике икон "формальные параметры" или "пояснения" имеют иное начертание -- не в курсе, где истина:
https://forum.drakon.su/viewtopic.php?f=62&t=6156#p100785


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

Зарегистрирован: Понедельник, 25 Июнь, 2012 17:26
Сообщения: 262
В ИС Дракон кроме "параметров" как "действие" предлагается также и "параллельный процесс" в качестве атрибутов схемы для дефиниций обработчиков событий (или т.п.):
Вложение:
event_header.png
event_header.png [ 5.43 КБ | Просмотров: 574 ]

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

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


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

Зарегистрирован: Понедельник, 25 Июнь, 2012 17:26
Сообщения: 262
В онлайн-редакторе от Степана Митькина пусть некий пользователь сделал "слепыш" (без надписей в иконах с образом как "пауза") и выложил схему здесь на форуме -- первый рисунок ниже:
Вложение:
pauses.png
pauses.png [ 11.74 КБ | Просмотров: 574 ]

В этом редакторе есть переключение доступного набора икон как "Основа", "Медик" и "Все". Если пользователь-автор выбрал "Медик" (на чертеже этот факт никак не фиксируется, и об этом выборе должны догадаться все участники форума), то схема должна интерпретироваться согласно второму рисунку. Т.е. первая икона без надписи является "паузой", вторая -- "время" как ограничение длительности действия. Стрелками на рисунке явно обозначены отношения следования (восстановлены рёбра графа). В этом случае образ фигуры как "пауза" в контексте первой иконы понимается как специализированное действие-ожидание или задержка -- вершина графа отмечена основным отношением следования через направленные ребра "--->". Вторая икона с тем же образом есть свойство или характеристика какого-то действия -- вершина графа есть вспомогательная и соединена ненаправленным ребром "----". И в потенциальном случае применения иконы "время группы" аналогично возникает вспомогательная связь через пунктирные линии.
Таким образом, вновь один и тот же геометрический образ фигуры имеет разную семантику (операция как "задержка" и информационное свойство "длительность") в зависимости от отношений между элементами в графе.

Если же автор схемы выбрал набор икон "Все", то все участники форума (видимо, за исключением медиков), догадавшись о реальном выборе, должны интерпретировать исходную схему как на последнем рисунке справа -- возникают "пауза" и "синхронизатор". В этом случае наблюдается неоднозначность, как именно понимать, что есть икона "синхронизатор". Эта вершина находится во вспомогательном отношении с иконой-реципиентом (ненаправленное ребро графа, первый или второй рисунок). Следовательно, исходный чертеж, согласно принципам Дракон-а, предписывает граф следования такой же как и на втором рисунке. Однако, в реальности ведь возникает последовательность как на третьем рисунке. Если икона "синхронизатор" является назначенным свойством или характеристикой для некоего действия (которое может быть и "не подозревает" о таком вдруг "обнаруженным у себя" удивительном функционале) -- поскольку задано не основное отношение -- то такое важное свойство, существенно влияющее на выражение алгоритма в целом (с потенциальным взаимодействием с внешней средой), находится вне отражении отношения следования (вне рамках направленных дуг "--->"). Но ведь схема то создаётся, чтобы явно в виде графа показать все отношения следования (в этом сама суть диаграммы как таковой). Если же, всё-таки, "синхронизатор" есть самостоятельное действие или операция ожидания/синхронизации, то тогда возникает ещё один способ выражения последовательности операций -- в том числе и через вспомогательные рёбра графа, не только направленные. В таком случае возникает и полиморфизм выражения отношения следования (в последнем случае, однако, тогда не понятно, как же именно "выискивать" граф в Дракон-схеме и какие существуют правила, если одни и те же отношения в графе задаются рёбрами разных типов).


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

Зарегистрирован: Понедельник, 25 Июнь, 2012 17:26
Сообщения: 262
PSV100 писал(а):
Связь с внешней средой, в виде условных точек соединения "внутреннего" графа схемы с "внешним" графом среды, задаётся в виде единственного символа "терминатор".

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


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


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

Зарегистрирован: Воскресенье, 24 Февраль, 2008 15:32
Сообщения: 4232
Откуда: Москва
PSV100, спасибо за пример и пояснения.

Есть принципиальное отличие между ДРАКОН-схемами и блок-схемами.

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

В дракон-схемах нет отдельного понятия "фигура" (по ГОСТу "символ", в просторечии "блок").
Есть понятие
Цитата:
Икона = Фигура + Линия (Линии)

Поэтому рассуждать о графах нужно осторожно, с учетом этого обстоятельства.

Пример 1. Икона Пауза содержит вертикальную линию вверх и вниз.

Пример 2. Икона Синхронизатор содержит горизонтальную линию справа.

Пример 3. Икона Вопрос имеет три линии: вверх, вниз и вправо.

PSV100 писал(а):
Не в курсе, как именно реализуют "паузу" медики

Медики реализуют паузу 10 сек так. Примерно отсчитывают 10 секунд в голове. И все.

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

Это не так. Следует различать два случая
1. Работа с ОС РВ (ОС реального времени).
2. Работа при отсутствии ОС РВ.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Среда, 13 Февраль, 2019 23:49 
Аватара пользователя

Зарегистрирован: Суббота, 29 Март, 2008 19:27
Сообщения: 1004
Откуда: Россия, Чебоксары
Владимир Паронджанов писал(а):
Следует различать два случая
1. Работа с ОС РВ (ОС реального времени).
2. Работа при отсутствии ОС РВ.
Алгоритм, который трактуется по-разному в зависимости от не очевидных внешних условий?
Что-то тут не то.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Четверг, 14 Февраль, 2019 07:49 

Зарегистрирован: Воскресенье, 24 Февраль, 2008 15:32
Сообщения: 4232
Откуда: Москва
Владимир Паронджанов писал(а):
Следует различать два случая
1. Работа с ОС РВ (ОС реального времени). В этом случае работает алгоритм А1
2. Работа при отсутствии ОС РВ. В этом случае работает алгоритм А2 — другой алгоритм

Alexey_Donskoy писал(а):
Алгоритм, который трактуется по-разному в зависимости от не очевидных внешних условий?
Что-то тут не то.
Речь не о трактовке, а о том, что работают РАЗНЫЕ алгоритмы.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Четверг, 14 Февраль, 2019 10:31 

Зарегистрирован: Пятница, 08 Декабрь, 2017 18:24
Сообщения: 189
Откуда: Астрахань-Сочи
Владимир Паронджанов писал(а):
Владимир Паронджанов писал(а):
Следует различать два случая
1. Работа с ОС РВ (ОС реального времени). В этом случае работает алгоритм А1
2. Работа при отсутствии ОС РВ. В этом случае работает алгоритм А2 — другой алгоритм

Alexey_Donskoy писал(а):
Алгоритм, который трактуется по-разному в зависимости от не очевидных внешних условий?
Что-то тут не то.
Речь не о трактовке, а о том, что работают РАЗНЫЕ алгоритмы.

Согласен, что может возникать некоторая путаница. Думается, следует приводить понимание схем к единому виду, т.е. объяснять, как это работает у Исполнителя, предполагая, что это ОС РВ.
Однопоточные системы можно делить на псевдо-мультитредовые, можно не делить, но в целом это тот же Исполнитель, только с ограничениями. Например, назвать этот механизм "Псевдо-диспетчер" - который ЕСТЬ, т.к. "ДИСПЕТЧЕР ЕСТЬ ВСЕГДА", но не всегда отвечает взаимностью: он "глух" и "слеп".


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 15 Февраль, 2019 20:05 

Зарегистрирован: Понедельник, 25 Июнь, 2012 17:26
Сообщения: 262
Владимир Паронджанов писал(а):
Это не так. Следует различать два случая
1. Работа с ОС РВ (ОС реального времени).
2. Работа при отсутствии ОС РВ.

Я не в курсе конкретной сути различия. Во всяком случае, в блок-схемах различие возникает однозначное. Если выполняется выход из алгоритма куда-то -- в ОС, в какой-то внутренний диспетчер системы и т.п. -- возникает "терминатор" -- условно, передача и последующее получение назад отношения следования (связь с внешним графом). В "терминаторе" или как-то дополнительно может быть указано необходимые уточнения ("терминатор" возможно как-то некрасиво торчит внутри диаграммы -- это другой вопрос, зато с семантикой в порядке и без неоднозначности или многозначности). Если выполняется "отсчёт 10 секунд в голове" -- применяется какая-то иная фигура -- нет передачи управления или исполнитель "остаётся" внутри алгоритма.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 15 Февраль, 2019 20:11 

Зарегистрирован: Понедельник, 25 Июнь, 2012 17:26
Сообщения: 262
Владимир Паронджанов писал(а):
В дракон-схемах нет отдельного понятия "фигура" (по ГОСТу "символ", в просторечии "блок").
Есть понятие:

Икона = Фигура + Линия (Линии)

Поэтому рассуждать о графах нужно осторожно, с учетом этого обстоятельства.

Пример 1. Икона Пауза содержит вертикальную линию вверх и вниз.

Пример 2. Икона Синхронизатор содержит горизонтальную линию справа.

Пример 3. Икона Вопрос имеет три линии: вверх, вниз и вправо.

А если образ иконы "Вопрос" содержит линии слева, вниз и вправо, то возникает "Иначе Вопрос", решение для компактификации:
https://forum.drakon.su/viewtopic.php?f=62&t=6443#p102521

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

Таким образом, вроде бы, не должно быть преград, например, задействовать прочие варианты линий для всё того же образа фигуры "вопрос":
Вложение:
quest.png
quest.png [ 5.74 КБ | Просмотров: 513 ]

Первый образ иконы "вопрос" есть "Вопрос-проверка" -- аля assert -- если условие не выполняется (после "отработки" иконы слева), то наступает крах алгоритма (исключительная ситуация, нет никаких альтернатив для "вопроса"):
Код:
x := calc();
assert(x > 0);
...

Второй образ иконы "вопрос" есть "Вопрос-защита" -- как защитное выражение для условного вычисления значения -- краткая форма в ряде формализмов, как в теориях, так и, напр., во многих функциональных или скриптовых языках программирования:
Код:
y := calc1() if z > 0 else calc2();

Причём прямоугольник с "calc2()" является "формальным параметром" (согласно тезаурусу Дракон-а), но, мол образованная таким способом макроикона "разберётся, что к чему".

Очень таки универсальные и к тому же межпредметные иконы, с компактификацией, с экономией пространства по вертикали и т.д.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 15 Февраль, 2019 20:15 

Зарегистрирован: Понедельник, 25 Июнь, 2012 17:26
Сообщения: 262
Продолжим борьбу за компактификацию. Напрашивается расширенное применение "временной вставки" и для тех случаев, когда выполняется ожидание не только единственного события, но и их множества. В ряде теорий о процессах и в некоторых языках программирования имеются специальные операции аля "select" (Ada, Go и др.), где в актах коммуникации (с необходимой предопределенной семантикой) имеются и действия "по умолчанию", т.е. исполняются при отсутствии событий (в моментах "опроса" узла соединения).
Введём новые иконы (не знаю, какое название, оно неважно, или пусть будет "select") как "модификацию" ввода/вывода и плюс возможность применения "временной вставки" -- композиция альтернатив коммуникации (полагаю, семантика более-менее очевидна, поэтому без подробностей (слова в иконах для подсказок)):
Вложение:
select.png
select.png [ 11.61 КБ | Просмотров: 513 ]

Акты коммуникации могут быть циклическими, да и действия "во время бездействия" желательно бы иметь не только как одиночную икону. Нет проблем:
Вложение:
for_select.png
for_select.png [ 13.91 КБ | Просмотров: 513 ]

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

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 15 Февраль, 2019 20:17 

Зарегистрирован: Понедельник, 25 Июнь, 2012 17:26
Сообщения: 262
Если все предложения выше есть вполне "валидные" для Дракон-а, то тогда Дракон становится похожим на такие языки программирования, как, напр., Ruby, где один и тот же функционал может быть выражен чуть ли не десятками способов.
Блок-схемы предназначены в т.ч. и для "нормализации" алгоритмов -- через построение графа следования не возникнет "взрыва альтернатив", отношение следования не впихнёшь ни в какую "макроикону", т.е. за рамки направленного ребра графа. В этом принципиальное отличие от Дракон-а.
В Дракон-е же, видимо, главное -- компактификация и наглядность (однако, последнее под вопросом из-за контекста понимания символов-фигур).


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 15 Февраль, 2019 20:22 

Зарегистрирован: Понедельник, 25 Июнь, 2012 17:26
Сообщения: 262
Выше в последнем примере новые иконы "начало/конец for select-цикла" хотя бы явно выделяют область диаграммы с измененной семантикой исчисления икон (есть начальная и конечная точки-вершины графа -- исходные образы фигур "цикла для"). Пример рядом, без цикла (на рисунке заголовок алгоритма как "Select demo"), имеет границы особенной области исчисления икон в традиционном духе Дракон-а: есть условная начальная точка -- композиция select-икон, с возможной связкой со "временной вставкой", а конец области в виде "шины" как горизонтальной линии объединения шампуров от выходов из икон ("шина" перед "action finally"). В т.ч. в эту шину может "прыгнуть" исполнитель в случае выполнения "временной вставки" (и акт коммуникации завершится).
Аналогично, напр., в "валидном" (раз его предлагают здесь неоднократно, и без "забанивания") варианте обработки исключений от Олега Гарипова конечная область с особенной интерпретацией семантики икон обозначена такой же "шиной" (начало в виде "выбора"):
https://forum.drakon.su/viewtopic.php?f=139&t=6442&start=40#p102680

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

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 15 Февраль, 2019 20:25 

Зарегистрирован: Понедельник, 25 Июнь, 2012 17:26
Сообщения: 262
В варианте обработки исключений, отмеченном выше, измененная семантика для иконы "выбор" определяется не "фигурой + линии", а текстовой нагрузкой -- ключ. слово "try" внутри иконы.
Аналогично, Степан в "автоматных" схемах (видимо, также в контексте валидного Дракон-а) изменяет семантику "выбора" также через текст внутри иконы (и в "формальных параметрах" алгоритма в виде текста задаётся "state machine", скорее всего, чтобы активировать поддержку трансляции такой подмены):
https://forum.drakon.su/viewtopic.php?f=94&t=6449#p102803

А в валидном варианте автоматных алгоритмов от Сергея Ефанова (если не ошибаюсь, анонсировалась и книга по поводу) кардинально изменяется семантика элементов схем вообще без никаких обозначений:
https://forum.drakon.su/viewtopic.php?f=62&t=6097&start=40#p100673

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

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 15 Февраль, 2019 20:30 

Зарегистрирован: Понедельник, 25 Июнь, 2012 17:26
Сообщения: 262
Владимир Паронджанов писал(а):
Есть принципиальное отличие между ДРАКОН-схемами и блок-схемами.

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

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

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

В случае "небольших шалостей" -- вроде бы, всё "когнитивно" и "проглатывается". Напр., прямоугольник -- либо "действие", либо "параметр". Две семантические альтернативы быстро (и привычно через малое время) различаются на схеме. Однако, если, как для "вопроса" ранее, образовать тьму вариантов (с существенно разными оттенками предназначения) -- необходимо уже "когнитивно" напрягаться. Или же действительно компактифицируется в том числе и восприятие в случае торчащих синхронизаторов "мимо" графа следования операций. Однако, если включить альтернативы графу следования "на всю катушку" -- ввести все "фишки" выше одновременно (все "вопросы" разных мастей, select-коммуникации с временными вставками, секции с исключениями и прочее любое выдуманное под конкретные потребности) -- то, вероятно, возникнет в целом вопрос, зачем вообще какой-то там граф... Эффект, скорее, такой, как если разрешить иногда пересечение линий для некоторых случаев, когда мол так "когнитивно" и компактно. Зачем тогда исходная "нормализация" композиций?

Такие драконовские принципы для возможного инженерного стандарта -- неоднозначно, как то...


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

Зарегистрирован: Воскресенье, 24 Февраль, 2008 15:32
Сообщения: 4232
Откуда: Москва
PSV100, есть принципиальное отличие между ДРАКОН-схемами и блок-схемами.

В дракон-схемах есть понятие
Цитата:
Икона = Фигура + Линия (Линии)


Пример 1. Икона Пауза содержит
трапецию + вертикальную линию вверх и вниз.

Пример 2. Икона Синхронизатор содержит
трапецию + горизонтальную линию справа.

Пример 3. Икона Вопрос содержит
шестигранник + три линии: вверх, вниз и вправо.

В языке ДРАКОН нельзя оторвать фигуру от линии.
Они образуют неразложимое единство


В этом принципиальное отличие языка ДРАКОН от прочих языков
и прочих правил рисования

Если линия изменит свое положение (при неизменной фигуре) —
значит, речь идет уже о другой иконе.

Пример. Иконы Пауза и Синхронизатор имеют одинаковую фигуру (трапецию), но они отличаются расположением линий.

Это отличительный признак языка ДРАКОН.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 276 ]  На страницу Пред.  1 ... 8, 9, 10, 11, 12, 13, 14  След.

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


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

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


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

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