alexus писал(а):
Дракон позволяет описывать алгоритмы, но не системы. Вы напрасно ставите знак равенства между этими понятиями. Алгоритм - это представление действия, но действие - это не система.
Естественно. Я как раз не ставлю знак равенства, а обращаю внимание на задачу-максимум.
Цитата:
"Задача-максимум: исходя из соображений когнитивной эргономики, построить эффективную методику проектирования программных систем."
Пытался это предложение понять... не получилось.
Ну дык, наивно хочется механизировать искусство!
Так или иначе, опыт всё-таки бывает полезен. Следовательно:
- формализовать полученные вместе с опытом знания; оформить их в виде какого-либо словаря (типовых решений, паттернов);
- автоматизировать (для начала хотя бы механизировать) получение новых знаний о системе (гипотезы, теории, проверка, поиск и т.п.);
- сделать этот процесс максимально удобным для разработчика.
info21 писал(а):
"исходя ..." -- это доп. ограничение на решение. Причем сильное. Что затрудняет решение.
Любопытно было бы посмотреть на решения этой задачи БЕЗ таких ограничений.
Мне тоже было бы любопытно посмотреть на "серебряную пулю"!
Но, если строительство такого... гм... здания... вообще возможно, то лучше бы его направлять сразу.
А иначе "получится, как всегда" - задача вроде бы решена, но пользоваться решением до того муторно, что прощё выкинуть!
И потом - почему именно пугает ограничение? Ограничения в любом случае есть (критерии решения задачи).
Цитата:
Если применять Дракон именно для записи алгоритмов, то издержки невелики. А если пытаться на нем формализовать поиск решения... то...
Так в этой теме вылезает, что даже для записи алгоритмов издержки неприемлемые
Кроме того, полезность чисто алгоритмической проекции программной системы как-то... сомнительна
Вот любимое наше ООП как раз и занимается тем, что пытается алгоритмику со структурой данных объединить, а не разделять...
Цитата:
Запись алгоритма помимо самого языка, включает в себя следование определенным правилам, традициям и т.п. Вот о правилах, как я понял, здесь и была полемика.
Дык, а что у нас первично? Задача или правила, по которым её невозможно (неудобно) решать?
Цитата:
Например, результатов действия алгоритма может быть много... Мы идем в магазин за покупками, но всегда ли есть главная покупка в списке? Аналогично в алгоритме могут достигаться несколько равноценных результатов. Как построим орграф?
Честно говоря, не понял... У нас ведь в алгоритме исполнитель всегда один, точка активности одна... А если не одна (параллельные процессы, сети Петри и т.п.), так всё равно для большинства практических целей (включая низкоуровневые кирпичики) приводится к одной (временная последовательность действий, очередь транзакций в кошельке и т.п.). О каких "результатах алгоритма" речь?
Цитата:
Если вернуться к системам, то там есть элементы и связи. Связи (каналы, например) часто могут быть двунаправленными. И здесь могут возникнуть проблемы с построением орграфа.
А, возможно, он там и не нужен, орграф-то?
Цитата:
Но и это еще не все... Часто правила выбора дальнейшего пути решается не с помощью жестко заданного алгоритма, а с помощью набора правил, которые интерпретируются во время исполнения. Орграф?
А то.
Правила - те же данные. В них может быть всё, что угодно. А в исполнителе этих правил всё же есть алгоритм, на так ли?
Цитата:
А почему именно на плоскости? А что будет если, например, обработку исключений вынести на другую плоскость? Получим пространственную модель. Может она будет проще восприниматься...
Ну, хвала Всевышнему! Наконец-то в области обсуждения Дракона это прозвучало!!!
Цитата:
Обозначенные минусы относятся не к языку, а к правилам оформления схем...
Дык, а "правила оформления" - это ж и есть язык!