Using model-driven development for agile embedded apps: Part 4 - Enhancing agile design with modeling

Bruce Powel Douglass

December 29, 2010

Bruce Powel Douglass

MDA brings a number of significant benefits to the developer, including the agile developer. Modeling, well performed, enhances visibility and understandability of the analysis and design.The MDA standard relies on a core set of technologies, including MOF, UML, SysML, CWM, and profiles.

MOF

The MOF forms the core basis for all modeling within the OMG family of standards, including the UML. MOF is a kind of universal modeling language in which other modeling languages may be defined; in fact, MOF can be thought of as the language in which the UML is defined.

MOF uses the same basic syntax as UML models, so you can use UML tools to create MOF models. MOF is used to create other modeling languages, such as the Common Warehouse Metamodel (CWM) and the CORBA Component Model (CCM). Most developers don’t need to directly work in MOF, but it’s there in the conceptual underpinnings of UML if needed.

UML

The UML is enormously successful; in fact, it is the de facto standard software modeling language. I have contributed to the UML standard and so I have a keen interest in its success. It is a mostly graphical modeling language consisting of many different kinds of diagrams, as shown in Figure 2.12.


Figure 2.12 UML diagram types

Strictly speaking, these are not all different diagram types. Some constitute diagram uses; for example, a structure diagram is a class diagram whose purpose is to show the internal structure of a composite class, and a package diagram is a class diagram, the purpose of which is to show some aspect of the model organization.

The three key diagrams are the class, state, and sequence diagrams. The other diagrams have their place and add value, but any system can be constructed from these three basic diagram types.

We won’t say much about the UML per se in this book, although we will use it extensively. Interested readers are referred my books Real-Time UML for exposition and explanation of how to use the UML and Real-Time UML
Workshop for Embedded Systems (Burlington, MA: Elsevier Press, 2006) for detailed exercises with solutions from the real-time and embedded domain.

SysML

Strictly speaking, the Systems Modeling Language (SysML) is a UML Profile; that is, it is a minor extension/elaboration/subset of the UML. I also contributed to the SysML standard. The SysML is an attempt to bring the power of UML modeling to the systems engineering domain. Historically, systems engineers have rejected
the UML because it is too “software-oriented.” The SysML standard changed the names of key elements and is now experiencing great success with systems engineering groups. SysML simultaneously subsets the UML (for example, SysML does not use UML deployment diagrams but uses block—i.e., class—diagrams) for this purpose and extends the UML by adding new semantic extensions (e.g., modeling continuous behavior), new diagram types (e.g., parametric diagrams for showing parametric values and their relations), and some model libraries (e.g., SI definitions model library for standard international types).

Figure 2.13 summarizes the primary inclusions and extensions SysML makes to the UML.


Figure 2.13 SysML diagram types

XMI

One of the good things about the MOF-based standards is that they provide model interchange standards. This is valuable for a couple of reasons. First, it means that, in principle, you are not bound to a particular vendor with all your corporate intellectual property.

This is huge, because companies have millions of dollars invested in their UML models. If a tool vendor goes out of business, or if another tool vendor arises that better meets the developer needs, the XML Model Interchange (XMI) standard provides an accepted common means for bringing your models, and the intellectual property they represent, to the new tool.

It also means that supporting analysis tools, such as RAPID RMA from Tri-Pacific Software (a performance and schedulability analysis tool), have a standard way of reading user models so that they can perform specialized functions and analysis. The current version of XMI, 2.1, has finally met the users’ request to provide diagram interchange in addition to the interchange of semantic elements.

Unfortunately, due to varying degrees of adherence to the XMI standard, XMI interchange is not as seamless as it should be. However, most users don’t use XMI frequently, so the pain is manageable.

CWM

The Common Warehouse Metamodel (CWM) is primarily concerned with metadata management and data transformations. It actually contains a set of metamodels for relational databases, record structures, XML, and data transformations. Its purpose is to enable interchange of warehouse and business intelligence metadata between various tools and repositories. CWM is based on UML, MOF, and XMI.

< Previous
Page 1 of 3
Next >

Loading comments...

Most Commented

Parts Search Datasheets.com

KNOWLEDGE CENTER