|  |
UML2 Utilities for Model Driven Development
A set of utilities that make working with the UML2 API significantly easier for developers building MDA-style automation.
Date Posted: June 2, 2006
|
|
 |
 |
|
What are UML2 Utilities for Model Driven Development?
The UML2 is designed and specified as a general-purpose modeling language for object-oriented software systems. However, achieving this broad applicability means that many common tasks, such as finding and creating model element instances, can be cumbersome. UML2 Utilities for Model Driven Development includes a convenient API (application programming interface) that simplifies creation of UML2 elements, provides higher levels of abstraction, and often supports a specific language context, such as Java.
These utilities do not represent a separate framework or programming layer; instead, they are a collection of easy-to-use, stateless APIs that can be used on a case-by-case basis to perform common tasks in the creation of MDD (model-driven development) automation. The emphasis and goal of these utilities is make it unnecessary for the MDD automation developer to understand the details of the UML2 implementation; the developer can focus instead on the domain content of the automation.
These utilities center around the idea that most models being created or modified in a MDD transformation or pattern eventually target a specific language, such as Java or C++. Therefore, many of the utilities make it convenient to use Java notation to specify types and operations. The alternative is to invoke and manipulate many more of the underlying UML2 APIs to achieve the same result.
Using the included API, users of model development can easily manipulate models, apply transformations, and extend this environment while maintaining the flexibility and generality of the API. For example, one sample utility for Rational Software Architect (RSA) that uses this API is the Bulk Adder. This pop-up utility demonstrates a simple and efficient way of quickly entering a large number of attributes and operations for a UML class in a Java context without having to constantly reach for the mouse and click in the model element each time one wants to enter a property. The Library Creator is another example that can be used with Eclipse and UML2 only (RSA is not required). It demonstrates how to create a simple pop-up menu on a Java project JAR file that will create a UML2 model file containing all the types in the JAR. These types can then be referenced by other models. A third example demonstrates how to use the utilities in a RSA Pattern and how it can be used to customize Java code generation.
How does it work? The technology is delivered as a plug-in to Eclipse and provides utilities that will work with the UML2 and Eclipse Modeling Framework (EMF) APIs. It will work on a base installation of Eclipse 3.0.1. In addition, there are several helper utilities that are specific to Rational Software Architect (RSA) transformations.
|
|
 |

|  | About the technology author(s):
Nansi Stretcher works for IBM Software Group in Dallas, Texas.
Jim Conallen is a software engineer on IBM Rational's Model Driven Development Strategy team, where he is actively involved in applying the Object Management Group's (OMG) Model Driven Architecture (MDA) initiative to IBM Rational's model tools. Mr. Conallen is a frequent conference speaker and article writer. His areas of expertise include Web application development; he developed the Web Application Extension for UML (WAE), an extension to the UML that lets developers model Web-centered architecture with UML at appropriate levels of abstraction and detail. This work served as the basis for IBM Rational Rose and Rational XDE Web Modeling functionality.
|
| |
|
| |
|