<!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>Tool support for Collaborative Software Quality Management</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Philipp Kalb</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Ruth Breu</string-name>
          <email>ruth.breu@uibk.ac.at</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Institute of Computer Science University of Innsbruck</institution>
        </aff>
      </contrib-group>
      <abstract>
        <p>Nowadays cloud services and complex cyber{physical systems gradually nd their way into practice. As a result the need for end{to{end software quality management across platform and organizational boundaries has become paramount. One solution proposed by the software engineering community is the use of integrated model repositories for interchanging, interlinking and analyzing software engineering data and coordinating actions of manifold stakeholders working on this data. With MoVE, the Model Evolution Engine, we have developed a model repository supporting model{based data management in heterogeneous tool environments. The state machine based work ow concept allows a tight integration of data and automated and manual actions on the repository in a change{driven way. In this paper we will present the essential components of our MoVE Framework, starting with an introduction of the most important concepts, followed by the state based work ow language which will be contained in our demonstration 1.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>
        Modern software systems tend to consist of fragmented services across devices,
platforms and organizational boundaries. To handle the rising complexity of
such systems the consideration of end{to{end quality management is of major
importance. For example the management of security in large{scale system like
national health records requires coordinated e orts of heterogeneous
stakeholders. Ranging from security engineers tackling technical issues such as designing
secure software services to non{technical stakeholders such as compliance
managers, surveying legal regulations, are also involved. As a consequence these
systems demand for a consolidated treatment of data and processes in the realm
of IT management, software engineering and systems operation [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ].
      </p>
      <p>
        Standards such as ITIL [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] and the software engineering community
suggest the use of integrated model repositories for interchanging, interlinking and
analyzing data [
        <xref ref-type="bibr" rid="ref3 ref4 ref5">3,4,5</xref>
        ]. While repositories have a long history in software
engineering there exists still a huge gap in integrating di erent kinds of model{based
data and semi{structured data. Additionally, the support of processes for end{
to{end quality management, especially the interoperation of strictly structured
1 http://youtu.be/WKG__UnHL8U
processes in IT management and agile processes in software engineering comes
with further challenges. Flexible ticket based work ow management tools, such
as IBMs Jazz platform [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] or Atlassians JIRA project management tool [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ], have
reached rst adoption in practice in recent years. However, they do not address
the aspect of data integration and are still weak in allying manual and automated
tasks.
      </p>
      <p>
        With MoVE, the Model Versioning and Evolution Engine, we have
conceptualized and implemented a model repository referring not only to the data
integration aspect but also the collaboration aspect. The MoVE{approach has a focus
on continuous model integration for software engineering. MoVE provides
methods to achieve traceability across tools, by applying concepts of meta{modelling
and interlinkage. A key feature of MoVE is support for change{driven
engineering, which is a novel methodology to cope with system evolution by supporting
work ows triggered by changes of the systems data artifacts. The work ow
language enables quality management to support change management as described
in standards and guidelines such as ITIL [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] or ISO/IEC 20000 [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ]. Hence, system
evolution respecting data artifacts can be controlled to guaranty an integrated
quality process during the complete software systems life cycle.
      </p>
      <p>In Section 2 we will summarize the important concepts of the MoVE
Framework. Section 3 describes the novel MoVE Work ow language, which is used to
established a change{driven process.
2</p>
      <p>Concepts and Architecture of the MoVE Framework</p>
    </sec>
    <sec id="sec-2">
      <title>2 in the current implementation Magic Draw is used</title>
      <p>tools. These client{side tools are not limited to UML modelling tools. In the
current environment we have developed e.g. a MoVE Adapter for Microsoft
Excel to demonstrate the applicability of our concepts in a heterogeneous tool
environment. The MoVE Adapter's main responsibility is to manage the
mapping between the tool data representation and the representation in the MoVE
Framework. CRUDQ{Services interact with the MoVE Engine, which is the main
component of the MoVE server{side.</p>
      <p>The major tasks of the MoVE Engine are to support versioning and
persistency for all model elements stored in the MoVE Repository and to provide
a Plug{in Interface. MoVE is event{driven in terms of generating an event
for each change of a model or model element (using the CRUDQ{Services for
changes). Each occurring change is analysed and then transformed into a change
event. Server{side MoVE plug{ins listen to certain types of events and can
trigger further actions. A Plug{in System allows users to register plug{ins for
every (partial) model separately and therefore to decide which event should
result in further actions. A crucial consumer of change events is the MoVE State
Machine Engine, which allows to create state machine based work ows triggered
by change events. Due to the importance of the MoVE work ow methodology it
be described in Section 3 in more details.</p>
      <sec id="sec-2-1">
        <title>The MoVE State Machine Work ow Language</title>
        <p>The general idea of our state machine based work ow approach is that a model
element can evolve during the operation of a system and typically undergoes a
dedicated life cycle which is represented as a UML state machine.
Fig. 2: System Model In Magic Draw with Updates for the Security Model in
MS Excel</p>
        <p>Each model element in the CMM can be attached with states and state
machines. The states determine the quality gates in the quality lifecycle of
the model element, like a Security Requirement being in the states ADDED,
COMPLETE or EVALUATED. Transitions between states may be triggered
in an automatic way by internal events stemming from other state machines,
a timer or change events created by the MoVE Engine. Alternatively, manual
transitions need user interaction which is implemented via systems such as mail
3. Each transition can be guarded by conditions de ned in OCL or the Hibernate
Query Language (HQL).</p>
        <p>Figure 2 shows two screenshots from our demonstration. The underlying
CMM links a System Model with security requirements. The con gured
workows control that on change of elements of the System Model, the linked security
requirements have to be be re{evaluated. On the left side one can see a System
Model designed with Magic Draw. On the right side, a spreedsheet{view in MS
Excel contains the linked security requirements. Figure 2 shows the situation
after an update of the System Model. The state of the linked security requirement
changes from EVALUATED to ADDED and thus causes a re{evaluation of the
security requirements.</p>
        <p>In case a state has changed, it is possible to de ne a number of actions
onEntry of the new state and onExit of the current state. These actions e.g.
may involve external systems such as mail to notify stakeholders. Actions can
be de ned with two options: (i) The MoVE Executeable Pro le contains several</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>3 in our implementation we use Mylyn</title>
      <p>prede ned actions that can be composed in standard UML activity diagrams.
Using this option it is possible to trigger prede ned actions in a certain order
but with limited expressiveness. (ii) Alternatively it is possible to use the fUML
standard to create rich activity diagrams. FUML supports not only the actions
de ned in the MoVE Executeable Pro le but a huge subset of UML activity
diagrams. This enables users to create complex model changes on state changes.
4</p>
      <sec id="sec-3-1">
        <title>Conclusion</title>
        <p>In this demonstration paper we have sketched the MoVE framework which is a
powerful model repository that integrates model storage capabilities.</p>
        <p>
          The MoVE framework has been developed within the EU-IST project
SecureChange [
          <xref ref-type="bibr" rid="ref9">9</xref>
          ] and has been employed as a central model repository for security
policy interlinkage within the EU-IST project PoSecCo [
          <xref ref-type="bibr" rid="ref10">10</xref>
          ]. The has been
evaluated in several case studies, both from applicability in industrial context, but also
performance perspective. Within PoSecCo, the MoVE environment included six
connected tools, using more than 4000 instances and about 15 state machines.
The tool is available open source under Eclipse EPL license.
        </p>
      </sec>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Breu</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Agreiter</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Farwick</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Felderer</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hafner</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>InnerhoferOberper er</surname>
          </string-name>
          , F.:
          <article-title>Living models - ten principles for change-driven software engineering</article-title>
          .
          <source>Int. J. Software and Informatics</source>
          <volume>5</volume>
          (
          <issue>1</issue>
          -2) (
          <year>2011</year>
          )
          <volume>267</volume>
          {
          <fpage>290</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2. APM Group Ltd:
          <article-title>ITIL o cial website</article-title>
          ,
          <source>accessed on february 19</source>
          ,
          <year>2014</year>
          . http://www.itil
          <article-title>-o cialsite</article-title>
          .com/home/home.aspx.
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Sztipanovits</surname>
          </string-name>
          , J.:
          <source>Cyber physical systems - convergence of physical and information sciences. it - Information Technology</source>
          <volume>54</volume>
          (
          <issue>6</issue>
          ) (
          <year>2012</year>
          )
          <volume>257</volume>
          {
          <fpage>265</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Atkinson</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Stoll</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bostan</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          :
          <article-title>Supporting view-based development through orthographic software modeling</article-title>
          .
          <source>In: ENASE</source>
          . (
          <year>2009</year>
          )
          <volume>71</volume>
          {
          <fpage>86</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Bruegge</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Creighton</surname>
            ,
            <given-names>O.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Helming</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kogel</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Unicase an ecosystem for unied software engineering research tools</article-title>
          .
          <source>In: Third IEEE International Conference on Global Software Engineering</source>
          , ICGSE. (
          <year>2008</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6. IBM:
          <article-title>Jazz { rational team concert; project web side</article-title>
          ,
          <source>accessed on february 20</source>
          ,
          <year>2014</year>
          . https://jazz.net/products/rational-team-concert/.
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7. Atlassian:
          <article-title>Jira { project web side</article-title>
          ,
          <source>accessed on march 20</source>
          ,
          <year>2014</year>
          . https://www.atlassian.com/software/jira.
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8. ISO/IEC: ISO/IEC20000. Information technology {
          <article-title>Service management</article-title>
          .
          <source>ISO/IEC</source>
          (
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9. SecureChange: EU project,
          <source>accessed on june 30</source>
          ,
          <year>2014</year>
          . http://www.securechange.eu/.
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10. PoSecCo : EU project,
          <source>accessed on june 30</source>
          ,
          <year>2014</year>
          http://www.posecco.eu/.
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>