<!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>MEMOCenterNG { A full-featured modeling environment for organization modeling and model-driven software development</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Jens Gulden</string-name>
          <email>jens.gulden@uni-duisburg-essen.de</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Dr. Ulrich Frank</string-name>
          <email>ulrich.frank@uni-duisburg-essen.de</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>University Duisburg-Essen</institution>
          ,
          <addr-line>Universitaetsstr. 9, 45141 Essen</addr-line>
          ,
          <country country="DE">Germany</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>We present MEMOCenterNG1, an integrated, full-featured modeling environment containing 11 built-in modeling languages together with meta-modeling support for creating new languages and corresponding diagram editors. Tools for analysis, model transformation and code generation are included. A comprehensive multi-language modeling tool Large modeling projects typically use multiple modeling languages simultaneously to express a variety of aspects of a modeled system. This holds true in diverse types of modeling projects, especially in business process modeling, which unites conceptual business aspects with technical realizations. Model-driven software development bene ts from multiple interrelated modeling perspectives to gain a coherent and as complete view as possible on the system to be developed. To foster large modeling projects, an integrated modeling environment tool is desirable to reduce e orts in combining multiple model editors operating on shared model content. Semantic integrity is an indispensable requirement for multi-perspective modeling [6], that means, when di erent model editors reference the same concept (e.g., a person displayed both in an organization structure diagram and in a process diagram), the model editor components need to share common information about its unique identity. The need for semantic integrity requires model editors to work on top of a common set of meta-concepts [7] which ensures semantically valid relations among model data. With MEMOCenterNG, we present a comprehensive modeling environment which integrates an extensible set of modeling languages on the basis of 1 MEMOCenterNG is named after the MEMO enterprise modeling method [6]. \NG" stands for \Next Generation", MEMOCenterNG is the successor to an earlier MEMOCenter prototype application.</p>
      </abstract>
      <kwd-group>
        <kwd>Modeling</kwd>
        <kwd>Model-driven software development</kwd>
        <kwd>Multi-perspective modeling</kwd>
        <kwd>Enterprise modeling</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>a consolidated common meta-model API. The provided modeling languages are
suitable to express knowledge about a system on three di erent levels of
abstraction from multiple interdependent perspectives.</p>
      <p>
        The available levels of abstraction provided by built-in modeling languages
in MEMOCenterNG are:
1. A meta-modeling layer which allows for creating new modeling languages
and corresponding diagram editors, and also internally de nes other built-in
modeling lnaguages.
2. A set of built-in modeling languages for modeling the organizational
environment of involved actors, their goals, behaviour and involved resources.
This organizational abstraction layer is provided by domain-speci c
modeling languages of the MEMO modeling method [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ].
3. An implementation model layer which o ers general purpose modeling
languages to express a software system's inner perspective in terms of, e.g.,
classes, attributes and relationships.
      </p>
      <p>Figure 1 gives an overview on the component architecture of
MEMOCenterNG, as it evolves from applying the MEMO Meta Modeling Language (MML)
for language creation.</p>
      <p>implemented through
generate
Ecore
instance
compile
create meta model
specify concrete syntax
modify/add code
test model editor</p>
      <p>
        MEMOCenterNG contains a total of 11 modeling languages on all three
abstraction layers. This set is composed of 7 domain speci c languages as
proposed by the MEMO method [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ], made up of Activity Diagrams, Allocation
Diagrams, Organization Diagrams, Process Control Flow Diagrams, Process
Decomposition Diagrams, Resource Diagrams and Strategy Diagrams. 3
implementationlevel generic purpose modeling languages covering Data Flow Diagrams (DFD),
Entity-Relationship-Models (ERM) and class-diagrams of the Uni ed Modeling
Language (UML), and the MEMO Meta-Modeling Language (MML). These
initially available languages can be enhanced by any number of speci c modeling
Eclipse
Modelling
      </p>
      <p>
        Environment
MML Editor
MEMO Center
languages created with the MML. Supplemented by third-party tooling
components, models can be analyzed, model-transformations can be carried out,
and code-generation mechanisms are available to generatively create software in
a model-driven development process. Altogether, MEMOCenterNG forms a
comprehensive environment for modeling on multiple layers of abstraction from
multiple perspectives, store and manage interrelated models in a common
environment, and further process model data inside the same platform. In
modeldriven software development projects, generated artefacts can furthermore be
edited, compiled and packaged within the same tool. The platform is based on
the Eclipse [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] environment which can additionally be enhanced by a multitude
of third-party supplementary components for software development.
      </p>
      <p>
        By means of the included MEMO Meta Modeling Language (MML, [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]), new
modeling languages can e ciently be created, and appropriate diagram editors
for using the languages are automatically created from MML meta-models.
      </p>
      <p>
        Since all generated components run in the same environment as
MEMOCenterNG, models and generated software components may even re ectively
refer to MEMOCenterNG's models. This allows models to be integrated into
software components at runtime as part of a self-referential information system
architecture [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ].
2
      </p>
    </sec>
    <sec id="sec-2">
      <title>Organization modeling languages</title>
      <p>
        To express the outer context of an incident to be modeled, organization modeling
languages capture people's goals, their behavior, organizational structure and
resources of the modeled context. Such types of models play an important role
in enterprise modeling (EM, [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ]), to express types of business processes that are
performed in an organization. Besides business contexts in a narrow sense, any
organizational setting and projects with shared goals among groups of people
can generically be expressed with the semantic modeling concepts provided by
these modeling languages.
      </p>
      <p>
        MEMOCenterNG comes pre-packaged with interrelated modeling
languages of the MEMO OrgML [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] that cover organization modeling. These are in
the rst place the Organization Diagram language for modeling organizational
structure, and the Process Control Flow Language [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ], which allow to express
semantically rich process model descriptions of business processes and other
methodical procedures in organizations. The Process Control Flow language is
enhanced by the Process Decomposition Language which allows for specifying
static decomposition relationships among process steps, i.e., express which
process steps are made out of others. Finally, the Strategy Diagram and Activity
Diagram languages for expressing strategy, goals and actions from a high-level
strategic view are part of the environment.
      </p>
      <p>
        To model physical and non-tangible resources in business contexts, the ResML
[
        <xref ref-type="bibr" rid="ref10">10</xref>
        ] is included in the set of modeling languages, accompanied by the Allocation
Diagram language which is responsible to express the mappings between process
steps and resources.
      </p>
    </sec>
    <sec id="sec-3">
      <title>Included meta-modeling language</title>
      <p>
        The MEMO Meta Modeling Language (MML, [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]) included in
MEMOCenterNG has especially been designed to e ciently enhance existing languages,
and to automatically generate deployable diagram editors from meta-model
descriptions of modeling languages. The MML puts special focus on interlinking
multiple modeling languages. Concepts from other, previously existing MML
models, can be referenced. Every concept is classi ed by a unique graphical
symbol which indicates to which language it belongs.
      </p>
      <p>
        Full-featured diagram editors can automatically be generated by a single
mouse-click from MML models within the user-interface of MEMOCenterNG's
MML editor. These generated diagram editors are fully downwards-compatible
to the Eclipse Modeling Framework (EMF, [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ]) and Graphical Modeling
Framework (GMF, [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ]) components, which allows for applying any additional EMF / GMF
technology component to MML-speci ed model editors and corresponding model
instances, and also use model-instances for analysis, transformation and
codegeneration (see sect. 5).
      </p>
    </sec>
    <sec id="sec-4">
      <title>Implementation-level modeling languages</title>
      <p>
        In order to take a traditional modeling view on a low abstraction level,
MEMOCenterNG contains three classical formal systems modeling languages, Entity
Relationship Models (ERM, [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]), Data Flow Diagrams (DFD, [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]) and object
oriented class diagrams from the Uni ed Modeling Language (UML, [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]). Selected
concepts of these languages can be referenced from elements in organization
models to trace implementation details from a high real-world abstraction level
down to technical details.
      </p>
      <p>Each of the implementation-level modeling languages comes with pre-packaged
analysis and code-generation functionality. The ERM model editor allows to
generate a relational database schema from ERM models as a sequence of executable
SQL data declaration statements, which subsequently may be executed from
inside the Eclipse platform to deploy the initial database. The DFD editor comes
with basic analysis capabilities, and from UML class diagrams, the source code
for Java classes can be generated.</p>
      <p>
        Together with the software development features of the underlying Eclipse
[
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] platform, MEMOCenterNG forms a fully integrated model-driven software
development environment. An example of integrating between an organization
model and an implementation model is displayed in gure 4.
      </p>
    </sec>
    <sec id="sec-5">
      <title>Supplementary Tools for analysis, model-transformation and code-generation</title>
      <p>
        All components of MEMOCenterNG are based on the Eclipse Modeling Project
[
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] components EMF and GMF, and make use of the Ecore language [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] through
the MML. As a consequence, any supplementary component that exists for the
Eclipse Modeling Project can be applied in MEMOCenterNG, too. This
allows for seamlessly integrating supporting technology such as Xtend / Xpand
[
        <xref ref-type="bibr" rid="ref5">5</xref>
        ], and other speci c code generation languages such as Velocity [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ], or the
QVT [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ] model transformation language. By default, the Eclipse components
for Xtend / Xpand transformations are included in the MEMOCenterNG
environment.
6
      </p>
    </sec>
    <sec id="sec-6">
      <title>Availability</title>
      <p>A beta-version of MEMOCenterNG is available for download at http://www.
wi-inf.uni-duisburg-essen.de/FGFrank/download/memo/. Please request
password information from the authors.</p>
    </sec>
    <sec id="sec-7">
      <title>Conclusion and Outlook</title>
      <p>We have presented a modeling tool that o ers multiple modeling languages in
an integrated environment, based on a meta-model supported language
architecture and enriched by an easy-to-use meta-model editor for speci c language
enhancements.</p>
      <p>A common language architecture ensures the semantic integration of concepts
across multiple languages. By incorporating meta modeling and the creation of
new modeling languages into the feature spectrum of the modeling tool, a new
degree of exibility and adaptability to future requirements part of the
application. This makes MEMOCenterNG a comprehensive, full-featured integrated
modeling environment for multiple types of modeling projects, including
modeldriven software development approaches. Currently, the tool is successfully used
for teaching purposes and in medium-sized business projects carried out in
cooperation with our research group.</p>
      <p>In further research work, we intend to develop and integrate additional
modeling languages, e.g., for designing indicator systems that are integrated with
models of business processes and IT resources. We also plan to extend the
framework with elaborate support for method engineering by integrating model editors
with corresponding process editors.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Booch</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Jacobson</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rumbaugh</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          :
          <source>The Uni ed Modeling Language Reference Manual. Addison-Wesley</source>
          , Reading (
          <year>1999</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Chen</surname>
            ,
            <given-names>P.: The</given-names>
          </string-name>
          <string-name>
            <surname>Entity-Relationship</surname>
            <given-names>Model</given-names>
          </string-name>
          {
          <article-title>Toward a Uni ed View of Data</article-title>
          .
          <source>In: ACM Transactions on Database Systems 1/1/1976 ACM-Press ISSN 0362-5915</source>
          , pp.
          <volume>9</volume>
          {
          <issue>36</issue>
          (
          <year>1976</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3. DeMarco, T.:
          <article-title>Structured Analysis and System Speci cation</article-title>
          . Prentice Hall, Upper Saddle River (
          <year>1979</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <given-names>Eclipse</given-names>
            <surname>Foundation</surname>
          </string-name>
          : Eclipse Platform. http://www.eclipse.org/ (2010-04-25)
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5. E tinge, S.,
          <string-name>
            <surname>Friese</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Haase</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          <article-title>and others: openArchitectureWare User Guide</article-title>
          . http://www.openarchitectureware.org/pub/documentation/4.3.1/ html/contents/index.html (
          <year>2008</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Frank</surname>
            ,
            <given-names>U.</given-names>
          </string-name>
          ,
          <article-title>MEMO: A Tool Supported Methodology for Analyzing and</article-title>
          (Re-)
          <source>Designing Business Information Systems</source>
          . In: Ege,
          <string-name>
            <given-names>R.</given-names>
            ,
            <surname>Singh</surname>
          </string-name>
          ,
          <string-name>
            <surname>M.</surname>
          </string-name>
          , Meyer, B. (eds.):
          <source>Technology of Object-Oriented Languages and Systems</source>
          , pp.
          <volume>367</volume>
          {
          <issue>380</issue>
          (
          <year>1994</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Frank</surname>
            ,
            <given-names>U.</given-names>
          </string-name>
          :
          <article-title>The MEMO Meta Modeling Language (MML) and Language Architecture</article-title>
          .
          <source>ICB-Research Report No. 24</source>
          , Institute for Computer Science and Business (ICB), University Duisburg-Essen (
          <year>2008</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <given-names>Ulrich</given-names>
            <surname>Frank</surname>
          </string-name>
          ,
          <string-name>
            <given-names>U.</given-names>
            ,
            <surname>Strecker</surname>
          </string-name>
          ,
          <string-name>
            <surname>S.</surname>
          </string-name>
          :
          <source>Beyond ERP Systems: An Outline of Self-Referential Enterprise Systems. ICB-Research Report No. 31</source>
          , Institute for Computer Science and Business (ICB), University Duisburg-Essen (
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Gronback</surname>
          </string-name>
          , R. C.:
          <article-title>Eclipse Modeling Project: A Domain-Speci c Language (DSL) Toolkit</article-title>
          .
          <string-name>
            <surname>Addison-Wesley</surname>
            <given-names>Longman</given-names>
          </string-name>
          , Amsterdam (
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Jung</surname>
          </string-name>
          , J.:
          <article-title>Entwurf einer Sprache fur die Modellierung von Ressourcen im Kontext der Geschftsprozessmodellierung</article-title>
          . Logos, Berlin (
          <year>2007</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11. Object Management Group: Meta Object Facility Query / View / Transformations. http://www.omg.org/spec/QVT/1.0 (
          <year>2008</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Apache Software</surname>
          </string-name>
          <article-title>Foundation: The Apache Velocity Project</article-title>
          . http://velocity. apache.org/ (2010-04-25)
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Steinberg</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Budinsky</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Paternostro</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Merks</surname>
          </string-name>
          , E.: EMF:
          <article-title>Eclipse Modeling Framework (2nd edition)</article-title>
          .
          <string-name>
            <surname>Addison-Wesley</surname>
            <given-names>Longman</given-names>
          </string-name>
          , Amsterdam (
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>