13 research outputs found

    Zertifizierbarer Entwicklungsprozess für komplexe Informationsverarbeitungssysteme in der Wägetechnik

    Get PDF
    The dissertation is about principles, methods and techniques during the systematic development of embedded systems in the domain of measurement techniques. The considered domain contains fields of application with challenging and specific requirements of the information processing system. E.g. the dynamic weighing systems need solutions with very high resolution and lowest achievable measurement uncertainty in order to perform high-speed-measurements in a mechanically disturbed environment. In particular, the abilities for official calibration and metrologic reliability are considered. The complex and high-performance functions are required to guarantee measurement results. FPGA-based systems are used for the implementation of these functions.The especially designed certifiable development process (ZEfIRA) provides a procedural method for the development of complex embedded systems. The metrologic reliability, the legal requirements like calibratability, the validation and the verification are included as a general criteria in the entire development process. ZEfIRA is based on the 3W-model and is designed in an evolutionary manner. This process starts with the analysis of a predecessor system followed by the model-based development of a prototype, which leads into an optimized and application-specific product solution.The study emphasizes the influence of challenging requirements on the measurement system. It will be presented, how these can be integrated into the modelling level during the design and the implementation on a FPGA-based target platform. The stages of the functional and technical design of the system are analysed, whereas the realization of the partitions “FPGA logic” and “FPGA softcore solutions” are discussed in detail.Based on the preliminary design of the information processing in an electromagnetic force compensation (EMC) scale, the applicability of the process ZEfIRA and its developed methods and principles are proved. On the one hand, the optimal system-specific algorithms of signal processing, control and safety and on the other hand whose technical implementation are essential. This was realized with different performance parameters. In addition, the prototype allows the possible comprehensive analysis for embedding system. In the conclusion, the performance of ZEfIRA based on the prototype development is evaluated.Die Dissertation befasst sich mit Prinzipien, Methoden und Techniken der systematischen Entwicklung von komplexen Eingebetteten Systemen. Die betrachtete Domäne besitzt Anwendungsbereiche mit anspruchsvollen und besonderen Anforderungen an die Informationsverarbeitung. In der dynamischen Wägetechnik sind z.B. Lösungen mit sehr hohen Auflösungen und kleiner Messunsicherheit bei schnellen Messungen in einem mechanisch gestörten Umfeld notwendig. Die Anforderungen an die Eichfähigkeit und die Metrologische Sicherheit sind Besonderheiten. Es werden komplexe und hochleistungsfähige Funktionen zur Erzeugung der Messergebnisse verlangt. In der Arbeit werden dafür vorwiegend FPGA-basierte Eingebettete Systeme verwendet. Der entworfene zertifizierbare Prozess (ZEfIRA) bietet eine Vorgehensweise für die Entwicklung von Eingebetteten Systemen. Die Metrologische Sicherheit, die Eichfähigkeit, die Validier- und der Verifizierbarkeit werden als Kriterien im gesamten Entwurfsprozess berücksichtigt. ZEfIRA basiert auf einem 3W-Modell und ist evolutionär angelegt. Innerhalb des Prozesses werden die Analyse eines eventuellen Vorläufersystems sowie die modellbasierte prototypische Entwicklung bis hin zu einer produzierbaren Lösung (Produkt) durchgeführt. Die Arbeit verdeutlicht den großen Einfluss der spezifischen Anforderungen an das Messsystem. Es wird gezeigt, wie diese bereits zu der Entwurfszeit auf Modellebene und im Weiteren bei der Implementierung in einer FPGA-basierten Zielplattform berücksichtigt werden. Es werden verschiedene Schritte des funktionalen und technischen Systementwurfs untersucht und ausführlich die Realisierungspartitionen „FPGA-Logik“ und „FPGA-Softcore-Lösungen“ betrachtet. Als Beispiel zum Nachweis der Anwendbarkeit des Prozesses ZEfIRA dient die prototypische Entwicklung des Informationsverarbeitungssystems einer elektromagnetischen Kraftkompensationswaage (EMKW). Ausschlaggebend sind die optimal an das Gesamtsystem angepassten Signalverarbeitungs-, Regelungs- und Sicherheitsalgorithmen und deren technische Umsetzung. Dieses wurde mit verschiedenen Leistungsparametern, wie z.B. Latenz, Verarbeitungskomplexität und Genauigkeit realisiert. Ergänzend ermöglicht der Prototyp umfassende Analysemöglichkeiten für das Messsystem. Die abschließende Wertung ist eine Abschätzung der Leistungsfähigkeit von ZEfIRA auf Basis dieser prototypischen Entwicklung

    A comprehensive description of a model-based, continous development process for AUTOSAR systems with integrated quality assurance

    Get PDF
    Der AUTOSAR-Standard definiert neben einer durchgängig werkzeuggestützten und modellbasierten Methodik zur Entwicklung von Steuergeräte-Software eine technische Infrastruktur als standardisierte Steuergeräte-Basissoftware zur Implementierung dieser Systeme im Automobil. Die wesentlichen Herausforderungen in der Entwicklung automotiver Systeme ergeben sich dabei nicht nur aus der stetig steigenden Menge korrekt umzusetzender Funktionalität, sondern auch aus der wachsenden Anzahl zusätzlich zu erfüllender Qualitätsanforderungen, wie z.B. Sicherheit, Performanz oder Kosten. Die Integration von Ansätzen zur frühzeitigen, Entwicklungsphasen begleitenden Überprüfung von Korrektheits- und Qualitätskriterien kann dabei maßgeblich zur Beherrschbarkeit der Komplexität dieser Systeme beitragen. Es wird ein entsprechend durchgängig werkzeuggestützter und modellbasierter Entwicklungsprozess, basierend auf dem V-Modell sowie dessen Integration in die AUTOSAR-Methodik definiert. Neben der Überprüfung der funktionalen Korrektheit durch systematische Testverfahren sieht das erweiterte Prozessmodell die Bewertung beliebiger Qualitätskriterien für das zu entwickelnde System vor. Es wird beschrieben, wie insbesondere im AUTOSAR-Kontext der Entwurf der Systemarchitektur die hierfür entscheidende Design-Phase darstellt und als Grundlage für Qualitätsabschätzungen durch Architektur-Evaluation dienen kann. Die Vorgehensweise in den einzelnen Entwicklungsschritten wird detailliert anhand einer umfangreichen, vollständig AUTOSAR-konformen Fallstudie, bestehend aus einem vereinfachten PKW-Komfortsystem, demonstriert. Die durchgängige Toolkette umfasst alle Phasen von der Anforderungsspezifikation bis zur Implementierung auf einem prototypischen Hardware-Demonstrator bestehend aus vier über CAN vernetzten Steuergeräten und HIL-Schnittstellen für die Testdurchführung. Es wird auf ausgewählte Implementierungsdetails, notwendige Workarounds und Besonderheiten der prototypischen Umsetzung eingegangen.The AUTOSAR standard defines a seamless tool supported and model based methodology for ECU software design and engineering. Furthermore, the standard specifies a technical infrastructure by means of standardized basic software modules for ECU networks, serving as a uniform implementation platform for AUTOSAR systems. The major challenges in automotive systems development not only arise as a result of the contiuously growing amount of functionality to be realized correctly, but also from the increasing number of quality requirements to be taken into account, e.g. safety, performance, and costs. The integration of approaches for early checking of correctness and quality criteria accompanying the different development phases makes a significant contribution towards coping with the complexity of such systems. We describe such a model based development process and a corresponding tool chain based on the V-modell and its embedding into the AUTOSAR methodology. For the validation of functional correctness systematic testing approaches are applied, and for quality criteria according evaluation methods are used. We discuss that especially in the context of AUTOSAR, the phase of architectural system design is crucial for the quality properties of the system under development, and to what extent architecture evaluation can be used for quality estimation. The practices in the different development steps are illustrated in detail by means of a comprehensive, AUTOSAR compliant case study, i.e. a body comfort system. The tool chain proposed comprises all development stages, starting from the requirements specification, and concluding with the system implementation on a hardware demonstrator prototype. The demonstrator consists of ECUs coupled via CAN, as well as HIL interfaces for test case applications. We give detailled insights in selected impl. issues, workarounds required, and the configuration steps needed for the AUTOSAR operating system. A discussion of the pro's and con's regarding the potential of AUTOSAR concludes

    Entwicklung und Evaluierung einer Erweiterung der BPMN-Spezifikation für einen modellbasierten und automatisierten Regressionstest verteilter BIS

    Get PDF
    The constantly growing complexity of hard- and software systems combined with increasing functional scope and steadily decreasing product lifecycles is leading to an increment of model based technology usage in development and testing. Many challenges come along with developing and testing such complex software systems. Top priority of each company is to deliver the required software solution in the agreed time and budget frame. But reality shows, that time and cost pressure is massively affecting the quality of the delivered software. Therefore new testing methods have to be introduced in an early stage of the development process. While model based development procedures have found their way into embedded software systems during the past view years, the model based testing (MBT) of distributed business information systems (BIS) has come more and more in the focus of research and industry. This dissertation provides an overview of the status quo of the technology MBT within the domain of distributed BIS and summarizes the actual research questions. Out of these research questions the requirements to such a test approach arise, which are being answered within the implementation section of this dissertation. As a modelling notation the Business Process Modelling Notation (BPMN) is being used, differentiating this MBT approach from other approaches within the domain of embedded systems, which are using UML. Based on this and with the example of a debtor process (IT supported payment process) from the business-to-business (B2B) it will be shown, how an MBT approach can contribute to sustainably increase quality as well as test coverage of distributed BIS. Therefore within the frame of the dissertation testing tools developed by Seppmed GmbH and MID GmbH are being evaluated and analyzed on praxis capability. In detail it is being investigated, how far the testing tools in combination with other applications are fulfilling the expectations of the dissertation. For this purpose the testing of the realizing methodic is necessary. A cost analysis as well as impacts of MBT implementation in existing development processes will be provided in the last part of this thesis.Die stetig wachsende Komplexität von Hard- und Softwaresystemen sowie der steigende Funktionsumfang bei stets kürzer werdenden Produktzyklen führen zunehmend zum Einsatz von modellbasierten Technologien in der Entwicklung und bei den Tests. Bei der Entwicklung und beim Test solcher komplexer Softwaresysteme werden Unternehmen heute mit neuen Herausforderungen konfrontiert. Oberste Maxime eines jeden Unternehmens ist, dass die angeforderte Softwarelösung im vereinbarten Zeit- und Budgetrahmen geliefert werden muss. Die Praxis zeigt allerdings, dass sich Zeit- und Kostendruck massiv auf die Qualität der ausgelieferten Software auswirken. Neue Testmethoden müssen daher in einem frühen Stadium des Softwareentwicklungsprozesses Einzug halten. Nachdem modellbasierte Entwicklungsmethoden bereits in den letzten Jahren zunehmend in eingebetteten Softwaresystemen Einzug in die Entwicklungsabteilungen gehalten haben, ist das modellbasierte Testen (MBT) von verteilten betrieblichen Informationssystemen (BIS) verstärkt in den Fokus von Forschung und Industrie gerückt. Diese Dissertation gibt einen Überblick über den Stand der Technik bezüglich des MBT in der Domäne der BIS und fasst aktuelle Forschungsfragen zusammen. Aus den Forschungsfragen lassen sich Anforderungen an einen solchen Testansatz formulieren, die dann im technischen Realisierungsteil dieser Dissertation beantwortet werden. Anders als in den bisherigen MBTAnsätzen aus der Domäne der eingebetteten Systeme wird als Modellierungsnotation nicht auf UML, sondern auf Business Process Modeling Notation (BPMN) gesetzt. Basierend darauf wird anhand eines Fallbeispiels mit einem betriebswirtschaftlichen Debitorenprozess (IT-gestützter Zahlungsabwicklungsprozess) aus dem Business-to-Business (B2B) gezeigt, wie ein MBT-Ansatz einen Beitrag dazu leisten kann, sowohl die Testabdeckung als auch die Testqualität von verteilten BIS nachhaltig zu verbessern. Dazu werden im Rahmen dieser Dissertation Testwerkzeuge der Firmen Seppmed GmbH und der MID GmbH evaluiert und auf ihre Praxistauglichkeit untersucht. Dabei soll im Speziellen untersucht werden, inwiefern diese Werkzeuge in Kombination mit Testwerkzeugen die Anforderungen dieser Dissertation erfüllen. Für die Modellierung der Testfälle in BPMN ist es notwendig, die BPMN-Spezifikation um Testspezifika zu erweitern. Die so gewonnenen manuellen Testfälle werden durch eine spezielle Adaptierung, welche im Rahmen dieser Dissertation entwickelt wurde, in fertig automatisierte und ausführbereite Testskripte überführt. So entsteht eine Methode, welche es ermöglicht, Geschäftsprozesse, die verteilt über mehrere verschiedene Softwaresysteme abgewickelt werden, End-to-End zu testen. Da die Notwendigkeit und die Motivation dieser Dissertation aus der Praxis entstanden, wird die entwickelte Methode dementsprechend unter Praxisbedingungen erprobt und evaluiert. Dabei konnte festgestellt werden, dass sowohl die Testabdeckung (Prozessabdeckung) als auch die Testqualität am Fallbeispiel erhöht werden konnten und gleichzeitig eine Testzeitersparnis von ca. 50% erreicht wurde

    Modellbasierte Steuerung des Kühlkreislaufes einer Brennstoffzelle mit automatisiertem Test der Software

    Get PDF
    Zur Rekonstruktion und Steuerung des Volumenstroms in einem Kühlkreislauf, wird ein Brennstoffzellensystem analysiert und physikalische Modelle für die Fluidtemperatur und den Pumpenvolumenstrom werden hergeleitet. Basierend auf diesen Zusammenhängen werden Funktionsmodelle zur Ableitung von Softwarealgorithmen vorgestellt. Diese ermöglichen es den Volumenstrom in einem Fluidkreislauf modellbasiert zu bestimmen bzw. die Kühlmittelpumpe basierend auf einer detaillierten Systemmodellierung zu steuern. Die zur Verfügung stehenden Funktionen erlauben eine komplette Regelung, Steuerung und Diagnose des Volumenstroms. Die Funktionsmodelle, in Matlab/Simulink realisiert und zur Ausführung auf einem Steuergerät vorgesehen, werden im Kontext eines Software-entwicklungsprozesses diskutiert. Es wird die Notwendigkeit der Sicherstellung der Korrektheit der Funktionen herausgearbeitet und ein Testautomatisierungssystem für solche Funktionsmodelle vorgestellt

    Temporal verification of software components

    Get PDF
    Im Fokus dieser Arbeit steht die Einführung der Entwicklung von Software-Funktionen durch den Fahrzeughersteller und die damit verbundenen Anforderungen an eine teilweise fremdentwickelte Software für Steuergeräte. Das konkrete Ziel dieser Arbeit ist, die analytische Qualitätssicherung so zu erweitern, dass durch dynamische, strukturorientierte Tests vollständige und verlässliche Ergebnisse zur Bewertung des zeitlichen Verhaltens von Software-Funktionen möglich sind, ohne den Aufwand etablierter Test wesentlich zu erhöhen. Dafür werden die Elemente der analytischen Qualitätssicherung untersucht sowie der organisatorische und technische Rahmen, in dem sich die Laufzeitanalyse einbetten muss, betrachtet. Der Stand der Technik zum Software-Test wird vorgestellt und die bestehenden Unzulänglichkeiten zu-sammengefasst. Das Prüfkonzept stellt eine Vorgehensweise zur Lösung dieser Problemstellung bereit. Ziel ist es, das zeitliche Verhalten der Software frühzeitig abzusichern. Hieraus wird eine Strategie zum temporalen, dynamischen, strukturorientierten Test formuliert und die notwendigen Anforderungen an den Software-Modultest abgeleitet. Es wird als neuer Ansatz ein temporaler Regressionstest eingeführt, um die Aufwendungen für das Testen zu reduzieren. Dazu wird ein Messprozess zur Erfassung der Laufzeit definiert und ein eigenständiges Konzept zur Analyse von Laufzeitmessdaten vorgestellt. Die Implementierung dieses Prüfkonzeptes in Form von Verfahren und Werkzeugen wird für das Referenzbeispiel eines Motorsteuergerätes zur Verfügung gestellt, um eine Evaluierung des Prüfkonzeptes zu ermöglichen. Hierfür werden übertragbare Ansätze zur Datengewinnung und zur Datenanalyse entworfen, die an ausgewählten Fallstudien diskutiert werden. Das Ziel der hier dargestellten Fallstudien ist es, die Wirksamkeit des temporalen Prüfkonzeptes und dessen Implementierung in Techniken und Werkzeuge zu demonstrieren.The key focus of this work is the introduction of the development of software components by the vehicle manufacturer and the associated requirements for software for engine control units (ECU) partly developed elsewhere. The main aim of this work consists of the expansion of the analytical quality assurance in such a way that complete and reliable evaluation of runtime behaviour of software components is achieved by dynamic, structure-oriented tests without considerably increasing the hard work needed to create elaborate tests. Therefore, the details of the analytical quality assurance as well as the organizational and technical framework, in which the execution time analysis has to be embedded, are examined. The current techniques for software tests will be presented and existing deficiencies summarized. This verification concept presents a procedure to eliminate existing deficiencies. The key is to collect the execution time characteristics of the software components in the early stages of development, that serves as the base for deducing a strategy for the temporal, dynamic, structure-oriented tests and the necessary requirements for the software module test. As a new approach, a temporal regression test is introduced to reduce test efforts. A measurement procedure to measure the execution time and an independent concept to analyze measured data is presented. The verification concept is evaluated by implementing it as a tool for a reference ECU example. For this purpose, portable approaches are developed for obtaining and analysing data and discussed for selected case studies. The selected case studies focus on demonstrating the efficiency of the temporal verification concept and its application in practice as a tool

    Effizienter Regressionstest von E/E-Systemen nach ISO 26262

    Get PDF
    Selektive Regressionstestmethodiken analysieren auf Basis einer auf eine Systemdarstellung abgebildeten Modifikation, welche Testfälle für eine systematische Überprüfung der Änderung selbst sowie aller potentiellen durch eine mögliche Fehlwirkung betroffenen Teilbereiche des Systems notwendig sind. Im Rahmen dieser Arbeit wird erstmals eine effiziente und spezifikationsbasierte Regressionstestmethodik nach ISO 26262 für die E/E-Systemebene entwickelt

    Method and Technology for Model-based Test Automation of Context-sensitive Mobile Applications

    Get PDF
    Smartphone und Tablet Computer haben sich zu universalen Kommunikations- und Unterhaltungsplattformen entwickelt, die durch ständige Verfügbarkeit mobilen Internets die Verwendung mobiler, digitaler Dienste und Anwendungen immer mehr zur Normalität werden lassen und in alle Bereiche des Alltags vordringen. Die digitalen Marktplätze zum Vertrieb von Apps, sogenannten App Stores, sind Blockbuster-Märkte, in denen wenige erfolgreiche Produkte in kurzen Zeitintervallen den Großteil des Gesamtgewinns des Marktes erzielen. Durch dynamische, summative Bewertungssysteme in App Stores wird die Qualität einer App zu einem unmittelbaren Wert- und Aufwandstreiber. Die Qualität einer App steht in direktem Zusammenhang mit der Anzahl Downloads und somit mit dem wirtschaftlichen Erfolg. Mobile Geräte zeichnen sich gegenüber Desktop-Computern vorrangig dadurch aus, dass sie durch Sensoren in der Lage sind, Parameter ihrer Umgebung zu messen und diese Daten für Anwendungsinhalte aufzubereiten. Anwendungsfälle für solche Technologien sind beispielsweise ortsbasierte digitale Dienste, die Verwendung von Standortinformationen für Fahrzeug- oder Fußgängernavigation oder die Verwendung von Sensoren zur Interaktion mit einer Anwendung oder zur grafischen Aufbereitung in Augmented Reality-Anwendungen. Anwendungen, die Parameter ihrer Umgebung messen, aufbereiten und die Steuerung des Kontrollflusses einfließen lassen, werden als kontextsensitive Anwendungen bezeichnet. Kontextsensitivität hat prägenden Einfluss auf die fachliche und technische Gestaltung mobiler Anwendungen. Die fachliche Interpretation von Kontextparametern ist ein nicht-triviales Problem und erfordert eine sorgfältige Implementierung und gründliches Testen. Herausforderungen des Testens kontextsensitiver, mobiler Anwendungen sind Erstellung und Durchführung von Tests, die zum einen die zu testende Anwendung adäquat abdecken und zum anderen Testdaten bereitstellen und reproduzierbar in die zu testende Anwendung einspeisen. In dieser Dissertation wird eine Methode und eine Technologie vorgestellt, die wesentliche Aspekte und Tätigkeiten des Testens durch modellbasierte Automatisierung von menschlicher Arbeitskraft entkoppelt. Es wird eine Methode vorgestellt, die Tests für kontextsensitive Anwendungen aus UML-Aktivitätsdiagrammen generiert, die durch Verwendung eines UML-Profils zur Kontext- und Testmodellierung um Testdaten angereichert werden. Ein Automatisierungswerkzeug unterstützt die Testdurchführung durch reproduzierbare Simulation von Kontextparametern. Durch eine prototypische Implementierung der Generierung von funktionalen Akzeptanztests, der Testautomatisierung und Kontextsimulation wurde Machbarkeit des vorgestellten Ansatzes am Beispiel der mobilen Plattform Android praktisch nachgewiesen.Smartphones and tablet computers have evolved into universal communication and entertainment platforms. With the ubiquitous availability of mobile internet access, digital services and applications have become a commodity that permeates into all aspects of everyday life. The digital marketplaces for mobile app distribution, commonly referred to as App Stores, are blockbuster markets, where few extraordinarily successful apps generate the major share of the market's overall revenue in a short period of time. Through the implementation of dynamic, summative rating mechanisms in App Stores, app quality becomes a key value-driver of app monetarization, as app quality is directly associated with the number of app downloads, and hence with economic success. In contrast to desktop computers, mobile devices are uniquely characterized by a variety of sensors that measure environmental parameters and make them available as input to software. Potential uses of these technologies range from location-based digital services that use the user's location for vehicle or pedestrian navigation to augmented reality applications that use sensor information for user experience enhancement. Apps instrumenting physical and non-physical environmental parameters to control workflows or user interfaces are called context-aware applications. Context-awareness has a formative impact on the functional and technical design of mobile applications. The algorithmic interpretation of context data is a non-trivial problem that makes thorough implementation and careful testing mandatory to ensure adequate application quality. Major challenges of context-aware mobile application testing are test case creation and test execution. The impact of context-awareness on test case creation is the attainability of adequate test coverage, that in contrast to non-context-aware application extends beyond traditional input data. It requires the identification and characterization of context data sources and the provisioning of suitable, reproducible test data. This thesis addresses a method and technology to decouple test case creation and test execution from manual labor through the extensive use of model-driven automation technology. A method is presented that generates test cases for context-aware mobile applications from UML Activity Models by means of model transformation technology. A test execution framework facilitates the reproducible simulation of context data derived from an enriched system model. The approach is validated using a prototypical implementation of the test case generation algorithm. The simulation of context data during test execution ist validated using a modified implementation of the Android operation system

    Proceedings of the Conference on Software & Systems Engineering Essentials 2008 (SEE 2008)

    Get PDF
    In 2008, the conference "Software & Systems Engineering Essentials" was organized by 4Soft, a software and consulting company from Munich, and the Clausthal University of Technology. These proceedings provide an overview of the conference's purpose and summarize its content

    Untersuchung von Performanzveränderungen auf Quelltextebene

    Get PDF
    Änderungen am Quelltext einer Software können zu veränderter Performanz führen. Um das Auftreten von Regressionen zu verhindern und die Effekte von Quelltextänderungen, von denen eine Verbesserung erwartet wird, zu überprüfen, ist die Messung der Auswirkungen von Quelltextänderungen auf die Performanz sowie das tiefgehende Verständnis des Laufzeitverhaltens der beteiligten Quelltextkonstrukte notwendig. Die Spezifikation von Benchmarks oder Lasttests, um Regressionen zu erkennen, erfordert immensen manuellen Aufwand. Für das Verständnis der Änderungen sind anschließend oft weitere Experimente notwendig. In der vorliegenden Arbeit wird der Ansatz Performanzanalyse von Softwaresystemen (Peass) entwickelt. Peass beruht auf der Annahme, dass Performanzänderungen durch Messung der Performanz von Unittests erkennbar ist. Peass besteht aus (1) einer Methode zur Regressionstestselektion, d. h. zur Bestimmung, zwischen welchen Commits sich die Performanz geändert haben kann basierend auf statischer Quelltextanalyse und Analyse des Laufzeitverhaltens, (2) einer Methode zur Umwandlung von Unittests in Performanztests und zur statistisch zuverlässigen und reproduzierbaren Messung der Performanz und (3) einer Methode zur Unterstützung des Verstehens von Ursachen von Performanzänderungen. Der Peass-Ansatzes ermöglicht es somit, durch den Workload von Unittests messbare Performanzänderungen automatisiert zu untersuchen. Die Validität des Ansatzes wird geprüft, indem gezeigt wird, dass (1) typische Performanzprobleme in künstlichen Testfällen und (2) reale, durch Entwickler markierte Performanzänderungen durch Peass gefunden werden können. Durch eine Fallstudie in einem laufenden Softwareentwicklungsprojekt wird darüber hinaus gezeigt, dass Peass in der Lage ist, relevante Performanzänderungen zu erkennen.:1 Einleitung 1.1 Motivation 1.2 Ansatz 1.3 Forschungsfragen 1.4 Beiträge 1.5 Aufbau der Arbeit 2 Grundlagen 2.1 Software Performance Engineering 2.2 Modellbasierter Ansatz 2.2.1 Überblick 2.2.2 Performanzantipattern 2.3 Messbasierter Ansatz 2.3.1 Messprozess 2.3.2 Messwertanalyse 2.4 Messung in künstlichen Umgebungen 2.4.1 Benchmarking 2.4.2 Lasttests 2.4.3 Performanztests 2.5 Messung in realen Umgebungen: Monitoring 2.5.1 Überblick 2.5.2 Umsetzung 2.5.3 Werkzeuge 3 Regressionstestselektion 3.1 Ansatz 3.1.1 Grundidee 3.1.2 Voraussetzungen 3.1.3 Zweistufiger Prozess 3.2 Statische Testselektion 3.2.1 Selektierte Änderungen 3.2.2 Prozess 3.2.3 Implementierung 3.3 Tracevergleich 3.3.1 Selektierte Änderungen 3.3.2 Prozess 3.3.3 Implementierung 3.3.4 Kombination mit statischer Analyse 3.4 Evaluation 3.4.1 Implementierung 3.4.2 Exaktheit 3.4.3 Korrektheit 3.4.4 Diskussion der Validität 3.5 Verwandte Arbeiten 3.5.1 Funktionale Regressionstestbestimmung 3.5.2 Regressionstestbestimmung für Performanztests 4 Messprozess 4.1 Vergleich von Mess- und Analysemethoden 4.1.1 Vorgehen 4.1.2 Fehlerbetrachtung 4.1.3 Workloadgröße der künstlichen Unittestpaare 4.2 Messmethode 4.2.1 Aufbau einer Iteration 4.2.2 Beenden von Messungen 4.2.3 Garbage Collection je Iteration 4.2.4 Umgang mit Standardausgabe 4.2.5 Zusammenfassung der Messmethode 4.3 Analysemethode 4.3.1 Auswahl des statistischen Tests 4.3.2 Ausreißerentfernung 4.3.3 Parallelisierung 4.4 Evaluierung 4.4.1 Vergleich mit JMH 4.4.2 Reproduzierbarkeit der Ergebnisse 4.4.3 Fazit 4.5 Verwandte Arbeiten 4.5.1 Beenden von Messungen 4.5.2 Änderungserkennung 4.5.3 Anomalieerkennung 5 Ursachenanalyse 5.1 Reduktion des Overheads der Messung einzelner Methoden 5.1.1 Generierung von Beispielprojekten 5.1.2 Messung von Methodenausführungsdauern 5.1.3 Optionen zur Overheadreduktion 5.1.4 Messergebnisse 5.1.5 Überprüfung mit MooBench 5.2 Messkonfiguration der Ursachenanalyse 5.2.1 Grundlagen 5.2.2 Fehlerbetrachtung 5.2.3 Ansatz 5.2.4 Messergebnisse 5.3 Verwandte Arbeiten 5.3.1 Monitoringoverhead 5.3.2 Ursachenanalyse für Performanzänderungen 5.3.3 Ursachenanalyse für Performanzprobleme 6 Evaluation 6.1 Validierung durch künstliche Performanzprobleme 6.1.1 Reproduktion durch Benchmarks 6.1.2 Umwandlung der Benchmarks 6.1.3 Überprüfen von Problemen mit Peass 6.2 Evaluation durch reale Performanzprobleme 6.2.1 Untersuchung dokumentierter Performanzänderungen offenen Projekten 6.2.2 Untersuchung der Performanzänderungen in GeoMap 7 Zusammenfassung und Ausblick 7.1 Zusammenfassung 7.2 AusblickChanges to the source code of a software may result in varied performance. In order to prevent the occurance of regressions and check the effect of source changes, which are expected to result in performance improvements, both the measurement of the impact of source code changes and a deep understanding of the runtime behaviour of the used source code elements are necessary. The specification of benchmarks and load tests, which are able to detect performance regressions, requires immense manual effort. To understand the changes, often additional experiments are necessary. This thesis develops the Peass approach (Performance analysis of software systems). Peass is based on the assumption, that performance changes can be identified by unit tests. Therefore, Peass consists of (1) a method for regression test selection, which determines between which commits the performance may have changed based on static code analysis and analysis of the runtime behavior, (2) a method for transforming unit tests into performance tests and for statistically reliable and reproducible measurement of the performance and (3) a method for aiding the diagnosis of root causes of performance changes. The Peass approach thereby allows to automatically examine performance changes that are measurable by the workload of unit tests. The validity of the approach is evaluated by showing that (1) typical performance problems in artificial test cases and (2) real, developer-tagged performance changes can be found by Peass. Furthermore, a case study in an ongoing software development project shows that Peass is able to detect relevant performance changes.:1 Einleitung 1.1 Motivation 1.2 Ansatz 1.3 Forschungsfragen 1.4 Beiträge 1.5 Aufbau der Arbeit 2 Grundlagen 2.1 Software Performance Engineering 2.2 Modellbasierter Ansatz 2.2.1 Überblick 2.2.2 Performanzantipattern 2.3 Messbasierter Ansatz 2.3.1 Messprozess 2.3.2 Messwertanalyse 2.4 Messung in künstlichen Umgebungen 2.4.1 Benchmarking 2.4.2 Lasttests 2.4.3 Performanztests 2.5 Messung in realen Umgebungen: Monitoring 2.5.1 Überblick 2.5.2 Umsetzung 2.5.3 Werkzeuge 3 Regressionstestselektion 3.1 Ansatz 3.1.1 Grundidee 3.1.2 Voraussetzungen 3.1.3 Zweistufiger Prozess 3.2 Statische Testselektion 3.2.1 Selektierte Änderungen 3.2.2 Prozess 3.2.3 Implementierung 3.3 Tracevergleich 3.3.1 Selektierte Änderungen 3.3.2 Prozess 3.3.3 Implementierung 3.3.4 Kombination mit statischer Analyse 3.4 Evaluation 3.4.1 Implementierung 3.4.2 Exaktheit 3.4.3 Korrektheit 3.4.4 Diskussion der Validität 3.5 Verwandte Arbeiten 3.5.1 Funktionale Regressionstestbestimmung 3.5.2 Regressionstestbestimmung für Performanztests 4 Messprozess 4.1 Vergleich von Mess- und Analysemethoden 4.1.1 Vorgehen 4.1.2 Fehlerbetrachtung 4.1.3 Workloadgröße der künstlichen Unittestpaare 4.2 Messmethode 4.2.1 Aufbau einer Iteration 4.2.2 Beenden von Messungen 4.2.3 Garbage Collection je Iteration 4.2.4 Umgang mit Standardausgabe 4.2.5 Zusammenfassung der Messmethode 4.3 Analysemethode 4.3.1 Auswahl des statistischen Tests 4.3.2 Ausreißerentfernung 4.3.3 Parallelisierung 4.4 Evaluierung 4.4.1 Vergleich mit JMH 4.4.2 Reproduzierbarkeit der Ergebnisse 4.4.3 Fazit 4.5 Verwandte Arbeiten 4.5.1 Beenden von Messungen 4.5.2 Änderungserkennung 4.5.3 Anomalieerkennung 5 Ursachenanalyse 5.1 Reduktion des Overheads der Messung einzelner Methoden 5.1.1 Generierung von Beispielprojekten 5.1.2 Messung von Methodenausführungsdauern 5.1.3 Optionen zur Overheadreduktion 5.1.4 Messergebnisse 5.1.5 Überprüfung mit MooBench 5.2 Messkonfiguration der Ursachenanalyse 5.2.1 Grundlagen 5.2.2 Fehlerbetrachtung 5.2.3 Ansatz 5.2.4 Messergebnisse 5.3 Verwandte Arbeiten 5.3.1 Monitoringoverhead 5.3.2 Ursachenanalyse für Performanzänderungen 5.3.3 Ursachenanalyse für Performanzprobleme 6 Evaluation 6.1 Validierung durch künstliche Performanzprobleme 6.1.1 Reproduktion durch Benchmarks 6.1.2 Umwandlung der Benchmarks 6.1.3 Überprüfen von Problemen mit Peass 6.2 Evaluation durch reale Performanzprobleme 6.2.1 Untersuchung dokumentierter Performanzänderungen offenen Projekten 6.2.2 Untersuchung der Performanzänderungen in GeoMap 7 Zusammenfassung und Ausblick 7.1 Zusammenfassung 7.2 Ausblic

    Methoden und Ansätze für die Entwicklung und den Test prädiktiver Fahrzeugregelungsfunktionen

    Get PDF
    In dieser Arbeit werden das aktuelle Vorgehen und die Prozesse in der automobilen Produktentwicklung sowie die etablierten Methoden für die Entwicklung, Verifikation und Validierung von Fahrzeugregelungsfunktionen analysiert. Dem wird eine Taxonomie und Analyse aktueller Serienanwendungen und Forschungskonzepte gegenüber gestellt. Ziel ist es, durch eine ganzheitliche Betrachtung die aktuellen Rahmenbedingungen und Herausforderungen bei der Entwicklung innovativer Funktionen für die Automatisierung der Fahraufgabe zu identifizieren. Auf dieser Grundlage wird ein neuartiges Konzept für die Entwicklung und den Test prädiktiver Fahrzeugregelungsfunktionen erarbeitet. Das Kernstück des entwickelten Konzepts stellt die Reactive-Replay Methode dar. Sie ermöglicht eine enge Verzahnung von Erprobungsfahrten in der realen Welt mit der Ausführung der entwickelten Fahrzeugfunktion innerhalb einer Simulationsumgebung. Die adaptive Wiedergabe von während der Erprobung aufgezeichneten Daten des fahrzeuginternen Kommunikationsnetzes ermöglicht einen nahtlosen Übergang von der realen Welt im Fahrzeug in die Simulation im Büro. Auf diese Weise können in der Realität aufgetretene Situationen und Szenarien detailliert und unter Laborbedingungen untersucht und für Tests wiederverwendet werden. Darüber hinaus ermöglicht dieser Ansatz eine effiziente Generierung valider Testszenarien, die durch ihre Vielfältigkeit und Varianz zu einer verbesserten Testabdeckung beitragen. Um die entwickelte Methode systematisch in den produktiven Alltag der Funktionsentwicklung zu integrieren, wird ein schlankes, iteratives Vorgehen zur prozessualen Integration der Reactive-Replay Methode vorgeschlagen. Die Verifikation in der Simulationsumgebung wird so mit der Validierung in der Fahrzeugerprobung gekoppelt. Dies unterstützt die frühzeitige und durchgängige Qualitätsbewertung der entwickelten Fahrzeugfunktion. Weiter wird eine Methode zur kontinuierlichen Überprüfung von Anforderungen während der Simulationsausführung untersucht. Ein Ansatz zur effizienten Auswahl von Testszenarien auf Basis der innerhalb eines Szenarios erreichten Parameterüberdeckung rundet die Arbeit ab
    corecore