- KonferenzbeitragKompatibilitätsanalyse bei Evolution framework-basierter Anwendungen(Software Engineering 2011 – Workshopband, 2011) Christ, Fabian; Bals, Jan-Christopher; Reussner, Ralf; Pretschner, Alexander; Jähnichen, StefanDie Entwicklung betrieblicher Informationssysteme basiert auf dem Einsatz von Frameworks. Diese bieten ein hohes Maß an Wiederverwendung und sind flexibel anpassbar. Mit der Evolution der eingesetzten Frameworks unabhängig von der Anwendung entsteht die Notwendigkeit, Frameworks durch neuere Versionen zu ersetzen, um Fehler zu beheben oder neue Funktionen benutzen zu können. Etwaige Inkompatibilitäten neuer Versionen erfordern Anpassungen an der Anwendung. In der Praxis entsteht das Problem, dass die erforderlichen Anpassungen schwierig zu bestimmen sind. In dieser Arbeit zeigen wir einen Ansatz zur automatischen Kompatibilitätsanalyse bei der Evolution framework-basierter Anwendungen.
- KonferenzbeitragIntroducing adaptivity to achieve longevity for software(Software Engineering 2011 – Workshopband, 2011) Derakhshanmanesh, Mahdi; Ebert, Jürgen; Amoui, Mehdi; Tahvildari, Ladan; Reussner, Ralf; Pretschner, Alexander; Jähnichen, StefanLong living software systems (LLSSs) must provide the flexibility to react to changes in their operating environment as well as to changes in the user's requirements, even during operation. Self-adaptive software systems (SASSs) face adaptivity at runtime within predefined bounds. Yet, not all types of necessary variations can be anticipated and unforeseen changes to software may happen. Thus, systems that are meant to live in such an open-ended world must provide self-adaptivity (micro adaptation), but there is an additional need for adaptability of the system so that it can be adjusted externally (macro adaptation). This paper gives an overview of the graphbased runtime adaptation framework (GRAF) and sketches how it targets both types of adaptation.
- KonferenzbeitragEnriching OSGI service interfaces with formal sequential contracts(Software Engineering 2011 – Workshopband, 2011) Müller, Marco; Balz, Moritz; Goedicke, Michael; Reussner, Ralf; Pretschner, Alexander; Jähnichen, StefanArchitecture description languages define component interfaces with sequential contracts, which allow for static analysis of method call sequences in component or service interactions. However, component and service platforms like OSGi for Java do not provide mechanisms for the specification or enforcement of such sequential contracts. Thus the contracts are only defined in the documentation which might be outdated when long-living systems evolve at the implementation level. This vision paper proposes to attach formal sequential models, in our case interface automata, to the interface definition of OSGi services, so that the modeling information is permanently and tightly coupled to the implementation. This enables consistent documentation, static analysis of component interactions at design time, and real-time enforcement of behavioural contracts at run time. By this means, component interactions can be seamlessly verified in long-living systems when components and their connections are added or changed over time.
- KonferenzbeitragENVISION 2020: Zweiter Workshop zur Zukunft der Entwicklung softwareintensiver, eingebetteter Systeme(Software Engineering 2011 – Workshopband, 2011) Lauenroth, Kim; Rzepka, Mark; Reussner, Ralf; Pretschner, Alexander; Jähnichen, Stefan
- KonferenzbeitragTowards software sustainability guidelines for long-living industrial systems(Software Engineering 2011 – Workshopband, 2011) Koziolek, Heiko; Weiss, Roland; Durdik, Zoya; Stammel, Johannes; Krogmann, Klaus; Reussner, Ralf; Pretschner, Alexander; Jähnichen, StefanLong-living software systems are sustainable if they can be cost-effectively maintained and evolved over their complete life-cycle. Software-intensive systems in the industrial automation domain are typically long-living and cause high evolution costs, because of new customer requirements, technology changes, and failure reports. Many methods for sustainable software development have been proposed in the scientific literature, but most of them are not applied in industrial practice. We identified typical evolution scenarios in the industrial automation domain and conducted an extensive literature search to extract a number of guidelines for sustainable software development based on the methods found in literature. For validation purposes, we map one evolution scenario to these guidelines in this paper.
- KonferenzbeitragA seamless model-based development process for automotive systems(Software Engineering 2011 – Workshopband, 2011) Holtmann, Jörg; Meyer, Jan; Meyer, Matthias; Reussner, Ralf; Pretschner, Alexander; Jähnichen, StefanSafety critical functions for embedded systems are increasingly realized with software. Current and future standards and maturity models impose high accuracy and quality for the development process of such software-intensive, embedded systems. But nowadays, there are process and tooling gaps between different modeling aspects for the system under development (SUD). Furthermore, the SUD is usually verified and validated not until it is completely implemented, which leads to expensive corrections. In this paper we present a seamless, model-based development process, which is intended for the automotive supplier domain and conforms to the process reference model of Automotive SPICE®1. The development process addresses the issues mentioned above by using systematic transitions between different modeling aspects and simulations in early development stages.
- Editiertes BuchSoftware Engineering 2011 – Workshopband(2011) Reussner, Ralf; Pretschner, Alexander; Jähnichen, Stefan
- KonferenzbeitragA formal method to identify deficiencies of functional requirements for product lines of embedded systems(Software Engineering 2011 – Workshopband, 2011) Markert, Florian; Oster, Sebastian; Reussner, Ralf; Pretschner, Alexander; Jähnichen, StefanFunctional requirements that were stated in cooperation with the stakeholders have to be analyzed and reviewed. Deficiencies like incompleteness, contradictions and redundancy within the requirements may lead to an extended development effort. Identifying and resolving these deficiencies in an existing or evolving set of functional requirements for embedded systems is of major importance. Especially, if the requirements describe a set of possible products. Formal methods provide a powerful way to review the requirements automatically. This paper proposes a method adopted from the formal verification of hardware components to uncover the deficiencies within a given set of requirements. The basis of this approach is built by safety properties represented as Linear Temporal Logic (LTL) formulas which are extracted from the requirements. The presented process is evaluated by means of the specification of a car seat.
- KonferenzbeitragTowards the combination of clustering-based and pattern-based reverse engineering approaches(Software Engineering 2011 – Workshopband, 2011) Travkin, Oleg; Detten, Markus von; Becker, Steffen; Reussner, Ralf; Pretschner, Alexander; Jähnichen, StefanReverse Engineering, i.e. the analysis of software for the purpose of recovering its design documentation, e.g. in form of the conceptual architecture, is an important area of software engineering. Today, two prevalent reverse engineering approaches have emerged: (1) the clustering-based approach which tries to analyze a given software system by grouping its elements based on metric values to provide the reverse engineer with an overview of the system and (2) the pattern-based approach which tries to detect predefined structural patterns in the software which can give insight about the original developers' intentions. These approaches operate on different levels of abstraction and have specific strengths and weaknesses. In this paper, we sketch an approach towards combining these techniques which can remove some of the specific shortcomings.
- KonferenzbeitragOnline performance prediction with architecture-level performance models(Software Engineering 2011 – Workshopband, 2011) Brosig, Fabian; Reussner, Ralf; Pretschner, Alexander; Jähnichen, StefanToday's enterprise systems based on increasingly complex software architectures often exhibit poor performance and resource efficiency thus having high operating costs. This is due to the inability to predict at run-time the effect of changes in the system environment and adapt the system accordingly. We propose a new performance modeling approach that allows the prediction of performance and system resource utilization online during system operation. We use architecture-level performance models that capture the performance-relevant information of the software architecture, deployment, execution environment and workload. The models will be automatically maintained during operation. To derive performance predictions, we propose a tailorable model solving approach to provide flexibility in view of prediction accuracy and analysis overhead.