Unified Modeling Language (UML)

Primary tab navigation

Model Driven Architecture® (MDA®) helps developers manage complexity and work at increasingly higher levels of abstraction.

Model Driven Architecture is a "philosophy" of how models should be used in the software development process. Developers across the software industry are embracing this philosophy as they apply and evolve MDA principles as defined by the Object Management Group™ (OMG™).

MDA guides architects and developers to more effectively define models at various levels of abstraction and to develop transformations among models, code, and other artifacts of the software lifecycle.

Model Driven Architecture and patterns

Important to Model Driven Architecture are patterns, which help reduce work by allowing developers to create reusable software artifacts based on best practices.

Patterns are the latest in a series of evolutionary steps that IBM has taken to improve developer productivity. IBM Rational® Software Architect lets you create, reuse, and execute patterns to drive design and development.

Visit the Pattern Solutions center on developerWorks to find out more and to download patterns today.

Model Driven Development

Model Driven Development (MDD) helps developers assess requirements, architect and then construct software and systems using graphical notation. With models as primary artifacts, designs can be expressed visually, from multiple points of view, and efficient implementations can be generated by the application of transformations.

In MDD, application domain-oriented models are the primary focus when developing new software components. Code and other target domain artifacts are generated using transformations designed with input from both modeling experts and target domain experts.

MDD can help organizations greatly reduce the cost of solution development and improve the overall quality of these solutions.

Through automation and the use of a variety of patterns, at all levels of abstraction, repetitive low-level development work can be eliminated, leaving development teams free to focus on creativity and innovation. Rather than repeatedly applying technical expertise manually when building solution artifacts, the expertise is encoded directly in transformations. This has the advantages of both consistency and maintainability. MDD moves application development away from platform concerns, leaving the platform-level concepts in the hands of developers with platform expertise.

Rational Software Architect

Try Rational Software Architect for WebSphere Software for 30 days at no charge

Rational Rhapsody

Try Rational Rhapsody Developer for 30 days at no charge

Contact IBM

Considering a purchase?


Analyze system safety using UML
Learn developers and analysts capture safety-related requirements, to perform fault tree analysis to create designs that meet those safety concerns.

Using models to design business processes and services
Learn the value of designing your business processes and services with UML

Collaborative design with Rational Rhapsody Design (YouTube, 00:07:46)
See how design management improves team collaboration