=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==
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