71 research outputs found
Fundamental Approaches to Software Engineering
This open access book constitutes the proceedings of the 25th International Conference on Fundamental Approaches to Software Engineering, FASE 2022, which was held during April 4-5, 2022, in Munich, Germany, as part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2022. The 17 regular papers presented in this volume were carefully reviewed and selected from 64 submissions. The proceedings also contain 3 contributions from the Test-Comp Competition. The papers deal with the foundations on which software engineering is built, including topics like software engineering as an engineering discipline, requirements engineering, software architectures, software quality, model-driven development, software processes, software evolution, AI-based software engineering, and the specification, design, and implementation of particular classes of systems, such as (self-)adaptive, collaborative, AI, embedded, distributed, mobile, pervasive, cyber-physical, or service-oriented applications
Tools and Algorithms for the Construction and Analysis of Systems
This open access two-volume set constitutes the proceedings of the 27th International Conference on Tools and Algorithms for the Construction and Analysis of Systems, TACAS 2021, which was held during March 27 β April 1, 2021, as part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2021. The conference was planned to take place in Luxembourg and changed to an online format due to the COVID-19 pandemic. The total of 41 full papers presented in the proceedings was carefully reviewed and selected from 141 submissions. The volume also contains 7 tool papers; 6 Tool Demo papers, 9 SV-Comp Competition Papers. The papers are organized in topical sections as follows: Part I: Game Theory; SMT Verification; Probabilities; Timed Systems; Neural Networks; Analysis of Network Communication. Part II: Verification Techniques (not SMT); Case Studies; Proof Generation/Validation; Tool Papers; Tool Demo Papers; SV-Comp Tool Competition Papers
Exploration games for UML software design
The Unified Modeling Language (UML) has become the standard language
for the design of object-oriented software systems over the past
decade. Even though there exist various tools which claim to support
design with UML, their functionality is usually focused on drawing UML
diagrams and generating code from the UML model. The task of choosing
a suitable design which fulfils the requirements still has to be
accomplished by the human designer alone.
The aim of this thesis is to develop concepts for UML design tools
which assist the modeller in improving the system design and
requirements incrementally. For this approach a variant of formal
games called exploration games is introduced as underlying
technique. Exploration games can be defined on the basis of incomplete
and imprecise UML models as they occur frequently in practice. The
designer repeatedly plays an exploration game to detect flaws or
incompleteness in the design and its specification, which are both
incorporated in the game definition. At any time the game definition
can be incremented by the modeller which allows him to react to the
discoveries made during a play and experiment with new design solutions.
Exploration games can be applied to UML in different variants. For
each variant must be specified how the UML diagrams are used to set up
the game and how the semantic variation points of UML should be
interpreted. Furthermore some parts of the game definition may not be
contained in the UML model and have to be provided separately. The
emphasis of this thesis is on game variants which make use of UML
diagrams for modelling system behaviour, especially state machines
and activity diagrams.
A prototypical implementation demonstrates how the concepts developed
in this thesis can be put into practice. The tool supports the user in
defining, playing and incrementing a game. Moreover it can compute
winning strategies for the players and may act as opponent of the
modeller. As example a game variant based on UML state machines has
been implemented. The architecture that has been chosen for the tool
leaves room for extension by additional game variants and alternative
algorithms
- β¦