<!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>EVOLUTION SUPPORT FOR MODEL-BASED DEVELOPMENT AND TESTING SUMMARY Stephan Bode, Qurat-Ul-Ann Farooq, Matthias Riebisch {stephan.bode | qurat-ul-ann.farooq | matthias.riebisch}@tu-ilmenau.de</article-title>
      </title-group>
      <contrib-group>
        <aff id="aff0">
          <label>0</label>
          <institution>Ilmenau University of Technology</institution>
          ,
          <addr-line>Ilmenau</addr-line>
          ,
          <country country="DE">Germany</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>The First International Workshop on Evolution Support for Model-Based Development and Testing (EMDT2010) was held on September 16, 2010 in Ilmenau, Germany. After a keynote and several paper presentations a workshop discussion was held.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. INTRODUCTION</title>
    </sec>
    <sec id="sec-2">
      <title>2. GOALS OF THE DISCUSSION</title>
      <p>The goal of the workshop discussion was to identify
the key challenges, research questions and ideas for
the support of evolution in software development and
testing. Initiated by keynote and presentations, the
participants from industry and academia should
exchange their experiences and ideas.</p>
    </sec>
    <sec id="sec-3">
      <title>3. DISCUSSION OF THE TERM SOFTWARE</title>
    </sec>
    <sec id="sec-4">
      <title>EVOLUTION</title>
    </sec>
    <sec id="sec-5">
      <title>3.1. Key aspects of the term Evolution</title>
      <p>Unfortunately, a clear definition of the term evolution
is missing. According to Lehman and Ramil (chapter
1 of [1]), the term evolution reflects "a process of
progressive, for example beneficial, change in the
attributes of the evolving entity or that of one or more
of its constituent elements. What is accepted as
progressive must be determined in each context. It is
also appropriate to apply the term evolution when
long-term change trends are beneficial even though
isolated or short sequences of changes may appear
degenerative. For example, an entity or collection of
entities may be said to be evolving if their value or
fitness is increasing over time. Individually or
collectively they are becoming more meaningful,
more complete or more adapted to a changing
environment. "</p>
      <p>Our understanding of the term related to the
workshop theme covers the following key aspects:
• Modification, change, progress, extension over
time
• State of an artefact at different points of time
• Models change: dynamic versus static
• Evolution versus revolution while revolution
means the replacement of an existing system by a
new one
Two examples for evolution shall illustrate the change
of the states:
• A change of natural language requirements leads to
a change of the conceptual model, which in turn
leads to a change of the class diagram as vertical
evolution. This chain has to be traceable
backwards.
• A change of the initial requirements (e.g. use
cases) leads to a change of the functional
specification, e.g. expressed by a visual contract:
with pre and post conditions.</p>
    </sec>
    <sec id="sec-6">
      <title>3.2. Levels and dimensions of evolution</title>
      <p>Evolution of models in a stepwise incremental
development in two dimensions:</p>
      <p>Horizontal: to add one part after the other, leading
to an increased functionality:
• V1 views PDF files,
• V2 views PDF and JPG files</p>
      <p>Vertical: to develop parts to detailed level, leading
to further refinement:
• From abstract specification to components and to
code
• To achieve horizontal evolution, some vertical
evolution steps may be necessary.</p>
      <p>Evolution results in a traceable sequence of parts.</p>
    </sec>
    <sec id="sec-7">
      <title>4. ASPECTS OF SEMANTICS TO BE</title>
    </sec>
    <sec id="sec-8">
      <title>EXPRESSED IN MODELS</title>
      <p>A formal definition of semantics is important for
transformability. The following aspects have to be
expressed in such a way:
• Structure
• Class diagrams, component diagrams
• Behaviour
• State Charts, Petri Nets
• Conceptual models
• Ontology
• Functional specification
• Visual contracts [2], Java Modeling Language
JML: pre and post conditions</p>
    </sec>
    <sec id="sec-9">
      <title>5. IDENTIFIED RESEARCH CHALLENGES</title>
      <p>The participants identified a set of research challenges
• Mastering complexity: modularization vs.</p>
      <p>comprehension
• Appropriate level of detail
• Appropriate models (views) for different types of
tests
• Appropriate models (notations) for different
domains
• Models to cover the relevant aspects of real world
• Decision on separate models for specification, for
testing and development as an overhead or
necessity
• Expression of semantics of data transformation /
functionality
• Dependency relations between models
• Means to bridge the gaps / to overcome the walls
between the stages of development
• Usage of ontologies to bridge the gap between
informal requirements and design models
• Identification of generalized change types
according to their consequences for different
development activities
• Tool integration: establishing appropriate meta
models and interfaces for:
o Model creation
o Code generation
o Test case generation
• Impact analysis for evolution support: how to
identify artefacts affected by changes
• Analysis of the impact of evolution on generated
artefacts
• Reuse of the development artefacts during
evolution, including test cases
• Software product lines – planned reuse vs.</p>
      <p>evolution
• Definition of formal criteria for evolution: legal
issues for example regarding copyright
From the discussion we can conclude that all
mentioned issues are related to the questions:
• Which models are necessary
• How to express the relevant aspects in models
• How to evaluate and to utilize models</p>
    </sec>
    <sec id="sec-10">
      <title>6. ACKNOWLEDGEMENTS</title>
    </sec>
    <sec id="sec-11">
      <title>7. REFERENCES</title>
    </sec>
  </body>
  <back>
    <ref-list />
  </back>
</article>