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

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

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

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


texnojazyk_i_shampur-metod_-_suschnost_preemstvennost_razvitie

Различия

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

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

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
Следующая версия Следующая версия справа и слева
texnojazyk_i_shampur-metod_-_suschnost_preemstvennost_razvitie [2012/04/06 16:50]
Владислав Жаринов создано
texnojazyk_i_shampur-metod_-_suschnost_preemstvennost_razvitie [2012/04/07 14:47]
Владислав Жаринов [Атомарные и лианные структуры: когда мудрец похож на обезьяну?]
Строка 1: Строка 1:
-~~TOC~~ +====== ​Техноязык и шампур-метод - сущность, преемственность, ​развитие ======
-====== ​Заголовок 1-го уровня ====== +
-====== Заголовок 1-го уровня ====== +
-===== Заголовок 2-го уровня =====+
  
 +Безусловно,​ ДРАКОН-визуализация отличается от традиционной визуализации потоков управления блок-схемами. Сам Паронджанов указал на это следующим образом:​
  
  
 +//"​Задача формализации и унификации множества профессиональных языков с целью обеспечить эффективное взаимопонимание между специалистами любых профессий,​ включая программистов,​ является,​ хоть и важной,​ но, увы, неразрешимой. Положение в корне меняется,​ если ограничиться императивными профессиональными знаниями. Именно эту задачу решает язык ДРАКОН. Он построен путём формализации,​ неклассической структуризации и эргономизации блок-схем алгоритмов и программ,​ описанных в стандартах ГОСТ 19.701-90 и ISO5807-85."//​ (Паронджанов В.Д. Как улучшить работу ума, с. 36)
  
 +Как же решалась эта задача?​ Ключевой была следующая идея. Дракон-схему (граф маршрутов алгоритма) можно вывести путём исчисления над алфавитом подграфов-атомов из аксиомы-заготовки. Атомы образуются из алфавита вершин-[псевдо]операторов и словаря подграфов-макро[псевдо]операторов,​ представляющих понятия предметной области языка.
 +
 +Исчисление,​ разработанное для ДРАКОНа,​ называется //​шампур-методом//​. Оно основано на следующих принципах:​
 +
 +  * формальной эргономизации лексики — определения состава вершин и их графики с учётом реальных операторов и директив языков программирования;​ при этом среди вершин выделяются нелинейные,​ с участием которых образуются подграфы,​ построенные из знаков алфавита и словаря,​ даваемые как единицы лексики языка схем. Такой подграф называется //​атомом//​ и всегда имеет один вход и один выход; также даются исходные конфигурации схем - //​заготовки// ​ (см. ​ [[jazyk:​vizualnyj_sintaksis|Тезисы 1..8, 11..14 шампур-метода]]);​
 +
 +  * вложения - схема наращивается вводом атомов;​ среди рёбер атомов и заготовок выделены такие, что допускают замену на тот или иной атом — т.н. //​рёбра ввода//;​ рёбра указываются вершинами - //​точками ввода//​ (см. [[jazyk:​vizualnyj_sintaksis|Тезисы 9..10, 15..25, 36, 37 шампур-метода]]); ​
 +
 +  * «шампура» - расположения входа и выхода линейной вершины и атома на одной оси, направленной всегда сверху вниз и упорядочения вершин при следовании ​ по вертикали так, что они лежат на одной оси ​ (см. [[jazyk:​vizualnyj_sintaksis| Тезисы 2, 6, 8 шампур-метода]]);​
 +
 +  * главной/​побочной осей — выделения в нелинейной вершине (подграфе) из ряда входов (выходов) //​главного//​ и упорядочения остальных (называемых //​побочными//​) вправо от него (см. [[jazyk:​vizualnyj_sintaksis|Тезисы 7, 8 шампур-метода]]);​
 +
 +  * силуэтной укладки - разделения схемы, называемой «силуэтом»,​ на блоки-ветки,​ в тела которых уложены цепи схемы на плоскости без пересечений;​ промежуточные выходы веток связываются со входами через особую структуру — петлю силуэта - и вершины-соединители ​ (см. [[jazyk:​vizualnyj_sintaksis|Тезис 2 шампур-метода]]);​
 +
 +  * лианного вывода — представления неструктурных топологий схем (которые невозможно получить путём вложения) через операции переноса точек соединения без образования пересечений и/или новых входов в ветки силуэта и/или в циклы (любой формы схемы) (см. [[jazyk:​vizualnyj_sintaksis|Тезисы 26..29 шампур-метода]]).
 +
 +В нелинейном подграфе имеется две и более осей следования.
 +
 +Вход и выход атома представлены рёбрами ввода, между которыми располагается смысловая часть — так сказать,​ «ядро». Оно м.б. единственной вершиной или также подграфом (для сводимых графов - типа ветвления или цикла). Во втором случае рёбра ввода также м.б. в «ядре» атома.
 +
 +Шампур-схема,​ не использующая соединители,​ называется «примитивом» и в общем случае может содержать пересечения цепей. Силуэт и примитив служат формами организации схемы на плоскости-диосцене,​ альтернативными в шампур-методе. Силуэтная укладка также даёт возможность структуризации содержания схемы.
 +
 +При лианном выводе может получиться //​**лианный**//,​ а в силуэте - также и //​**адресный**//​ макроблок (см. [[http://​drakon.su/​biblioteka/​start#​literatura|Паронджанов В.Д. Как улучшить работу ума. Алгоритмы без программистов - это очень просто! М.: Дело, 2001. — С. 259-261.]]) Также может получиться и структура,​ выводимая вложением (Паронджанов называет этот тип макроблока //​**структурным**//;​ можно также //​атомарным//​).
 +
 +На базе этих принципов определены правила вывода схем как теорем исчисления из выбранной аксиомы-заготовки в лексике атомов.
 +
 +Как можно сказать проще? Шампур-метод даёт возможность строить "​слепыш"​ алгоритма так, как мы выводим формулы в булевой алгебре. Только вместо букв - подграфы. И сами формулы имеют вид графов (для ДРАКОНа - схем маршрутов алгоритма). В основе метода — небольшое число базовых принципов:​
 +
 +  * вложения — схема наращивается вводом атомов,​ построенных из знаков алфавита и словаря,​ в специально указанные (точками ввода) линии заготовок и других атомов;​
 +
 +  * шампура — вершины при следовании упорядочиваются по вертикали,​ так что вход всегда сверху,​ выход снизу и лежат на одной оси;
 +
 +  * главной/​побочных вертикалей — выходы развилок упорядочены друг относительно друга так, что не лежащий на главной вертикали выход (называемый побочным) всегда располагается правее главного;​
 +
 +  * силуэта — укладки маршрутов на плоскости в тела веток, промежуточные выходы которых связываются со входами через особую структуру — петлю силуэта - и вершины-соединители.
 +
 +  * операций с лианой — сочинитель также может переносить (с ограничениями) концы побочных маршрутов,​ чтобы образовать конфигурацию схемы, недостижимую вводом атома, но соответствующую конструкциям управления некоторых прогязыков;​ перенос возможен и в примитиве. ​
 +
 +Лианы можно пересадить и так, что получится то же самое, что можно получить и вводом атома; конечно,​ это не имеет особого смысла.
 +
 +Смысл сказанного можно раскрыть через «формулу новизны»,​ как это и принято для официального описания существа изобретений. Напомним,​ что она имеет вид: «<​Предлагаемый сабж>​ отличается от <​такого-то существующего сабжа>​ тем, что имеет <​такие-то новые фичи>​ и/или <​такие-то фичи>,​ имевшиеся в <​существующем сабже>,​ здесь реализованы с <​такими-то отличиями>​».;​-)
 +
 +Здесь можно сказать,​ что техноязык отличается от языка, заданного стандартами на блок-схемы (далее - БС), тем, что:
 +
 +  * устанавливает требования к графике вершин и линий схем с учётом удобства восприятия «слепыша» и компоновки содержания вершин; ​
 +   
 +  * использует понятие вложения для применения принципов исчисления к графам;​
 +   
 +  * упорядчивает схемы за счёт принципов шампура и главной/​побочной вертикалей;​
 +   
 +  * использует соединители,​ принятые для блок-схем как межстраничные,​ в новом качестве — как внутрисхемные для укладки схемы на плоскости без пересечений цепей и с возможностью структуризации содержания;​
 +   
 +  * даёт возможности выразить топологии потоков управления,​ характерные как для структурной,​ так и для неструктурной алгоритмизации (программирования),​ также через операции исчисления;​
 +   
 +  * предлагает некоторые правила разметки вершин и линий.
 +
 +Можно раскрыть эти отличия (а также сходства,​ оставшиеся с БС) и одновременно оценить шампур-метод (далее - ШМ) и язык, возможности его развития.
 +
 +Каждый пункт списка будет раскрыт в самостоятельном разделе — по сути, получится цикл статей (на общей странице сайта).
 +
 +Предварительно следует сказать кое-что и о понимании сути визуализации и вообще формализации. Удобно это сделать в связи с «исправлением имён» шампур-метода. Так, здесь мы не говорим об иконах. Тому две причины. Во-первых,​ такое название как краткий синоним для пиктограммы пришло из культуры в религиозном смысле протестантской (антикатолически-реформатской ветви западного христианства) — представленной прежде всего носителями английского и немецкого языка. Там иконы как предмет культа не приняты,​ и это слово сакрального смысла,​ в сущности,​ не имеет. Носители русского языка существенно разноконфессиональны,​ и восточное христианство (в частности,​ русское православие) вводит иконы как предмет культа и сакрализует это слово. На возможный конфликт его «мирского» употребления с чувствами соответственно верующих (которые м.б. и сочинителями,​ и читателями описаний на техноязыке) указал Д.В. Барановский — один из практиков дракон-визуализации — [[http://​forum.oberoncore.ru/​viewtopic.php?​p=51261#​p51261|см. здесь]]. ​
 +
 +Это тем более существенно,​ что христианин в некотором смысле может рассматривать формализацию мира (и дракон-визуализацию в частности),​ особенно неограниченную и касающуюся человеческого поведения,​ как продолжение «познания добра и зла»... и тогда противоречие словоупотребления и убеждений станет серьёзным (хотя здесь оно будет касаться скорее сущностной стороны — в частности,​ возможного использования техноязыка для посягательства на свободу воли и попытки игнорировать неполноту формализуемого знания в виде неопределённости,​ присутствующей в любой модели или в контексте моделирования и сказывающейся в её реализации на практике).
 +
 +Во-вторых,​ у автора языка «икона» понимается как визуальный оператор. Но не любая конструкция визуального языка (и вообще ЯПЗ) может считаться оператором.
 +
 +В силу всего сказанного,​ мы называем вершины,​ имеющие операторный смысл, виопами (от ВИзуальный ОПератор),​ а не имеющие такого смысла (или в общем смысле) — просто вершинами.
 +
 +Далее мы будем широко пользоваться приёмами структурного анализа и синтеза. Проще говоря,​ это умение подразделять данный предмет (в частности,​ воображаемый) на относительно самостоятельные части, которые можно рассматривать независимо,​ и выделять связи частей. И определять такие части, из которых можно собрать (используя связи) заданный предмет так, что он приобретёт нужные свойства (в частности,​ за счёт интегрального эффекта связывания).
 +
 +Структурируя схемы, естественно пользоваться понятием //​**позиции**//​. Как «белого ящика»,​ содержащего часть схемы (её элемент — вершину или ребро, фрагмент,​ законченную конструкцию) и имеющего связи с остальной частью схемы. Позиций на схеме можно определить много. Но полностью схема не может состоять из них — должны оставаться по крайней мере связи. Их положение и присоединение к позициям задают «каркас» строения схемы как результат структурного анализа. А если определить некие операторы управления вхождением позиций — можно описать и структурный синтез. ​
 +
 +Пока это лишь слова (не каждому читателю,​ возможно,​ до конца понятные) — но по ходу рассказа мы раскрем суть сказанного на примере структурирования конструкций и схем техноязыка и шампур-метода.
 +
 +Часто мы будем говорить о смысле частей схем. Под этим понимается интерпретация получателем сообщения,​ написанного на данном языке (в нашем случае — на ДРАКОНе). Принцип интерпретации можно найти у В.Ш. Кауфмана в книге [[http://​forum.oberoncore.ru/​viewtopic.php?​p=71218#​p71218|«Языки программирования. Концепции и принципы»]] (п. 1.3). Здесь под получателем будем подразумевать //​**машину для переработки данных**//​ (также называемую //​информатической//​) — по сути своей формально-языковую,​ т.е предназначенную для работы с неким математически определимым языком. Ту самую, которую обычно называют «компьютером» (но это не более чем жаргонное словцо,​ передающее лишь часть возможностей таких машин). Но не каждую информашину,​ а такую, устройство и принцип действий которой можно описать моделью,​ известной как «машина Тьюринга» (или аналогичной моделью - «машиной Поста»). В основе своей такая модель несложна для понимания — с ней можно познакомиться по книжке В.А. Успенского «Машина Поста» или в учебнике В.А. Острейковского «Информатика» ([[http://​forum.oberoncore.ru/​download/​file.php?​id=2219|п. 3.1]]). Всё распространённые информашины (включая ПК) описываются этой моделью. Главное,​ что нам надо знать — пространство для переработки данных в такой машине разбито на ячейки,​ упорядоченные в линию и снабжённые номерами-адресами.
 +
 +Вообще каждый формальный язык подразумевает какую-то модель исполнителя. Если она соответствует какому-то реальному исполняющему устройству — то говорят,​ что это язык низкого уровня. Если же модель абстрагирует (т.е. отвлекается от несущественных деталей,​ скрывает их за укрупнённым представлением) реального исполнителя — то говорят,​ что язык, соответствующий ей, высокого уровня.На рисунках далее мы будем пользоваться элементами когнитивной графики,​ как принятой у Паронджанова,​ так и новой. Словарь обозначений можно найти [[http://​grafit-basis.narod.ru/​L3/​usl_obozn.html#​Pril1-n12|здесь]].
 +
 +==== Отступление о синтаксисе:​ эргономично — не всегда неформально ====
 +
 +
 +Далее как в графике,​ так и в тексте мы будем пользоваться новыми для читателя обозначениями. Дадим некоторые пояснения в дополнение к упомянутым ранее определениям.
 +
 +В общем случае содержание можно описать с привлечением метаязыка РБНФ, что и сделано в этой статье. Определение принятой версии РБНФ можно найти среди условных обозначений,​ к которым Вас отсылали ранее.
 +
 +РБНФ у нас применяется не только к текстам,​ но и к графике. Принцип простой — в индексе части вводятся РБНФ-скобки,​ если часть необязательна в данном месте схемы. А если скобки задают возможность повтора,​ то очередное место указывается там же стрелочками. Если в одну сторону — то новая часть должна входить в схему всегда с этой стороны (получается,​ что после предыдущей введённой части с таким же индексом — ряд растёт по стрелке). А если в обе — то можно выбирать место в ряду — с левого края, правого или где-то посередине (если в ряду уже больше двух частей — между любыми двумя). Нельзя только выйти за место самого ряда в схеме. Сами индексы,​ если необязательно приводить их полностью,​ замещаем знаком '#'​ (кстати,​ знаки как элементы структуры текста везде берутся в апострофы).
 +
 +В графике мы тоже акцентируем возможность отсутствия фигур и/или связей — пунктиром линий. Если надо зрительно объединить разные части схемы — используем цвет линий и/или фона, толщину контуров и/или связей. Применяем и специальные операторы выбора частей. При этом на схеме выделяются позиции частей,​ к которым выбор применяется. Здесь интуитивно д.б. понятно следующее правило — когда в результате выбора данная часть отсутствует,​ отсутствуют и её внешние связи. Обычно индексы выбора мы даём для вершин — связанные с ними рёбра выбираются,​ так сказать,​ автоматически.
 +
 +Конечно,​ для чтения этих обозначений нужен некоторый навык. Поэтому мы часто кое-что поясняем по их употреблению. В дальнейшем читатель,​ думается,​ сможет и сам пользоваться ими.
 +
 +Может возникнуть вопрос — а зачем они? Одна из основных ролей — сокращать объём представления. Если рисовать/​писать всё, что может повторяться — то при большом числе повторов получится чересчур «габаритное» описание. Помимо его большой площади (и трудной обозримости),​ возникает и взаимосвязанная проблема восприятия — когда «за деревьями не видно леса». :-) Т.е. логическая структура предмета описания неясна. И вот тут выделение частей,​ которые могут повторяться или быть необязательными,​ кроме сокращения объёма,​ работает и на прояснение структуры. Как правило,​ это оказываются именно те части, на которые можно поделить предмет в результате структурного анализа его содержания. И получается,​ что физическое и логическое структурирование в значительной степени совмещаются.
 +
 +==== Отступление об исполнителях:​ «наши машины» и люди - «винтики» и «творцы» ====
 +
 +Так называются машины для переработки данных у Б. Мейера — одного из современных специалистов по инженерии программ. Мы уже говорили,​ что исполнителя алгоритмов можно описать формальной моделью. При этом важно понимать,​ что он так или иначе связан с окружающим миром — иначе превращается в «вещь в себе», для решения задач бесполезную. Законы связи, взаимодействия и реализации задач, поставленных исполнителю (а где-то — и установления целей и постановки задач) изучает специальная наука — //​**кибернетика**//​. И исполнитель вместе с окружением образует некую кибернетическую систему как объект изучения в этой науке.
 +
 +Начнём с простой системы,​ которая показана в «детской» книжке по техноязыку - «Занимательная информатика»:​
 +
 +{{ :​sxemavklispolnitelja_-_ill_zaniminfor_.png?​200 |}}
 +
 +Здесь показан исполнитель,​ устроенный так, что может и получать данные от окружения — по связи «информация о внешнем мире» (её ещё называют обратной),​ и выдавать воздействия во внешний мир — по связи «движения Мускула» (ещё её называют прямой). Собственно «наша машина» - устройство-исполнитель программы — это блок «Мозг». Идущие от него вопросы — это тоже команды,​ управляющие получением данных обратной связи.
 +
 +Здесь исполнитель подразумевается как техническое устройство. Но задачи он решает в интересах человека-пользователя. Человек выбирает алгоритм (а если это не предусмотрено задачей,​ для которой сделан исполнитель — то запускает его исполнение — хотя бы просто включив робота).
 +
 +Многие машины устроены по такой схеме. Это и программируемая бытовая техника,​ и станки с ЧПУ (в режиме работы по программе),​ и самонаводящиеся боеприпасы.
 +
 +Во многих задачах человек присутствует непосредственно — когда он участвует в процессе решения. Вот пример структуры исполнителя для такого случая:​
 +
 +{{ :​page3_graph_a3ls_taskdataproc_111_drakon-schdesign_curr.png?​200 |}}
 +
 +Тут человек-оператор представлен «крупным блоком» вверху,​ а машина (КСА — от «комплекс средств автоматизации») — таким же блоком внизу. Внутри каждого блока находятся элементы — это части т.н. информационного пространства. Оно выделяется в модели исполнителя — наряду с т.н. операционным устройством. В упомянутых «машинах Тьюринга/​Поста» это «лента» и «головка».
 +
 +Эта схема относится к [[http://​grafit-basis.narod.ru/​L3/​viz_alg_TFZ.html#​Doc-n42-1B-I2|задаче оформления дракон-схем]]. Можно изучить описание задачи полностью — может пригодиться. Если, скажем,​ надо нарисовать схему — а под рукой только редактор из офисного пакета. Или есть и специализированный дракон-редактор — но он для простого рисования слишком сложен...
 +
 +Что мы здесь видим? Человек хранит не только точные описания алгоритмов,​ подобные машинным — но и знания,​ умения,​ навыки (ЗУН). А ещё — цели, представления о том, как можно ставить задачи и находить их решения. И чем нужно ограничивать себя в целеполагании и в решении задач (в самом общем смысле это нормы этики),​ а также чем должны ограничиваться люди в отношении к окружающему миру (это нормы морали). Всё это составляет интеллектуальные ресурсы.
 +
 +Если же думать,​ что поведение человека описывается только алгоритмически строго — то мы приходим к упрощённой модели человека — т.н. «винтику». В каких-то задачах,​ которые поставлены уместно с т. зр. общих норм поведения — да, можно составлять алгоритмические инструкции и следовать им. Но в целом, если не упрощать — мы не можем дать «фундаментального алгоритма поведения»...
 +
 +Вот и повод показать более общий случай структуры исполнителя. Здесь различные люди имеют отношение к одной «предметной области»,​ решая разные задачи:​
 +
 +{{ :​graph_a3l_3211_task_senscontr-activsch_dsk.gif?​ |}}
 +
 +Оператор,​ решающий рассматриваемую задачу (её описание можно найти [[http:///​drakonografika.narod.ru/​L3/​automatization_know.html#​Pril4-n3211-2|здесь]]),​ связан с объектом. И этот же объект используется его персоналом — другими людьми. Иногда цели их м.б. нейтральны друг к другу, иногда совместны,​ иногда и противоположны.
 +
 +А что внутри у исполнителя алгоритма?​ Устройство его сложно,​ и описать можно по-разному. В большинстве случаев структура подобна показанной на следующей схеме:
 +
 +{{ :​grafit-abc_html_m5c6b9f1d.gif?​ |}}
 +
 +Схема составлена на [[http://​grafit-basis.narod.ru/​L3/​aktiv-vspom.html#​Pril2-n73|СТ-языке]].
 +
 +Важно понимать,​ что все эти блоки тоже работают в определённом порядке. Только алгоритм здесь не программируется,​ а как говорят,​ "​зашит в железе"​ - реализован аппаратно,​ за счёт соединения деталей. Для переработки данных существуют определённые законы устройства аппаратуры,​ делающие её работу максимально правильной. Интересующиеся могут прочесть [[http://​www.mcst.ru/​e2k_arch.shtml|эту работу]].
 +
 +Можно видеть,​ что «наша машина» (здесь это устройство — ДСК) может и не использоваться при решении — если она стала неработоспособной. Кто это определяет?​ Оператор. А бывает и так — машина в какой-то момент начинает работать неправильно. А определить это оказывается невозможно — по крайней мере, вовремя... ​
 +
 +Чтобы свести такую возможность к минимуму,​ изделия рук человеческих д.б. гарантоспособны. По-простому это значит — их создатели должны полностью отвечать за то, что изделие работает так, как положено. Но не только — ещё нужно, чтобы ущерб от неправильной работы был в допустимых пределах или вообще была возможность его предотвратить. Если изделие программируется — то гарантоспособность исполнения программ «нашей машиной» в его составе — важная часть решения этой проблемы в целом. Если же и нет — то понимание работы изделия,​ строгое алгоритмически,​ тоже важно. Для этого в конечном счёте и нужно описывать алгоритмы точно и понятно. Для человека...
 +
 +==== Отступление:​ формализация и языки представления знаний ====
 +
 +В отличие от исходного определения,​ здесь задаются также текстоэлементы языка. Дело в том, что смысл и лексики,​ и отдельных конструкций (типовых и уникальных подсхем) и законченных схем не сводится к тому, который представлен графикой вершин и линий. Это отражено ещё автором техноязыка в названии авторской технологии его применения — ГРАФИТ-ФЛОКС (от ГРАФика И Текст; ФЛОКС — дополнительный к ДРАКОНу табличный язык, используемый для описания величин) — и в предварительной классификации содержания программно строгих описаний деятельности. Последовательно этот принцип проведён в [[http://​grafit-basis.narod.ru/​L2/​gen_struct_dan.html|классификации формализуемых знаний]] и в графит-методе — новом виде исчисления схем, определённом [[http://​grafit-basis.narod.ru/​L3/​grafit-rules.html|здесь]]. Графит-метод использует и основные принципы,​ принятые для техноязыка,​ но также вводит новые. Учёт текста не только для частных случаев (гибридных техноязыков),​ но и в общем (и в правилах исчисления,​ когда нужно) — один из графит-принципов. Заметим,​ что правильно добавлять сюда также и таблицы — как своего рода предтечу схемы текста — и несхематические изображения (скажем,​ рисунки,​ вставленные в вершины) — и тогда говорить просто о содержании вершин.
 +
 +Уже давно специалисты по анализу и проектированию деятельности и взаимодействия человека в трудовом процессе — инженерные психологи — определяли общую структур процесса формализации знаний. Общий результат можно найти на [[http://​drakonografika.narod.ru/​L2/​formalization.html#​Doc-n1411|этой странице]]. В структуре процесса можно фактически выделить три стадии - «качественную»,​ математическую и информатическую. Каждой из них соответствует достигаемый уровень формальности языка. Познакомимся с этими уровнями вкратце.
 +
 +//​**Неформальный**//​ предполагает «почти естественную» формулировку действия — как фразы на родном языке сочинителя,​ только с заданным подразделением на имена объектов (в экономическом смысле — предметов и результатов труда) и «имя действия» - глагольные обороты,​ связующие объекты и указывающие применение к ним называемых действий (и, возможно,​ инструментов). Как действия д.б. знакомы исполнителю по названиям (входить,​ как говорят Паронджанов,​ а ранее — [[http://​forum.oberoncore.ru/​viewtopic.php?​p=71218#​p71218|В.Ш. Кауфман в книге «Языки программирования. Концепции и принципы»]],​ в его «репертуар»),​ так и объекты д.б. известны по именам,​ образуя,​ так сказать,​ «багаж» исполнителя;​ то же касается и инструментов,​ образующих,​ условно говоря,​ «реквизит» процесса. Понятно,​ что не меньшие знания обо всём этом д.б. у сочинителя. ;-)
 +
 +//​**Функциональный**//​ уровень в принципе соответствует уже математической трактовке деятельности. Как некоей структуры функций,​ применение которых к аргументам (тем же объектам-предметам труда) даёт объекты-результаты труда. Структура объединяет функции прежде всего путём композиции (в цепочку,​ где результат[ы] одной функции передаются как аргумент[ы] следующей).
 +
 +//​**Информатический**//​ уровень возникает как результат информатизации представления о деятельности. При этом выделяется императивное формализованное знание — о маршрутах процесса,​ декларативное — о типах объектов и их структурах,​ активностное — о типах операций и средствах их выполнения (как структуре механизмов «реквизита»). В пределе обязательно представление объектов как чисел (кодов) и операций — как арифметических и/или логических (в смысле булевых функций над двоичными цифрами-битами). Любым «материальным последствиям» исполнения алгоритма тогда соответствуют (в алгоритмической обстановке,​ т.е. в модели контекста процесса) значения чисел/​кодов на определённых линиях связи внутри исполнителя (между механизмами «реквизита») и в его окружении в определённые моменты времени. Так можно описать то, что Паронджанов называет «техпроцессом». Понятно,​ что сочинитель должен представлять себе схему исполнителя вместе с окружением,​ «размеченную» величинами данного процесса.
 +
 +Таков пролог нашей истории... :)
 +
 +====== Продолжение следует... ======
 +
 +===== Вершины и линии схем: смысл — в ГРАФике И Тексте =====
 +
 +[[Вершины и линии схем - смысл — в ГРАФике И Тексте|]]
 +
 +===== Вложение и структурные изменения на графах =====
 +
 +[[Вложение и структурные изменения на графах|]]
 +
 +===== Упорядочение маршрутов:​ чем правее,​ тем... придумай сам =====
 +
 +[[Упорядочение маршрутов - чем правее,​ тем... придумай сам|]]
 +
 +===== Шампур-укладка на плоскости:​ свет и тени силуэта =====
 +
 +[[Шампур-укладка на плоскости - свет и тени силуэта|]]
 +
 +===== Атомарные и лианные структуры =====
 +
 +[[Атомарные и лианные структуры|]]
 +
 +===== Структурная алгоритмизация и шампур-метод:​ сочинитель становится мудрецом =====
 +
 +[[Структурная алгоритмизация и шампур-метод - сочинитель становится мудрецом|]]
 +
 +===== Разметка схем и гибридные техноязыки:​ ДРАКОН начинает,​ ГРАФИТ выигрывает =====
 +
 +[[Разметка схем и гибридные техноязыки - ДРАКОН начинает,​ ГРАФИТ выигрывает|]]
texnojazyk_i_shampur-metod_-_suschnost_preemstvennost_razvitie.txt · Последние изменения: 2012/12/25 10:58 — Владислав Жаринов