Продолжаем обсуждать основные архитектурные альтернативы для SysMoLan (ссылок не привожу -- кто за темой следит, то всё понял и тексты помнит. А кто не следил, всё одно ничего не поймёт. Но как-то собрать в одном месте все варианты стоит):
1. ArchiEssence
Начинаем моделирование с обеспечивающей системы, сначала поможем архитекторам предпринятия: ArchiMate + Essence, следующими на очереди будут VDML и DEMO. И уже с завоёванных совместно с менеджерами высот сползать на моделирование целевой системы. Всё с самого начала факт-ориентировано, но до мультифизики оно не доползёт никогда.
2. Теория категорий -- это наше всё
Начинаем с IEC 81346, принципиальных схем и математики, для них сочиняем диаграммные техники (визуализацию) для отображения архитектурного синтеза модульного представления (сборочные деревья и интерфейсы) и компонетного (принципиальные схемы). Всё очень круто, но сочинять и язык, и его семантику, и внешнее представление тут придётся с нуля. Самый революционный вариант.
3. Modelischa (моделища: распухшая моделика)
Берём Modelica (уж больно хороша) и пытаемся растянуть синтаксически и семантически на всё, что нам нужно: делаем её язык более современным (расчёты в той же Julia делать удобней, хоть там и нет уравнений), в IDE добавляем дополнительные view (не только картинки принципиальных схем, но и модульные диаграммы), уравнения для решения задач модульного синтеза, соглашения по именам по мотивам IEC 81346. Забыть про факт-ориентированность, непонятки с моделированием обеспечивающих систем.
4. Mojulica (Julia в сторону Modelica)
Забыть про факт-ориентированность и сам заход на "язык моделирования", но попробовать приготовить суп из топора современного "языка программирования": добавлять нужные свойства (включая решение систем уравнений как в Modelica, добавить теоркатегорные уравнения, альтернативные диаграммные представления как в Modelica, имена объектов по IEC 81346 и т.д.) в Julia через "расширение языка", т.е. максимально задействуя тамошнее метапрограммирование и идеи языковой коллаборативной инфраструктуры (проект Jupyter). Недостатки те же, что в Modelischa: объект-ориентированность, архитектуры предприятия долго не будет.
5. Функциональные паттерны
Собственно, с этого варианта всё и начиналось: к обобщённым паттернам данных (на базе идеологии паттернов ISO 15926, обобщённых на разные другие модели данных) добавить лямбду, от идентификаторов перейти к десигнаторам (IEC 81346) и повторить .15926 Editor. Более того, тут даже были наработаны какие-то коды (на Python. Чтобы добавить революционности и отдалить реализацию, можно делать на Julia).
Все идеи достаточно безумны и интересны, чтобы их обсуждать и пробовать, все запредельно сложны и поэтому результаты вряд ли будут попсовыми (т.е. рассчитывать на коммерческий успех моделера будет нельзя).
Для тех, кто дочитал до этого места, бонус-трек: "Comprehensive Overview of the Application of MBSE at JPL NASA" (53 слайда, годичной давности),
http://blog.nomagic.com/comprehensive-overview-of-the-application-of-mbse-at-jpl-nasa/. Это тоже альтернатива: зачем нам SysMoLan, когда уже есть SysML и SyM (способ стыка моделей SysML и Modelica,
http://www.omg.org/spec/SyM/).
Ну, и напомню, что упрощение/умощнение моделирования по линии отплытия от языков программирования к чему-то доступному для не-программистов экселеподобному (опять же, забыли о факт-ориентированности) идёт в проекте EVE (я поминал его во вчерашнем посте о моделировании:
http://ailev.livejournal.com/1167761.html) -- их можно считать в какой-то степени конкурентами, хотя у них, думаю, меньше всего системная инженерия как целевая предметная область. У них идея, что 1млн программистов сделал эксель, которым пользуются 90млн человек не-программистов, и развитие программирования должно идти сейчас не столько на поддержку программистами самих себя, и не на умощнение языка (идея всех современных языков программирования и заодно SysMoLan: рост usability после привыкания к новому языку), а на рост learnability -- совсем другой характеристики. Словарь людоедки-эллочки как залог победы в языкостроительстве: 140 символов Твиттера победили довольно много навороченных и крайне выразительных социальных сеток, формулы экселя победили бейсик, а заодно и MS Access. В популярности. Когда дело доходит до серьёзных задач и борьбы со сложностью, то попса смиренно отступает. Так что нужно определиться с классом задач: народный весёлый и попсовый инжиниринг, или поддержка команды яйцеголовых, которые делают что-то совсем уж уникальное и необъятное.