Model Driven Architecture For Systems Engineering: January 2008
Model Driven Architecture For Systems Engineering: January 2008
net/publication/236881537
CITATIONS READS
9 1,852
1 author:
Robert Cloutier
University of South Alabama
76 PUBLICATIONS 788 CITATIONS
SEE PROFILE
All content following this page was uploaded by Robert Cloutier on 22 February 2016.
Abstract
Model Driven Architecture (MDA) is a primary initiative within the Object Management Group
(OMG) that includes a model based approach for software design and a set of key principles that
are intended to improve software interoperability, reusability, portability, maintainability, and
reliability. The approach incorporates model abstractions, which specify specific levels of the
software system from concept to implementation. This paper reviews the key MDA principles as
defined by the OMG, and then evaluates their potential applicability to the systems engineering
discipline, along with the potential benefits to systems architecture and system design concepts
of large scale systems development. The paper will identify potential MDA practices that could
significantly advance the practice of systems engineering, to include the application of system
design patterns to a logical architecture and the mapping to a physical architecture.
1.0 Introduction
According to the Object Management Group (OMG), Model Driven Architecture (MDA)
is a collection of OMG specifications and guidelines to establish an approach for software devel-
opment [MDA]. The current MDA guideline is version 1.0.1, dated 12 June 2003. In practice,
the purpose of MDA is to enable the design and analysis of a new software product at a level that
is generic enough to implement on a number of different compute platforms (combination of
hardware, operating system, and middleware). Using a technique referred to by software engi-
neers as abstraction, the designer removes enough specificity from the problem of interest, mod-
eling only the essence of the design. The model is generic enough to do analysis without worry-
ing about the computing platform in which the software system will execute. This approach,
sometimes referred to the separation of concerns – separates the business functionality from the
implementation details of the application. The compute independent viewpoint should capture
the business view from the stakeholder’s perspective.
The platform independent viewpoint looks at how the system should operate, but not to
the point that it gets into the specific implementation details. In other words, it is the description
of the system leaves out the details on the implementation of how to deliver the product for a
specific computing system. This is a useful view to create prototypes from – the details of how
the system works are less important than how the system will look to the stakeholders.
Finally, there is the platform specific viewpoint builds on the platform specific viewpoint,
and adds the details necessary for the specific computing platform in which the application will
be run. While it is true these viewpoints can be created manually using pen and pencil, or even
using PowerPoint or Visio, the real value of MDA comes when using advanced computer based
tools such as Enterprise Architect, TAU, Rhapsody, or any of the other UML tools available to-
day to represent these viewpoints.
1
http://www.middleware-company.com/casestudy/
2
http://www.omg.org/mda/mda_files/LockheedMartin.pdf, http://www.omg.org/mda/mda_files/Lockheed-KC_MDA.pdf
3
http://www.omg.org/mda/mda_files/SuccesStory_DC_TSS_MDO_English.pdf
than simply creating models and auto-generating software. However, it seems reasonable to hy-
pothesize that the application of MDA may provide 10-20% efficiency increase in the SE effort
over using what have become the SE tools of choice – PowerPoint, Word and Excel. For a $20M
engineering project, with SE representing 10% of the overall effort, the improved efficiency
might range from $200k - $400k.
4
http://www.omgsysml.org/)
3.0 An Systems Engineering MDA Approach
Early in the MDA documentation, the CIM is introduced and defined, but then never de-
veloped later in the guideline. In an SE MDA approach, the CIM plays a critical role. The CIM is
used to capture and model the concept of operations for the system (CONOPS), taking a black-
box view of the system, and detailing how the system will interact other systems and external
actors. Other considerations to be included as part of the CIM are goals of the system, the re-
quirements for the system in context, the system stakeholders needs, business rules that impact
the system, etc.
This is accomplished using a SysML modeling tool, using use case diagrams and activity
diagrams to document the mission use cases and mission scenarios. This CIM model is analo-
gous to an operational architecture. The diagrams created as part of the CIM are then “trans-
formed” to the next lower level of detail, providing more detail (Figure 2). If the CIM defined
WHAT the system would do as it interacted with the “outside” world, the PIM will define HOW
it performs those capabilities or functions at the system level. While it would be desirable for this
to be an automated transformation in the future, in the near-term future, this transformation will
be a manual process.
The PIM level of the model will represent the system architecture, and the allocation of
customer requirements to the system requirements. While not explicitly discussed in the current
MDA Guideline, it may be necessary to create a multi-level PIM to capture the necessary levels
of detail to represent the complexity of the entire system while not providing too much detail in
any single model. For the SE, the PIM does not represent the computing platform, but rather the
complete deployment platform (tank, aircraft, ship, etc). In the PIM, the SE decomposes the
business rules and system requirements and they are transformed into a more specific detailing of
the system. Staying away from the specific programming languages and target platforms, the ma-
jor parts of the system begin to take form, as the capabilities of the system are more thoroughly
defined and derived. Common capability groups (allocated from the system specifications) and
logical subsystems begin to emerge from these groupings.
«block»
Blue AS W Force
«block»
Surfac e Ship Figure 4 –
Blue Force
directs
BDD
Orders «block» «block»
Searches for
ASW Commander directs Attack Submarine
Status
Red Oc tober
Force Commander
directs (from Actors)
(from Actors)
«block»
ASW Aircraft
MAD operator
Sonar O fficer
Sonar O perator
Perfor m Air ASW «block»
(from Actors)
(from Actors) Sea rch Radar
Surface Ship Sea rch for
Subma rine Pil ot
«block»
Sonar
«block»
Sonobuoy
Command Authority
«block»
Radar (from Actors)
Radar O perator
Sonobuoy Operator
(from Actors)
Therefore, when the CIM is “transformed” to the PIM as discussed earlier (and shown in
Figure 2), this pattern will be applied, depending on how the model was tagged. If the generic
Perform ASW Search use case model was tagged to use a surface ship, the use case would be
expanded by applying the Surface Ship Search for Submarine use case pattern. If the model was
tagged to use an aircraft, the Perform Air ASW Search pattern would be used. As is proposed in
this MDA for SE approach, if the CIM represents the CONOPS via a SysML model, then the
PIM models the system requirements and system architecture, and the allocation of those system
requirements to the subsystems. Some may argue this approach does not adhere to the spirit of
platform independence. However, the system and subsystem architecture at this point is still a
logical architecture, and is implementable on any number of ship or aircraft physical platforms.
4.0 Conclusions
While this paper began by briefly reviewing the current model driven architecture con-
cepts, the real purpose was to discuss MDA in the context of modeling the systems architecture
and design of a system. The gains in the software community have been impressive for those or-
ganizations willing to adopt MDA as part of their software engineering methodology. This paper
hypothesizes that MDA may provide a 10-20% efficiency improvement of existing systems en-
gineering efforts once the methodology is understood and adapted for systems engineering. If the
systems engineering effort for complex systems costing hundreds of millions amounts to 5 to
10%, the resulting savings could be between 500K and 2M, in addition to the software engineer-
ing savings.
A simplified example applying MDA concepts was demonstrated using simple SysML
models. A discussion and demonstration of the application of a system level pattern was also
presented.
References
Cloutier and Verma, Applying Pattern Concepts to Enterprise Architecture, Enterprise Architec-
ture Journal 2(2), May 2006, pgs 34–50.
Cloutier, Applicability of Patterns to Architecting Complex Systems, Doctoral Dissertation, Ste-
vens Institute of Technology, 2006
Cloutier and Verma, Applying the Concept of Patterns to Systems Architecture, Systems Engi-
neering, Wiley Periodicals, Inc., Vol. 10, No. 2, 2007.
INCOSE, Systems Engineering Handbook, International Council on Systems Engineering, ver-
sion 2a, June, 2004.
MDA Guide Version 1.0.1, Document Number: omg/2003-06-01, dated 12th June 2003. Avail-
able at: http://www.omg.org/cgi-bin/doc?omg/03-06-01.
SysML, Systems Modeling Language (OMG SysMLTM) Version 1.0, Document Number: for-
mal/2007-09-01, dated 07-09-01, downloaded from http://www.omg.org/cgi-
bin/doc?formal/2007-09-01
Robert Cloutier (Rob) has over 20 years experience in systems engineering, soft-
ware engineering, and project management in both commercial and defense in-
dustries. His research interests include Systems Engineering Patterns, MDA and
SOA for systems engineering. Rob received his Ph.D. in Systems Engineering
from Stevens Institute of Technology, and also holds an M.B.A. from Eastern
University, and a B.S. from the United States Naval Academy. Rob belongs to the
International Council on Systems Engineering (INCOSE), is a member of the Technical Leader-
ship Team. He is also an active member of the Association of Enterprise Architects, and IEEE.
Finally, he and his wife raise puppies for The Seeing Eye to serve as guide dogs to the blind.