Дмитрий Дагаев писал(а):
...
4. Я показал, что маршрутный алгоритм может превратиться в непроцедурные знания. Это означает, что в Вашей классификации граница между императивными и декларативными знаниями размыта.
...
Ещё к вопросу о связи классификаций в другом аспекте. Что можно понимать под "размытостью"? То, что в реальной схеме, которую можно отнести к одному частному роду (скажем, к императивному - в визуале) тем не менее присутствует знание и другого рода (имена величин). Но это - не размытость, а проявление целостности реальных вещей - любое подразделение которых будет несколько искусственным (об этом хорошо говорил alexus в различных темах конференции).
Можно ли получить описание "чистого рода"? Да, можно. Конкретно если взять визуал - то исключив неимперативный текст. Получим схему "деятельности вообще", где имена действий абстрагированы от их объектов (предметов и результатов труда). Развитие этого - литеральная запись, вводимая Паронджановым. Если пойти дальше - можно вообще убрать разметку вершин - получим абстрактную импер-шампур-схему. Но относительно целей практической визуализации это будет не разумной абстракцией, а идеалистическим отрывом от сути.
Замечу - такая оценка не распространяется на визуализацию для целей анализа частного знания самого по себе. Допустим, литеральные или абстрактные шампур-схемы не хуже полных годятся для анализа/синтеза маршрутной структуры, удовлетворяющей неким чисто структурным требованиям (достижимости между конкретными вершинами и др.). Именно этим обосновывает Владимир Даниелович полезность синтаксически правильного вывода шампур-схем. Но это относится только к структуре - для практики же нужно устанавливать правильность полного описания деятельности (именно об этом Вы, Дмитрий, очевидно говорите, упоминая необходимость верификации).
Так по какому же принципу выделяется это самое частное знание, если не исключения всего не подходящего под его рубрику? А по системному - что является главным, а что вспомогательным. В импер-схеме главное - это маршруты исполнения - они и образуют структуру. А что там есть и деклар-знание (имена объектов), да и актив-знание присутствует (имена действий-то д.б. из репертуара исполнителя) - так оно вспомогательное. Для связи с описаниями других частных родов в целостную систему.
Некоторые основания на этот предмет содержатся
в этом пункте.
В принципе я в своё время составил определение целостности и взаимосвязи родов знаний, входящих в генеральную классификацию. Только оно достаточно формальное - можно почитать в /Паронджанов, 2001, Гл.17/ об интерпретации шампур-схем, мысленно утроить это построение (проведя его также относительно деклар- и актив-компоненты) и связать в целое (обобщив предварительно)
И не очень-то его упростишь для широкого веб-читателя
Поэтому в Драконографику не вошло. Но общая идея понятна из примеров визуализации и определений языков: каждому частному знанию - своя визуализация, идущая от сути этого частного (нетрудно видеть, что АТ-язык поддерживает свои типы схем, идущие от семантики абстрактных типов, не превращая "под себя" дракон-схемы - но при этом допуская вывод по тем же принципам, что и в шампур-методе - и опять-таки конкретика вывода будет исходить из структур АТ-схем).
В общем, дракон-схема - это не структура данных. Определив полноценный визуальный язык (полностью представляющий синтаксис текстового) - можем составлять визуальное описание, из которого можно получать то же самое.
А вот чего реально не заменяет собой визуальный язык - так это текстового. Тут тезис о дополнении справедлив. Только вот дополнение, IMHO, возможно на любом из уровней иерархического представления о системе - не только на каком-то как бы специально предназначенном.
И как пример - сказанное в "Алаверды..." о кадрах интерфейса оператора в не-драконовском представлении никак не отрицает такой возможности - просто это не тот тип знаний о задаче, который нужно представлять на техноязыке. Это как раз деклар-знания (при всей их "алгоритмичности") - которые передаются из машинной части оператору как значения сообщений - передающие же процессы (как и процессы, формирующие эти кадры) как раз описываются на импер-языке (техноязыке/псевдокоде). То же относится и к работе оператора - она представляется как совместно исполняемая с машинной. При визуализации их связь "по пульту" можно представить операторами взаимодействия типа Д25, 25Д, Д3/25, Д14/25, 3/25Д, 14/25Д, Д26, Д15/26, 21Д, 15/26Д, Д31, Д32, 32Д по определению Д2М-языка здесь. Естественно, алгоритм работы оператора и машины будет разным. Кто кого сопровождает и отслеживает - показывается языковыми средствами выражения взаимодействия процессов.
Текстовая реализация зависит от связанного инфор-языка - если язык без таких операторов, как Оберон, то представляются через процедуры, описанные Виртом (см., выдержку в этом сообщении), если язык типа Promela (описание см. в этом сообщении) - то там такие операторы в основном есть.
Кроме того вид этих кадров - это часть спецификации ("внешней схемы" задачи) - частью "нейтральной схемы" (инструкции оператору + машинные программы) будет порождающий код (написанный, допустим, как показано у Коутса и Влейминка - или через вызовы уже написанных библиотек аналогичного назначения).
И спецификация, и программа подчиняются введённой иерархии представления задач - являясь координатами ортогонального ей измерения "по горизонтали". Естественно, "электронный проект" должен содержать описание и того, и другого - в целостности и взаимосвязи.
В связи с этим и сказанное о стандарте МЭК61499, увы, наводит на мысль о приблизительности его трактовки систем. Всё то же самое ЯВС-метод предлагает формализовать более естественно - за счёт целостного взгляда авторов прежде всего. Между прочим, если посмотреть /Поликарпова, Шалыто, п. 2.2.1/, то они определяют параметры актив-схемы (называя её "структурой") в общем так же, как Вы на с.24. По такому же принципу я определял графит-актив-схемы (см. ту же задачу контроля датчиков).
И "неоптимальная, мягко говоря, система организации и управления как производством, так и разработкой ПО", вообще-то во многом порождается именно подходом, когда "новые технологии не ВМЕСТО старых, а ВМЕСТЕ со старыми" - когда эти старые "избыточно сложны", то новые обычно могут только наворотить новые уровни этой сложности (Илья говорил об этом в своём
докладе о программной инженерии).
Всё это к тому, что легко пойти путём различных "визуальных студий", эргономичность процесса применения которых и гарантоспособность получаемого в них продукта далеко не всегда очевидна...