Quelltextgenerierung für LEGO Mindstorms-Roboter - Geismann, Johannes (Berichtsband der Informatiktage 2013: Smarte Sichten, smarte Schichten)
Die Komplexität von mechatronischen Systemen wird stetig größer. MechatronicUML (MUML) ist eine Methode zur Entwicklung für Software von mechatronischen Systemen. Im Rahmen einer Bachelorarbeit wurde ein bestehender Quelltextgenerator für MUML-Modelle so erweitert, dass Quelltext für ein Echtzeitbetriebssystem generiert werden kann, welches auf einem LEGO Mindstorms-Roboter installiert ist.

Modulare Leistungsprognose von Kompaktsteuerungen - Frieben, Jens; Heutger, Henning; Meyer, Matthias; Becker, Steffen (9. Paderborner Workshop Entwurf mechatronischer Systeme)

Service Matching under Consideration of Explicitly Specified Service Variants - Platenius, Marie Christin; von Detten, Markus; Gerth, Christian; Schäfer, Wilhelm; Engels, Gregor (IEEE 20th International Conference on Web Services (ICWS 2013))
One of the main ideas of Service-Oriented Computing (SOC) is the delivery of flexibly composable services provided on world-wide markets. For a successful service discovery,service requests have to be matched with the available service offers. However, in a situation in which no service that completely matches the request can be discovered, the customer may tolerate slight discrepancies between request and offer. Some existing fuzzy matching approaches are able to detectsuch service variants, but they do not allow to explicitly specify which parts of a request are not mandatory. In this paper, we improve an existing service matching approach based onVisual Contracts leveraging our preliminary work of design pattern detection. Thereby, we support explicit specifications of service variants and realize gradual matching results that can be ranked in order to discover the service offer that matches a customer’s request best.

Reengineering of Component-Based Software Systems in the Presence of Design Deficiencies - von Detten, Markus
The maintenance of component-based software systems requires up-to-date models of their concrete architecture, i.e. the architecture that is realised in the source code. These models help in systematically planning, analysing and executing typical reengineering activities. Often no or only outdated architectural models of such systems exist. Therefore, various reverse engineering methods have been developed which try to recover a system's components, subsystems and connectors. However, these reverse engineering methods are severely impacted by design deciencies in the system's code base, especially violations of the component encapsulation. As long as design deciencies are not considered in the reverse engineering process, they reduce the quality of the recovered component structures. Despite this impact of design deciencies, no existing architecture reconstruction approach explicitly integrates a systematic deciency detection and removal into the recovery process. Therefore, I have developed Archimetrix. Archimetrix is a tool-supported architecture reconstruction process. It enhances a clustering-based architecture recovery approach with an extensible, pattern-based deciency detection. After the detection of deciencies, Archimetrix supports the software architect in removing the de ciencies and provides the means to preview the architectural consequences of such a removal. I also provide a process to identify and formalise additional deciencies. I validated the approach on three case studies which show that Archimetrix is able to identify relevant deciencies and that the removal of these deciencies leads to an increased quality of the recovered architectures, i.e. they are closer to the corresponding conceptual architectures.

Fuzzy Service Matching in On-The-Fly Computing - Christin Platenius, Marie (Proceedings of the Doctoral Symposium of the 9th joint meeting of the European Software Engineering Conference (ESEC) and the ACM SIGSOFT Symposium on the Foundations of Software Engineering (FSE))
In the future vision of software engineering, services from world-wide markets are composed automated in order to build custom-made systems.Supporting such scenarios requires an adequate service matching approach.Many existing approaches do not fulfill two key requirements of emerging concepts like On-The-Fly-Computing, namely (1) comprehensiveness, i.e., the consideration of different service aspects that cover not only functional properties, but also non-functional properties and (2) fuzzy matching, i.e., the ability to deliver gradual results in order to cope with a certain extent of uncertainty, incompleteness, and tolerance ranges.In this paper, I present a fuzzy matching process that distinguishes between different fuzziness sources and leverages fuzziness in different matching steps which consider different service aspects, e.g., behavior and quality properties.

A Survey of Fuzzy Service Matching Approaches in the Context of On-The-Fly Computing - Platenius, Marie; von Detten, Markus; Becker, Steffen; Schäfer, Wilhelm; Engels, Gregor (Proceedings of the 16th International ACM Sigsoft Symposium on Component-Based Software Engineering)
In the last decades, development turned from monolithic software products towards more flexible software components that can be provided on world-wide markets in form of services. Customers request such services or compositions of several services. However, in many cases, discovering the best services to address a given request is a tough challenge and requires expressive, gradual matching results, considering different aspects of a service description, e.g., inputs/ouputs, protocols, or quality properties. Furthermore,in situations in which no service exactly satifies the request, approximate matching which can deal with a certain amount of fuzziness becomes necessary. There is a wealth of service matching approaches, but it is not clear whether there is a comprehensive, fuzzy matching approach which addresses all these challenges. Although there are a few service matchingsurveys, none of them is able to answer this question. In this paper, we perform a systematic literature survey of 35 (outof 504) service matching approaches which consider fuzzy matching. Based on this survey, we propose a classication,discuss how different matching approaches can be combined into a comprehensive matching method, and identify future research challenges.

Semi-automatic establishment and maintenance of valid traceability in automotive development processes - Fockel, Markus; Holtmann, Jörg; Meyer, Jan (2012 Second International Workshop on Software Engineering for Embedded Systems (SEES))
The functionality realized by software in modern cars is increasing and as a result the development artifacts of automotive systems are getting more complex. The existence of traceability along these artifacts is essential, since it allows to monitor the product development from the initial requirements to the final code. However, traceability is established and maintained mostly manually, which is time-consuming and error-prone. A further crucial problem is the assurance of the validity of the trace links, that is, the linked elements are indeed related to each other. In this paper we present a semiautomatic approach to create, check, and update trace links between artifacts along an automotive development process.

Application and Evaluation in the Automotive Domain - Fockel, Markus; Heidl, Peter; Höfflinger, Jens; Hönninger, Harald; Holtmann, Jörg; Horn, Wilfried; Meyer, Jan; Meyer, Matthias; Schäuffele, Jörg (Model-Based Engineering of Embedded Systems)
This chapter summarizes the application and evaluation of the SPES engineering methodology in the automotive domain. After introducing the particular domain characteristics, we state some research questions that we have investigated. Some of the activities that address these research questions are presented in detail. We conclude that the SPES engineering methodology is a good basis for the development of automotive systems, but could be further refined to fit the particular needs of the domain.

Archimetrix: Improved Software Architecture Recovery in the Presence of Design Deficiencies - Platenius, Marie Christin; von Detten, Markus; Becker, Steffen (Proceedings of the 16th European Conference on Software Maintenance and Reengineering (CSMR))
Maintaining software systems requires up-to-date models of these systems to systematically plan, analyse and execute the necessary reengineering steps. Often, no or only outdated models of such systems exist. Thus, a reverse engineering step is needed that recovers the system’s components, subsystems and connectors. However, reverse engineering methods are severely impacted by design deficiencies in the system’s code base, e.g., they lead to wrong component structures. Several approaches exist today for the reverse engineering of component-based systems, however, none of them explicitly integrates a systematic design deficiency removal into the process to improve the quality of the reverse engineered architecture. Therefore, in our Archimetrix approach, we propose to regard the most relevant deficiencies with respect to the reverse engineered component-based architecture and support reengineers by presenting the architectural consequences of removing a given deficiency. We validate our approach on the Common Component Modeling Example and show that we are able to identify relevant deficiencies and that their removal leads to an improved reengineered architecture.

Partially Evaluating Finite-State Runtime Monitors Ahead of Time - Bodden, Eric; Lam, Patrick; Hendren, Laurie (ACM Transactions on Programming Languages and Systems)

Automatic Validation and Correction of Formalized, Textual Requirements - Holtmann, Jörg; Meyer, Jan; von Detten, Markus (2011 IEEE Fourth International Conference on Software Testing, Verification and Validation Workshops)
Nowadays requirements are mostly specified in unrestricted natural language so that each stakeholder understands them. To ensure high quality and to avoid misunderstandings, the requirements have to be validated. Because of the ambiguity of natural language and the resulting absence of an automatic mechanism, this has to be done manually. Such manual validation techniques are timeconsuming, error-prone, and repetitive because hundreds or thousands of requirements must be checked. With an automatic validation the requirements engineering process can be faster and can produce requirements of higher quality. To realize an automatism, we propose a controlled natural language (CNL) for the documentation of requirements. On basis of the CNL, a concept for an automatic requirements validation is developed for the identification of inconsistencies and incomplete requirements. Additionally, automated correction operations for such defective requirements are presented. The approach improves the quality of the requirements and therefore the quality of the whole development process.

Eine durchgängige Entwicklungsmethode von der Systemarchitektur bis zur Softwarearchitektur mit AUTOSAR - Meyer, Jan; Holtmann, Jörg (Tagungsband des Dagstuhl-Workshop MBEES: Modellbasierte Entwicklung eingebetteter Systeme VII)
Heutige Steuergeraete im Automobilbereich zeichnen sich durch eine hohe Funktionsvielfalt und eine hohe Vernetzung untereinander aus. Dies fuehrt zu immer komplexeren Systemen, wobei auch immer mehr sicherheitskritische Funktionen durch Software realisiert werden. Damit die Qualitaet der Software entsprechend hoch und zufriedenstellend ist, erfordert die Entwicklung ein systematisches und prozesskonformes Vorgehen. Der fuer die Softwarearchitektur entwickelte AUTOSAR Standard ist allerdings nicht fuer die fruehen Entwicklungsphasen wie die Anforderungsanalyse und das Systemarchitekturdesign gedacht, welche von Prozessbewertungsmodellen – wie Automotive SPICE – gefordert werden. Als Loesung fuer die Analyse bietet sich die Nutzung der Systems Modeling Language (SysML) mit Anpassungen bzw. Erweiterungen an die Beduerfnisse der Automobilindustrie, an. Damit aber keine Luecke im Entwicklungsprozess entsteht, wird bei der hier vorgestellten Methode ein wohldefinierter uebergang zur AUTOSAR Architektur, und zwar zur Applikations- und zur Basissoftware, definiert.

Interpreting Story Diagrams for the Static Detection of Software Patterns - Fockel, Markus; Travkin, Dietrich; von Detten, Markus (Proceedings of the 8th International Fujaba Days)
Software maintenance tasks require knowledge about the software’s design. Several tools help to identify implementations of software patterns, e.g. Design Patterns, in source code and thus help to reveal the underlying design. In case of the reverse engineering tool suite Reclipse, detection algorithms are generated from manually created, formal pattern specifications. Due to numerous variants that have to be considered, the pattern specification is error-prone. Because of this, the complex, step-wise generation process has to be traceable backwards to identify specification mistakes. To increase the traceability, we directly interpret the detection algorithm models (story diagrams) instead of executing code generated from these models. This way, a reverse engineer no longer has to relate generated code to the story diagrams to find mistakes in pattern specifications.

Formalisierung von Anforderungen und Betriebssystemeigenschaften zur fruehzeitigen Simulation von eingebetteten, automobilen Systemen - Meyer, Jan; Holtmann, Jörg; Meyer, Matthias (8. Paderborner Workshop Entwurf mechatronischer Systeme)
Durch die immer kuerzer werdenden Entwicklungszyklen und den groeßer werdenden Druck bzgl. Time-to-Market fuer eingebettete Systeme im Automobilsektor steigt der Bedarf, die Systeme bereits zu fruehen Entwicklungszeitpunkten gegenueber den Qualitaetsanforderungen (z. B. Zeitanforderungen und Ressourcenauslastung) zu verifizieren. Wir stellen einen Ansatz vor, der eine formale Spezifikation von Zeitanforderungen und Wirkketten sowie deren fruehzeitige Analyse durch Simulation erlaubt. Verletzungen von Zeitanforderungen werden in den Simulationsergebnissen automatisch erkannt.

A Seamless Model-Based Development Process for Automotive Systems - Holtmann, Jörg; Meyer, Jan; Meyer, Matthias (Software Engineering 2011 – Workshopband (inkl. Doktorandensymposium))
Safety 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. The development process addresses the issues mentioned above by using systematic transitions between different modeling aspects and simulations in early development stages.

Reengineering of Design Deficiencies in Component-Based Software Architectures - Platenius, Marie Christin

Reverse Engineering with the Reclipse Tool Suite - von Detten, Markus; Meyer, Matthias; Travkin, Dietrich (Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering (ICSE 2010), Cape Town, South Africa, May 2-8, 2010)

Reclipse - A Reverse Engineering Tool Suite - von Detten, Markus; Meyer, Matthias; Travkin, Dietrich
Design pattern detection is a reverse engineering methodology that helps software engineers to analyze and understand legacy software by recovering design decisions and thereby providing deeper insight into software. In this report we present Reclipse, a reverse engineering tool suite based on Fujaba. Reclipse provides static and dynamic design pattern detection in combination with a pattern rating that is used to evaluate the quality of our detection results.

Formal Scenario-based Requirements Specification and Test Case Generation in Healthcare Applications - Löffler, Renate; Meyer, Matthias; Gottschalk, Matthias (Proceedings of the 2010 ICSE Workshop on Software Engineering in Health Care)

Designing Self-healing in Automotive Systems - Seebach, Hella; Nafz, Florian; Holtmann, Jörg; Meyer, Jan; Tichy, Matthias; Reif, Wolfgang; Schäfer, Wilhelm (Lecture Notes in Computer Science)
Self-healing promises to improve the dependability of systems. In particular safety-critical systems like automotive systems are well suited application, since safe operation is required in these systems even in case of failures. Prerequisite for the improved dependability is the correct realization of the self-healing techniques. Consequently, self-healing activities should be rigorously specified and appropriately integrated with the rest of the system. In this paper, we present an approach for designing self-healing mechanisms in automotive systems. The approach contains a construction model which consist of a structural description as well as an extensive set of constraints. The constraints specify a correct system structure and are also used in the self-healing activities. We exemplify the self-healing approach using the adaptive cruise control system of modern cars.