Г.С. Иванова1, М.В. Фетисов2, Т.А. Малкина3, А.В. Ралдугина4
1–4 Московский государственный технический университет им. Н.Э. Баумана (Москва, Россия)
Постановка проблемы. Рассматривается проблема построения сложных моделей, которые зачастую объединяют несколько предметных областей. Для решения этой проблемы предлагается использование предметно-ориентированных языков, каждый из которых описывает ту или иную предметную область и должен быть интуитивно понятен специалистам этой области. Фреймворк, таким образом решающий задачу моделирования, назван адаптивной системой имитационного моделирования. Однако такое решение порождает новую сложность: несколько предметно-ориентированных языков сложно поддерживать. Предлагается способ унификации поддержки предметно-ориентированных языков, а также объясняется необходимость в использовании открытой программной архитектуры, которая является обязательным дополнением для предложенных средств унификации работы с языками. Дается краткая классификация компонентов открытой программной архитектуры.
Цель. Описать идеи и методы унификации поддержки предметно-ориентированных языков, а также объяснить необходимость в реализации открытой программной архитектуры адаптивной системы имитационного моделирования.
Результаты. Показано, что предложенный способ унификации поддержки предметно-ориентированных языков, а также открытая программная архитектура позволит построить адаптивную систему имитационного моделирования, которая может расширяться не только языками разных предметных областей, но и архитектурными компонентами и модулями, необходимыми для решения задач моделирования.
Практическая значимость. Предложенный способ унификации поддержки предметно-ориентированных языков, а также открытая программная архитектура позволит построить адаптивную систему имитационного моделирования, позволяющую эффективно описывать и просчитывать сложные модели.
Иванова Г.С., Фетисов М.В., Малкина Т.А., Ралдугина А.В. Унификация работы с предметно-ориентированными языками и открытая программная архитектура в адаптивной системе имитационного моделирования // Динамика сложных систем. 2021. T. 15. № 3. С. 36−47. DOI: 10.18127/j19997493-202103-03
- Иванова Г.С., Жильцов А.И., Фетисов М.В., Чулин Н.А., Юдин А.Е. Адаптивная система моделирования // Автоматизация. Современные технологии. 2020. № 1. С. 500.
- SIMODO/stars в репозитории МГТУ им. Н.Э. Баумана [Электронный ресурс]. Режим доступа: https://bmstu.codes/lsx/simodo/stars (дата обращения: 28.08.2021).
- Эванс Э. Предметно-ориентированное проектирование (DDD): структуризация сложных программных систем. СПб.: ООО «Диалектика». 2019. 448 с.
- Booch G., Maksimchuk R.A., Engle M.W. etc. Object Oriented Design: With Applications. Addison-Wesley. 2007. 717 c.
- Duffy E. The Design & Implementation of an Abstract Semantic Graph for Statement-Level Dynamic Analysis of C++ Applications [Электронный ресурс]. Режим доступа: https://tigerprints.clemson.edu/cgi/viewcontent.cgi?article=1832&context=all_dissertations (дата обращения: 28.08.2021).
- Ахо А.В., Лам М.С., Сети Р., Ульман Д.Д. Компиляторы: принципы, технологии и инструментарий. Изд. 2-е. М.: Издательский дом «Вильямс». 2018. 1184 с.
- Вирт Н. Построение компиляторов. М.: ДМК Пресс. 2016. 192 с.
- Knuth Donald E. On the Translation of Languages from Left to Right. INFORMATION AND CONTROL. 1965. № 8. С. 607–639.
- DeRemer Franklin L. Practical Translators for LR(k) languages [Электронный ресурс]. Режим доступа: http://publications.csail.mit.edu/lcs/pubs/pdf/MIT-LCS-TR-065.pdf (дата обращения: 28.08.2021).
- Graphviz [Электронный ресурс]. Режим доступа: https://graphviz.org (дата обращения: 28.08.2021).
- Blender [Электронный ресурс]. Режим доступа: https://www.blender.org (дата обращения: 28.08.2021).
- Гремучая смесь: секреты бесплатного 3D-редактора Blender [Электронный ресурс]. Режим доступа: https://3dnews.ru/921411 (дата обращения: 28.08.2021).
- 1800-2017 – IEEE Standard for SystemVerilog--Unified Hardware Design, Specification, and Verification Language [Электронный ресурс]. Режим доступа: https://ieeexplore.ieee.org/document/8299595 (дата обращения: 28.08.2021).
- Language Server Protocol [Электронный ресурс]. Режим доступа: https://microsoft.github.io/language-server-protocol (дата обращения: 28.08.2021).