<!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>xtUML: Current and Next State of a Modeling Dialect</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Cortland Starrett</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>One Fact Inc.</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>US HWY</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>S Clarks Hill</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Indiana</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>USA cortland.starrett@onefact.net</string-name>
        </contrib>
      </contrib-group>
      <fpage>33</fpage>
      <lpage>37</lpage>
      <abstract>
        <p>- xtUML and its Papyrus-xtUML (BridgePoint) tooling have advanced further in the last two years than in the ten preceding years. Acceleration in usage and improvements in tooling have been fueled by the open source software (OSS) ecosystems of Apache, Eclipse and Papyrus. Development teams have transformed from licensed users into user-contributors.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>Keywords— xtUML, Shlaer-Mellor, Executable UML,
UMLRT, MASL</p>
    </sec>
    <sec id="sec-2">
      <title>I. INTRODUCTION</title>
      <p>
        Executable Translatable Unified Modeling Language
(xtUML) [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] is a modeling dialect that employs standard UML
notation to express executable models following the
ShlaerMellor Method of Object Oriented Analysis and Design [
        <xref ref-type="bibr" rid="ref3 ref4">3,4</xref>
        ].
The method is well-defined and documented and carries a
substantial base of research, education and industry usage
through the last two decades.
      </p>
      <p>Shlaer-Mellor xtUML has enjoyed evolution and maturity
while remaining true to the original method. The history,
status and comparison to other dialects are outlined. The future
of xtUML is predicted in light of the current players and the
positive network effects of Eclipse, Papyrus and the open
source community.</p>
      <p>It is observed that a fully open source governance and
ecosystem around xtUML has dramatically increased the pace
of advancements in the tooling and facilitated collaboration
among users, suppliers and academics. This is because
openness, transparency and elimination of exclusive ownership
fosters an environment of security. There is no single entity
(licensing company) that must be trusted to serve the interests
of all parties. Users can add features (or pay suppliers to add
features) at will. In the xtUML community, features and fixes
are being delivered faster than ever before. Related executable
modeling languages and technologies are sharing in these
improvements.</p>
    </sec>
    <sec id="sec-3">
      <title>II. BACKGROUND</title>
      <p>The Shlaer-Mellor
xtUML method steps
modelers through a sequence
of abstract modeling
constructs addressing data,
control and processing
views of systems
applications. Data is
modeled using class
diagrams, control is modeled
as state machines and
processing is modeled with
action language.</p>
      <p>The order of modeling encourages as much information as
reasonable to be captured in data with the exposure of
abstractions at the highest possible level. The method is
considered object-oriented due to its emphasis on data
modeling. This object concept emphasizes relations between
the data abstractions. UML class diagrams provide the
notational richness required to capture clear abstractions of
conceptual entities with classes, attributes and various forms of
associations relating them. See Figure 1 for an example class
diagram depicting the relationship between a dog and its
owner. UML state machine diagrams (Figure 2) formalize the
lifecycles of individual UML classes. The example illustrates
the states of a test case. Thus, concurrent sequential processing
is captured in a plurality of relatively simple, communicating
instance-based state machines. Finally, activity semantics are
modeled in class operations, state machine states and
transitions, and function bodies using an abstract action
language that is Turing Complete but platform independent.
Models are partitioned along subject matter boundaries and
deployed as compositions using UML component diagrams
(Figure 3). The example shows the functional partitioning of
an electrochemical (EC) analyzer and an instrumentation test
runner which can stimulate and measure its response.</p>
      <p>xtUML models are interpretively executable following a set
of rules. These rules enforce the semantics of the model
artifacts and establish a basis to govern time, order and priority.
Execution can be performed in simulations run by humans
enforcing the rules or by an xtUML interpreter that automates
the execution for model testing purposes.</p>
      <p>A corrolary set of semantics governs the tranformation of
xtUML from one representation into semantically equivalent
forms represented in lower-level target deployment languages
such as Ada, SPARK, Java, C, C++, MISRA-C, AUTOSAR,
SystemC, VHDL, (IDL, DocBook, HTML). The process of
translating xtUML into other forms is called model compilation
and is performed by a model compiler. A model compiler is a
refinement of code generation in its complete and strict
mapping of the semantic rules of the language. A model
compiler must guarantee adherence to semantics to preserve
execution behavior between forms. Model compilers can
translate only from a higher level of abstraction to a lower level
(or the same level). Model compilers can insert additional
platform-specific detail into the transformation output.
ShlaerMellor xtUML model compilers translate PIMs (Platform
Independent Models) to PSMs (Platform Specific Models).
•
•
•
•
•
•
•
•</p>
    </sec>
    <sec id="sec-4">
      <title>III. BRIEF HISTORY</title>
      <p>
        1988, 1991 Shlaer-Mellor Method published by
Stephen Mellor and Sally Shlaer in [
        <xref ref-type="bibr" rid="ref3 ref4">3,4</xref>
        ].
2002 Executable UML established as Shlaer-Mellor
OOA using UML notation [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ].
2013 BridgePoint xtUML Editor goes open source
under Apache 2.0 [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ].
2014 all of BridgePoint (including Verifier and model
compilers) goes open source under Apache and
Creative Commons.
2015 Papyrus Industry Consortium
xtUML/BridgePoint contribution
2015 OSS of alternate generator engine [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ]
2016 Papyrus-xtUML
Foundation governance
(BridgePoint)
2016 OSS contributions from industry, university and
individuals
      </p>
      <p>
        Software is "eating the world" [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ]. Open source
governance is a requirement for modeling tools in order to
enable collaboration between users, suppliers and academia
[
        <xref ref-type="bibr" rid="ref9">9</xref>
        ].
      </p>
      <p>The establishment of open source software and transparent
governance has triggered a massive influx of openly accessible
models, tooling source code, documentation, research results,
education materials and supporting experience results. These
contributions are coming from Europe, Asia and North
America. Communities spanning these continents are
collaborating at ever increasing rates due to the network effects
and accessibility.</p>
      <p>
        IV. KEY PLAYERS
xtUML is driven by several factors. The tooling would
seem to be the obvious driver, but the user base and the
collection of intellectual property (IP) are producing the real
energy. IP accumulated over decades provides a base. The
pool of existing models is continually upgraded and expanded
as the language and technology evolve. The cache of existing
models is extended as applications gain features and heritage
functionality is reused in fresh contexts. Models are beginning
to be exchanged more openly in shared repositories
encouraging reuse and providing a starting point for new
modelers [
        <xref ref-type="bibr" rid="ref24">24</xref>
        ]. This base also serves to vet and test new and
updated tools.
      </p>
      <p>Following are key user teams that influence the language
and tools of xtUML.</p>
      <sec id="sec-4-1">
        <title>A. Saab</title>
        <p>
          Saab [
          <xref ref-type="bibr" rid="ref20">20</xref>
          ] has been a user, advocate and conference
presenter on the application of xtUML in MDA/MDE contexts
since 2000. Primary motivations for adopting the
ShlaerMellor Method are the interpretive executability including
action semantics (action language) and model compilation.
The company has applied the technology in aviation, military
and three-dimensional graphics mapping systems. Beyond
application IP, Saab has leveraged open model compilation to
produce Ada, SPARK, C and VHDL from xtUML models.
Saab is now an advocate of open source modeling as part of the
Papyrus Industry Consortium [
          <xref ref-type="bibr" rid="ref6">6</xref>
          ].
        </p>
      </sec>
      <sec id="sec-4-2">
        <title>B. Fuji-Xerox</title>
        <p>
          Fuji-Xerox [
          <xref ref-type="bibr" rid="ref21">21</xref>
          ] has about the same duration of experience
applying xtUML in office automation equipment (combined
copier/printer/scanner). Engineers at Fuji-Xerox have been
instrumental in taking executable modeling out of the
workplace and into education. Fuji-Xerox has sponsored and
assisted teams of students and engineers in contests such as the
ET-Robocon [
          <xref ref-type="bibr" rid="ref15">15</xref>
          ] where robots powered by xtUML have won
national championships. Example models and target
development environments have been configured and
contributed to public git repositories [
          <xref ref-type="bibr" rid="ref25">25</xref>
          ].
        </p>
      </sec>
      <sec id="sec-4-3">
        <title>C. Ericsson</title>
        <p>
          Ericsson [
          <xref ref-type="bibr" rid="ref22">22</xref>
          ] has pioneered Executable UML research and
tools development. In the realm of model compilers, Ericsson
built a C model compiler that generates efficient code for
cellular network nodes. Ericsson invests heavily in open
source modeling and serves in the Papyrus Industry
Consortium. xtUML was attractive because of the focus on
data modeling and open, metamodel-based model compilation.
        </p>
      </sec>
      <sec id="sec-4-4">
        <title>D. UK Crown</title>
        <p>Agencies within the United Kingdom have been active
Shlaer-Mellor modelers for most of two decades. One group
recently migrated models from a commercial proprietary UML
tool to Papyrus-xtUML (BridgePoint) and contributed a C++
model compiler targeted at distributed POSIX. Additionally, a
run-time model debugger was added to the open source
repository of xtUML tools.</p>
      </sec>
      <sec id="sec-4-5">
        <title>E. Agilent</title>
        <p>
          A group within Agilent [
          <xref ref-type="bibr" rid="ref23">23</xref>
          ] formerly known as Varian has
developed a line of gas chromatography equipment using
xtUML. These devices have been running in the field for more
than ten years with new, modeled features added by teams of
modelers in the USA, Netherlands and China. The ability to
preserve the application PIM and modify only the PSM in the
model compiler enabled Agilent to retarget as electronics and
microcontrollers advanced.
        </p>
      </sec>
      <sec id="sec-4-6">
        <title>F. Research and Academia</title>
        <p>
          xtUML and Papyrus-xtUML (BridgePoint) have been used
in curricula at the university and secondary school levels.
Examples include universities in Japan (Shinshu University,
Kyushu University), Croatia (University of Zagreb), Hungary
(Budapest University of Technology and Economics), Sweden
(Chalmers of Technology) and a high school in the United
States (Faith Christian) [
          <xref ref-type="bibr" rid="ref16">16</xref>
          ]. Courses using xtUML often
include hands-on modeling, execution and translation onto
targets. Target environments have included various robotics
packages and small embedded control boards that provide
physical evidence of execution behavior.
        </p>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>V. CURRENT STATE</title>
      <sec id="sec-5-1">
        <title>A. Body of Intellectual Property</title>
        <p>
          The current body of intellectual property encoded as
xtUML models is rich and growing. One company reports an
investment of four hundred years of engineering in applications
employing the methodology. A recent trend is that more
models are shared openly [
          <xref ref-type="bibr" rid="ref24">24</xref>
          ]. This gives new projects a head
start and encourages reuse among all teams.
        </p>
      </sec>
      <sec id="sec-5-2">
        <title>B. Self Hosting</title>
        <p>One xtUML model of particular interest that is openly
shared is the model of Papyrus-xtUML (BridgePoint) itself.
The tool is simply an extension of the xtUML metamodel.
Editor, Execution and Translation functionality are xtUML
application domains built on top of the "OOA of OOA". The
whole is compiled with a Java model compiler and packaged as
Eclipse plugins. Papyrus-xtUML (BridgePoint) is a modeling
tool that models and compiles itself.</p>
      </sec>
      <sec id="sec-5-3">
        <title>C. Papyrus and Papyrus Industry Consortium</title>
        <p>
          xtUML tooling leverages underlying infrastructure based
on Java and Eclipse. Work is ongoing to establish greater
commonality and standardization by deploying EMF [
          <xref ref-type="bibr" rid="ref18">18</xref>
          ] and
Papyrus [
          <xref ref-type="bibr" rid="ref5">5</xref>
          ]. The Papyrus Platform has gained widespread
acceptance as an open standard for UML2-based modeling and
is being sponsored and promoted by participants of the Papyrus
Industry Consortium (Figure 4).
        </p>
      </sec>
    </sec>
    <sec id="sec-6">
      <title>VI. RELATED MODELING DIALECTS It is informative to compare and contrast xtUML with other UML-based executable modeling languages. Below are a few dialects of particular interest.</title>
      <sec id="sec-6-1">
        <title>A. MASL</title>
        <p>MASL [26] is a human readable concrete textual syntax for
a Shlaer-Mellor derived modeling language. MASL describes
both structure (classes and state machines) as well as activities
(action language) in one cohesive textual language. MASL can
be used to express the full semantics of graphical models and
has become part of xtUML.</p>
        <p>B. Alf</p>
        <p>
          Alf [
          <xref ref-type="bibr" rid="ref12">12</xref>
          ] is the Object Management Group standard for
expressing activities. Like MASL, Alf can express the
structure of an Executable UML model. Alf is interpretively
executable and compilable. xtUML is slowly but purposefully
converging to the Alf standard. Meanwhile, Alf is evolving to
support additional modeling semantics (e.g. state machines).
C. UML-RT
        </p>
        <p>
          UML-RT [
          <xref ref-type="bibr" rid="ref17">17</xref>
          ] is based on ROOM [
          <xref ref-type="bibr" rid="ref7">7</xref>
          ]. UML-RT is similar
to xtUML in its focus on execution and architecture (run-time).
The two dialects differ in the underlying methodology. ROOM
is predominantly functional decomposition within capsules
running hierarchical state machines. UML-RT manages
complexity with hierarchical state machines where xtUML
focuses on data modeling with relational class diagrams.
UML-RT employes a fixed run-time environment where
xtUML generates the run-time based on rules defined in the
model compiler.
        </p>
        <p>UML-RT is supported on the Papyrus Platform and has
paved the way for xtUML to adopt a similar tooling approach
built on the UML2 compliant editing platform provided by
Papyrus. Papyrus-RT and Papyrus-xtUML (BridgePoint) are
being managed in the same project group within the Papyrus
Industry Consortium and are sharing underlying tools
technology.</p>
      </sec>
    </sec>
    <sec id="sec-7">
      <title>VII. NEXT STATE</title>
      <sec id="sec-7-1">
        <title>A. Eclipse</title>
        <p>
          Papyrus-xtUML (BridgePoint) has been an Eclipse
application since 2004. However, until 2013 the source code
for the tooling was proprietary. In 2014 all of the tooling
opened up and has been placed under governance of the
Eclipse Foundation [
          <xref ref-type="bibr" rid="ref2">2</xref>
          ]. Greater involvement in the Eclipse
community has increased the visibility and acceptance of
xtUML tooling.
        </p>
        <p>Look to see the benefits of Eclipse Foundation governance
and a growth of the committer and contributor base during the
next months and years.</p>
      </sec>
      <sec id="sec-7-2">
        <title>B. Papyrus</title>
        <p>Papyrus provides an open source standardized UML2
editing platform supporting profiles. Several modeling dialects
are basing their tooling on the Papyrus Platform. Papyrus
supports editors for Information Modeling, SysML, UML-RT
and other UML-related idioms. Papyrus-xtUML (BridgePoint)
is moving onto the Papyrus Platform to leverage this
commonality of underlying technology.</p>
      </sec>
      <sec id="sec-7-3">
        <title>C. Action Language</title>
        <p>Action languages are model-aware, abstract, platform
independent syntaxes for the specification of processing.
Papyrus-xtUML (BridgePoint) supports OAL and recently
MASL. Support for Alf is under study. Experiments have
demonstrated its feasibility.</p>
        <p>The next state for action language is proliferation and
pluggability. OAL is established; MASL is joining.
Interpretive execution of MASL is expected soon. Support of
state machine -enabled Alf will follow.</p>
      </sec>
      <sec id="sec-7-4">
        <title>D. Persistence</title>
        <p>By default the Eclipse Modeling Framework (EMF)
persists data as metamodel instances encoded with XMI.
Parallel efforts in various modeling projects are exploring
concrete textual syntaxes for modeling languages including the
structural elements. Such an approach serializes the
inmemory metamodel into a human readable, understandable,
parsable and editable language. This strategy has advantages
for editability and configuration management (diff/merge).
With the advent of MASL and Alf, Papyrus-xtUML
(BridgePoint) is likely to adopt this approach.</p>
      </sec>
      <sec id="sec-7-5">
        <title>E. Hybrid Textual/Graphical Editing</title>
        <p>Related to the human readable persistence described above
is a hybrid approach to editing both graphics and text.
Graphics are being recognized as a view into the semantics of
the model. Therefore, graphical and textual expressions of the
meaning of the models can co-exist. Papyrus-xtUML
(BridgePoint) can automatically render graphics from textual
models. Expect to see advances in model editing that support
concurrent textual/graphical editing.</p>
      </sec>
      <sec id="sec-7-6">
        <title>F. Type System</title>
        <p>
          The xtUML type system expressed in the metamodel is
largely the same as the original Shlaer-Mellor. Advances
proposed by Darwen and Date [
          <xref ref-type="bibr" rid="ref19">19</xref>
          ] will drive improvements in
the representation of types in xtUML. This type system will
elegantly model types, type references and operations around
compatibility and convertability.
        </p>
      </sec>
      <sec id="sec-7-7">
        <title>G. fUML and Alf</title>
        <p>
          Members of the xtUML community have been involved in
the creation and refinement of the Foundational Executable
UML (fUML) [
          <xref ref-type="bibr" rid="ref11">11</xref>
          ] and Action Language for Foundational
UML (ALF) [
          <xref ref-type="bibr" rid="ref12">12</xref>
          ]. However, Papyrus-xtUML (BridgePoint) is
minimally compliant to these standards. During migration onto
the Papyrus Platform and while changes are made to the
xtUML metamodel, conformance to these standards will be a
greater priority even as these standards mature and support a
greater level of semantics.
        </p>
      </sec>
    </sec>
    <sec id="sec-8">
      <title>VIII. CONCLUSION</title>
      <p>xtUML has remained fundamentally true to the underlying
Shlaer-Mellor method through time and tooling evolution. A
body of successful projects, models, teams and companies
illustrates the strength of this approach to executable modeling.
Recent commitments to open source licensing, governance and
ecosystems are accelerating advances in the tooling and
collaboration between users, suppliers and academics.
Specifically, Papyrus and the Papyrus Industry Consortium are
bringing together these interested parties in a manner similar to
the convergence of technologies in Eclipse. xtUML and
executable modeling are benefiting.
A Foundation for
with</p>
      <p>Japanese
language
naming
[26] MASL – Model Action Specification Language
github.com/xtuml/bridgepoint/tree/master/src/org.xtuml.bp.doc/Referenc
e/MASL</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          <article-title>[1] xtuml.org - Executable, Translatable UML and BridgePoint</article-title>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          <article-title>[2] Papyrus for xtUML (BridgePoint) - projects</article-title>
          .eclipse.org/projects/modeling.papyrus-xtuml.
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>Stephen</given-names>
            <surname>Mellor</surname>
          </string-name>
          ,
          <source>Sally Shlaer - Modeling the World in Data, ISBN 978- 0136290230.</source>
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>Stephen</given-names>
            <surname>Mellor</surname>
          </string-name>
          , Sally Shlaer - Object
          <string-name>
            <surname>Lifecycles</surname>
          </string-name>
          , ISBN
          <volume>978</volume>
          - 0136299400.
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>[5] Papyrus - projects.eclipse.org/projects/modeling.mdt.papyrus.</mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>Papyrus</given-names>
            <surname>Industry</surname>
          </string-name>
          Consortium - www.polarsys.org/ic/papyrus.
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>Bran</given-names>
            <surname>Selic</surname>
          </string-name>
          , Garth Gullekson, Paul T. Ward -
          <article-title>Real-time Object Oriented Modeling</article-title>
          ,
          <source>ISBN 978-0471599173</source>
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>Mike</given-names>
            <surname>Milinkovich - Models</surname>
          </string-name>
          2015 Ottawa, www.slideshare.net/eclipsedayindia/eclipse-day-india-2015
          <string-name>
            <surname>-</surname>
          </string-name>
          keynotemike-milinkovich
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>Francis</given-names>
            <surname>Bordeleau - Models</surname>
          </string-name>
          2015 Ottawa, ceur-ws.org/Vol1560/keynote.pdf
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>Unified</given-names>
            <surname>Modeling Language (UML) - Object Management</surname>
          </string-name>
          Group, www.omg.org/spec/UML
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>Foundational</given-names>
            <surname>Executable UML (fUML) - Object Management</surname>
          </string-name>
          Group, www.omg.org/spec/FUML
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>Action</given-names>
            <surname>Language for Foundational UML (ALF) - Object Management</surname>
          </string-name>
          Group, www.omg.org/spec/ALF
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <article-title>PyRSL, github</article-title>
          .com/xtuml/pyrsl
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <surname>Stephen</surname>
            <given-names>Mellor</given-names>
          </string-name>
          , Marc Balcer,
          <string-name>
            <surname>Executable</surname>
            <given-names>UML</given-names>
          </string-name>
          :
          <string-name>
            <surname>Model-Driven</surname>
            <given-names>Architectures</given-names>
          </string-name>
          ,
          <source>ISBN 0201748045</source>
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <surname>ET-Robocon</surname>
          </string-name>
          , www.etrobo.jp
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <surname>Starrett</surname>
          </string-name>
          ,
          <article-title>Teaching UML Modeling Before Programming at the High School Level, ieeexplore</article-title>
          .ieee.org/xpl/login.jsp?tp=&amp;
          <source>arnumber=4281135</source>
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [17]
          <article-title>Papyrus for Real Time (Papyrus-</article-title>
          <string-name>
            <surname>RT</surname>
          </string-name>
          )
          <article-title>- www</article-title>
          .eclipse.org/papyrus-rt
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [18]
          <string-name>
            <given-names>Eclipse</given-names>
            <surname>Modeling</surname>
          </string-name>
          <article-title>Framework (EMF), eclipse</article-title>
          .org/modeling/emf
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          [19]
          <string-name>
            <given-names>Hugh</given-names>
            <surname>Darwen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.J.</given-names>
            <surname>Date</surname>
          </string-name>
          , www.thethirdmanifesto.com
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          [20]
          <string-name>
            <surname>Saab</surname>
          </string-name>
          , saab.com
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          [21]
          <string-name>
            <surname>Fuji-Xerox</surname>
          </string-name>
          , www.fujixerox.co.jp
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          [22]
          <string-name>
            <surname>Ericsson</surname>
          </string-name>
          , www.ericsson.com
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          [23]
          <string-name>
            <surname>Agilent</surname>
            <given-names>Technologies</given-names>
          </string-name>
          , www.agilent.com/home
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          [24]
          <article-title>Open Source xtUML models repository github</article-title>
          .com/xtuml/models
        </mixed-citation>
      </ref>
      <ref id="ref25">
        <mixed-citation>
          [25]
          <article-title>Open Source models github</article-title>
          .com/xtuml/modelsjp
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>