<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>A Domain-Specific Language for Dependency Management in Model-Based Systems Engineering</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Ahsan Qamar</string-name>
          <email>ahsanq@kth.se</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Sebastian Herzig</string-name>
          <email>sebastian.herzig@me.gatech.edu</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Christiaan J. J. Paredis</string-name>
          <email>chris.paredis@me.gatech.edu</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Georgia Institute of Technology</institution>
          ,
          <addr-line>Atlanta, Georgia</addr-line>
          ,
          <country country="US">USA</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>KTH-Royal Institute of Technology</institution>
          ,
          <addr-line>Stockholm</addr-line>
          ,
          <country country="SE">Sweden</country>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2013</year>
      </pub-date>
      <fpage>7</fpage>
      <lpage>16</lpage>
      <abstract>
        <p>The varying stakeholder concerns in product development today introduces a number of design challenges. From the perspective of Model-Based Systems Engineering (MBSE), a particular challenge is that multiple views established to address the stakeholder concerns are overlapping with many dependencies in between. The important question is how to adequately manage such dependencies. The primary hypothesis of this paper is that modeling dependencies explicitly adds value to the design process and in addition supports consistency management. We propose a domain-specific language called as the Dependency Modeling Language (DML) to capture the dependencies between multiple views at the appropriate level of abstraction, and utilize this knowledge to support a dependency management process. The approach is illustrated through a dependency model between three views of a robot design example. In addition, we discuss how to analyze dependency graphs for consistency checking, change management, traceability and workflow management.</p>
      </abstract>
      <kwd-group>
        <kwd>Dependency Modeling Language</kwd>
        <kwd>Domain Specific Modeling Language</kwd>
        <kwd>Model Based Systems Engineering</kwd>
        <kwd>Consistency Management</kwd>
        <kwd>Change Management</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>Contemporary product development is a complex process. Primarily, this is the
case due to a large number of stakeholders being involved, all of which have
varying and overlapping concerns. Therefore, adequate methods to manage the
consequential conflicts are required. In this sense, the design of mechatronics
is a particularly interesting case, since stakeholders from a very diverse set of
disciplines are involved. This makes good decision making very challenging. To
support a model-based mechatronic design process, di↵ erent viewpoints are
defined, each supported by one or more modeling views. Naturally, multiple
viewpoints are supported through multiple modeling languages, where the
overlapping stakeholder concerns lead to dependencies between the established views.
Traditionally, the dependencies are managed in an ad-hoc fashion by mainly
relying on the communication between the stakeholders. However, ad-hoc
dependency management can prove to be ine↵ ective, especially for complex and
large scale systems where there could be a large number of such dependencies.</p>
      <p>
        In earlier work, consistency management was explored in the context of
engineering design, and a classification of several distinct type of inconsistencies
was identified [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. It was concluded that no consistency check can ever be
complete and that only some inconsistencies can be identified, that too only in the
information captured explicitly and formally. Dependencies are interesting
because they could be the cause of the arising inconsistency, and hence explicit
knowledge of dependencies is vital for consistency management. However, this is
not a trivial task since adequate support in terms of a modeling language and a
supporting tool for dependency management is currently lacking. In this paper,
we present a modeling language to help build a model of dependencies.
      </p>
      <p>The fundamental question to answer is whether it is valuable to model
dependencies in contrast to current approaches where dependencies are not captured
formally. The work reported in this paper builds on the hypothesis that
modeling dependencies adds value to the design process. The value can be measured
in terms of support for consistency management, change management, ensuring
traceability and managing the design process workflow, each of which can be
supported by the dependency modeling approach presented in this paper.</p>
      <p>The remainder of this paper is organized as follows: Section 2 builds a
notion of dependency. An example use case is described in Section 3. Section 4
introduces a Domain-Specific Modeling Language (DSML) for capturing
dependencies, which is illustrated through the example use case in Section 5 and
Section 6. Section 7 presents the related work and is followed by a discussion in
Section 8. Section 9 presents conclusions and possible future work.
2</p>
      <p>
        Notion of Dependency
Rational Design Theory (RDT) [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] establishes a theoretical foundation for
Artifacts, Properties, Concept Selection and Concept Evaluation. Based on RDT
and on Hazelrigg’s decision-based design framework [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ], we argue that two types
of properties are prevalent in design: one is used to describe constraints
(specification), whereas the other is used to communicate the designer’s belief
regarding the value of the property (a prediction based on a given specification). We
call specification properties Synthesis Properties (SP) and prediction properties
Analysis Properties (AP).
      </p>
      <p>
        To describe an artifact, there could potentially be an infinite number of
properties spread across multiple views. In this paper, the term dependency
refers to a type of model capturing the relationship between the values of input
and output properties (regardless of the view they belong to). This is somewhat
di↵ erent to how dependencies are defined in UML [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ], where they represent a
relation and express the need for a particular element to exist. For example,
if an element A depends on element B, and B no longer exists, A is no longer
specifiable. In our case, removing a dependency does not invalidate the inputs
or the outputs - the dependency is just no longer captured. Causality naturally
arises from the fact that a dependency has well defined inputs and outputs.
      </p>
      <p>
        A dependency is considered to be a model; it is possible that this model is
unknown at a given design stage; in this case a dependency can still be specified
(along with its input and output properties) in a dependency model. Once the
model that specifies a particular dependency is known, references can be
created between this model and the dependency model. A natural question to ask
is why not utilize currently available languages to model dependencies. In the
work reported in [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ], di↵ erent modeling languages were analyzed for dependency
modeling (e.g. OMG SysMLTM[
        <xref ref-type="bibr" rid="ref6">6</xref>
        ]). However none were found to be suitable for
capturing dependencies adequately without having to modify them (e.g., profile
extension of SysML). In addition, the size of meta-model extensions (when
using a general purpose language for many di↵ erent purposes) adds to the intrinsic
complexity of the underlying system [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] and introduces accidental complexity [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ].
      </p>
      <p>
        In contrast to a general purpose modeling language (such as SysML), a DSML
is restrictive and has a specific purpose, in particular as per the demands of a
specific viewpoint [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ], and it captures the object of interest at the appropriate
level of abstraction and formalism to help minimize the complexity [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ]. Based on
this motivation, we will - in the following section - introduce a DSML to model
dependencies called the Dependency Modeling Language (DML).
3
      </p>
      <p>Example Use Case
In order to illustrate the proposals of this paper to the reader, an example use
case is considered: a simple two degree of freedom robot. The design problem is
formulated as follows: Design a pick and place robot with Work Space (WS)
coverage of 4m2, with Close loop Position Accuracy (CPA) of at least 5mm, and with
the End-to-End Response Time (EERT) of the robot should not be more than
0.5 seconds. Three viewpoints (one for each stakeholder) are considered for this
example: mechanical design, control design, and Hardware/Software (Hw/Sw)
design. The three stakeholders - based on the design specifications for each
viewpoint - develop disparate models focusing on di↵ erent aspects of the robot by
utilizing di↵ erent design and analysis tools, such as a CAD tool for mechanical
design, a control design tool and a software design tool. The semantic overlaps
between the views results in dependencies, which will be the focus of the
illustration in section 5. It is worthwhile to mention that gaining knowledge about
properties CPA and EERT requires the combined work of the three stakeholders,
making it essential to manage dependencies.
4</p>
      <p>
        A Modeling Language for Capturing Dependencies
This section describes the DML which is currently supported in Eclipse Modeling
Framework (EMF) [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ]. Figure 1 illustrates the abstract syntax of the DML using
a class diagram. Any model that conforms to this meta-model is referred to as
a Dependency Model. In the following, the semantics of the language constructs
of the DML are discussed.
      </p>
      <p>A Concept is a description of an artifact and can refer to the actual
product to be developed, or to any of its sub-components. We say that concepts are
formed by constraining some of the properties associated with it. With the
passage of time, more constraints are put on properties, hence leading to further
refined concepts. For instance, by constraining the number of arms of a robot
to two, a two arm robot Concept is created. A concept Contains zero to many
subordinate concepts - by way of example, here are a few that can be considered
for the two arm robot: Arm1, Arm2, Controller, Motor1, Motor 2, Sensor1, and
Sensor2. All these Concepts are contained under the main concept two arm robot.
Concepts are related to each other through an isPartOf relationship, which
creates the semantic context around each concept. Each Concept can be looked at
from many Viewpoints, and is characterized by a number of Properties, which
are captured in a Model.</p>
      <p>A Viewpoint refers to the guidelines and conventions used to establish a
View, where a View corresponds to a Model or a composition of disparate models:
for example, mechanical design viewpoint encompassing a Solid Edge model or
the dynamic analysis viewpoint encompassing a Modelica model.</p>
      <p>A Model is an abstraction of a real-world artifact (described by a
Concept ). Multiple Viewpoints may be required to address the stakeholder concerns
with respect to an artifact (Concept ), which can be supported through multiple
modeling Views. A Model contains many Properties with multiple Dependencies
between them.</p>
      <p>A Property is any descriptor of an artifact. Its value could be numerical,
logical, stochastic or an enumeration. In design, two types of properties are used:
properties which are selected or chosen by the designer (Synthesis Properties
(SP)) and ones which are predicted through an analysis model or an equation
(Analysis Properties (AP)). In order for a property to have an unambiguous
meaning, the semantic context around each property should be specified, which
is done through isPropertyOf relationships to a Concept. For example, EERT
isPropertyOf a Concept ControlSystem (see Figure 2), which, in turn, isPartOf
a Robot. A Property can influence other properties via a Dependency, which is
captured through the relatedDependency relationship: e.g., SD4, SD5 and SD13
are related dependencies for the property EERT (see Figure 2).</p>
      <p>A Synthesis Property (SP) describes the value that a designer has
selected for a particular property. SPs are usually defined through a range of
values (RangeValue); but they can also be defined through a FixedValue or a
BooleanValue. For example, a load profile could be used as an SP to select the
corresponding actuator power.</p>
      <p>An Analysis Property (AP) describes the value predicted as a result of
performing an analysis captured in a model, e.g. solving an equation or a
constraint. APs are predictions and hence uncertain by definition. Therefore, APs
should be specified using a Probability value (ProbabilityDensityFunctionValue).</p>
      <p>
        A Dependency describes the nature of the relationship between two or
more properties. The relationship is assumed to be causal, thereby assuming that
some properties are inputs while others are outputs. The nature of a particular
dependency could be known or unknown at a given design stage, and its specifics
are described in a number of ways. As per [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ], dependencies can be expressed in
two forms - a heuristic between two or more properties (Synthesis Dependency
(SD)), or a constraint, an equation or an analysis model (Analysis Dependency
(AD)). One particular case is that of an equality binding between two or more
properties (e.g., same properties belonging to multiple views). There could be
many dependencies within a Model, hence a particular Dependency can be a part
of (i.e. contained within) a particular Model (i.e., a model within a model, such
as a constraint within a CAD model), or, in other cases, represents a distinct
Model (e.g., a Simulink model). Bindings between properties are captured in the
Dependency Model.
      </p>
      <p>A Synthesis Dependency (SD) refers to the heuristics used in selection
of a SP. It is also possible that a modeler uses their experience in making this
selection, and overrides the heuristic completely. An SD could have one or more
SPs as its output, e.g. SD4 in Figure 2.</p>
      <p>An Analysis Dependency (AD) refers to the analysis (present in a model),
an equation, or a constraint used to predict the value of an AP. An AD could
have one or more APs as its output.</p>
      <p>While the dependency models are causal in nature, in many practical
scenarios, cycles will be present. For example, an algebraic loop could exist, where
a property is both chosen and predicted. From the perspective of structural
semantics, cyclic models are valid. However, from the perspective of operational
semantics (which are outside the scope of this paper), such loops must be broken
during execution - for example, by using the well known tearing algorithm.
5</p>
      <p>Illustration: Dependency modeling through the DML
EMF was used to support the DML which we used to construct the dependency
model for the example use case. In the following, we will illustrate the equality
binding between properties that are part of di↵ erent views of the robot. Other
possible illustrations include (but are not limited to): top-level view of the robot
showing the involved Viewpoints and Concepts, and binding of a Property to
multiple dependencies. The reader should note that the illustrations we provide
are models generated based on the abstract syntax and no concrete syntax was
developed at this stage, although graph-based visualizations of the dependency
models were built (see Section 6).</p>
      <p>Consider the Synthesis Dependency SD4 in the CAD View. Figure 2 shows
the dependency SD4 where Motor A Torque (MA) is determined based on the
information about Inertia of Arm-A (IA), the requirement for End-to-End
Response Time (EERT), and the control system structure (CS).</p>
      <p>
        It can be seen that property EERT isPropertyOf ControlSystem Concept
and is partOfModel Simulink, which is a supporting View in the ControlDesign
Viewpoint. The resulting property binding relationship is contained under the
property EERT, and maintained inside the dependency model. The meta-models
of Matlab/Simulink, and MagicDraw SysML (as UML2.1) are available in our
Eclipse implementation (Cameo Workbench [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ]), and we added the Solid Edge
(CAD tool) meta-model to it, hence the models created in these tools can be
read as Ecore models and transformations between them can be built.
6
      </p>
      <p>
        Visualizing dependencies as graphs
The information captured in the dependency model can be visualized by a
dependency graph. As opposed to a tree-based representation, a graph-based
representation is better suited for discussions between di↵ erent stakeholders (see Figure 2
and Figure 3). We used the tool Graphviz [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ], which supports the DOT
language [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ], to build graphs. Figure 3 shows a directed dependency graph between
the three views of the robot. As an example, consider SD9 which refers to the
dependency between inertia of first and second arm of the robot (IA and IB in
mechanical design view) and the transfer function (G(s)) attributes (in the
control design view). The figure illustrates that even for a fairly simple robot design
example, there are many dependencies between the considered viewpoints, and
manual management of such dependencies is either very challenging or often not
possible due to a lack of information.
      </p>
      <p>
 </p>
      <p>
   
</p>
      <p> 


</p>
      <p> 
 </p>
      <p>  

</p>
      <p> 
 </p>
      <p>  

</p>
      <p>
 
 

 
 
</p>
      <p>
  </p>
      <p>
              

One popular method of modeling dependencies is the Design Structure
Matrix (DSM) [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ], which allows relations among properties to be represented in
a matrix. DSMs are used in a variety of disciplines - for example, in software
engineering [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ]. Compared to the DML, DSMs are limited in terms of their
expressiveness. For one, it is not possible to di↵ erentiate between synthesis and
analysis properties, nor between synthesis and analysis dependencies. As
discussed in [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ], this di↵ erentiation is important to keep analysis results separate
from selections made by the designer. In addition, this di↵ erentiation adds to the
semantic richness of a dependency model thereby supporting the change
management and inconsistency management scenarios. Furthermore, the semantic
context around a property can be shown in a DSM only to a limited degree.
      </p>
      <p>In terms of tools, Product Data Management (PDM) systems are probably
among the most widely used systems to manage product-related data. One of
the core capabilities of modern PDM systems is allowing users to establish
relations between elements that are stored in the repository: for instance, reference
and correspondence relationships can be created. Such relationships can
typically only be created among files. However, some contemporary PDM systems
integrate tool adapters, allowing for certain properties of supported models to
be exposed (for example: the part hierarchy in CAD models). While PDM
systems implement some of the desired functionality, they are still limited in terms
of their capabilities of capturing dependencies. In particular, PDM systems
require dependent models to already exist, therefore not enabling one to create a
dependency model independently from the corresponding design artifacts.</p>
      <p>
        Modeling dependencies is also supported (at least to some extent) in the
Process Integration Design Optimization (PIDO) approach, which is implemented
in tools such as ModelCenter [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ]. The underlying principle is the integration of
disparate models. ModelCenter, for instance, provides several tool connectors,
which enable data exchange among disparate models and allow for properties of
compatible models to be exposed. As a result, dependencies between properties
can be modeled. However, current PIDO tools only provide a black box view for
each model and hide most of the semantic context of properties. Furthermore,
not all possible properties can be exposed.
      </p>
      <p>To the best of knowledge of the authors, modeling languages intended
specifically for the purpose of modeling dependencies have, to the date of writing this
paper, not been publicized. While there are some promising methods and tools
available, none implement all of the envisioned capabilities. For one, none allow
for the definition of a dependency model independent of other domain specific
models. Furthermore, of the approaches surveyed, none provided the desired
level of depth and access to properties in models.
8</p>
      <p>Discussion
The order in which the di↵ erent views are developed in relation to the
dependency model is an important consideration. There are two possibilities here: a
bottom-up scenario where the initial design and analysis of design concepts is
already captured in multiple views (e.g. a CAD model and a Simulink model), and
then the dependency model is built. In this case, the knowledge already present
in disparate views can be used to automatically build parts of the dependency
model. The other possibility is a top-down scenario where the dependency model
is manually created after the requirements and the system architecture are
identified, and based on the dependencies captured in the dependency model, other
views such as CAD and Simulink models are developed. For the example
described in Section 5, we have followed the former approach, where the views
supporting mechanical, control and Hw/Sw design of the robot already existed.</p>
      <p>Dependency models can be used for more than just one purpose. Given the
causal nature, a dependency model can be used for change propagation and
consistency management. For example, in Figure 3, a change to the predicted
value of TResponse triggers the necessity for AD4 to be refreshed automatically.
It can also support traceability in that it is possible to reason about both the
existence and nature of certain relationships among models. For example, one
useful application is requirements traceability. Dependency models are also useful
for the purpose of managing workflow. Given a (causal) network of dependencies,
tasks can be parallelized and merge points identified. A dependency model can
also be used for the purpose of avoiding certain inconsistencies. Not only can
changes be propagated through such a model, but a single source of truth for
properties is established. Such is the case because properties in the dependency
model are unique, even though these may refer to elements in disparate models.</p>
      <p>
        Modeling dependencies requires additional e↵ ort and, hence, additional
resources to be allocated. However, any commitment of resources needs to be
justified. It is entirely conceivable that in some cases (e.g. very simple or well
understood systems) the risk associated with not explicitly capturing
dependencies is negligibly low. Similar arguments can be made about the completeness of
the dependency model: to what level of detail should dependencies be modeled?
As per [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ], dependencies can be defined at six levels of detail starting with the
level-0 where the dependencies are completely unknown to level-5 where both
the dependencies and the transformation models that lead to them are
explicitly known. Behind building such transformation models are dependency patterns
which gather and illustrate known dependencies between specific types of
properties under a design context. The use of such patterns would decrease the cost
associated with modeling dependencies. Patterns are currently not supported by
the introduced DML and their discussion is beyond the scope of this paper.
9
      </p>
      <p>Conclusions
This paper presents a DSML for modeling dependencies between properties.
Properties are typically referenced in multiple views on a system. A dependency
modeling language allows for the dependencies between these properties to be
captured in a single model, as illustrated for a robot example in Section 5.</p>
      <p>Future work should includes the provision of additional features, such as
supporting modeling at multiple levels of detail and allowing for a variety of
stakeholder-specific views to be generated automatically. Furthermore, the
operational semantics of the DML should be defined formally. This is particularly
important for the purpose of supporting the accompanying dependency
management process. For example, an essential task is analyzing how changes propagate.
Since most analysis activities involve some sort of token flow, we suggest to
investigate the mapping to the semantic domain of petri-nets as future work.
Acknowledgments. This work was supported in-part by Boeing Research &amp;
Technology. The authors would like to thank Michael Christian (Boeing) and
Axel Reichwein (Koneksys LLC) for the many valuable discussions.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Herzig</surname>
            ,
            <given-names>S.J.I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Qamar</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Reichwein</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Paredis</surname>
            ,
            <given-names>C.J.J.:</given-names>
          </string-name>
          <article-title>A Conceptual Framework for Consistency Management in Model-Based Systems Engineering</article-title>
          . In: ASME 2011
          <string-name>
            <given-names>Design</given-names>
            <surname>Engineering Technical Conferences</surname>
          </string-name>
          &amp; Computers and Information in Engineering Conference IDETC/CIE 2011, Washington, DC, USA, ASME (
          <year>2011</year>
          )
          <fpage>1329</fpage>
          -
          <lpage>1339</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Thompson</surname>
            ,
            <given-names>S.C.</given-names>
          </string-name>
          :
          <article-title>Rational Design Theory: A Decision-Based Foundation for Studying Design Methods</article-title>
          .
          <source>Phd. thesis</source>
          , Georgia Institute of Technology, Atlanta, Georgia, USA. (
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Hazelrigg</surname>
            ,
            <given-names>G.A.</given-names>
          </string-name>
          :
          <article-title>A Framework for Decision Based Engineering Design</article-title>
          .
          <source>Journal of Mechanical Design</source>
          <volume>120</volume>
          (
          <issue>4</issue>
          ) (
          <year>1998</year>
          )
          <fpage>653</fpage>
          -
          <lpage>658</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <given-names>Object</given-names>
            <surname>Management Group: OMG Unified Modeling Language (UML) Specification</surname>
          </string-name>
          <article-title>V2.4.1 (</article-title>
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Qamar</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Paredis</surname>
            ,
            <given-names>C.J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Wikander</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>During</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          :
          <article-title>Dependency Modeling and Model Management in Mechatronic Design</article-title>
          .
          <source>Journal of Computing and Information Science in Engineering</source>
          <volume>12</volume>
          (
          <issue>4</issue>
          ) (
          <year>December 2012</year>
          )
          <fpage>041009</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6. Object Management Group:
          <source>OMG Systems Modeling Language Specification V1</source>
          .
          <volume>3</volume>
          (
          <year>2012</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Vallecillo</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>On the Combination of Domain Specific Modeling Languages</article-title>
          .
          <source>In: Modeling Foundations and Applications, Lecture Notes in Computer Science</source>
          . Volume
          <volume>6138</volume>
          . (
          <year>2010</year>
          )
          <fpage>305</fpage>
          -
          <lpage>320</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Brooks</surname>
            ,
            <given-names>F.P.</given-names>
          </string-name>
          :
          <article-title>No Silver Bullet Essence and Accident in Software Engineering</article-title>
          . IEEE Computer
          <volume>20</volume>
          (
          <issue>4</issue>
          ) (
          <year>1987</year>
          )
          <fpage>10</fpage>
          -
          <lpage>19</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Mosterman</surname>
            ,
            <given-names>P.J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Vangheluwe</surname>
          </string-name>
          , H.:
          <source>Computer Automated Multi-Paradigm Modeling: An Introduction. Simulation: Transactions of The Society for Modeling and Simulation International</source>
          <volume>80</volume>
          (
          <issue>9</issue>
          ) (
          <year>September 2004</year>
          )
          <fpage>433</fpage>
          -
          <lpage>450</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Eclipse</surname>
          </string-name>
          <article-title>Foundation: Eclipse Modeling Framework (EMF) (</article-title>
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11. No Magic:
          <article-title>Cameo Work Bench (</article-title>
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Ellson</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gansner</surname>
            ,
            <given-names>E.R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Koutsofios</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          , North,
          <string-name>
            <given-names>S.C.</given-names>
            ,
            <surname>Woodhull</surname>
          </string-name>
          , G.:
          <article-title>Graphviz and Dynagraph - Static and Dynamic Graph Drawing Tools</article-title>
          .
          <source>In: Graph Drawing Software</source>
          , Springer-Verlag (
          <year>2003</year>
          )
          <fpage>127</fpage>
          -
          <lpage>148</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Gansner</surname>
            ,
            <given-names>E.R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Koutsofios</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          , North, S.:
          <article-title>Drawing Graphs With Dot</article-title>
          .
          <source>Technical report</source>
          (
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <surname>Eppinger</surname>
            ,
            <given-names>S.D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Browning</surname>
            ,
            <given-names>T.R.</given-names>
          </string-name>
          :
          <article-title>Design Structure Matrix Methods and Applications</article-title>
          . Engineering Systems. MIT Press (
          <year>2012</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <surname>Sangal</surname>
          </string-name>
          , N.,
          <string-name>
            <surname>Jordan</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sinha</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Jackson</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          :
          <article-title>Using Dependency Models to Manage Complex Software Architecture</article-title>
          .
          <source>In: Object Oriented Programming, Systems, Languages &amp; Applications (OOPSLA)</source>
          , San Diego, CA, USA, ACM Press (
          <year>2005</year>
          )
          <fpage>167</fpage>
          -
          <lpage>176</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16. Phoenix Integration: ModelCenter (
          <year>2012</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>