ROPocop — Dynamic mitigation of code-reuse attacks - Follner, Andreas; Bodden, Eric (Journal of Information Security and Applications)

Analyzing the Gadgets - Towards a Metric to Measure Gadget Quality - Follner, Andreas; Bartel, Alexandre; Bodden, Eric (International Symposium on Engineering Secure Software and Systems (ESSoS))

Towards a Comprehensive Model of Isolation for Mitigating Illicit Channels - Falzon, Kevin; Bodden, Eric (Principles of Security and Trust: 5th International Conference, POST 2016, Held as Part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2016, Eindhoven, The Netherlands, April 2--8, 2016, Proceedings)

Harvesting Runtime Values in Android Applications That Feature Anti-Analysis Techniques - Rasthofer, Siegfried; Arzt, Steven; Miltenberger, Marc; Bodden, Eric (Network and Distributed System Security Symposium (NDSS))
Keywords: ATTRACT; ITSECWEBSITE

Jumping Through Hoops: Why do Java Developers Struggle With Cryptography APIs? - Nadi, Sarah; Krüger, Stefan; Mezini, Mira; Bodden, Eric (International Conference for Software Engineering (ICSE))
Keywords: CROSSING; ITSECWEBSITE

StubDroid: Automatic Inference of Precise Data-flow Summaries for the Android Framework - Arzt, Steven; Bodden, Eric (International Conference for Software Engineering (ICSE))
Keywords: ITSECWEBSITE

Investigating Users' Reaction to Fine-Grained Data Requests: A Market Experiment - Eling, N.; Rasthofer, S.; Kolhagen, M.; Bodden, Eric; Buxmann, P. (2016 49th Hawaii International Conference on System Sciences (HICSS))

The MechatronicUML Design Method: Process and Language for Platform-Independent Modeling - Dziwok, Stefan; Pohlmann, Uwe; Piskachev, Goran; Schubert, David; Thiele, Sebastian; Gerking, Christopher
Several examples of mechatronic systems can be found nowadays in modern cars, production systems, and medical technology. Day by day, the number of innovative functionalities in such mechatronic systems is increasing. These functionalities are realized with complex software. Such software exhibits hard real-time, safety requirements. The adherence to these requirements must be thoroughly analyzed and verified. Moreover, to obtain a significant increment in the reliability, performance, and efficiency of such software, it needs to maintain the self-adaptation of its properties. In order to develop such systems with a high quality and within a short time, we need a systematic and consistent design method. For this purpose, the software engineering group at the University of Paderborn and the Fraunhofer IEM in Paderborn propose the MechatronicUML method. This method provides a comprehensive model-driven process support, that starts from requirements and reaches the executable software after passing through several design and analysis steps. This process improves the comprehension during development and makes complex systems manageable. MechatronicUML emphasizes mainly on: (1) modeling and (formal) verification of reconfigurable software architectures, (2) the coordination among system components in such architectures, and (3) the integration of discrete software events with the continuous behavior of control devices.

The MechatronicUML Requirements Engineering Method: Process and Language - Holtmann, Jörg; Fockel, Markus; Koch, Thorsten; Schmelter, David; Brenner, Christian; Bernijazov, Ruslan; Sander, Marcel
In this technical report, we present the MechatronicUML requirements engineering method. The method encompasses a process and a scenario-based modeling language for the documentation and analysis of requirements on the message-based interaction behavior of software-intensive systems. The modeling language uses a scenario notation based on Modal Sequence Diagrams (MSDs), which borrows concepts of UML Interactions as well as of Live Sequence Charts. Furthermore, we introduce the so-called Emergency Braking & Evasion System (EBEAS) as a running example, which is based on current and upcoming real-world driver assistance systems.

Anwendung von Methoden der Produktentstehung auf Basis des Systemmodells mechatronischer Systeme - Greinert, Matthias; Tschirner, Christian; Holtmann, Jörg (Tag des Systems Engineering 2016)
Das Systemmodell ist der Kern des Model-Based Systems Engineering (MBSE). Während jedoch im Systems Engineering dem Zusammenspiel von Produkt und Projekt ein hoher Stellenwert beigemessen wird, liegt der Fokus im MBSE noch sehr stark auf technischen Prozessen. Im Hinblick auf die Idee des Systemmodells als zentrale Datenquelle sollten auch Stakeholder jenseits der direkten Entwicklungsaktivitäten das Systemmodell entsprechend nutzen können und davon profitieren. Dazu wird ein Demonstrator vorgestellt, welcher die Anwendung einer Komplexitätsanalyse auf Basis des Systemmodells mechatronischer Systeme stellvertretend für Methoden in Sinne der technischen Managementprozesse der ISO/IEC 15288 aufzeigt. Grundlage des Demonstrators bildet das Systemmodell eines Pedelecs. Die darin modellierten Strukturen dienen als Input für die Komplexitätsanalyse. Über die automatisierte Anwendung der Komplexitätsanalyse ergibt sich als Output ein Portfolio, das die Komplexität der funktionserfüllenden Komponenten mit der Bewertung der Funktionalität in Beziehung setzt und somit eine Beurteilung und entsprechende Handlungsempfehlungen der Komponenten ermöglicht.

Towards Safe Execution of Reconfigurations in Cyber-Physical Systems - Schubert, David; Heinzemann, Christian; Gerking, Christopher (Proceedings of the 19th international ACM Sigsoft symposium on component-based software engineering)

An Overview of Service Specification Language and Matching in On-The-Fly Computing (v0.3) - Platenius, Marie Christin; Josifovska, Klementina; van Rooijen, Lorijn; Arifulina, Svetlana; Becker, Matthias; Engels, Gregor; Schäfer, Wilhelm

Boomerang: Demand-Driven Flow- and Context-Sensitive Pointer Analysis for Java - Späth, Johannes; Nguyen Quang Do, Lisa; Ali, Karim; Bodden, Eric (European Conference on Object-Oriented Programming (ECOOP))
Keywords: ATTRACT; ITSECWEBSITE

Market-Specific Service Compositions: Specification and Matching - Arifulina, Svetlana; Platenius, Marie Christin; Mohr, Felix; Engels, Gregor; Schäfer, Wilhelm (Proceedings of the IEEE 11th World Congress on Services (SERVICES), Visionary Track: Service Composition for the Future Internet)
The Collaborative Research Centre "On-The-Fly Computing" works on foundations and principles for the vision of the Future Internet. It proposes the paradigm of On-The-Fly Computing, which tackles emerging worldwide service markets. In these markets, service providers trade software, platform, and infrastructure as a service. Service requesters state requirements on services. To satisfy these requirements, the new role of brokers, who are (human) actors building service compositions on the fly, is introduced. Brokers have to specify service compositions formally and comprehensively using a domain-specific language (DSL), and to use service matching for the discovery of the constituent services available in the market. The broker's choice of the DSL and matching approaches influences her success of building compositions as distinctive properties of different service markets play a significant role. In this paper, we propose a new approach of engineering a situation-specific DSL by customizing a comprehensive, modular DSL and its matching for given service market properties. This enables the broker to create market-specific composition specifications and to perform market-specific service matching. As a result, the broker builds service compositions satisfying the requester's requirements more accurately. We evaluated the presented concepts using case studies in service markets for tourism and university management.

Comprehensive Service Matching with MatchBox - Börding, Paul; Bruns, Melanie; Platenius, Marie Christin (10th Joint Meeting of the European Software Engineering Conference and the ACM SIGSOFT Symposium on the Foundations of Software Engineering (ESEC/FSE'15))
Nowadays, many service providers offer software components in the form of Software as a Service. Requesters that want to discover those services in order to use or to integrate them, need to find out which service satisfies their requirements best. For this purpose, service matching approaches determine how well the specifications of provided services satisfy their requirements (including structural, behavioral, and non-functional requirements). In this paper, we describe the tool-suite MatchBox that allows the integration of existing service matchers and their combination as part of flexibly configurable matching processes. Taking requirements and service specifications as an input, MatchBox is able to execute such matching processes and deliver rich matching results. In contrast to related tools, MatchBox allows users to take into account many different kinds of requirements, while it also provides the flexibility to control the matching process in many different ways.

MatchBox: A Framework for Dynamic Configuration of Service Matching Processes - Platenius, Marie Christin; Arifulina, Svetlana; Schäfer, Wilhelm (Proceedings of the 18th International ACM Sigsoft Symposium on Component-Based Software Engineering (CBSE'15))
Service discovery in global software markets is performed by brokers who act as intermediaries between service consumers and service providers.In order to discover services, brokers apply service matching for determining whether the specification of a provided service satisfies the consumer's requirements.Brokers can already choose between a lot of different service matching approaches considering different service properties (structural, behavioral, and non-functional properties).Different matching approaches can be combined into configurable matching processes leading to a high matching quality (e.g., accurate matching results). However, this combination and configuration is a manual procedure and has to be repeated for different consumers' or market requirements regarding matching quality. In this paper, we propose our framework MatchBox, which supports a broker in reusing existing matching approaches and combining them in a model-driven way based on a reconfigurable model of the matching process.Using this reconfigurable model, MatchBox takes care of control and data flow between matching approaches and executes the modeled processes automatically.As a case study, we integrated eleven matchers into MatchBox to demonstrate that it remains flexibility and reduces effort for a broker at the same time.

Seminar Theses of the Project Group Cybertron - Schäfer, Wilhelm; Dziwok, Stefan; Pohlmann, Uwe; Bobolz, Jan; Czech, Mike; Dann, Andreas Peter; Geismann, Johannes; Hüwe, Marcus; Krieger, Arthur; Piskachev, Goran; Schubert, David; Wohlrab, Rebekka

Debugging Models in the Context of Automotive Software Development - Stockmann, Lars (Proceedings of the Doctoral Symposium of the ACM/IEEE 18th International Conference on Model Driven Engineering Languages and Systems)

Seminar Theses of the Project Group Cybertron - Schäfer, Wilhelm; Dziwok, Stefan; Pohlmann, Uwe; Bobolz, Jan; Czech, Mike; Dann, Andreas Peter; Geismann, Johannes; Hüwe, Marcus; Krieger, Arthur; Piskachev, Goran; Schubert, David; Wohlrab, Rebekka

Multi-Core Execution of Safety-Critical Component-Based Software - Geismann, Johannes

Generierung von AUTOSAR-Modellen aus UML-Spezifikationen - Meyer, Jan; Holtmann, Jörg; Koch, Thorsten; Meyer, Matthias (10. Paderborner Workshop Entwurf mechatronischer Systeme)
Die Komplexität moderner Fahrzeuge steigt aufgrund der zunehmenden Anzahl von Funktionen, die durch elektronische Systeme umgesetzt werden. Insbesondere nehmen die Abhängigkeiten zwischen den an der Entwicklung beteiligten Fachdisziplinen und der Softwareanteil massiv zu. Wir haben einen für die Automobilindustrie angepassten, zum Reifegradmodell Automotive SPICE konformen Prozess für die Entwicklung von Steuergeräten konzipiert, der ein fachdisziplinübergreifendes Systems Engineering und einen systematischen Übergang in die Softwareentwicklung unterstützt. Im Kontext dieses Entwicklungsprozess beschreiben wir in diesem Beitrag den Übergang vom UML-basierten Softwareentwurf zum in der Automobilindustrie etablierten AUTOSAR-Standard mit Hilfe einer automatischen Modelltransformation. So werden fehleranfällige und zeitaufwändige manuelle Tätigkeiten reduziert. Wir haben die Generierung von AUTOSAR-Modellen gemeinsam mit dem international tätigen Automobilzulieferer Hella KGaA Hueck & Co. in seriennahen Entwicklungsprojekten praktisch erprobt und Zeit- und Kostenersparnisse festgestellt.

IccTA: Detecting Inter-Component Privacy Leaks in Android Apps - Li, Li; Bartel, Alexandre; Bissyande, Tegawende F.; Klein, Jacques; Le Traon, Yves; Arzt, Steven; Rasthofer, Siegfried; Bodden, Eric; Octeau, Damien; McDaniel, Patrick (2015 International Conference on Software Engineering (ICSE))
Keywords: CROSSING; ATTRACT; ITSECWEBSITE

Towards a Flexible and Privacy-Preserving Reputation System for Markets of Composed Services - Brangewitz, Sonja; Jungmann, Alexander; Petrlic, Ronald; Platenius, Marie Christin (Proceedings of the 6th International Conferences on Advanced Service Computing (SERVICE COMPUTATION))
One future goal of service-oriented computing is to realize global markets of composed services. On such markets, service providers offer services that can be flexibly combined with each other. However, most often, market participants are not able to individually estimate the quality of traded services in advance. As a consequence, even potentially profitable transactions between customers and providers might not take place. In the worst case, this can induce a market failure. To overcome this problem, we propose the incorporation of reputation information as an indicator for expected service quality. We address On-The-Fly Computing as a representative environment of markets of composed services. In this environment, customers provide feedback on transactions. We present a conceptual design of a reputation system which collects and processes user feedback, and provides it to participants in the market. Our contribution includes the identification of requirements for such a reputation system from a technical and an economic perspective. Based on these requirements, we propose a flexible solution that facilitates the incorporation of reputation information into markets of composed services while simultaneously preserving privacy of customers who provide feedback. The requirements we formulate in this paper have just been partially met in literature. An integrated approach, however, has not been addressed yet.

SeSAME: Modeling and Analyzing High-Quality Service Compositions - Arifulina, Svetlana; Becker, Matthias; Platenius, Marie Christin; Walther, Sven (Proceedings of the 29th IEEE/ACM International Conference on Automated Software Engineering (ASE 2014))
Today, software components are traded on markets in form of services. These services can also be service compositions consisting of several services. If a software architect wants to provide such a service composition in the market for trade, she needs to perform several tasks: she needs to model the composition, to discover existing services to be part of that composition, and to analyze the composition's functional correctness as well as its quality, e.g., performance. Up to now, the architect needed to find and use different tools for these tasks. Typically, these tools are not interoperable with each other. We provide the tool SeSAME that supports a software architect in all of these tasks. SeSAME is an integrated Eclipse-based tool-suite providing a comprehensive service specification language to model service compositions and existing services. Furthermore, it includes modules for service matching, functional analysis, and non-functional analysis. SeSAME is the first tool that integrates all these tasks into one tool-suite and, thereby, provides holistic support for trading software services. Thus, it contributes to a software provider's market success.

Security and Privacy Challenges in On-The-Fly Computing - Petrlic, Ronald; Jungmann, Alexander; Platenius, Marie Christin; Schäfer, Wilhelm; Sorge, Christoph (Tagungsband der 4. Konferenz Software-Technologien und -Prozesse (STeP 2014))
On-The-Fly (OTF) Computing constitutes an approach towards highly dynamic and individualized software markets. Based on service-oriented computing, OTF Computing is about realizing global markets of services that can be flexibly combined. We report on our current research activities, the security and privacy implications thereof, and our approaches to tackle the challenges. Furthermore, we discuss how the security and privacy challenges are addressed in research projects similar to OTF Computing.

ScenarioTools Real-Time Play-Out for Test Sequence Validation in an Automotive Case Study - Brenner, Christian; Greenyer, Joel; Holtmann, Jörg; Liebel, Grischa; Stieglbauer, Gerald; Tichy, Matthias (Proceedings of the 13th International Workshop on Graph Transformation and Visual Modeling Techniques (GT-VMT 2014))
In many areas, such as automotive, healthcare, or production, we find software-intensive systems with complex real-time requirements. To efficiently ensure the quality of these systems, engineers require automated tools for the validation of the requirements throughout the development. This, however, requires that the requirements are specified in an analyzable way. We propose modeling the specification using Modal Sequence Diagrams (MSDs), which express what a system may, must, or must not do in certain situations. MSDs can be executed via the play-out algorithm to investigate the behavior emerging from the interplay of multiple scenarios; we can also test if traces of the final product satisfy all scenarios. In this paper, we present the first tool supporting the play-out of MSDs with real-time constraints. As a case study, we modeled the requirements on gear shifts in an upcoming standard on vehicle testing and use our tool to validate externally generated gear shift sequences.

Generating Modelica Models from Software Specifications for the Simulation of Cyber-physical Systems - Pohlmann, Uwe; Holtmann, Jörg; Meyer, Matthias; Gerking, Christopher (Proceedings of the 40th Euromicro Conference on Software Engineering and Advanced Applications (SEAA))

The MechatronicUML Method: Model-Driven Software Engineering of Self-Adaptive Mechatronic Systems - Becker, Steffen; Dziwok, Stefan; Gerking, Christopher; Heinzemann, Christian; Schäfer, Wilhelm; Meyer, Matthias; Pohlmann, Uwe (Proceedings of the 36th International Conference on Software Engineering (Posters))

A Modelica Coordination Pattern Library for Cyber-Physical Systems - Pohlmann, Uwe; Dziwok, Stefan; Meyer, Matthias; Tichy, Matthias; Thiele, Sebastian (Proceedings of the 7th International ICST Conference on Simulation Tools and Techniques)

The MechatronicUML Design Method - Process and Language for Platform-Independent Modeling - Becker, Steffen; Dziwok, Stefan; Gerking, Christopher; Schäfer, Wilhelm; Heinzemann, Christian; Thiele, Sebastian; Meyer, Matthias; Priesterjahn, Claudia; Pohlmann, Uwe; Tichy, Matthias

Viewpoints and Views in Hardware Platform Modeling for Safe Deployment - Pohlmann, Uwe; Meyer, Matthias; Dann, Andreas Peter; Brink, Christopher (Proceedings of the 2Nd Workshop on View-Based, Aspect-Oriented and Orthographic Software Modelling)

Cloud Computing Reduces Uncertainties in Quality-of-Service Matching! - Becker, Matthias; Platenius, Marie Christin; Becker, Steffen (Proceedings of the 2nd International Workshop on Cloud Service Brokerage (CSB))
Cloud computing resulted in a continuously growing number of provided software services to be used by consumers. Brokers discover services that fit best to consumers' requirements by matching Qualityof-Service (QoS) properties. In order to negotiate Service-Level Agreements (SLAs), a provider has to determine the provided QoS based on QoS analyses. However, the risk for the provider to violate the SLA is high as the service's actual quality can deviate from the specified QoS due to uncertainties that occur during the provider's quality analysis. In this paper, we discuss current software engineering paradigms like cloud computing and service-oriented computing with respect to the amount of uncertainty they induce into service matching and SLA negotiations. As a result, we explain, why cloud computing reduces such uncertainties.

Matching of Incomplete Service Specifications Exemplified by Privacy Policy Matching - Platenius, Marie Christin; Arifulina, Svetlana; Petrlic, Ronald; Schäfer, Wilhelm (Proceedings of the 4th International Workshop on Adaptive Services for the Future Internet)
Service matching approaches determine to what extent a provided service matches a requester's requirements. This process is based on service specifications describing functional (e.g., signatures) as well as non-functional properties (e.g., privacy policies). However, we cannot expect service specifications to be complete as providers do not want to share all details of their services' implementation. Moreover, creating complete specifications requires much effort. In this paper, we propose a novel service matching approach taking into account a service's signatures and privacy policies. In particular, our approach applies fuzzy matching techniques that are able to deal with incomplete service specifications. As a benefit, decision-making based on matching results is improved and service matching becomes better applicable in practice.

Market-optimized Service Specification and Matching - Arifulina, Svetlana; Platenius, Marie Christin; Gerth, Christian; Becker, Steffen; Engels, Gregor; Schäfer, Wilhelm (Proceedings of the 12th International Conference on Service Oriented Computing (ICSOC 2014))
Various approaches in service engineering are based on servicemarkets where brokers use service matching in order to performservice discovery. For matching, a broker translates the specifications ofproviders' services and requesters' requirements into her own specificationlanguage, in order to check their compliance using a matcher. Thebroker's success depends on the configuration of her language and itsmatcher because they in uence important properties like the effort forproviders and requesters to create suitable specifications as well as accuracyand runtime of matching. However, neither existing service specification languages, nor existing matching approaches are optimized insuch way. Our approach automatically provides brokers with an optimalconfiguration of a language and its matcher to improve her success ina given market with respect to her strategy. The approach is based onformalized configuration properties and a predefined set of configurationrules.

Integrating Service Matchers into a Service Market Architecture - Platenius, Marie Christin; Becker, Steffen; Schäfer, Wilhelm (Proceedings of the 8th European Conference on Software Architecture (ECSA 2014))
Service markets provide software components in the formof services. In order to enable a service discovery that satisfies servicerequesters and providers best, markets need automatic service matching:approaches for comparing whether a provided service satisfies a servicerequest. Current markets, e.g., app markets, are limited to basic keywordbasedsearch although many better suitable matching approaches aredescribed in literature. However, necessary architectural decisions forthe integration of matchers have a huge impact on quality propertieslike performance or security.Architectural decisions wrt. servicematchers have rarely been discussed,yet, and systematic approaches for their integration into service marketsare missing. In this paper, we present a systematic integration approachincluding the definition of requirements and a discussion on architecturaltactics. As a benefit, the decision-making process of integrating servicematchers is supported and the overall market success can be improved.

FlowDroid: Precise Context, Flow, Field, Object-sensitive and Lifecycle-aware Taint Analysis for Android Apps - Arzt, Steven; Rasthofer, Siegfried; Fritz, Christian; Bodden, Eric; Bartel, Alexandre; Klein, Jacques; Le Traon, Yves; Octeau, Damien; McDaniel, Patrick (Proceedings of the 35th ACM SIGPLAN Conference on Programming Language Design and Implementation - PLDI '14)

DroidForce: Enforcing Complex, Data-Centric, System-Wide Policies in Android - Arzt, Steven; Rasthofer, Siegfried; Lovat, Enrico; Bodden, Eric (International Conference on Availability, Reliability and Security (ARES 2014))

Das Verteilungsproblem für mechatronische Systeme - Hüwe, Marcus

Simulationsgestützter Entwurf für Elektrofahrzeuge - Farshizadeh, Emad; Briese, Hermann; Steinmann, David; Stockmann, Lars; Beringer, Steffen; Holler, Dominik; Klobedanz, Kay; Heinzemann, Christian; Peter, Klaus; Leuer, Michael (8. Dortmunder Autotag)
Das Thema Elektromobilität hat in der Fahrzeugindustrie in den letzten Jahren viel Aufmerksamkeit erhalten. Gerade im Bereich der Entwicklung von Steuergeräte-Software ist der Bedarf an frühzeitiger Absicherung hoch. Nur so können Produkteinführungszeiten minimiert und effektiv Entwicklungskosten eingespart werden. Komplexe Werkzeugketten und die verteilte Entwicklung erschweren den Prozess und verlängern die Entwicklungszeit. Das Förderprojekt „Simulationsgestützter Entwurf für Elektrofahrzeuge“, kurz „E-Mobil“, nimmt sich der Herausforderungen einer verteilten Entwicklung von Steuergeräte-Software an. Vier Projektpartner aus Industrie und Forschung untersuchen die Besonderheiten sowohl bzgl. des Entwurfsprozesses, als auch der beteiligten Entwurfswerkzeuge im Vergleich zur konventionellen Fahrzeugentwicklung. Im Fokus stehen die Modellierung und die simulationsgestützte Absicherung in frühen Entwurfsstadien. Die Modellierung umfasst Regelungssoftware sowie die für die Simulation nötigen elektrischen und mechatronischen Komponenten. Die vorliegende Arbeit stellt die Kernthemen sowie aktuelle Ergebnisse aus dem Projekt vor.

Combining Scenario-based and Architecture-based Timing Requirements - Koch, Thorsten
Die in der Automobilindustrie verwendeten eingebetteten Systeme gehören zu den komplexesten eingebetteten Systemen. Die Automobilhersteller sind in der Entwicklung ständig bemüht sowohl die Sicherheit und den Komfort des Fahrers also auch der anderen Insassen zu verbessern. Die meisten der entwickelten Systeme sind sowohl zeit- als auch sicherheitskritisch. Einer Studie von Mercedes-Benz zufolge resultieren 80% der Innovationen in der Automobilbranche aus neuen Elektronikkomponenten, deren Funktionen zu 90% durch Software realisiert wird. Um die steigende Komplexität in der Entwicklung von eingebetteten Systemen zu beherrschen wird in der Automobilbranche immer öfter die modelbasierte Softwareentwicklung anstelle der klassischen Programmierung eingesetzt. Im Requirements Engineering, der ersten Phase der Entwicklung eines Produktes, werden die Anforderungen gesammelt und dokumentiert. Die Dokumentation erfolgt mittels natürlicher Sprache. Modellbasierte Ansätze werden heutzutage höchstens unterstützend eingesetzt. Während des Requirements Engineerings muss der Requirements Engineer sowohl die funktionalen Anforderungen an das zu entwickelnde System als auch seine zeitlichen Anforderungen spezifizieren und analysieren. Die funktionalen Anforderungen umfassen dabei insbesondere die Kommunikation zwischen den verschiedenen Teilsystemen. Szenarien stellen eine intuitive Möglichkeit zur Modellierung von funktionalen Anforderungen dar. Im Rahmen dieser Arbeit wird ein modellbasierter Ansatz zur Modellierung von Szenarien verwendet. Anforderungen an das zeitliche Verhalten werden innerhalb der Architektur spezifiziert. Dazu stehen in der Automobilbranche Architekturbeschreibungssprachen wie EAST-ADL zur Verfügung. Obwohl sowohl funktionale als auch zeitliche Anforderungen an das System spezifiziert und analysiert werden müssen, existiert bisher keine Methodik, die beide Ansätze miteinander kombiniert. Aus diesem Grund wurde im Rahmen dieser Arbeit eine neue Requirements Engineering Methodik entwickelt, die eine systematische und ganzheitliche Spezifikation und Analyse der funktionalen und zeitlichen Anforderungen bereitstellt. Wir haben zwei Modelltransformationen entwickelt, um den Requirements Engineer beim Übergang von den funktionalen zu den zeitlichen Anforderungen zu unterstützen. Die vorliegende Arbeit wird durch eine Evaluierung der Methodik, sowie der Modelltransformationen auf Basis eines Komfortsteuergerätes abgerundet.

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.

Mit Satzmustern von textuellen Anforderungen zu Modellen - Holtmann, Jörg (OBJEKTspektrum)
Im Bereich der eingebetteten Systeme, beispielsweise im Automobilsektor, wird heutzutage immer mehr auf eine modellbasierte Entwicklung gesetzt. Die Anforderungen an die zu entwickelnden Systeme werden dagegen aus juristischen Gründen und zwecks einer guten Verständlichkeit nach wie vor rein textuell formuliert. Ein Prosatext lässt sich allerdings wegen der Fülle von Formulierungsmöglichkeiten nicht automatisiert verarbeiten. Dies führt dazu, dass die Qualitätsanalyse der Anforderungen und der Übergang von textuellen Anforderungen zu Systemmodellen auf manuelle Weise erfolgen müssen. Dies kostet Zeit und ist fehleranfällig. In diesem Beitrag wird ein Ansatz vorgestellt, mit dem Anforderungen auf Basis von Satzmustern weiterhin textuell, aber gleichzeitig auch automatisiert verarbeitbar formuliert werden können.

Eine erweiterte Systemmodellierung zur Entwicklung von softwareintensiven Anwendungen in der Automobilindustrie - Meyer, Jan; Holtmann, Jörg; Schäfer, Wilhelm; Nickel, Ulrich A. (Software Engineering 2010 – Workshopband (inkl. Doktorandensymposium))
Heutige Transportsysteme, wie z.B. Automobile sind gekennzeichnet durch eine Vielzahl von Funktionalitaet, die sehr haeufig durch Software realisiert wird. Hiermit ist eine Zunahme der Komplexitaet festzustellen. Zur Beherrschung dieser Komplexitaet und damit einhergehend die Aufteilung des Systems in verschiedene Komponenten, ist eine Gesamtmodellierung des Systems inklusive des Verhaltens unerlaesslich. Ein besonderer Augenmerk liegt auf Grund der Echtzeitsysteme in dieser Domaene dabei auf der Modellierung von Zeiten auf Systemebene. Die derzeitigen Modellierungskonzepte, wie beispielsweise die Systems Modeling Language (SysML), sind dafuer aber noch nicht ausreichend. In dem hier vorgestellten Ansatz wird eine erweiterte Systemmodellierung vorgestellt, die zusaetzlich eine formale Spezifizierung von Zeiten erlaubt. Durch diese Modellierung sind weitere Analysemethoden, wie z.B. Simulationen oder Verifikationen moeglich, die zum einen die sicherheitsrelevante Funktionalitaet sicherstellen und zum anderen die Qualitaet der Software steigern.

Musterbasiertes Re-Engineering von Softwaresystemen - Meyer, Matthias

Safety of Component-Based Systems: Analysis and Improvement using Fujaba4Eclipse - Tichy, Matthias; Henkler, Stefan; Meyer, Matthias; von Detten, Markus (Companion Proceedings of the 30th International Conference on Software Engineering (ICSE), Leipzig, Germany)

Aspect-oriented modelling from a different angle - Kindler, Ekkart; Schmelter, David (Proceedings of the 2008 AOSD workshop on Aspect-oriented modeling - AOM '08)
In this paper, we report on a new approach of aspect-oriented modelling, which is particularly suited for domains with naturally born aspects as part of that domain: MoDowA for Modelling Domains with Aspects. Though these models are on a very high level of abstraction and could be made early in the development process, these models are fully operational in that they can be executed by an interpreter. This way, we shed a light on Aspect-oriented Modelling from a new, different angle.

Component Story Diagrams in Fujaba4Eclipse - Holtmann, Jörg; Tichy, Matthias (Proc. of the 6th International Fujaba Days 2008, Dresden, Germany)
A current trend in Software Engineering is the development of self-adaptive component-based software architectures. Our modeling approach for component-based software systems Mechatronic UML, integrated in the Fujaba Real-Time Tool Suite plugin for Fujaba4Eclipse, supports self-adaptiveness only to a certain degree. This paper presents tool support for an extension of Mechatronic UML, which facilitates initialization and recon guration of a Mechatronic UML system based on Story Diagrams and thus enables a step towards self-adaptiveness on a structural level.

Graphtransformationen für komponentenbasierte Softwarearchitekturen - Holtmann, Jörg

Component Story Diagrams: A Transformation Language for Component Structures in Mechatronic Systems - Tichy, Matthias; Henkler, Stefan; Holtmann, Jörg; Oberthür, Simon (Proceedings of the 4th Workshop on Object-oriented Modeling of Embedded Real-Time Systems (OMER 4), Paderborn, Germany)
To cope with the high complexity of software in advanced technical systems, the software of these systems is often built in a component-based fashion. The growing usage of self-adaptive techniques leads to sophisticated reconfigurations of the software component structures during runtime. Current modeling approaches for component-based software systems do not include a transformation language for the specification of component structure reconfigurations. In this paper we therefore introduce an extension of a component-based modeling approach. This extension enables (1) the specification of hierarchical component structures and (2) the specification of structural transformations based on the specified hierarchical component structures. Further, as we consider mechatronic systems, we also show the predictable runtime behavior of the transformations.

Graphtransformationen für komponentenbasierte Softwarearchitekturen - Holtmann, Jörg

Program evaluation using fuzzy logic with bad smells as inputs - Delic, A.; Avdagic, Z.; Schäfer, Wilhelm; Boskovic, Dusanka; Meyer, Matthias (Proc. of the 21st International Symposium on Information, Communication and Automation Technologies (ICAT 2007), Sarajevo, Bosnia Herzegovina)

Pattern-based Reengineering of Software Systems - Meyer, Matthias (Proceedings of the 13th Working Conference on Reverse Engineering (WCRE 2006), Benevento, Italy)

A Prototype for Guideline Checking and Model Transformation in Matlab/Simulink - Giese, Holger; Meyer, Matthias; Wagner, Robert (Proc. of the 4th International Fujaba Days 2006, Bayreuth, Germany)

On Semantic Issues in Story Diagrams - Tichy, Matthias; Meyer, Matthias; Giese, Holger (Proc. of the 4th International Fujaba Days 2006, Bayreuth, Germany)

Entwicklung von Geschäftsprozessmustern zur Qualitätssicherung - Holtmann, Jörg

Selective Tracing for Dynamic Analyses - Meyer, Matthias; Wendehals, Lothar (Proc. of the 1st Workshop on Program Comprehension through Dynamic Analysis (PCODA), co-located with the 12th WCRE, Pittsburgh, Pennsylvania, USA)
Reverse engineering based on dynamic analyses often uses method traces of the program under analysis. Recording all method traces during a program's execution produces too much data, though for most analyses, a 'slice' of all method traces is sufficient. In this paper, we present an approach to collect runtime information by selectively recording method calls during a program's execution. Only relevant classes and methods are monitored to reduce the amount of information. We developed the JavaTracer which we use for the recording of method calls in Java programs.

Calculation and Visualization of Software Product Metrics - Meyer, Matthias; Niere, Jörg (Proc. of the 3rd International Fujaba Days 2005, Paderborn, Germany)
The paper presents a further step of the Fujaba Tool Suite RE to support coarse-grained analyses based on metrics and especially polymetric views. Polymetric views are graphical representations of certain metric combinations. Following an interactive reverse engineering approach, polymetric views can be created on demand. The reverse engineer is able to define new polymetric view descriptions and create new views afterwards.

Generation of Type Safe Association Implementations - Travkin, Dietrich; Meyer, Matthias (Proc. of the 3rd International Fujaba Days 2005, Paderborn, Germany)
Model driven development facilitates the specification of software models from which code can be generated automatically. In practice, a software system can often not be modelled completely. Developers still have to implement parts of it manually and thus have to work with the generated code. Therefore, the usability of the code is important. The Fujaba Tool Suite is a UML case tool which allows to model the structure and behaviour of a system with UML diagrams and to generate Java code for the specifications. However, the code currently generated for associations is not type safe. Furthermore, a lot of code is added to the implementation of the model classes which decreases their usability. In this paper, we present an approach to generate type safe association implementations in Java which also improves the readability and usability of the generated code.

User-driven adaption in rule-based pattern recognition - Niere, Jörrg; Meyer, Matthias; Wendehals, Lothar
Today, in software intensive projects a huge amount of the budget flows into the analysis of the already existing system. The reason for the high costs results mainly from the fact that analyses are often made manually or with automatic tool support, which is inappropriate for analyzing large systems. Semi-automatic analysis approaches usually use a notion of fuzziness to overcome this limitation, but inherit the problem of selecting appropriate initial values. In this paper we present an approach to adapt the initial values of our semi-automatic reverse engineering process. We provide the reverse engineer with accuracy information for results produced by a rule-based inference algorithm. Based on the changes of the results done by the reverse engineer we automatically adapt a credibility value of each rule, which previously has been used to compute the accuracy of the result. The adaption fits seamlessly into our overall analysis process. First tests show that it is suitable for the calibration of our fuzzyfied rule-based pattern recognition approach.

Teaching Object-Oriented Concepts with Eclipse - Meyer, Matthias; Wendehals, Lothar (Proc. of the Eclipse Technology eXchange Workshop (ETX), Satellite Event of the 19th Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA), Vancouver, Canada)
Object-oriented software development is a subject area difficult to teach, espcially to beginners. They face a lot of abstraction and (from a beginners point of view) isolated topics, such as the syntax and semantics of a programming language, the functionality of a software development environment and basic object-oriented concepts. Although many professionals in education believe in the ``object first'' approach as the best method of introducing object-oriented concepts, there is no common agreement on how to start such courses. Current study programs often begin by teaching a programming language, instead of focusing on the basics of object-oriented concepts. In the last years a learning environment was developed based on a visual programming language to abstract away from details. It assists teaching step-by-step object-oriented concepts and the syntax and semantics of a programming language in secondary schools and first year university courses. Our goal is to port this learning environment to the widely used IDE Eclipse.

Selective Tracing of Java Programs - Wendehals, Lothar; Meyer, Matthias; Elsner, Andreas (Proc. of the 2nd International Fujaba Days 2004, Darmstadt, Germany)
Design recovery, which means extracting design documents from source code, is usually done by static analysis techniques. Analysing behaviour by static analysis is very imprecise. We combine static and dynamic analysis to increase the preciseness of our design recovery process. In this paper we present an approach to collect data for the dynamic analysis by recording method calls during a program's execution. To reduce the amount of information we monitor only relevant classes and methods identified by static analysis.