<!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>Towards a Framework for the Integration of Modeling Languages</article-title>
      </title-group>
      <contrib-group>
        <aff id="aff0">
          <label>0</label>
          <institution>Department of Computer Science, University of Paderborn</institution>
          ,
          <country country="DE">Germany</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>In software markets of the future, customer-speci c software will be developed on demand from distributed software and hardware services available on world-wide markets. Having a request, services have to be automatically discovered and composed. For that purpose, services have to be matched based on their speci cations. For the accurate matching, services have to be described comprehensively that requires the integration of di erent domain-speci c languages (DSLs) used for functional, non-functional, and infrastructural properties. Since di erent service providers use plenty of language dialects to model the same service property, their integration is needed for the matching. In this paper, we propose a framework for integration of DSLs. It is based on a parameterized abstract core language that integrates key concepts needed to describe a service. Parts of the core language can be substituted with concrete DSLs. Thus, the framework serves as a basis for the comprehensive speci cation and automatic matching of services.</p>
      </abstract>
      <kwd-group>
        <kwd>Integration of DSLs</kwd>
        <kwd>Metamodeling</kwd>
        <kwd>Service Speci cations</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>In the Collaborative Research Centre 901 \On-The-Fly Computing" (OTF
Computing), we develop techniques to automatically con gure IT services distributed
on world-wide markets in an ad hoc manner to ful ll customer-speci c requests1.
On receiving a request, suitable software and hardware services have to be
automatically discovered and composed. For that purpose, services descriptions
have to be compared with search requests (matching ), in order to determine
whether they t. After a service composition has been created, its quality has
to be analyzed, in order to determine the most suitable solution to the request.</p>
      <p>In the remainder of this paper, research questions in OTF Computing are
presented in Section 2. Then, preliminary results on the framework and its
contributions are described in Section 3. Finally, Section 4 summarizes the proposed
method and contains further steps.
?? This work was partially supported by the German Research Foundation (DFG)
within the Collaborative Research Centre \On-The-Fly Computing" (SFB 901)
1 For more information refer to http://sfb901.uni-paderborn.de</p>
    </sec>
    <sec id="sec-2">
      <title>Research Challenges and Issues</title>
      <p>One of the research challenges of OTF Computing is the automatic con
guration of services. It is based on an appropriate matching mechanism and a quality
analysis of composed solutions. The appropriate matching mechanism is based
on service speci cations that, on the one hand, contain all service properties
necessary for their accurate comparison and, on the other hand, not too
complicated so that they would hamper the e ciency of this comparison. The quality
analysis requires service speci cations that can be used to derive properties of a
composed service, in order to check whether it functions properly. So, a research
issue is a service description that enables the automatic and e cient con
guration and quality analysis.</p>
      <p>One broadly used language to describe web services is Web Service
Description Language (WSDL) [CCMW01]. WSDL allows the description of the service
in the form of its operation signatures, but does not provide any expressive
means to describe the behavior of the service. Another challenge is that in
addition to structure and behavior, non-functional properties and infrastructure
information have to be speci ed as well, in order to enable an accurate matching
of service level agreements and execution environments. Approaches like WS-*
speci cations2 propose solutions for single properties of services but these is still
a lack of an integrated language. So, a research issue is an integration of DSLs
for di erent service properties in a consistent comprehensive speci cation.</p>
      <p>One more research challenge of OTF Computing is the fact that service
providers use di erent DSLs to describe the same service properties. Since it is
infeasible to enforce the usage of only one language for all service providers and
requesters, the exibility to use their own DSLs must be preserved. However,
these heterogeneous service descriptions still have to be matched. Therefore,
di erent mutual exclusive DSLs used for the same service property have to be
integrated as well. This kind of integration is often solved in the literature by
creating a syntactical mapping between two DSLs that results in merely
syntactical matching. So, a research issue is a semantical integration of DSLs that will
also yield a matching mechanism considering semantics.
3</p>
    </sec>
    <sec id="sec-3">
      <title>Preliminary Results and Contributions</title>
      <p>In this section, we introduce a framework for the integration of modeling
languages that addresses the research issues introduced in Section 2. An overview
of the framework is shown in Fig. 1. The framework consists of an abstract
core language that serves as a common basis for the integration of DSLs for a
comprehensive speci cation and for matching. The core language accumulates
di erent service properties necessary for the automatic con guration and quality
analysis. It is represented by a metamodel, which in turn comprises further
metamodels each modeling a certain service property. Furthermore, the core language
is parameterized, i.e., its parts can be substituted by concrete DSLs.
2 For more information refer to http://www.w3.org/2002/ws/</p>
      <p>Requirements
Types</p>
      <p>Signatures</p>
      <p>Protocols
Contracts</p>
      <p>Performance</p>
      <p>Trust
Security</p>
      <p>...</p>
      <p>UMLsec</p>
      <p>Parameterization
Core Metamodel (Parameterized)</p>
      <p>Instantiation</p>
      <p>Metamodel (Parameters Instantiated)
Petri Nets</p>
      <p>UML
Statecharts</p>
      <p>Web Service Description</p>
      <p>Language (WSDL)</p>
      <p>UML</p>
      <p>Statecharts</p>
      <p>Visual</p>
      <p>Contracts
Core Language The core language contains abstract DSL-independent key
concepts for each modeled service property. To determine them, requirements from
the content of requests and service speci cations have to be investigated. Based
on DSLs used by domain experts, appropriate language constructs to represent
these key concepts have to be identi ed. Depending on the separation of
concerns, these language constructs have to be grouped into packages with explicit
relations de ned in the form of a metamodel algebra. These relations have to
be checked for consistency throughout the core language that shall enable the
correct integration of concepts from di erent part of the core metamodel.
Parameterization The parameterization is a possibility to substitute abstract
parts of the core language with concrete syntaxes of DSLs. In Fig. 1, it is
illustrated that either UML Statecharts [Obj10] or Petri Nets can be used for the
speci cation of interaction protocols. The parameterization is enabled by de
ning a mapping between the core and a DSL that shall consider not only their
syntax but also their semantics. So, a challenge of this work is to de ne the
formal semantics of the core and develop a systematic approach to create semantical
mappings from DSLs onto the core. This research will be based on the
preliminary work on the formal de nition of behavioral semantics by Soltenborn [SE]
and a semantics-preserving mapping of DSLs by Semenyak [EKR+].
Example The process of binding concrete DSLs onto the core is called
instantiation. One instance of the core language that can be used for the comprehensive
service speci cation is shown in the right box in Fig. 1. This is a language for
rich service descriptions described by Huma in [HGEJ] that allows for service
descriptions based on types, signatures, protocols, and contracts.
In this paper, a framework for the integration of modeling languages in the
context of service-oriented computing is proposed. The framework represents key
concepts of service aspects in the form of an abstract parameterized core
language that enables to bind concrete DSLs onto it. The main advantages of the
framework is the possibility to consistently use di erent DSLs in one
comprehensive service speci cation and to match comprehensive service speci cations
written in di erent languages, both with the consideration of their syntax and
semantics. This serves as a basis for the automatic discovery and composition of
services in OTF Computing.</p>
      <p>My work plan for the PhD is the following:
1. Develop the syntax of the core language that would t the best for the
binding of DSLs and matching of speci cations.
2. Develop a formal semantics de nition for the core language.
3. Identify packages of the core language and develop a metamodel algebra for
relations between them. Check them for consistency.
4. Develop a systematic approach to map concrete DSLs on to the core
syntactically and semantically. On the side of semantics, consider mathematical
formalisms as well as some pragmatic approaches.
5. Evaluate the results.</p>
      <p>The framework will be evaluated during the development of a service
specication language in the context of the CRC 901 and by a student group who
will build a framework for the composition of mobile applications.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [CCMW01]
          <string-name>
            <given-names>E.</given-names>
            <surname>Christensen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Curbera</surname>
          </string-name>
          , G. Meredith, and
          <string-name>
            <given-names>S.</given-names>
            <surname>Weerawarana. Web Service De nition Language</surname>
          </string-name>
          (WSDL).
          <source>Technical report, March</source>
          <year>2001</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [EKR+]
          <string-name>
            <given-names>G.</given-names>
            <surname>Engels</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Kleppe</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Rensink</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Semenyak</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Soltenborn</surname>
          </string-name>
          , and
          <string-name>
            <given-names>H.</given-names>
            <surname>Wehrheim</surname>
          </string-name>
          .
          <article-title>From UML Activities to TAAL - Towards BehaviourPreserving Model Transformations</article-title>
          .
          <source>In Proceedings of the 4th European Conference on Model Driven Architecture - Foundations and Applications (ECMDA-FA 2008)</source>
          , volume
          <volume>5095</volume>
          <source>of LNCS</source>
          , pages
          <volume>95</volume>
          {
          <fpage>109</fpage>
          . Springer.
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [HGEJ]
          <string-name>
            <given-names>Z.</given-names>
            <surname>Huma</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Gerth</surname>
          </string-name>
          , G. Engels, and
          <string-name>
            <given-names>O.</given-names>
            <surname>Juwig</surname>
          </string-name>
          .
          <article-title>A UML-based Rich Service Description for Automatic Service Discovery</article-title>
          .
          <source>In Proceedings of the Forum at the CAiSE'12 Conference on Advanced Information Systems Engineering, CEUR Workshop Proceedings</source>
          , pages
          <volume>90</volume>
          {
          <fpage>97</fpage>
          . CEUR-WS.org.
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [Obj10]
          <article-title>Object Management Group, Inc. (OMG)</article-title>
          .
          <source>OMG Uni ed Modeling Language (OMG UML)</source>
          ,
          <source>Superstructure, Version 2.3. Technical report</source>
          , May
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [SE]
          <string-name>
            <given-names>C.</given-names>
            <surname>Soltenborn</surname>
          </string-name>
          and
          <string-name>
            <given-names>G.</given-names>
            <surname>Engels</surname>
          </string-name>
          .
          <article-title>Towards Test-Driven Semantics Speci cation</article-title>
          .
          <source>In Proceedings of the 12th International Conference on Model Driven Engineering Languages and Systems (MODELS 2009)</source>
          , volume
          <volume>5795</volume>
          <source>of LNCS</source>
          , pages
          <volume>378</volume>
          {
          <fpage>392</fpage>
          . Springer.
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>