doc/visualization/executable_model/mda_mdd_history.md
2025-07-08 10:41:41 +03:00

14 KiB
Raw Blame History

MDA_MDD_history (ai)

1 Вопрос про Model Driven Architecture \ Model Driven Design, которые генерируют программный код (executable model) по UML схеме (и подобным).

Укажи хронологию этих инструментов с точным указанием названия продукта и их особенности (включая преимущества) начиная с Rationasl Rose по сегодняшний день.

Ответ

Хронология инструментов Model Driven Architecture / Model Driven Design (MDA/MDD) с поддержкой генерации программного кода по UML-схеме (executable model) с 1990-х по сегодняшний день

1. Rational Rose (19942006+)

Rational Software Logo

Разработчик: Rational Software (позже IBM)
Платформы: Windows, Linux, UNIX
Основные возможности:

  • Поддержка UML и ER-диаграмм.
  • Генерация кода для языков Ada, C++, Java и др.
  • Round-trip engineering: синхронизация кода и модели (обратная и прямая генерация).
  • Модульность: возможность разбивать большие модели на управляемые компоненты.
  • Интеграция с IDE (например, Visual Studio .NET).
  • Специализированная версия Rational Rose RealTime для реактивных систем (телеком, промышленность) с генерацией значительной части кода из UML-моделей.

Преимущества:

  • Один из первых промышленных инструментов для MDA/MDD.
  • Гибкая поддержка различных языков программирования.
  • Сильная интеграция с другими инструментами Rational/IBM.
  • Поддержка крупных проектов и командной работы.

Историческая веха: В 2003 году Rational Software была куплена IBM, после чего Rational Rose стал частью IBM Software Group. К 2006 году его функции были постепенно вытеснены более современными решениями (например, IBM Rational Software Architect). К 2024 году продажи Rational Rose прекращены, но поддержка еще доступна .


2. Borland Together (2000-е)

Разработчик: Borland
Платформы: Windows
Основные возможности:

  • Поддержка UML, генерация и обратная генерация кода.
  • Интеграция с Borland JBuilder и другими IDE.
  • Мощные средства визуализации и анализа моделей.

Преимущества:

  • Гибкая интеграция с экосистемой Borland.
  • Удобство для Java-разработчиков.
  • Поддержка командной работы и крупных проектов .

3. MagicDraw (с 2000-х, активное развитие до 2020-х)

Разработчик: No Magic, Inc. (позже приобретена Dassault Systèmes)
Платформы: Windows, Linux, macOS
Основные возможности:

  • Поддержка UML, SysML, BPMN.
  • Генерация кода для Java, C++, C#, XML Schema и др.
  • Мощные средства валидации моделей, интеграция с другими инструментами (Teamwork Cloud, Cameo Suite).
  • Поддержка MDA-стандартов OMG.

Преимущества:

  • Гибкость, расширяемость, поддержка стандартов.
  • Удобный интерфейс, развитая документация.
  • Поддержка сложных корпоративных сценариев .

4. Enterprise Architect (с 2000-х по настоящее время)

Разработчик: Sparx Systems
Платформы: Windows (есть web- и cloud-решения)
Основные возможности:

  • Поддержка UML, SysML, BPMN, ArchiMate и др.
  • Генерация и обратная генерация кода для Java, C#, C++, PHP, Python и др.
  • Моделирование бизнес-процессов, архитектуры предприятия, требований.
  • Мощные средства для командной работы, версионирования, интеграции с ALM/DevOps.

Преимущества:

  • Богатый функционал по доступной цене.
  • Поддержка широкого спектра стандартов и языков.
  • Гибкая настройка и расширяемость .

5. Altova UModel (с 2000-х)

Разработчик: Altova
Платформы: Windows
Основные возможности:

  • UML-моделирование, генерация кода для Java, C#, Visual Basic.
  • Интеграция с XML-технологиями, поддержка XMI.
  • Импорт/экспорт моделей, интеграция с другими продуктами Altova.

Преимущества:

  • Глубокая интеграция с XML и XSD.
  • Удобство для проектов, связанных с данными и интеграцией .

6. Eclipse Modeling Framework (EMF) (с 2002 по настоящее время, open source)

Разработчик: Eclipse Foundation
Платформы: Кроссплатформенный (Java/Eclipse)
Основные возможности:

  • Создание метамоделей (Ecore), генерация Java-кода по моделям.
  • Основа для многих других MDA-инструментов (Acceleo, Papyrus).
  • Поддержка расширения и интеграции с другими Eclipse-проектами.

Преимущества:

  • Бесплатность, открытость, активное сообщество.
  • Гибкость, возможность создания собственных DSL.
  • Основа для многих промышленных решений .

7. Acceleo (с 2006, open source)

Разработчик: Eclipse Foundation
Платформы: Кроссплатформенный (Eclipse)
Основные возможности:

  • Генерация кода по моделям EMF (Model-to-Text, стандарт OMG M2T).
  • Поддержка различных языков программирования.
  • Гибкая настройка шаблонов генерации.

Преимущества:

  • Бесплатность, интеграция с EMF.
  • Гибкость и расширяемость шаблонов.
  • Поддержка индустриальных стандартов .

8. Papyrus (с 2008, open source)

Разработчик: Eclipse Foundation
Платформы: Кроссплатформенный (Eclipse)
Основные возможности:

  • Поддержка UML, SysML, BPMN.
  • Генерация кода, валидация моделей, поддержка профилей.
  • Интеграция с EMF и другими Eclipse-проектами.

Преимущества:

  • Бесплатность, поддержка сложных стандартов.
  • Расширяемость, активное сообщество.
  • Используется в академических и промышленных проектах .

9. Modelio (с 2000-х, open source)

Разработчик: Modeliosoft
Платформы: Кроссплатформенный
Основные возможности:

  • UML, BPMN, ArchiMate, поддержка MDA.
  • Генерация кода для Java, C++, Python и др.
  • Расширяемость через модули, поддержка требований.

Преимущества:

  • Бесплатность, поддержка множества стандартов.
  • Гибкая архитектура, расширяемость .

10. Современные low-code/no-code и облачные MDD-платформы (2010-е настоящее время)

Примеры: Mendix, OutSystems, Appian, Microsoft Power Platform
Основные возможности:

  • Визуальное моделирование бизнес-процессов и логики.
  • Автоматическая генерация кода и развертывание приложений в облаке.
  • Интеграция с корпоративными системами, поддержка DevOps.

Преимущества:

  • Доступность для "гражданских" разработчиков (без глубоких знаний программирования).
  • Быстрое прототипирование и вывод на рынок.
  • Масштабируемость, поддержка мобильных и web-приложений .

11. Текущие тренды (2020-е)

  • Интеграция с AI/ML: Современные инструменты используют искусственный интеллект для генерации кода, оптимизации моделей и автоматизации тестирования.
  • Поддержка облачных и распределённых архитектур: Возможность генерации кода для микросервисов, serverless, IoT.
  • Расширение стандартов: Поддержка BPMN, SysML, ArchiMate, DMN и других нотаций.
  • Массовое внедрение low-code/no-code: По прогнозам Gartner, к 2024 году более 65% корпоративных приложений будут разрабатываться с помощью MDD-платформ .

Сравнительная таблица (кратко)

Продукт Годы активности Тип лицензии Языки генерации кода Особенности и преимущества
Rational Rose 19942006+ Коммерческая Ada, C++, Java и др. Пионер, round-trip, интеграция с IDE
Borland Together 2000-е Коммерческая Java, C++ и др. Интеграция с Borland, визуализация
MagicDraw 2000-е2020-е Коммерческая Java, C++, C#, XML и др. Гибкость, поддержка стандартов
Enterprise Architect 2000-е–н.в. Коммерческая Java, C#, C++, Python и др. Доступность, богатый функционал
Altova UModel 2000-е–н.в. Коммерческая Java, C#, VB Интеграция с XML, XSD
Eclipse EMF 2002н.в. Open Source Java Основа для MDA, расширяемость
Acceleo 2006н.в. Open Source Любые (шаблоны) M2T, интеграция с EMF
Papyrus 2008н.в. Open Source Java, C++, др. UML, SysML, BPMN, расширяемость
Modelio 2000-е–н.в. Open Source Java, C++, Python и др. Много стандартов, расширяемость
Mendix, OutSystems и др. 2010-е–н.в. Коммерческая Автоматически Low-code/no-code, облако, масштабируемость

Выводы

  • Rational Rose был первым массовым инструментом, реализовавшим MDA-подход с генерацией кода по UML. Его развитие определило стандарты для последующих решений .
  • В 2000-х появились мощные коммерческие конкуренты (Borland Together, MagicDraw, Enterprise Architect), расширившие возможности моделирования и генерации кода .
  • С середины 2000-х активно развиваются open source-решения (Eclipse EMF, Acceleo, Papyrus, Modelio), что сделало MDA/MDD доступным для широкой аудитории .
  • В 2010-х и 2020-х годах на первый план выходят low-code/no-code платформы и облачные решения, делающие моделирование и генерацию кода доступными даже для не-программистов, а также интеграция с AI и поддержка новых стандартов .

Таким образом, инструменты MDA/MDD прошли путь от специализированных UML-редакторов с генерацией кода до мощных платформ, поддерживающих полный цикл разработки, интеграцию с бизнес-процессами и облачными технологиями.