More Resources

Model-driven systems development.


by Balmelli, L.^Brown, D.^Cantor, M.^Mott, M.
IBM Systems Journal • July-Sept, 2006 •

As systems become more complex and integrated, with fewer components delivering more capability, this traditional approach becomes unwieldy due to the large number of possible mappings. It is common for a modern system, such as an automobile, to have thousands of detailed requirements and thousands of components, resulting in millions of possible mappings. Faced with this dilemma, developers limit the level of integration, resulting in systems that may be highly capable but are brittle and difficult to maintain. (5) MDSD methods mitigate this explosion of mappings by providing levels of abstraction.

The development team must understand the mission and concerns of the business and how the proposed system relates to them. To ensure that the system indeed satisfies its intended purpose, the development team must establish that the top-level system requirements and the requirements derived from them are satisfied by the collaboration of the system's components. MDSD must address these system concerns, and, at the same time, provide the development team with an improved understanding of the system, its goals, and its components.

A model-driven systems development approach

MDSD must build upon the techniques of requirements-driven development methods in light of their historic success, but, for reasons described previously, a change in the approach to systems development is required. MDSD starts with system decomposition, that is, the division of a system into elements in order to improve comprehension of the system and the way in which it meets the needs of the user. Because of the limited capability of humans to understand complexity, a "divide and conquer" system decomposition approach is appropriate. (4) In this approach, the system is decomposed into a comprehensible set of elements, each of which has a comprehensible set of requirements. Sometimes, to manage complexity in very large systems, system decomposition must be applied recursively.

Effective application of system decomposition requires the means of modeling the system from a variety of viewpoints and at increasing levels of specificity. In addition, a set of transformations between model levels is required as a basis of the development process. These transformations provide a means of deriving the next level of specificity while maintaining traceability and coherence for the entire model. MDSD consists of creating the model artifacts as a means of specifying the system elements and their integration. An artifact is defined as any item that describes the architecture, including a diagram, matrix, text document, or the like. This model provides a common means for facilitating collaboration across the engineering disciplines, coordinating iterative development methods, and assigning technical and managerial responsibilities. (6)

In this paper, we describe an MDSD modeling framework, the Rational Unified Process (*) for Systems Engineering (RUP (*) SE), and some of its fundamental transformation methods. This MDSD framework and its associated transformation methods have been refined over eight years of field experience by Rational (*), IBM, and our clients. (7-9)

A comprehensive treatment of MDSD is beyond the scope of this paper. We provide a brief introduction to this field and supply references to more extensive treatments of the topics touched upon. A discussion of the underlying framework for modeling systems is presented in the section "The RUP SE architecture framework." This framework provides the setting for the transformations. The section "Modeling Languages and MDSD" is a discussion of the use of SysML to capture some of the key framework artifacts. The generation of the artifacts requires some specific transformation methods, described in the section "Transformation methods."

Finally, we conclude with a precise description of the framework captured in a RUP SE metamodel. This metamodel is implemented as a profile for SysML (and for UML when RUP SE concepts apply to the software part of the system). The metamodel therefore adds specific semantics to enable these languages to handle our framework. Thus, the various models shown in this paper are represented using RUP SE semantics that extend SysML, making them, in that sense, RUP SE models. Although this approach is appropriately supported by a modeling language such as SysML (and its toolset), it is actually independent of any language.

THE RUP SE ARCHITECTURE FRAMEWORK

The RUP SE architecture framework provides support for constructing a sound architecture on the basis of four principles: separation of concerns, integration, system decomposition, and scalability. Separation of concerns allows designers to address each set of stakeholder concerns independently; integration is achieved by requiring the use of a common set of design elements across multiple sets of concerns. System decomposition subdivides the system by structure, rather than by function, enabling the framework to provide levels of structure that enable parallel development; and scalability is achieved by using the same framework, whether the system under consideration is an enterprise or a product component or anything in between.

In this section we provide an overview of the framework and the reasoning underlying its design. In addition to the discussion here, a detailed description is provided in the section "RUP SE metamodel" at the end of this paper.

Like many frameworks, the RUP SE framework consists of two kinds of artifact: static artifacts, namely, representations of the system in its context and the things that comprise the system; and dynamic artifacts, namely, how the static elements collaborate to fulfill their role in the system. The static artifacts enable separation of concerns and scalability and provide the semantics for system decomposition. The dynamic artifacts enable integration of concerns. We discuss both types of artifact in the following sections.

Table 1 illustrates the RUP SE architecture static framework. The framework consists of three types of element: model levels, viewpoints, and views, each of which is described in detail in the following subsections. In the representation of Table 1, the rows represent model levels (context, analysis, design, and implementation levels), the columns represent viewpoints (worker viewpoint, logical viewpoint, information viewpoint, etc.), and the cells represent views (e.g., the worker viewpoint at the design level).

While Table 1 describes the framework elements at a high level, the metamodel described in the section "The RUP SE metamodel" provides a more complete description of the elements and their relationships.

Model levels

A model level is defined as a subset of the architecture model that represents a certain level of specificity (abstract to concrete); lower levels capture more specific technology choices. Model levels are not levels of abstraction; in fact, a model level may contain multiple levels of abstraction.

Model levels are elements designed to group artifacts with a similar level of detail. The MDSD transformations occur between the model levels. Table 2 describes the four model levels expressed in the framework.

The context level treats the entire system as a single entity, a black box. This level addresses the system's interaction with external entities. At the analysis level, the system's internal elements are identified and described at a relatively high level. Which elements are described at this level depends upon the viewpoint. For example, in the logical viewpoint, subsystems are created to represent abstract, high-level elements of functionality. Less abstract elements are represented as sub-subsystems, or classes. In the distribution viewpoint, "localities" are created (as described later in the paper) to represent the places where functionality is distributed.

At the design level, the decisions that drive the implementation are captured. In the transition from the analysis level to the design level, subsystems, classes, and localities are transformed into hardware, software, and worker designs. This is not a direct mapping from system elements to designs; rather, design decisions are made by deriving the design from the functionality represented in the subsystems and classes. These design decisions are constrained by supplementary requirements and distribution choices represented by the localities and their attributes. The resulting design transformation realizes all of the specifications from the analysis level. In other words, the system architecture is specified at the analysis level, creating requirements that the design level must satisfy.

At the implementation level, decisions about technology choices for the implementation are captured. Commercial products may be specified (e.g., a messaging middleware product, a model and part number for a piece of hardware), or items might be specified for internal implementation. As before, moving from the design level to the implementation level is a transformation, but this time the mapping is more direct. For example, at the design level, the functional activities of a worker are mapped to a position specification with a defined set of skills. Then, at this level, the specification can be fulfilled either by hiring someone with the correct skill set (similar to choosing a commercial product with certain capabilities) or by training an individual to acquire the required skills (similar to doing an internal implementation). This transformation of worker activities to specific skills, though necessary for the system to meet its goal, is not well understood, and is seldom, if ever, practiced.

Viewpoints


1  2  3  4  5  6  
COPYRIGHT 2006 All Rights Reserved. Reproduced with permission of the copyright holder. Further reproduction or distribution is prohibited without permission.
Copyright 2006, Gale Group. All rights reserved. Gale Group is a Thomson Corporation Company.
NOTE: All illustrations and photos have been removed from this article.


Browse by Journal Name:
Today on Entrepreneur

e-Business & Technology
Franchise News
Business Book Sampler
Starting a Business
Sales & Marketing
Growing a Business
E-mail*:
Zip Code*: