Сергей Прохоренко писал(а):
Драконограф писал(а):
Вы предлагаете как раз уходить - т.е. остаться в текстовом представлении (пусть с "расцветкой" синтаксиса) - и тут общее поле с ББ. Это я и имел в виду.
ДРАКОН же (а точнее - шампур-метод и графит-метод как его развитие) находятся в другом поле - где мы уходим от чисто текстового представления знаний к "графитному".
PureBuilder - это вовсе не "расцветка" синтаксиса. PureBuilder имеет не больше текстового представления, чем Дракон. Просто Дракон - это двумерная блок-схема, а PureBuilder - одномерная - вытянутая только в вертикальном направлении. Связи между блоками обозначаются в Драконе линиями, а в PureBuilder - вложенностью блоков, ветвями многоветочных конструкций, модульностью, передаваемыми параметрами и т.п. Разнообразие инструментария в PureBuilder позволяет каждый объект разрабатываемой программы изобразить наиболее подходящим способом, естественнее и проще для восприятия. Там, где это целесообразно, в PureBuilder используются графы, например, для отображения связей между модулями.
Ну, так. Физически связи как обозначаться могут? Большинство употреблённых Вами понятий ведь логические.
Вот есть следование "блоков" (наверное, правильно заимствовать из РБНФ-технологии описания термин SeqStatement). В шампур-методе оно показывается связкой блочных вершин звеньями вертикали; какими средствами в документе Вашей среды его будем обозначать? И есть ветвление - какие у Вас средства изображения "многоветочных конструкций"?
Модульность - её саму надо выразить в документе; я применительно к Оберон-подобным языкам предлагаю на графовой основе
ПК-язык, практическое употребление можно найти на
листе 5 в этом примере - какими средствами предлагаете Вы?
Передача параметров - тоже логический механизм. Физику я предлагаю отобразить
целостно в
ДМ-языке - через совмещение применительно к вызову процедуры формальных и фактических параметров - пример
в ДМ-схеме на этой картинке.
Вложенность блоков - что имеется в виду? Текстуальное вложение процедур деятельности (в частном случае - программных)? Возможно его визуализировать средствами
АТ-языка, предварительно определяемого здесь - примеры см.
Листинги 73...75 здесь. Вопрос опять тот же...
Ещё один более общий вопрос - раз структуру импер-маршрутов Вы предлагаете компоновать одномерно - т.е. придать ей
лиоформу в смысле определения
в конце этого подпункта (как я понимаю, это касается и деклар-отношений, и актив-связей - буде Вы решите всё-таки и этот неотъемлемый компонент частного знания о задаче дать возможность фиксировать в своей среде, а не где-то отдельно) - какими средствами предлагается укладывать нелинейные структуры на плоскости документа без пересечений? С чисто текстовым представлением (без накладки структурографирующих элементов в виде тех же межстрочных скобок) более-менее понятно - но если Ваша среда поддерживает не только его - тогда как? Уже оструктуривание текста м.б. проблематичным - если маршруты пересекаются. Паронджанов предложил силуэтизацию для графов (маршрутных) - что у Вас?
Тут может возникнуть вопрос - а что, не ограничиться ли в среде тем, что как-нибудь зафиксировать содержание текста программы, дав средства изображения его отдельных составляющих "наиболее подходящим образом" - и хватит с юзеров?
Почему так не пойдёт - объяснял уже в
конце предыдущего поста. Если моего слова как "предметника" недостаточно - послушаем создателя автоматного программирования (курсив авторов):
Поликарпова, Шалыто на с. 8 писал(а):
Отметим, что термин "программирование" в этой книге употребляется в широком смысле. Как процесс он означает то же, что и "разработка", "создание" программного обеспечения. Как разновидность (в словосочетаниях "автоматное программирование", "объектно-ориентированное программирование" и т.п.) он является синонимом терминов "метод", "подход", "парадигма". Для обозначения программирования в узком смысле (написания понятного компьютеру кода) в книге используется термин "реализация".
Речь идёт о книге, анонсированной
в этом сообщении. В дискуссионных целях, наверное, дам выдержки из неё - там же.
Вот "программирование в широком смысле" по Шалыто - это то же, что "формализация знаний о задаче до уровня командных моделей с программной составляющей" в смысле иерархии двуединого процесса моделирования/формализации, обсуждаемой
в этом пункте. Далее в книге, кстати, обсуждается, как зафиксировать в спецификациях решения задачи и актив-знание (об исполнителе) - в рамках целостной с импер- и деклар-знаниями модели решения.
Итак, в ходе моделирования/формализации вся ролевая триада "предметник-аналитик-программист" (а не только третий её участник) накапливает постепенно информатизуемое знание о задаче (а заодно и о каких-то других, и обо всей "предметке"). Часть этого знания обобщённая - её вообще не всю информатизуют - просто дают в "паспорте" задачи текстом (ограниченным, математическим). Понятие паспорта обсуждается
в этом подразделе.
И надо предоставить возможность участникам триады (это м.б. как люди, так и коллективы - лишь в частных случаях один человек совмещает какие-то две или все три роли) создавать весь паспорт задачи в одной среде от начала до конца. Это элементарное требование экономики - что получается, если ему не следовать, показано на примере разбора одной существующей среды описания
в п/р 6.2 документа, вложенного в это сообщение.
Не последнюю роль в паспорте играют спецификации техтребований - для той же проверки моделей - на соответствующих языках (*TL-формулы, never-процессы).
Вообще хотелось бы видеть прежде всего определение комплекса языков, поддерживаемых средой - начиная с качественного, как
на страницах этого раздела. Не забывая про общеязыковые требования - которые у меня, допустим, качественно даны
на этой странице, а исходят из некоего общего представления, эскизно сформулированного
в этом сообщении. И представлении о технологии формализации - хотя бы качественное опять же, как
в этом сообщении. Это уже м.б. реальным предметом обсуждения.
P.S. Неточно дал ссылки на АТ-язык и примеры - на конференции в сообщениях только начальные варианты, а рабочие - в Драконографике, где возможности для форматирования шире
Исправлено выше в сообщении.