Дружелюбный Русский Алгоритмический язык, Который Обеспечивает Наглядность/Надёжность
Здесь показаны различия между двумя версиями данной страницы.
Предыдущая версия справа и слева Предыдущая версия | |||
ocenka_texnojazyka_i_shampur-metoda [2012/04/10 08:55] Владислав Жаринов |
ocenka_texnojazyka_i_shampur-metoda [2012/05/21 19:43] (текущий) Владислав Жаринов |
||
---|---|---|---|
Строка 1: | Строка 1: | ||
- | ====== Техноязык и шампур-метод - сущность, преемственность, развитие ====== | + | ====== Перспективы техноязыка и шампур-метода ====== |
- | Безусловно, ДРАКОН-визуализация отличается от традиционной визуализации потоков управления блок-схемами. Сам Паронджанов указал на это следующим образом: | + | ДРАКОН-визуализация - дело новое. И важно понимать, что техноязык и лежащий в его основе шампур-метод — это: а) не сухая книжная догма, а живые сущности, имеющие потенциал для плодотворного развития и б) не трактуемы узко как средство и метод формализации только импер-знаний, но приложимы и для знаний других родов и служат источниками общих идей визуализации. Что и будет по возможности показано далее - на опыте как исследовательском и учебном, так и практическом. |
+ | Предложения создателя техноязыка сохраняют общность с БСАП-языком в отношениях: | ||
+ | * структуры схем — объектом вывода также является т. н. сводимый (аранжируемый, устремлённый; на эквивалентность этих определений указано в п. 6 [[biblioteka:start|доклада Ермакова и Жигуненко]]) граф — ориентированный циклический, с выделенной начальной вершиной; | ||
+ | * отношения к разметке — как и в БСАП, рассматривается неразмеченный граф, который Паронджанов называет «слепышом»; | ||
+ | * интерпретации — как и БСАП, примитивы и силуэты понимаются как графы потока управления, а их цепи — как маршруты алгоритмических процессов. | ||
- | //"Задача формализации и унификации множества профессиональных языков с целью обеспечить эффективное взаимопонимание между специалистами любых профессий, включая программистов, является, хоть и важной, но, увы, неразрешимой. Положение в корне меняется, если ограничиться императивными профессиональными знаниями. Именно эту задачу решает язык ДРАКОН. Он построен путём формализации, неклассической структуризации и эргономизации блок-схем алгоритмов и программ, описанных в стандартах ГОСТ 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|В.Ш. Кауфман в книге «Языки программирования. Концепции и принципы»]], в его «репертуар»), так и объекты д.б. известны по именам, образуя, так сказать, «багаж» исполнителя; то же касается и инструментов, образующих, условно говоря, «реквизит» процесса. Понятно, что не меньшие знания обо всём этом д.б. у сочинителя. ;-) | ||
- | |||
- | //**Функциональный**// уровень в принципе соответствует уже математической трактовке деятельности. Как некоей структуры функций, применение которых к аргументам (тем же объектам-предметам труда) даёт объекты-результаты труда. Структура объединяет функции прежде всего путём композиции (в цепочку, где результат[ы] одной функции передаются как аргумент[ы] следующей). | ||
- | |||
- | //**Информатический**// уровень возникает как результат информатизации представления о деятельности. При этом выделяется императивное формализованное знание — о маршрутах процесса, декларативное — о типах объектов и их структурах, активностное — о типах операций и средствах их выполнения (как структуре механизмов «реквизита»). В пределе обязательно представление объектов как чисел (кодов) и операций — как арифметических и/или логических (в смысле булевых функций над двоичными цифрами-битами). Любым «материальным последствиям» исполнения алгоритма тогда соответствуют (в алгоритмической обстановке, т.е. в модели контекста процесса) значения чисел/кодов на определённых линиях связи внутри исполнителя (между механизмами «реквизита») и в его окружении в определённые моменты времени. Так можно описать то, что Паронджанов называет «техпроцессом». Понятно, что сочинитель должен представлять себе схему исполнителя вместе с окружением, «размеченную» величинами данного процесса. | ||
- | |||
- | Таков пролог нашей истории... :) | ||
- | |||
- | ====== Продолжение следует... ====== | ||
- | |||
- | ===== Вершины и линии схем: смысл — в ГРАФике И Тексте ===== | ||
- | |||
- | [[Вершины и линии схем - смысл — в ГРАФике И Тексте|]] | ||
- | |||
- | ===== Вложение и структурные изменения на графах ===== | ||
- | |||
- | [[Вложение и структурные изменения на графах|]] | ||
- | |||
- | ===== Упорядочение маршрутов: чем правее, тем... придумай сам ===== | ||
- | |||
- | [[Упорядочение маршрутов - чем правее, тем... придумай сам|]] | ||
- | |||
- | ===== Шампур-укладка на плоскости: свет и тени силуэта ===== | ||
- | |||
- | [[Шампур-укладка на плоскости - свет и тени силуэта|]] | ||
- | |||
- | ===== Атомарные и лианные структуры ===== | ||
- | |||
- | [[Атомарные и лианные структуры|]] | ||
- | |||
- | ===== Структурная алгоритмизация и шампур-метод: сочинитель становится мудрецом ===== | ||
- | |||
- | [[Структурная алгоритмизация и шампур-метод - сочинитель становится мудрецом|]] | ||
- | |||
- | ===== Разметка схем и гибридные техноязыки ===== | ||
- | |||
- | [[Разметка схем и гибридные техноязыки - ДРАКОН начинает, ГРАФИТ выигрывает|]] |