=Paper= {{Paper |id=None |storemode=property |title=Evolution Support for Model-Based Development and Testing – Summary |pdfUrl=https://ceur-ws.org/Vol-646/EMDT2010paper5.pdf |volume=Vol-646 }} ==Evolution Support for Model-Based Development and Testing – Summary== https://ceur-ws.org/Vol-646/EMDT2010paper5.pdf
  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

                        Ilmenau University of Technology, Ilmenau, Germany


                1. INTRODUCTION                            • Evolution versus revolution while revolution
                                                             means the replacement of an existing system by a
The First International Workshop on Evolution                new one
Support for Model-Based Development and Testing
(EMDT2010) was held on September 16, 2010 in               Two examples for evolution shall illustrate the change
Ilmenau, Germany. After a keynote and several paper        of the states:
presentations a workshop discussion was held.              • A change of natural language requirements leads to
                                                              a change of the conceptual model, which in turn
        2. GOALS OF THE DISCUSSION                            leads to a change of the class diagram as vertical
                                                              evolution. This chain has to be traceable
The goal of the workshop discussion was to identify           backwards.
the key challenges, research questions and ideas for       • A change of the initial requirements (e.g. use
the support of evolution in software development and          cases) leads to a change of the functional
testing. Initiated by keynote and presentations, the          specification, e.g. expressed by a visual contract:
participants from industry and academia should                with pre and post conditions.
exchange their experiences and ideas.
                                                           3.2. Levels and dimensions of evolution
 3. DISCUSSION OF THE TERM SOFTWARE                        Evolution of models in a stepwise incremental
                EVOLUTION                                  development in two dimensions:
                                                               Horizontal: to add one part after the other, leading
                                                           to an increased functionality:
3.1. Key aspects of the term Evolution                     • V1 views PDF files,
Unfortunately, a clear definition of the term evolution    • V2 views PDF and JPG files
is missing. According to Lehman and Ramil (chapter             Vertical: to develop parts to detailed level, leading
1 of [1]), the term evolution reflects "a process of       to further refinement:
progressive, for example beneficial, change in the         • From abstract specification to components and to
attributes of the evolving entity or that of one or more       code
of its constituent elements. What is accepted as           • To achieve horizontal evolution, some vertical
progressive must be determined in each context. It is          evolution steps may be necessary.
also appropriate to apply the term evolution when              Evolution results in a traceable sequence of parts.
long-term change trends are beneficial even though
isolated or short sequences of changes may appear                4. ASPECTS OF SEMANTICS TO BE
degenerative. For example, an entity or collection of                   EXPRESSED IN MODELS
entities may be said to be evolving if their value or
fitness is increasing over time. Individually or           A formal definition of semantics is important for
collectively they are becoming more meaningful,            transformability. The following aspects have to be
more complete or more adapted to a changing                expressed in such a way:
environment. "                                             • Structure
    Our understanding of the term related to the           • Class diagrams, component diagrams
workshop theme covers the following key aspects:           • Behaviour
• Modification, change, progress, extension over           • State Charts, Petri Nets
    time                                                   • Conceptual models
• State of an artefact at different points of time         • Ontology
• Models change: dynamic versus static                     • Functional specification
                                                           • Visual contracts [2], Java Modeling Language
                                                              JML: pre and post conditions
  5. IDENTIFIED RESEARCH CHALLENGES                         • Software product lines – planned reuse vs.
                                                              evolution
The participants identified a set of research challenges    • Definition of formal criteria for evolution: legal
• Mastering      complexity:      modularization      vs.     issues for example regarding copyright
  comprehension
• Appropriate level of detail                               From the discussion we can conclude that all
• Appropriate models (views) for different types of         mentioned issues are related to the questions:
  tests                                                     • Which models are necessary
• Appropriate models (notations) for different              • How to express the relevant aspects in models
  domains                                                   • How to evaluate and to utilize models
• Models to cover the relevant aspects of real world
• Decision on separate models for specification, for                  6. ACKNOWLEDGEMENTS
  testing and development as an overhead or
  necessity                                                 We want to thank the contributors of the discussion
• Expression of semantics of data transformation /          for their input and their statements: Sven Biegler,
  functionality                                             Ilmenau University of Technology, Germany; Jirapun
• Dependency relations between models                       Daengdej, Assumption University, Thailand; Stefan
• Means to bridge the gaps / to overcome the walls          Groß, Ilmenau University of Technology Germany;
  between the stages of development                         Baris Güldali, University Paderborn, Germany;
• Usage of ontologies to bridge the gap between             Christian Kop, University Klagenfurt, Austria; Bernd-
  informal requirements and design models                   Holger Schlingloff, Humboldt University, Germany.
• Identification of generalized change types
  according to their consequences for different                              7. REFERENCES
  development activities
• Tool integration: establishing appropriate meta           [1] Meir Lehman and Juan C. Fernández-Ramil:
  models and interfaces for:                                Software Evolution. In: Nazim H. Madhavji, Juan C.
         o Model creation                                   Fernández-Ramil and Dewayne E. Perry: Software
         o Code generation                                  Evolution and Feedback: Theory and Practice, Wiley,
         o Test case generation                             2006, pp 7-40.
• Impact analysis for evolution support: how to             [2] Mark Lohmann, Stefan Sauer, Gregor Engels:
  identify artefacts affected by changes                    Executable visual contracts. In: 2005 IEEE
• Analysis of the impact of evolution on generated          Symposium on Visual Languages and Human-Centric
  artefacts                                                 Computing, pp. 63-70, IEEE CS Press, 2005.
• Reuse of the development artefacts during
  evolution, including test cases