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

209 lines
14 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

### 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](https://upload.wikimedia.org/wikipedia/commons/thumb/d/df/RationalSoftware.png/500px-RationalSoftware.png)
**Разработчик:** 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-редакторов с генерацией кода до мощных платформ, поддерживающих полный цикл разработки, интеграцию с бизнес-процессами и облачными технологиями.