Modeling and model-driven development techniques help developers manage complexity and work at increasingly higher levels of abstraction. |
Model Driven Architecture® (MDA®) is an evolution of a number of Object Management Group™ (OMG™) standards, including the Unified Modeling Language (UML), along with an emerging philosophy for how best to apply modeling to the software development process. It is an initiative that formalizes the evolution of model-driven development by defining models at distinct levels of abstraction, and then defining the transformations that map and manage the relationships between those models and various implementation technologies.
IBM Rational software has several products that support MDA and Model Driven Development (MDD) in varying capacities. These tools fall into the following basic categories:
- General-purpose - Tools that support various styles of model-driven development and can be customized to implement the MDA style of model definitions and transformations.
- Domain-specific - Tools that support specialized modeling and transformations optimized for certain types of applications or software industries and includes a high degree of ready-made automation for implementing MDA in those domains.
- Supporting - Tools that are instrumental in supporting an overall MDA style of development in some capacity, but do not directly implement MDA themselves.
In the general purpose category is IBM Rational Software Architect. Rational Software Architect supports both the principles of MDA as well as the standards upon which MDA is based. Actually, Rational Software Architect supports a broad spectrum of code-centric, wizard-based and model-driven design and development paradigms, with MDA being but one of them.
Rational Software Architect starts with all of the features of
Rational Application Developer and then adds full support for MDD, including UML Version 2.0 modeling, code generation, patterns and model transformations, and a new approach to implementing the MDA style of development. While Rational Software Architect is indeed a next-generation MDD offering from Rational software, it represents a natural evolution and merging of capabilities found in existing Rational software tools, packaged specifically for customers seeking to apply MDD in the broadest sense of the term. The result is a comprehensive design and development solution specifically targeted to the needs of software architects.
Also in the general purpose category, for Java™-based MDA applications, we provide an MDA Toolkit for Rational XDE Java, which is an Eclipse plug-in that complements existing patterns and code template features and adds some additional capabilities. The MDA Toolkit for Rational XDE Java is most appropriate for customers who need customized support for MDA, specifically where model transformations are algorithmically complex or where large volumes of transformations are in play.
In the domain-specific category, IBM Rational Systems Developer provides a complete UML-based design and development environment optimized for engineering and other types of technical applications developed in C or C++. Rational Rose Technical Developer supports several of the new elements of the UML 2.0 specification, including structured classes and executable state machines, enabling it to generate fully executable MDA applications.
In the supporting category, IBM WebSphere Business Modeler is used to model and simulate business processes. As new business processes are developed, models can be exported from the tool and imported into Rational Software Architect or Rational Rose XDE Developer to drive an MDA development process.
Also, Rational Application Developer for WebSphere software, which is the renamed new version of IBM WebSphere Studio Application Developer, is a comprehensive Java-based Integrated Development Environment (IDE) that enables visualization and visual editing of the code model elements of MDA. It allows developers to quickly design, develop, analyze, test, profile, and deploy Web, Web services, Java, J2EE, and portal applications.
MDA is also about standards. The UML standardizes the way models are visually presented and specified. As UML Version 2 approaches its final release, it will provide the basis for standardizing the way meta-modeling is specified as well. IBM uses the Meta-Object Facility (MOF) and the XML Metadata Interchange (XMI) as part of its model-driven tools integration framework built using the Eclipse Modeling Framework (EMF).
|