You are on page 1of 10

See discussions, stats, and author profiles for this publication at: https://www.researchgate.

net/publication/266492009

Overview of Architecture Frameworks and Modeling Languages for Model-Based


Systems Engineering

Article · January 2011


DOI: 10.1115/DETC2011-48028

CITATIONS READS
32 5,666

2 authors:

Axel Reichwein Christiaan Paredis


Koneksys Georgia Institute of Technology
8 PUBLICATIONS 177 CITATIONS 256 PUBLICATIONS 5,490 CITATIONS

SEE PROFILE SEE PROFILE

All content following this page was uploaded by Axel Reichwein on 17 December 2015.

The user has requested enhancement of the downloaded file.


Proceedings of the ASME 2011 International Design Engineering Technical Conferences &
Computers and Information in Engineering Conference
IDETC/CIE 2011
August 29-31, 2011, Washington, DC, USA

DETC2011-48028

OVERVIEW OF ARCHITECTURE FRAMEWORKS AND MODELING LANGUAGES


FOR MODEL-BASED SYSTEMS ENGINEERING

Axel Reichwein Christiaan J. J. Paredis


axel.reichwein@me.gatech.edu chris.paredis@me.gatech.edu

Model-Based Systems Engineering Center


The G.W. Woodruff School of Mechanical Engineering
Georgia Institute of Technology
Atlanta, Georgia, 30332

ABSTRACT contrast to paper documents, is called model-based systems


Model-based systems engineering is a relatively new engineering (MBSE). Benefits of model-based systems
discipline. As a result, many system designers are not familiar engineering over textual approaches include a higher level of
with the main concepts of model-based systems engineering support for automation and less ambiguous system
and how it can beneficially impact systems design. The paper representations [1]. As with any information format,
presents an overview of architecture frameworks and modeling standardization of system models is essential in order to ensure
languages for model-based systems engineering as well as that different stakeholders from various disciplines can
indicates future trends. communicate about systems without ambiguity. As most
engineers do not have a deep-rooted education in systems
INTRODUCTION engineering, they can easily be confused by the multitude of
While delays and budget overruns may not have been systems engineering standards, representations and processes.
considered that important in the century-long construction of This paper provides an overview of architectural
pyramids and cathedrals, they can be ruinous for any frameworks and modeling languages for model-based systems
construction company in our current free-market society. In engineering. Chapter 2 introduces the basic definition of model-
general, each contemporary organization involved in the design based systems engineering concepts while Chapter 3 presents
of complex systems needs to avoid delays and cost overruns in past surveys of systems engineering standards. The
order to stay competitive. Although undesired, they frequently characteristics of architecture frameworks and modeling
occur when the complexity of a system has been languages are presented respectively in Chapter 4 and 5.
underestimated. Amongst other factors, a system’s complexity Possible future directions in model-based systems engineering
depends on its number of components as well as on its number are identified in Chapter 6.
of inter-component dependencies which can be
multidisciplinary. These aspects are not specific to a particular BASIC DEFINITION OF MODEL-BASED SYSTEMS
project or product but apply for the design of a wide range of ENGINEERING CONCEPTS
systems. Systems engineering emerged as a discipline in order In order to ensure a good understanding of model-based
to address problems related to the design of complex systems. It systems engineering, it is appropriate to start with the basic
was initially used in the late 1940s by the US Department of definition of important systems engineering concepts. A
Defense and has since been used by NASA and other general overview of key systems engineering terms can be
organizations [6]. Its practical use was driven by advances in found in various literature [3, 11, 49] as well as in several
operational research, mathematical modeling and computer- standards such as ISO /IEC 15288 [36], IEEE 1471 [30], IEEE
based simulation [27]. 1220 [31] and EIA 632 [51]. As systems engineering is a
Systems engineering is a broad activity which includes relatively new discipline, different definitions for key systems
various aspects such as requirements, models, processes, engineering terms exist. Furthermore, as systems engineering
analysis, optimization and decision-making. The use of has a broad scope, it is not surprising that its key concepts are
computer-interpretable models for systems engineering, in often defined in general ambiguous terms. The following list of

1 Copyright © 2011 by ASME


systems engineering definitions is not an attempt to propose a the INCOSE Systems Engineering Vision 2020 [32], it is
standard nomenclature but to provide definitions that seem defined as “the formalized application of modeling to support
widely accepted. system requirements, design, analysis, verification and
System: The term system stems from the Greek “systema” validation activities beginning in the conceptual design phase
meaning an organized whole. A system can for example include and continuing throughout development and later life cycle
hardware, software, personnel and activities. The general notion phases”. Several other acronyms such as model-driven
is that a system is more than just the sum of its parts and that its development (MDD), model-driven engineering (MDE) and
functionality can only be achieved by the interplay of its parts. model-based design (MBD) are synonymous with MBSE.
Due to the interconnections between system parts, the These acronyms are in fact until now more often used in the
improvement of one part may compromise another part as well software engineering community in which MBSE then stands
as the overall system’s purpose. Therefore, a trade-off often has for model-based software engineering.
to be performed between the system’s parts in order for the View: A view is according to IEEE 1471 “a representation
system to fulfill its purpose in the most cost-effective manner. of a whole system from the perspective of related concerns”. In
System of systems: In general, a system of systems is other words, a view represents a system according to a specific
viewed as a complex large-scale system which entails viewpoint such as performance, cost or reliability.
interdisciplinary problems [37]. However, this term has caused Viewpoint: According to IEEE 1471, a viewpoint is “a
some controversy since it appears unnecessary and redundant to template, pattern or specification for constructing a view”. A
the general term “system” which can equally be composed of viewpoint usually informally specifies the purpose of a
further subsystems and also be of interdisciplinary nature. In perspective and the concerns that stakeholders wish to address.
addition, the legitimacy of the term “system of systems” is A view is an instance of a viewpoint. As an example, a specific
undermined by the fact that similar extended versions such as vehicle performance view would conform to a performance
“system of systems of systems” appear meaningless. viewpoint.
Systems engineering: Systems engineering is defined by System architecture or system model: A system architecture
the International Council on Systems Engineering (INCOSE) as consists of several system views. It is also called alternatively a
an interdisciplinary approach and means to enable the system model. According to IEEE 1220, a system architecture
realization of successful systems. Systems engineering is both a is “the composite of the design architectures for products and
technical and a management process [70]. The technical their lifecycle processes”, whereby a design architecture is
process is the analytical effort to transform an operational need defined as “an arrangement of design elements that provides the
into a system of proper size and configuration. The design solution for a product or a life cycle process”.
management process involves auditing the effort to ensure cost, Architecture description languages or system modeling
schedule and technical performance objectives are satisfied. A languages: Notations to represent system architectures are
list of definitions of systems engineering can be found in [6]. referred to as architecture descriptions, architecture description
Systems architecting: While systems engineering involves languages or system modeling languages. They can be
quantitative assessments based on analytic tools, systems semantically rich and ambiguous such as English, or
architecting is in contrast associated with qualitative semantically narrow and more formal such as the Rapide
estimations based on practical lessons learned [49, 69]. Systems architecture description language [47].
architecting is performed when neither goals nor means are Architecture framework: An architecture framework
known with much certainty. While systems engineering is an defines the structure and minimal required content of
approach to seek an optimal system design based on clearly architecture descriptions as well as the range of activities that
defined objectives, systems architecting is a joint exploration of go into creating and using an architecture description.
requirements and design. Systems engineering is therefore Architectural frameworks incorporate a broad consensus on
more regarded as a science while systems architecting is more best practices for system modeling [50]. Most architectural
viewed as an art [49]. frameworks focus on the content to be captured in system
Model: Models are the primary means of communication architectures but do not specify a notation to describe system
between system engineers, clients, builders and users. Models architectures.
allow the specialization of labor as a system designer does not
need to be the system builder. According to IEEE 610.12 [29], PREVIOUS SURVEYS OF MBSE STANDARDS
a model is “an approximation representation, or idealization of Standards play an important role in systems engineering in
selected aspects of the structure, behavior, operation or other order to ensure consistency across projects and organizations.
characteristics of a real-world process, concept, or system”. For Chang, Perng et al. [7] presented the evolution of systems
simplification purposes, models usually suppress detail through engineering standards and guidelines, process models, and
abstraction which can be achieved through generalization, compliance assessment models from past to present. The
deletion and distortion [11]. overview of systems engineering standards ranged from the
Model-based systems engineering (MBSE): The use of first MIL-499 standard in 1969 from the US military to current
computer-interpretable models in systems engineering is standards. Although INCOSE is working on harmonizing
referred to as model-based systems engineering. According to standards, it still lists several current systems engineering

2 Copyright © 2011 by ASME


standards on their webpage. The wide range of available remains weak”. System engineers who are process cynics refer
standards has resulted in a framework quagmire [74] which to Feyerabend and his arguments against the use of method in
reduces the likelihood of organizations seeking accreditation science [18] which could equally be applicable against the
for a standard and also increases the possibility of quarrels over prescription of a particular method for systems design [26].
interpretation. The INCOSE Vision 2020 document [32] states Although it seems impossible to find a process that allows us to
that “currently, the MBSE process and methods are generally design systems in a perfectly rational way, Parnas finds the
practiced in an ad hoc manner and not integrated into the description of a rational idealized process useful as it gives
overall systems engineering processes”. designers guidance and helps them in assessing the progress
Estefan [15] presented a survey on methodologies for that a project is making [67].
MBSE, whereby a methodology is defined as a collection of There is a lack of comparisons between system modeling
processes, methods and tools. The survey refers to IBM languages. Most literature on systems engineering lists
Harmony [13], INCOSE Object-Oriented Systems Engineering modeling languages without comparing their characteristics [6,
Method (OOSEM) [23], IBM Rational Unified Process (RUP) 11, 49]. As a result, a system engineer can easily choose an
[40], Vitech [8], JPL State Analysis [33] and Object Process unsuitable system modeling language which will over time not
Methodology (OPM) [12]. In addition, many organizations satisfy his systems engineering needs. A detailed comparison of
have internally developed processes and methods as well. architecture notations, which has for example already been
Criteria to choose a methodology include its ease of use, its performed for software engineering [52, 73, 78], has not yet
ability to address the range of systems engineering concerns, been carried through or published for systems engineering. A
and the level of tool support [23]. reason may be that system modeling languages such as SysML
Estefan [15] also presented a good overview of the breadth [64] are very recent and that not enough feedback has been
and depth of leading systems engineering process standards collected about their usage. Another possible reason for the lack
such as ISO/IEC 15288, EIA/ANSI 632 and IEEE 1220. While of comparisons between system modeling languages is that the
IEEE 1220 is focused on the development phase, ISO/IEC organizations which perform systems engineering are usually
15288 for example spans a broader range from the from the aerospace and defense industry and in general follow a
conceptualization phase to the dismantling phase of a system. very restricted information sharing policy. Experience reports
Maier [48] described the process of system development as the on the usage of a system modeling language may therefore be
iteration of models having a high level of abstraction to models kept within an organization and not shared publicly.
having a high level of detail by combining several methods, In contrast to architecture descriptions, there are several
including real-time structured analysis and design, metrics, comparison studies on architecture frameworks. Shekkerman
performance modeling, and quality function deployment. for example lists the history, purpose, scope, principles,
Boehm presented trends which will influence systems structure, guidance and compliance of many well-known
engineering processes over the next two decades [4]. They architecture frameworks [71]. Emery and Hilliard [14] as well
include “the increasing interaction of software engineering and as Lankhorst [41] also provide a good overview of architecture
systems engineering; increased emphasis on users and end frameworks. Leist and Zellner [43] present an evaluation of
value; increased emphasis on systems and software current architecture frameworks.
dependability; increasingly rapid change; increasing global Next to the variety of architecture frameworks and system
connectivity and need for systems to interoperate; increasingly models, there is naturally also an abundance of mathematical
complex systems of systems; increasing needs for COTS, reuse, models for systems engineering. The tricotyledon theory by
and legacy systems and software integration; and computational Wymore [88] provides a mathematical foundation for discrete
plenty. It also identifies two wild card trends: increasing time system models as well as for system couplings and
software autonomy and combinations of biology and homomorphisms and is often cited in the context of systems
computing”. Boehm discusses the influences of these trends on engineering. Mathematical logic such as propositional or
systems engineering processes between now and 2025, and predicate calculus is frequently used to determine the
proposes an emerging scalable spiral process model. consistency and validity of models [11]. Of economical
According to the INCOSE Vision 2020 document [32], importance is the mathematical treatment of decision-making in
“many companies and organizations that attempt to define their systems engineering [25, 45].
internal processes according to these standards and models are
doing so for the first time”. The lack of reports on how these ARCHITECTURE FRAMEWORKS
methodologies perform and compare to each other makes the Architecture frameworks define the structure and content
choice for an adequate methodology difficult. In addition, the of architecture descriptions and incorporate best practices to
INCOSE Vision 2020 document [32] mentions that “the establish such descriptions. An architecture framework can
formalism of systems engineering processes has also … created therefore be understood as a basic skeleton or foundation based
a perception of burdensome, heavyweight efforts, leading to upon which an architecture description can be established.
unjustified cost and time overheads. The result is that the Recently, Nord et al. proposed a structured approach for
application of systems engineering in small and medium-scale reviewing architecture descriptions based on frameworks [55]
enterprises, where the majority of engineering is conducted, in order to guarantee that stakeholders can understand and use

3 Copyright © 2011 by ASME


architecture descriptions in the way they were intended. viewpoints. RM-ODP for example prescribes object-based
Architectural frameworks differ in the addressed concerns, the notation concepts such as object, object template and interface
resulting viewpoints and on the methods to create a view based [68].
on a viewpoint. Among other architecture frameworks, a famous enterprise
IEEE 1471, also known as ISO/IEC 42010 Recommended architecture framework which is worth citing is the Zachman
practice for architectural description of software-intensive framework [89] from 1987 which popularized the notion of
systems [35], is for example a very high-level architecture different viewpoints. The Zachman framework provides a
framework which is domain-independent and does not impose classification of descriptive system representations in a simple
any specific viewpoints [50]. However, it specifically identifies matrix form. Each row of the matrix stands for a view with an
stakeholders and concerns and suggests that viewpoints should increasing level of detail and each column stands for a view
be chosen based on stakeholders’ concerns. As the standard is from a different perspective based on basic interrogative
very generic, its main contribution is seen in the definition of conjunctions such as why or what? Each cell within the matrix
architectural framework concepts. There is a common belief describes a system view at a specific level of detail according to
among organizations that being IEEE 1471 compliant is a specific perspective. The matrix has 6 rows and 6 columns so
equivalent to having a good system architecture [78]. However, the Zachman framework proposes 36 different system views.
being IEEE 1471 compliant does not ensure that the system In general, architecture frameworks do not prescribe any
architecture was expressed in an appropriate notation or that specific notation for architecture descriptions. This allows
any reasonable methodology was used. architecture frameworks to be used flexibly with different
The Department of Defense Architecture Framework conforming architecture description languages. In some cases,
(DoDAF) [84] is similar to IEEE 1471 but goes into more detail the selection of a single architecture notation may leave out
as to what kind of information needs to be captured in an important details or be cumbersome. On the other hand, the
architecture description. It is the successor of the Command, selection of several architecture notations increases the required
Control, Communications, Computers, Intelligence, coordination effort.
Surveillance and Reconnaissance C4ISR framework [44]. An example for bridging the gap between an architecture
Unlike IEEE 1471, DoDAF identifies specific viewpoints framework such as IEEE 1471 and an architecture description
which belong to four categories: operational, systems, technical notation such as UML [63] is presented by Kandé, Crettaz et al.
standards and “all”. It is important to note that some [38]. Another example by Frankel, Harmon et al. [21] presents
terminology in DoDAF is not consistent with IEEE 1471 as the how the Object Management Group’s (OMG) Model Driven
IEEE 1471 terms “view”, “viewpoint” and “viewpoint set” Architecture (MDA) [59] standard notations could be used for
respectively correspond to the DoDAF terms “product”, “kind the different system views of the Zachman framework.
of product“ and “view” [78]. This is an example of the non-
consistent use of terms across different systems engineering MODELING LANGUAGES
standards which can lead to confusion. A list of DoDAF An architecture description consists of system views
weaknesses can be found in [49] including for example the lack whereby each of them consists of a collection of models
of intraview consistency as well as performance views which addressing related concerns. The activity of modeling has costs
are needed for acquisition decisions. DoDAF was first released and benefits. In general, models fulfill several roles including
in 2003. Examples of similar defense related architecture documentation, performance prediction, generation of other
frameworks include the British Ministry of Defence artifacts such as software code and last but not least
Architecture Framework (MoDAF) [85], the French Atelier de communication among clients, users and builders. However, the
Gestion de l'ArchiTEcture des systèmes d'information et de creation of models is time-consuming and expensive. In
communication (AGATE) [22], and the NATO Architecture addition, keeping the cross-model consistency is unfortunately
Framework (NAF) [54]. mostly an unproductive manual process. Designers therefore
An architecture framework which takes into account more have to first decide what needs to be modeled at what level of
business and organizational concerns is for example The Open detail before choosing a specific modeling notation. Different
Group Architecture Framework (TOGAF) [80]. TOGAF concerns will be modeled at different depths. In general, only
encompasses concerns related amongst others to business, the most critical system aspects will need to be modeled in
application, data and technology. The centerpiece of TOGAF is great detail.
the architecture development method which is iterative and As models are abstractions of systems, they focus on
forms a spiral-based process. Another non-defense related capturing some aspects while leaving out others. As a result,
framework is the Reference Model of Open Distributed three key concepts can be used to characterize models
Processing (RM-ODP) [34] for the description of information independent of a specific modeling notation: ambiguity,
systems which are running on independent heterogeneous accuracy and precision. A model is accurate if it is correct
nodes. RM-ODP defines five viewpoints including enterprise, whereas a model is precise if it is detailed. Ambiguity should
information, computational, engineering and technology. RM- ideally be avoided. A model is ambiguous if more than one
ODP goes a step further than other frameworks by also interpretation is possible. According to the influential and
specifying the characteristics of the notation to describe these timeless book on software project management “The Mythical

4 Copyright © 2011 by ASME


Man-Month” by Brooks Jr. [5], “it is far better to be explicit General-purpose modeling languages do not have any
and wrong than to be vague”. domain-specific modeling concepts and can therefore be used
Unfortunately, the box-and-line diagrams that are often to describe a variety of systems. Examples of general-purpose
drawn on whiteboards are the greatest source of ambiguity. modeling techniques are the use of a natural language such as
Although not a bad starting point, these diagrams suffer from English or PowerPoint-style modeling. These modeling
ambiguity as it is not clear whether the boxes mean classes or techniques are however ambiguous and do not enable automatic
objects or something else. Similarly, arrows can mean consistency checks. More formal notations are therefore usually
dependencies, data flows or something else [10]. The use of a used to describe system architectures. The most well-known
standardized modeling notation is helpful in avoiding general-purpose modeling language is the Unified Modeling
ambiguity as the meaning of symbols is then already defined. Language (UML) [63]. It resulted from the unification of
However, the definition of the meaning of symbols may have several object-oriented modeling notations. Its main strengths
been specified in English and still be ambiguous. This has for are its large variety of modeling constructs and viewpoints, its
example been observed with some parts of the mature and extensive tool support and widespread adoption [78]. UML is
widespread UML modeling notation [56]. Developers can then definitely less ambiguous and more formal than PowerPoint but
waste considerable time resolving disputes over usage and it does include purposefully some ambiguous modeling
interpretation of notation. constructs such as the open-headed dependency arrow.
Many concepts for the description of system architectures Additional semantics can be added to UML elements
are identical to concepts for the description of software through stereotypes. This allows the UML to be extended with
architectures since both software and system representations are additional domain-specific semantics in order for example to
very abstract. An excellent overview of common notation- remove the ambiguity inherent to UML or to support the
independent software architecture modeling concepts and styles automatic transformation of UML models into other domain-
is presented by Taylor, Medvidovic et al. [78] and Clements, specific formats. UML extensions related to the same domain
Bachmann et al. [10]. They are similar to the modeling are grouped in a UML profile. An important extension of the
concepts for systems design presented by Oliver, Kelliher et al. UML is the Systems Modeling Language (SysML) [64] for
[58]. systems engineering. SysML adds stereotypes to the UML as
System architectures will usually describe both static and well as new diagram types to capture requirements and
dynamic system aspects. Static aspects are usually easier to parametric relations while leaving out some UML diagrams
describe as they do not have to capture changes over time. such as component and object diagrams. Another example of a
Models of static system aspects are for example commonly UML extension is the Unified Profile for DoDAF/MoDAF
composed of components and connectors. Components are (UPDM) [61] to use the UML notation within the
building blocks with an encapsulated functionality while DoDAF/MoDAF architecture frameworks. SysML can, just as
connectors are building blocks that regulate interactions UML, also be extended. A recent example is the
between components [78]. In addition, Clements, Bachmann et SysML4Modelica profile for the bidirectional transformation
al. [10] distinguish between three categories of architecture between SysML and Modelica models [65].
styles: module, component-connector and allocation. Common In contrast to general-purpose modeling languages, there
models of dynamic system aspects are behavioral models are numerous domain-specific modeling languages which are
(describing the behavior of a component/connector over time), specially adapted to the description of systems belonging to a
interaction models (describing the interactions within a set of specific domain. The modeling constructs are then domain-
components/connectors over time) and data flow models specific and not generic as in general-purpose modeling
(describing data flows over time). languages. This facilitates the modeling of domain knowledge
Common graphical notations to describe single system and communication among domain experts as well as design
aspects are for example Function Flow Block Diagrams synthesis [39]. Examples of domain-specific modeling
(FFBD), Data Flow Diagrams (DFD), N2 Charts, IDEF0 languages include Koala [86] or AADL [17] for software
diagrams [46]. On the other hand, there are also notations for design. Domain-specific modeling languages are usually
multiple system aspects which can span several views and play defined through metamodels. Several workbenches are
an integrative role by tying multiple views together. These available for the creation of domain-specific modeling
notations are termed modeling languages or architecture languages such as the Eclipse Modeling Framework [76] or
description languages. Modeling languages consist of a set of MetaEdit [82]. Domain-specific modeling languages can be
concepts and rules to describe single or multiple system views. extended in a similar way as general-purpose modeling
A careful reader will notice that there is no one-to-one languages. Although domain-specific modeling is gaining
correspondence between the standardized systems engineering momentum in software design, not many examples can be cited
term “view” which can consist of several “models” and the for the design of complex multidisciplinary systems.
notion of “modeling languages” which in contrast can span
several “views” [49]. This is another example of a confusing FUTURE DIRECTIONS
inconsistency in the systems engineering terminology. Model-based systems engineering is still a relatively young
discipline so its practice can be improved in many ways. Taylor

5 Copyright © 2011 by ASME


and van der Hoek [79] presented a list of future directions in semantics of modeling constructs. This allows ontology
software engineering which will most likely also apply for matching techniques to automatically detect links between
systems engineering as software and systems representations different ontologies and ensure consistency between them. This
are very similar (e.g. UML and SysML). Another list of approach is currently pursued on a large scale for the Semantic
desiderata for architecture description languages can be found Web [42]. System models could for example be represented as
in Shaw and Garlan [73]. Next to improving the maturity of ontologies in the Ontology Web Language (OWL) [87] and take
modeling languages as well as best practices for system advantage of ontology matching. However, ontology matching
modeling and tool support, important future directions in is an ongoing research effort [16] and it is not sure whether the
MBSE aim at improving decision-making during the system promises of the extensively promoted Semantic Web will ever
design process, ensuring consistency between heterogeneous be met.
models as well as an efficient synthesis of system architectures A different challenge in MBSE consists of efficiently
and system architecture families. creating a detailed system architecture based on a high-level
Before starting to model a system, designers need to system description, possibly only containing a set of
consider the cost and benefits of modeling in order to decide requirements. The generative process can be performed through
which system aspects need to be modeled and at what level of model-driven development. This technique consists of
detail. Designers are faced with a similar dilemma in system capturing design knowledge in model transformations which
space exploration when having to choose between the creation can then be invoked on initially abstract models to
and evaluation of many low-fidelity architecture models or only automatically create more detailed models or artifacts such as
few architecture models with high fidelity [53]. Experienced software code or documentation, thereby ensuring consistency
designers will usually know which critical system aspects have throughout the design process. Model-driven development
to be modeled at a high level of detail. However, these originated in software engineering in order to create code faster
decisions can also be subjective and not cost-efficient. and with fewer errors. The new OMG standard to describe
Frameworks can assist designers in rationally choosing the model transformations is Query-View-Transformation (QVT)
required level of fidelity in modeling and therefore contribute [60].
to large cost savings. These frameworks could for example be France and Rumpe presented the model transformation
inspired by real option theory [77], utility theory [19] or challenges as well as a research roadmap on model-driven
rational design theory [81]. In addition, modeling guidelines to development of complex software [20]. The problems with
better describe the rationale behind design decisions would applying model transformations in software design arise from
provide more transparency to stakeholders and decision-makers having to bridge the wide semantic gap between abstract
[83]. software representations such as UML and software code such
Another challenge is keeping the consistency between as C++. However, this gap is usually narrower in systems
heterogeneous architecture models. Models can differ in engineering since system models as well as many analysis and
abstraction level and in domain focus. One approach is simulation models share a similar high-level block-oriented
considered the “central” model approach [57] and consists of a notation. Model transformations were recently used in the
system model spanning multiple discipline-specific views and context of systems engineering for the efficient synthesis of
ensuring consistency among them. This approach works well if hydraulic circuits [39].
domain-specific models can be mapped easily into a common Another challenge in MBSE consists of not only modeling
system model. Although domain-specific models can be very single system architectures but a family of system architectures.
different, they usually share common higher-level modeling The idea is to easily reuse knowledge about an application
constructs to support the creation of reusable components and domain for the creation of similar system architectures related
component libraries. Based on these common modeling to similar business needs. In general, a reference architecture,
constructs, various domain-specific models can be mapped into also called a base model, is used to represent the system aspects
a common generic system model. Extensions to the UML have common to all system variants. The effort to create a specific
for example enabled to create a common system model to system architecture based on a reference architecture should
ensure consistency between CAD and dynamic system models then be lower than when creating it from scratch. A lot of
[24]. More recently, extensions to the SysML have allowed a literature addresses this technique for the design of software
SysML model to describe simulation models [28], dynamic families, also called software product lines [9, 66].
system models in Modelica [65] and mathematical Recent developments suggest different approaches to
programming problems [72]. A system modeling language such describe the base model, the variations and to resolve both into
as SysML might therefore evolve not only as a language to a specific architecture [2]. An upcoming OMG standard to
describe systems on a high level of abstraction but also as a describe variability aspects independent of a specific reference
language to glue heterogeneous models together. architecture notation will be the Common Variability Language
Another approach to ensure consistency between (CVL) [62]. In general, the efficient creation of a family of
heterogeneous information sources is based on ontologies. In systems intends to substantially reduce costs in systems design.
addition to models which describe a system through a set of However, even a family of architectures has to evolve over time
modeling constructs, ontologies can formally capture the according to new business needs. Changes may then quickly

6 Copyright © 2011 by ASME


turn an initially cohesive set of separate base and variation Documenting Software Architectures: Views and
models into an unmanageable set of disjoint models [79] Beyond, Addison-Wesley Professional.
reminding of the problems faced in aspect-oriented techniques [11] Dickerson C., and Mavris D.N., 2009, Architecture
[75]. In addition, applying product lines to a broader set of and Principles of Systems Engineering, Auerbach
multidisciplinary systems is more challenging than to a narrow Publications.
set of software products. [12] Dori D., 2002, Object-Process Methodology, Springer.
[13] Douglass B.P., 2008, "The Telelogic Harmony/ESW
SUMMARY Process for Real-Time and Embedded Development,"
Model-based systems engineering is a broad activity. A [14] Emery D., and Hilliard R., 2009, "Every Architecture
system designer can therefore easily lose his orientation among Description Needs a Framework: Expressing
the jungle of architecture frameworks and modeling languages. Architecture Frameworks Using ISO/IEC 42010,"
The intent of the paper was to provide an overview of major Proceedings of the 2009 JointWorking IEEE/IFIP
model-based systems engineering concepts in a summarized Conference on Software Architecture and European
form. The paper first introduced the basic definition of common Conference on Software Architecture (WICSA/ECSA
systems engineering terms as well as examples of the 2009), IEEE Computer Society Press, Cambridge,
inconsistent use of some terms. Next, surveys were presented USA, pp. 31–40.
on standards related to processes, methodologies, architecture [15] Estefan J.A., 2007, "Survey of Model-Based Systems
frameworks and modeling languages. The paper then showed Engineering (MBSE) Methodologies," INCOSE
the main characteristics of major architecture frameworks and [16] Euzenat J., and Shvaiko P., 2007, Ontology Matching,
modeling languages for model-based systems engineering. Springer-Verlag New York Inc.
Finally, the paper indicated future trends in model-based [17] Feiler P.H., Gluch D.P., and Hudak J.J., 2006, "The
systems engineering, which are all similar to current Architecture Analysis & Design Language (AADL):
developments in software engineering. An Introduction," Carnegie-Mellon Software
Engineering Institute.
REFERENCES [18] Feyerabend P.K., 1975, Against Method: Outline of an
Anarchistic Theory of Knowledge, New Left Books,
[1] Baker L., Clemente P., Cohen B., Permenter L., Purves London.
B., and Salmon P., 2000, "Foundational Concepts for [19] Fishburn P.C., 1970, "Utility Theory for Decision
Model Driven System Design," INCOSE Model Making," Storming Media.
Driven System Design Working Group [20] France R., and Rumpe B., 2007, "Model-Driven
[2] Bayer J., Gerard S., Haugen Ø., Mansell J., Møller- Development of Complex Software: A Research
Pedersen B., Oldevik J., Tessier P., Thibault J.P., and Roadmap," IEEE Computer Society, pp. 37-54.
Widen T., "Consolidated Product Line Variability [21] Frankel D.S., Harmon P., Mukerji J., Odell J., Owen
Modeling," Software Product Lines, pp. 195-241. M., Rivitt P., Rosen M., and Soley R.M., 2003, "The
[3] Blanchard B.S., 2008, System Engineering Zachman Framework and the OMG's Model Driven
Management, Wiley. Architecture," Business Process Trends.
[4] Boehm B., 2006, "Some Future Trends and [22] French Délégation Générale pour l'Armement, 2007,
Implications for Systems and Software Engineering "Atelier De Gestion De L’architecture Des SIC
Processes," Systems Engineering, 9(1), pp. 1-19. (AGATE) Version 3 : Guide S-Cat N°10002."
[5] Brooks Jr. F.P., 1995, The Mythical Man-Month [23] Friedenthal S., Moore A., and Steiner R., 2009, A
(Anniversary Ed.), Addison-Wesley Longman Practical Guide to SysML: The Systems Modeling
Publishing Co., Inc. Boston, MA, USA. Language, Morgan Kaufmann.
[6] Buede D.M., 2009, The Engineering Design of [24] Gross J., Reichwein A., Rudolph S., Bock D., and
Systems: Models and Methods, Wiley. Laufer R., 2009, "An Executable Unified Product
[7] Chang G.S., Perng H.L., and Juang J.N., 2008, "A Model Based on UML to Support Satellite Design,"
Review of Systems Engineering Standards and American Institute of Aeronautics and Astronautics,
Processes," Journal of Biomechatronics Engineering, 1801 Alexander Bell Dr., Suite 500 Reston VA 20191-
1(1), pp. 71-85. 4344 USA.
[8] Childers S.R., and Long J.E., 1994, "A Concurrent [25] Hazelrigg G.A., 1996, Systems Engineering: An
Methodology for the System Engineering Design Approach to Information-Based Design, Prentice Hall
Process," INCOSE Proceedings, 1994. Upper Saddle River, NJ.
[9] Clements P., and Northrop L., 2001, Software Product [26] Hilliard R., 2009, "Architecture Description in-the-
Lines, Addison-Wesley Reading MA. Large," in workshop on Exploring Enterprise, System
[10] Clements P., Bachmann F., Bass L., Garlan D., Ivers of Systems, System, and Software Architecture,
J., Little R., Merson P., Nord R., and Stafford J., 2010, Cambridge UK.

7 Copyright © 2011 by ASME


[27] Hitchins D.K., 2007, Systems Engineering: A 21st [44] Levis A.H., and Wagenhals L.W., 2000, "C4ISR
Century Systems Methodology, Wiley. Architectures: I. Developing a Process for C4ISR
[28] Huang E., Ramamurthy R., and McGinnis L.F., 2007, Architecture Design," Systems Engineering, 3, pp.
"System and Simulation Modeling Using SysML," 225-247.
IEEE Press, pp. 796-803. [45] Lewis K.E., Chen W., and Schmidt L.C., 2006,
[29] IEEE, 1990, "IEEE 610.12-1990 - IEEE Standard Decision Making in Engineering Design, ASME Press.
Glossary of Software Engineering Terminology." [46] Long J.E., 2000, "Relationships between Common
[30] IEEE, 2000, "IEEE 1471 - IEEE Recommended Graphical Representations Used in System
Practice for Architectural Description for Software- Engineering," SETE2000 Conference, Brisbane,
Intensive Systems." Queensland.
[31] IEEE, 2005, "IEEE 1220-2005 - IEEE Standard for [47] Luckham D.C., Kenney J.J., Augustin L.M., Vera J.,
Application and Management of the Systems Bryan D., and Mann W., 2002, "Specification and
Engineering Process." Analysis of System Architecture Using Rapide,"
[32] INCOSE, 2007, "Systems Engineering Vision 2020 Software Engineering, IEEE Transactions on, 21(4),
INCOSE-Tp-2004-004-02," pp. 336-354.
[33] Ingham M.D., Rasmussen R.D., Bennett M.B., and [48] Maier M.W., 1996, "Integrated Modeling: A Unified
Moncada A.C., 2005, "Engineering Complex Approach to System Engineering," Journal of Systems
Embedded Systems with State Analysis and the and Software, 32(2), pp. 101-119.
Mission Data System," Journal of Aerospace [49] Maier M.W., 2009, The Art of Systems Architecting,
Computing, Information, and Communication, 2(12), CRC.
pp. 507-536. [50] Mark W.M., Emery D., and Hilliard R., 2004,
[34] ISO/IEC, 1998, "ISO/IEC 10746 Information "ANSI/IEEE 1471 and Systems Engineering," Systems
Technology -- Open Distributed Processing -- Engineering, 7(3), pp. 257-270.
Reference Model: Overview." [51] Martin J.N., 2002, "Overview of the EIA 632
[35] ISO/IEC, 2007, "ISO/IEC 42010:2007 Systems and Standard: Processes for Engineering a System," IEEE,
Software Engineering -- Recommended Practice for 1, pp. B32.
Architectural Description of Software-Intensive [52] Medvidovic N., and Taylor R.N., 2002, "A
Systems." Classification and Comparison Framework for
[36] ISO/IEC, 2008, "ISO/IEC 15288:2008 Systems and Software Architecture Description Languages," IEEE
Software Engineering -- System Life Cycle Transactions on Software Engineering, 26(1), pp. 70 -
Processes." 93.
[37] Jamshidi M., 2009, System of Systems Engineering: [53] Moore R., and Paredis C.J., 2009, "Variable Fidelity
Innovations for the 21st Century, John Wiley & Sons Modeling as Applied to Trajectory Optimization for a
Inc. Hydraulic Backhoe," in Proceedings of the ASME
[38] Kandé M.M., Crettaz V., Strohmeier A., and Sendall 2009 International Design Engineering Technical
S., 2002, "Bridging the Gap between IEEE 1471, an Conferences & Computers and Information in
Architecture Description Language, and UML," Engineering Conference.
Software and Systems Modeling, Special Issue UML [54] NATO, 2007, "Nato Architecture Framework Version
2001, 1(2), pp. 113-129. 3."
[39] Kerzhner A.A., and Paredis C.J., 2009, "Using [55] Nord R.L., Clements P.C., Emergy D., and Hilliard R.,
Domain Specific Languages to Capture Design 2009, "A Structured Approach for Reviewing
Synthesis Knowledge for Model-Based Systems Architecture Documentation," Carnegie-Mellon
Engineering," ASME 2009 International Design Software Engineering Institute
Engineering Technical Conferences & Computers and [56] O’Keefe G., 2006, "Improving the Definition of
Information in Engineering Conference. UML," Model Driven Engineering Languages and
[40] Kroll P., and Kruchten P., 2003, The Rational Unified Systems, pp. 42-56.
Process Made Easy: A Practitioner's Guide to the [57] Ogren I., 2000, "On Principles for Model-Based
RUP, Addison-Wesley Professional. Systems Engineering," Systems Engineering, 3(1), pp.
[41] Lankhorst M., 2009, Enterprise Architecture at Work, 38-49.
Springer. [58] Oliver D.W., Kelliher T.P., and Keegan Jr. J.G., 1997,
[42] Lee T.B., Hendler J., and Lassila O., 2001, "The Engineering Complex Systems with Models and
Semantic Web," Scientific American, 284(5), pp. 34- Objects McGraw-Hill.
43. [59] OMG, 2003, "MDA Guide Version 1.0.1."
[43] Leist S., and Zellner G., 2006, "Evaluation of Current [60] OMG, 2008, "Meta Object Facility (MOF) 2.0
Architecture Frameworks," ACM, pp. 1546-1553. Query/View/Transformation Specification Version
1.0."

8 Copyright © 2011 by ASME


[61] OMG, 2009, "Unified Profile for DoDAF and MoDAF [78] Taylor R. N., Medvidovic N., and Dashofy E. M.,
(UPDM) Version 1.0." 2009, Software Architecture: Foundations, Theory,
[62] OMG, 2009, "Common Variability Language (CVL) and Practice, Wiley
Request for Proposal." [79] Taylor R.N., and van der Hoek A., 2007, "Software
[63] OMG, 2010, "OMG Unified Modeling Language Design and Architecture the Once and Future Focus of
(OMG UML), Superstructure Version 2.3." Software Engineering," IEEE, pp. 226-243.
[64] OMG, 2010, "OMG Systems Modeling Language [80] The Open Group, "TOGAF® Version 9 "Enterprise
(OMG SysML) Version 1.2." Edition"."
[65] Paredis C.J., Bernard Y., Burkhart R.M., Koning H.D., [81] Thompson S.C., and Paredis C.J., 2010, "An
Friedenthal S., Fritzson P., Rouquette N.F., and Introduction to Rational Design Theory," in SME 2010
Schamai W., 2010, "An Overview of the SysML- International Design Engineering Technical
Modelica Transformation Specification," in INCOSE Conferences & Computers and Information in
International Symposium. Engineering Conference, American Society of
[66] Parnas D.L., 1976, "On the Design and Development Mechanical Engineers, Philadelphia, PA.
of Program Families," IEEE Transactions on Software [82] Tolvanen J.P., and Rossi M., 2003, "MetaEdit+:
Engineering, pp. 1-9. Defining and Using Domain-Specific Modeling
[67] Parnas D.L., and Clements P.C., 1985, "A Rational Languages and Code Generators," ACM, pp. 92-93.
Design Process: How and Why to Fake It " Formal [83] Tyree J., and Akerman A., 2005, "Architecture
Methods and Software Development, Lecture Notes in Decisions: Demystifying Architecture," Software,
Computer Science, 186(1985), pp. 80-100. IEEE, 22(2), pp. 19-27.
[68] Putman J.R., 2000, Architecting with RM-ODP, [84] U.S. Government Department of Defense, 2009, "The
Prentice Hall. DoDAF Architecture Framework Version 2.02."
[69] Rechtin E., 1991, Systems Architecting: Creating and [85] UK Ministry of Defense, 2010, "The British Ministry
Building Complex Systems, Prentice Hall. of Defence Architecture Framework (MoDAF)
[70] Sailor J.D., 1990, "System Engineering: An V1.2.004."
Introduction," System and Software Requirements [86] Van Ommering R., van der Linden F., Kramer J., and
Engineering, pp. 35-47. Magee J., 2002, "The Koala Component Model for
[71] Schekkerman J., 2006, How to Survive in the Jungle of Consumer Electronics Software," Computer, 33(3), pp.
Enterprise Architecture Framework: Creating or 78-85.
Choosing an Enterprise Architecture Framework, [87] W3C, 2009, "OWL 2 Web Ontology Language."
Trafford. [88] Wymore A.W., 1993, Model-Based Systems
[72] Shah A.A., Paredis C.J., Burkhart R.M., and Schaefer Engineering, CRC Press.
D., 2010, "Combining Mathematical Programming [89] Zachman J.A., 1987, "A Framework for Information
and SysML for Component Sizing of Hydraulic Systems Architecture," IBM Systems Journal, 26(3),
Systems," in Proceedings of the ASME 2010 pp. 276-292.
International Design Engineering Technical
Conferences & Computers and Information in
Engineering Conference.
[73] Shaw M., and Garlan D., 1996, Software Architecture:
Perspectives on an Emerging Discipline, Prentice
Hall.
[74] Sheard S.A., 2002, "Evolution of the Frameworks
Quagmire," Computer, 34(7), pp. 96-98.
[75] Steimann F., 2006, "The Paradoxical Success of
Aspect-Oriented Programming," ACM SIGPLAN
Notices, 41(10), pp. 481-497.
[76] Steinberg D., Budinsky F., Paternostro M., and Merks
E., 2008, Eclipse Modeling Framework, Pearson
Education.
[77] Sullivan K.J., Chalasani P., Jha S., and Sazawal V.,
1999, "Software Design as an Investment Activity: A
Real Options Perspective," Real Options and Business
Strategy: Applications to Decision Making, pp. 215–
262.

9 Copyright © 2011 by ASME

View publication stats

You might also like