Разработка, управляемая моделями, или Model-Driven Development (MDD) — подход к разработке, как к процессу, управляемому моделями. Другое его название — Model Driven Architecture (MDA). Управление моделями понимается в том смысле, что все основные проектные решения принимаются при оперировании моделями, а реализация модели в виде продукта становится формальной процедурой. Этот подход развит и используется в программной инженерии.
Автоматическая генерация кода на основе модели предметной области является существенным шагом на пути автоматизации разработки программного обеспечения, поскольку значительно повышает уровень абстракции, достаточный для получения работающего приложения.
Модели в MDA могут быть платформно-независимыми (PIM — platform-independent) и платформно-зависимыми (PSM — platform-specific models). Проектирование системы начинается с создания общего описания бизнес-логики приложения, т.е. модели PIM. Модель может быть выражена на высокоуровневом платформно-независимом языке программирования.
После этого осуществляется переход (трансформация) к модели PSM, в которой представлены не только функциональность системы, но и её реализация с использованием конкретной технологической платформы. Происходит дальнейшая детализация модели и добавление элементов и конструкций, специфичных для выбранной технологии реализации. В заключение выполняется генерация кода, затем производится доработка этого кода и его компиляция.
Для поддержки MDA, в частности, создан язык UML 2.0.
C появлением унифицированного языка моделирования UML началась активная разработка программных средств моделирования, среди которых наиболее известны Rational Rose, Together и Microsoft Visio.
Код, генерируемый стандартными CASE-средствами, очень беден и освобождает разработчика только от механической работы по перенесению свойств модели в программу. Менее громоздкой (но более узко специализированной) является технология UniMod, позволяющая моделировать поведение системы с помощью конечных автоматов (диаграмма состояний UML), причем получаемые модели являются исполнимыми и получение готового кода также возможно. В настоящее время UniMod распространяется как модуль расширения к среде программирования Eclipse. В рамках проекта Eclipse разрабатывается библиотека EMF (Eclipse Modeling Framework), позволяющая строить метамодели и модели по ним, поддерживающая XMI и генерацию кода.
На рис. 1 показана последовательность процедур получения кода по исходному описанию бизнес-процесса [1].
Рис. 1.  
Список литературы
1. Анализ существующих методик описания и средств моделирования административно-управленческих процессов исходя из требований к ЭАР. - http://bigc.ru/government/modeling/methodology/experience/asmosm/c_71.php