...
В смысле - что ЯВУ просто передают то же содержание, что и предметные языки (DSL) того же уровня - только не "разговорно", а для алгоритмически строгого исполнителя?.. Т.е. надо иметь две системы (иерархии) языков моделирования?..
Почему две иерархии? Причём здесь иерархии? Есть языки моделирования (часто неформальные), есть языки проектирования (более или менее формальные), есть языки программирования (формальные). Но эти языки не образуют иерархии, они просто отражают этапы жизненного цикла.
Я к тому, что система здесь, скажем представлялась как иерархия уровней... строение которой Вы подробнее раскрывали здесь и здесь.
Иерархия уровней системы - это несколько иное. Язык программирования, в данном контексте, - это инструмент. Один и тот же инструмент может применяться на разных уровнях, как одной системы, так и разных систем. Выбор языка определяется решаемыми задачами. Так, например, на разных этапах создания системы (или, в целом, жизненного цикла) решаются разные задачи, поэтому и применяются разные средства/языки разработки. Аналогично, на разных уровнях системы тоже решаются разные задачи (о чём и шла речь в сообщениях по ссылкам). Следовательно, и на разных уровнях системы могут использоваться разные инструменты/языки.
Совершенно иной вопрос, образуют ли средства/инструменты/языки иерархии?.. Возьмём к примеру материальное производство. Вот деталь обрабатывается на токарном станке, потом она попадёт на закалку, а затем на шлифовку. Означает ли это, что инструменты на каждой операции образуют некую иерархию: оборудование для закаливания подчинено шлифовочному оборудованию, а ему, в свою очередь, подчинено токарное оборудование? Это, конечно, не так. Но это не так и с языками. Пример с обработкой детали - это фрагмент ЖЦ. Можно привести примеры и разных уровней системы, ответ будет тот же самый. Языки программирования различаются по тому, какие задачи они решают, но при этом языки не образуют иерархии, даже в том случае, если решаемые задачи иерархичны по своей сути.
Вот в этой связи, имея в виду сказанное в этом посте насчёт природы языков и в этом насчёт их применения в ЖЦ - можно узнать, верно ли, что будут три подсистемы языков для этапов моделирования, проектирования и реализации (программирования в случае программируемых машин)? или три языка, как-то структурированных для выражения произвольной иерархии уровней, выделяемой в системе? но чётко связанных горизонтально по этапам на уровне (ведь иерархия д.б. единой для всех этапов)?..
Тут я понял так, что конкретная суть системы (рода систем) определяет, на сколько и каких уровней её делим - верно? или существует универсальная иерархия уроовней? или универсальная методика выделения уровней?
Язык определяется задачей (возможностью выразить/формализовать задачу). С другой стороны сам язык - это средство интерфейса, общения двух или более сущностей. А значит язык должен проецироваться на понятный всем взаимодействующим сторонам набор образов (систем команд исполнителя, например). Язык моделирования должен быть понятен проектировщику. Язык проектирования (например, чертёж и/или технологическая карта) должен быть понятен исполнителю/кодировщику/рабочему... Всё это справедливо и для задач разработки ПО, и для задач управления (анализируем проблему, составляем/формируем модель проблемы, проектируем решение, доводим его до исполнителей). И каждый класс задач может решаться множеством методов, множеством инструментов... языков.
Сейчас медленно, очень медленно, слишком медленно... но всё же приходит понимание того, что все задачи, решаемые людьми можно отнести к одному из этапов жизненного цикла (мироздания, цивилизации, живого существа, программы, машины, детали...) и к одному из уровней "иерархии" системы (исполнительный, распорядительный, аналитический, моделирования)...