Визуальный язык ДРАКОН

Дружелюбный Русский Алгоритмический язык, Который Обеспечивает Наглядность/Надёжность

Инструменты пользователя

Инструменты сайта


jazyk:soobschenija_o_jazyke_i_metode_ischislenija_ikon:drakon_shampur_ocenka

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
jazyk:soobschenija_o_jazyke_i_metode_ischislenija_ikon:drakon_shampur_ocenka [2012/03/22 16:51]
Владислав Жаринов [Структурная алгоритмизация и шампур-метод]
jazyk:soobschenija_o_jazyke_i_metode_ischislenija_ikon:drakon_shampur_ocenka [2012/03/22 17:13] (текущий)
Владислав Жаринов [Разметка схем и гибридные техноязыки: ДРАКОН начинает, ГРАФИТ выигрывает]
Строка 8: Строка 8:
  
  
-===== Разметка схем и гибридные техноязыки:​ ДРАКОН начинает,​ ГРАФИТ выигрывает ===== 
  
-В ШМ она, по сути, не рассматривается. По определению это исчисление «слепышей»,​ т.е. неразмеченных графов (без учёта текстоэлементов синтаксиса схем). Однако на практике возникает необходимость по крайней мере в двух типах разметки шампур-схем:​ 
- 
- 
-  * для выходов развилок — надписями «да»/​«нет» при выходных рёбрах;​ 
- 
- 
-  * для веточных макроциклов (ВМЦ) — какими-нибудь индексами,​ позволяющими отличить разные ВМЦ в одном силуэте. 
- 
-Первый тип можно реализовать и иначе — вершинами,​ несущими надписи. Такое решение можно видеть в предложениях Рэйлвей Кагена для его ПРОТОН-нотации. По сути, такие вершины — эквиваленты икон ''​Вариант''​ в макроиконе ''​Переключатель''​. 
- 
-Второй тип может иметь синтаксис,​ предложенный некоторыми пользователями техноязыка и показанный у Паронджанова(см. выдержку в [[http://​forum.oberoncore.ru/​viewtopic.php?​p=57898#​p57898|этом сообщении]]). В веточные соединители добавляется поле индекса ВМЦ. 
- 
-По Паронджанову предлагается разделять шампур- и гибридную формализацию императивных знаний. В первом случае определён т.н. маршрутный граф-язык «слепышей»,​ представляющий только управляющие знания — т.е. структурную часть императивной составляющей знания — для любых существующих и мыслимых чисто текстовых языков (узко императивных или содержащих императивную составляющую). В этом понимании маршрутный язык есть полиязык для текстовых. Во втором определяется гибридный техноязык путём: 
- 
- 
-  - выделения в чисто текстовом языке управляющей части и замены её на маршрутный язык (синтаксис «слепышей»);​ 
-  - разметки остальным содержанием текстового языка вершин и рёбер «слепыша». 
- 
-Выделение управляющей части может оказаться нетривиальной задачей;​ её наличие определяется высотой абстракции языка от алгоритмического исполнителя (машины или арифметической модели алгоритма). 
- 
-Управляющие знания логически есть одна часть из двух (структурной и атрибутивной) в одной составляющей из четырёх (императивной,​ декларативной,​ активностной и обобщающей). Это следует из известного тезиса Н. Вирта (программа = алгоритм + структура данных + систематическое представление об исполнителе;​ см. в [[http://​forum.oberoncore.ru/​download/​file.php?​id=1881|этой статье]]),​ а также из факта существования т.н. [[http://​ru.wikipedia.org/​wiki/​Парадигма_программирования#​.D0.A0.D0.B0.D0.B7.D0.BB.D0.B8.D1.87.D0.BD.D1.8B.D0.B5_.D0.BE.D0.BF.D1.80.D0.B5.D0.B4.D0.B5.D0.BB.D0.B5.D0.BD.D0.B8.D1.8F|парадигмы программирования]] как способа увязки частей описания программы (по Вирту) в единое целое. Однако синтаксический объём этих частей в разных языках не обязательно одинаков. Существует и [[http://​forum.oberoncore.ru/​viewtopic.php?​p=71247#​p71247|подход В.Ш. Кауфмана]] — язык программирования определяет данные,​ операции и их связывание. 
- 
-Проще говоря,​ любой язык программно строгой формализации распадается на ряд подъязыков,​ один из которых играет интегрирующую роль. И нужно определить синтаксис каждого языка. Создатель техноязыка указывает на необходимость единых правил построения объектных имён, информативных и удобных для восприятия;​ для этого нужна и достаточная длина имени: ​ 
- 
-//​«...множество 32-символьных идентификаторов образует весьма выразительный,​ хотя и своеобразный,​ язык, законы и правила оптимизации которого ещё предстоит открыть,​ обсудить и подвергнуть экспериментальной проверке.»//​ /Как улучшить работу ума, с.163/. 
- 
-В то же время командная часть императивного подъязыка (так сказать,​ «имена действий») также должна иметь текстовый синтаксис. Нужен и синтаксис их сочетания в дракон-вершинах. 
- 
-Определённое достоинство такого пути (можно сказать,​ частной гибридизации) в его простоте — определение гибридного языка можно получить без больших видимых усилий. На практике же проявляются недостатки. Их можно объяснить,​ исходя из сказанного выше при обосновании языка и метода. 
- 
-Во-первых,​ неуправляющее содержание языка, полного в смысле Вирта и парадигмы программирования,​ как нетрудно видеть,​ логически составляет семь восьмых от всего содержания любого описания на этом языке. Поэтому объём разметки м.б. весьма значительным. Практически в любом случае возникает «перекос» в сторону текста в гибридной схеме, что может умалять эргономический эффект от визуализации маршрутов. 
- 
-Во-вторых,​ для некоторых парадигм,​ не императивных по своей сути, возможность выделить управляющую часть вообще неопределённа. Это возможно для языков высокой абстракции,​ тяготеющих к дескриптивности («ЧТО-формализации»). В частности,​ тех или иных языков спецификации программ/​задач. 
- 
-В-третьих,​ существует часть знания,​ отражаемая в формальном тексте неявно. На это, в частности,​ указывал И. Ермаков при обсуждении визуализации [[http://​forum.oberoncore.ru/​viewtopic.php?​p=68824#​p68824|здесь]]. При буквальном переводе части текстового синтаксиса в графику нет оснований полагать,​ что эта часть станет явной. 
- 
-Преодолеть недостатки частной гибридизации можно следующим образом:​ 
- 
- 
-  * визуализировать в каждой составляющей текстового языка её структурную часть; 
- 
- 
-  * рассматривать парадигмы «ЧТО-формализации» на предмет выделения их структурной части и нахождения структур графов,​ формально и эргономично представляющих эту часть; 
- 
- 
-  * выявлять содержание,​ не отражённое в конкретном языке явно, и находить средства его выражения. 
- 
-Тем самым определение гибридного языка на базе только дракон-схем для языка программирования или спецификации м.б. лишь началом гибридизации. 
- 
-Безусловно,​ путь, намеченный Ермаковым,​ требует и теоретических изысканий,​ на что он [[http://​forum.oberoncore.ru/​viewtopic.php?​p=26640#​p26640|также указывал]]. 
  
 ==== Доалгоритмическая формализация:​ хороший командир указывает,​ ЧТО, но не указывает,​ КАК ==== ==== Доалгоритмическая формализация:​ хороший командир указывает,​ ЧТО, но не указывает,​ КАК ====
jazyk/soobschenija_o_jazyke_i_metode_ischislenija_ikon/drakon_shampur_ocenka.1332420691.txt.gz · Последние изменения: 2012/03/22 16:51 — Владислав Жаринов