Разработка, управляемая моделями

Разработка, управляемая моделями, (англ. model-driven development) — это стиль разработки программного обеспечения, когда модели становятся основными артефактами разработки, из которых генерируется код и другие артефакты.

Модель — это абстрактное описание программного обеспечения, которое скрывает информацию о некоторых аспектах с целью представления упрощенного описания остальных. Модель может быть исходным артефактом в разработке, если она фиксирует информацию в форме, пригодной для интерпретаций людьми и обработки инструментами. Модель определяет нотацию и метамодель. Нотация представляет собой совокупность графических элементов, которые применяются в модели и могут быть интерпретированы людьми. Метамодель описывает понятия используемые в модели и фиксирует информацию в виде метаданных, которые могут быть обработаны инструментами.

Модели описанные на предметно-ориентированном языке программирования могут быть использованы, как точки расширения каркасов.

Наиболее известными MDE-инициативами являются:

  • концепция модельно-ориентированного подхода к разработке программного обеспечения (архитектура, управляемая моделью), разрабатываемая консорциумом OMG.
  • Eclipse Modeling Framework — свободный фреймворк, основанный на Eclipse, для генерации кода, инструментов и прочих приложений на основе структурированной модели данных (метамодели).