<!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>Domain-spanning Maintainability Analysis for Software-intensive Systems</article-title>
      </title-group>
      <contrib-group>
        <aff id="aff0">
          <label>0</label>
          <institution>Kiana Rostami Institute for Program Structures and Data Organization Karlsruhe Institute of Technology</institution>
          ,
          <addr-line>KIT</addr-line>
        </aff>
      </contrib-group>
      <fpage>106</fpage>
      <lpage>108</lpage>
      <abstract>
        <p>Long-living software systems undergo changes during their life cycle, due to modifications of the systems themself or in their environment. Software-intensive systems such as manufacturing systems consist of heterogeneous components involving electrical, mechanical and software artifacts. A Change to one of these components may result in changes in another component, which may not be modeled at all. Thus, change propagation analysis of such heterogeneous systems is inaccurate and high cost- and time-consuming due to change impact on unknown artifacts. We address this issue in design phase by considering the system design as the key artifact for change impact analysis. Therefore, we propose to tailor existing meta-models to reflect the heterogeneity of such systems. Specifying perspectives for heterogeneous components helps developer to identify unknown artifacts, which increases the prediction accuracy.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Challenges</title>
      <p>Copyright c by the paper’s authors. Copying permitted for private and academic purposes.</p>
      <p>Existing approaches to change propagation analysis are limited to software systems. These approaches analyze
the maintainability from organizational (e.g., resource and personal management) and/or technical perspective
(e.g., design or implementation) in order to identify affected artifacts. However, applying the existing approaches
to manufacturing systems face the challenge of identifying appropriate perspectives for heterogeneous systems
involving mechanical or electrical components. As a consequence, both maintainability prediction and change
propagation analysis of such heterogeneous systems are often inaccurate and high cost- and time-consuming due
to change impact on unknown artifacts.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Related Work</title>
      <p>Related work to change impact propagation and effort estimation can be divided into four categories:
(i) Task-based project planning approaches involve either a hierarchically decomposition of tasks into
sub-tasks (e.g., Hierarchical Task Analysis (HTA) [KA03]) and/or the use of different cost estimating approaches
(e.g., Comprehensive Cost Model (COCOMO) II [BABea00]). However, using coarse-grained system design
models leads to poor predictive capability.</p>
      <p>(ii) Architecture-based project planning approaches (e.g., Carbon [CFR+12] or Architecture-Centred
Software Project Planning (ACSPP) [PB01]) combine software architecture with the corresponding project plan.
However, these approaches do not offer support for change effort estimation based on a given system design, nor
automated change impact analysis, nor derivation of task lists required.</p>
      <p>(iii) Approaches to architecture-based software evolution (e.g., Naab’s approach [Naa12] or the
approach of Garlan et al. [GBSC09]) analyze software evolution by considering software architecture. However,
these approaches do not support effort estimation, nor automated change impact analysis.</p>
      <p>(iv) Approaches to scenario-based architecture analysis (e.g., Software Architecture Analysis Method
(SAAM) [CKK02], Architecture-Level Modifiability Analysis (ALMA) [BLBvV04], Architecture-Centric Project
Management (ACPM) [PB01], or Karlsruhe Architectural Maintainability Prediction (KAMP) [SR09]) assess
the quality of software architectures using scenarios. KAMP is a tool-supported approach, which derives task
lists from the organizational and technical perspective. KAMP can be applied to derive task lists to address
performance issues [HH14] and to plan software project [HH13].</p>
      <p>However, the approaches associated with the latter three categories only support software architecture. Thus,
they do not consider components in other domains, such as electronic components.
3</p>
    </sec>
    <sec id="sec-3">
      <title>Solution Idea</title>
      <p>Software architecture is the main artifact in a software system, which reflects important design decisions on
structural, technological and organizational aspects in all stages of the software life cycle. There are already
various approaches to meta-model the software architecture (e.g., PCM [BKR09]). System design in
manufacturing systems can be seen as an analogy for software architecture. Both reflect the composition of the system
by components and interfaces. As there are similar questions about maintainability estimation in the domain of
software systems and manufacturing systems at design-time, we propose to adapt existing approaches to
software change propagation (e.g., [SR09]) to the domain of manufacturing systems. To this end, we build upon
the approaches to change propagation, which consider both the organizational and technical perspective based
on the software architecture model. Currently, existing approaches model the control software in manufacturing
systems. Building upon Systems Modeling Language (SysML) [OMG12], the next step is to meta-model the
entire system design of manufacturing systems involving electrical and mechanical components. To this purpose,
we have to identify the appropriate abstraction layer of system elements. Identifying the further perspective
similar to those identified for software systems is the key to estimating change propagation in heterogeneous
systems. Knowing the perspectives will improve our knowledge of affected artifacts by a change.</p>
      <p>In order to include associated processes in the change impact analysis, we aim to meta-model the business
processes and technical processes. KAMP is the only approach, which uses a formal architecture meta-model.
It builds upon the following scenario: (i) Preparation phase: The user manually models the software system
and annotates the architecture model to show the additional information (e.g., test cases, build configuration,
or deployment context). To this end, the user applies an extended PCM. (ii) Change request phase: After
the user alters the architecture model to show the change request, KAMP automatically calculates a list of tasks
required to implement the change request. However, according to related work KAMP focuses only on software
systems. In order to analyze the change propagation in manufacturing systems, we aim to extend KAMP’s idea
to include the meta-models and processes mentioned above.</p>
      <p>After determining the meta-models of system design and related processes, we propose to extend the above
scenario to a roadmap of change requests, which occur with a certain probability. Roadmaps are already used
in the industry to prioritize future change scenarios. Thus, each change request of the roadmap leads to a
maintenance task list. The purpose of the resulting task list is to assess the maintainability of the software
architecture or the system design. Evolving different variants of the initial architecture over time results in a
maintainability simulator. The input to the maintainability simulator is also an initial architecture and a certain
change roadmap. The resulting task lists would support developers to estimate the change effort. Furthermore,
comparing various resulting architectures helps developer to identify the most maintainable one and to estimate
thus the maintenance of the initial architecture at design time.</p>
      <p>Future work includes (i) developing and extending meta-models to reflect software systems and manufacturing
systems, associated processes and their interrelations, and (ii) specifying perspectives of heterogeneous system.
Based on the meta-models and perspectives we extend KAMP to consider heterogeneous system components
and to implement the aforementioned maintainability simulator.</p>
      <p>Ralf Carbon, Kaiserslautern Fraunhofer, Dieter Rombach, Peter Liggesmeyer, and Frank Bomarius.
Architecture-Centric Software Producibility Analysis. Fraunhofer IRB Verlag, 2012.</p>
      <p>P. Clements, R. Kazman, and M. Klein. Evaluating Software Architectures: Methods and Case
Studies. SEI series in software engineering. Addison-Wesley, 2002.</p>
      <p>Oliver Hummel and Robert Heinrich. Towards automated software project planning - extending
palladio for the simulation of software processes. In KPDAYS, pages 20–29, 2013.</p>
      <p>Christoph Heger and Robert Heinrich. Deriving work plans for solving performance and scalability
problems. In EPEW, pages 104–118, 2014.</p>
      <p>B. Kirwan and L.K. Ainsworth. A Guide To Task Analysis: The Task Analysis Working Group.
Taylor &amp; Francis, 2003.</p>
      <p>Matthias Naab. Enhancing architecture design methods for improved flexibility in long-living
information systems. PhD thesis, Fraunhofer IESE, 2012.</p>
      <p>OMG Object Management Group. OMG Systems Modeling Language (OMG SysML), Version 1.3,
2012.</p>
      <p>Daniel J. Paulish and Len Bass. Architecture-Centric Software Project Management: A Practical
Guide. Addison-Wesley Longman Publishing Co., Inc., 2001.</p>
      <p>Johannes Stammel and Ralf Reussner. Kamp: Karlsruhe architectural maintainability prediction.
In Proc. of 1st. L2S2 Workshop, pages 87–98, 2009.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [BABea00]
          <string-name>
            <surname>Barry</surname>
            <given-names>W.</given-names>
          </string-name>
          <string-name>
            <surname>Boehm</surname>
            ,
            <given-names>Chris</given-names>
          </string-name>
          <string-name>
            <surname>Abts</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          <string-name>
            <surname>Winsor Brown</surname>
          </string-name>
          , and et al.
          <article-title>Software Cost Estimation with Cocomo II with Cdrom</article-title>
          .
          <source>Prentice Hall</source>
          ,
          <year>2000</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [BKR09]
          <string-name>
            <given-names>Steffen</given-names>
            <surname>Becker</surname>
          </string-name>
          , Heiko Koziolek, and
          <string-name>
            <given-names>Ralf</given-names>
            <surname>Reussner</surname>
          </string-name>
          .
          <article-title>The palladio component model for model-driven performance prediction</article-title>
          .
          <source>J. Syst. Softw.</source>
          ,
          <volume>82</volume>
          (
          <issue>1</issue>
          ):
          <fpage>3</fpage>
          -
          <lpage>22</lpage>
          ,
          <year>January 2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          <string-name>
            <surname>[BLBvV04] PerOlof Bengtsson</surname>
          </string-name>
          , Nico Lassing, Jan Bosch, and Hans van Vliet.
          <article-title>Architecture-level modifiability analysis (ALMA)</article-title>
          .
          <source>J. Syst. Softw.</source>
          ,
          <volume>69</volume>
          (
          <issue>1-2</issue>
          ):
          <fpage>129</fpage>
          -
          <lpage>147</lpage>
          ,
          <year>January 2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          <source>[CFR+12] [CKK02] [GBSC09] [HH13] [HH14] [KA03] [Naa12] [OMG12] [PB01] [SR09] David Garlan</source>
          ,
          <string-name>
            <given-names>Jeffrey M.</given-names>
            <surname>Barnes</surname>
          </string-name>
          ,
          <string-name>
            <surname>Bradley R. Schmerl</surname>
            , and
            <given-names>Orieta</given-names>
          </string-name>
          <string-name>
            <surname>Celiku</surname>
          </string-name>
          .
          <article-title>Evolution styles: Foundations and tool support for software architecture evolution</article-title>
          .
          <source>In WICSA/ECSA</source>
          , pages
          <fpage>131</fpage>
          -
          <lpage>140</lpage>
          . IEEE,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>