Prof. Dr. Holger Schlingloff

Slides:



Advertisements
Ähnliche Präsentationen
Software Engeniering II
Advertisements

1 Referenzmodelle für HISinOne Dr. Uwe Hübner, 02. Juli 2009.
Integrations- und Funktionstests im Rahmen des V-Modelles
Submodell Softwareentwicklung (SE)
P-UMLaut Petrinetze, UML und automatisierte Simulation
Qualitätssicherung von Software Prof. Dr. Holger Schlingloff Humboldt-Universität zu Berlin und Fraunhofer FIRST.
Eingebettete Systeme Qualität und Produktivität
Modellbasierte Software-Entwicklung eingebetteter Systeme
Modellbasierte Software-Entwicklung eingebetteter Systeme
Eingebettete Systeme Qualität und Produktivität
Software-Engineering II Eingebettete Systeme, Softwarequalität, Projektmanagement Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt.
Eingebettete Systeme Qualität und Produktivität
Qualitätssicherung von Software (SWQS)
Qualitätssicherung von Software (SWQS) Prof. Dr. Holger Schlingloff Humboldt-Universität zu Berlin und Fraunhofer FOKUS : Modellprüfung.
Qualitätssicherung von Software (SWQS)
Das „Vorgehensmodell“
DEPARTMENT FÜR INFORMATIK
Kooperierende autonome Fahrzeuge
Evaluierung und Implementierung der Automated Test Life-Cycle Methodology (ATLM) am Beispiel der IT3-Software Vorträger: Ling Yan.
Seminar Software-Engineering für softwareintensive Systeme
Prof. Dr. Holger Schlingloff
Qualitätssicherung von Software (SWQS) Prof. Dr. Holger Schlingloff Humboldt-Universität zu Berlin und Fraunhofer FOKUS : Software Model Checking.
Qualitätssicherung von Software
Prof. Dr. Holger Schlingloff
Qualitätssicherung von Software Prof. Dr. Holger Schlingloff Humboldt-Universität zu Berlin und Fraunhofer FIRST.
Qualitätssicherung von Software
Qualitätssicherung von Software
Prof. Dr. Holger Schlingloff
Prof. Dr. Holger Schlingloff
Eingebettete Systeme Qualität und Produktivität
Modellbasierte Software- Entwicklung eingebetteter Systeme Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt Universität und Fraunhofer.
Spezifikation, Verifikation, Testtheorie Prof. Dr. Holger Schlingloff Institut für Informatik und Fraunhofer FIRST.
Management großer Softwareprojekte Prof. Dr. Holger Schlingloff Humboldt-Universität zu Berlin, Institut für Informatik Fraunhofer Institut für Rechnerarchitektur.
Qualitätssicherung von Software
Universität Stuttgart Institut für Kernenergetik und Energiesysteme Links Links sind im Text angegeben. Weitere Links werden kontinuierlich eingefügt.
Agenda Einführung Haskell QuickCheck Zusammenfassung
Christian Kästner Modellgetriebene Softwareentwicklung Eclipse Modelling Framework.
Validas Model Validation AG
Entwicklung von Benutzerschnittstellen
UML Begleitdokumentation des Projekts
Institut für Theoretische Informatik TU Carolo-Wilhelmina zu Braunschweig Teamprojekt in Software Systems Engineering und Theoretischer Informatik Einsatz.
INSTITUT FÜR DATENTECHNIK UND KOMMUNIKATIONS- NETZE 1 Harald Schrom ViEWcon08.
Spezifikation von Anforderungen
Prof. Dr. Gerhard Schmidt pres. by H.-J. Steffens Software Engineering SS 2009Folie 1 Weitere Vorgehensmodelle Der Rational Unified Process RUP –bei IBM.
Fünf-Fünf-Zwei der 3. Vorlesung/Übung Requirements Engineering WS 10/11 Marin Zec.
Zusammenfassung der Vorlesung
Letzter Tag Spaeter Zeitpunkt letzte Lied hoert man weiter.
Agenda 13: Begrüßung & Einführung in das Thema
Paradigmenwechsel in der Unternehmensmodellierung Prof. Dr. Wolfgang Voigt Dipl.-Ing. Päd. Alexander Huwaldt UML Extrakt UML Seminar, Chemnitz
Projektmanagement Ziel und Umfang eines Softwareprojektes definieren
Enterprise Achitect (Sparx Systems) Marius Rudolf
AK Simulationswerkzeuge für das RE R. Schmid / Folie 1 Evaluation von simulationsfähigen RE-Werkzeugen Reto Schmid Institut für Informatik,
Vienna University of Technology Pirker Simon 1. Überblick Definition Motivation Vorteile Entwurf von VP Pirker Simon 2.
Modellbasierte Software-Entwicklung eingebetteter Systeme
Modellbasierte Software-Entwicklung eingebetteter Systeme
Modellbasierte Software-Entwicklung eingebetteter Systeme
Modellbasierte Software-Entwicklung eingebetteter Systeme
Qualitätssicherung von Software Prof. Dr. Holger Schlingloff Humboldt-Universität zu Berlin und Fraunhofer FIRST.
Modellbasierte Software- Entwicklung eingebetteter Systeme Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt Universität und Fraunhofer.
Modellbasierte Software- Entwicklung eingebetteter Systeme Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt Universität und Fraunhofer.
Kurze Rekapitulation aus der Einführungsvorlesung Stunde VII: Planen und Realisieren Manfred Thaller, Universität zu Köln Köln 20. Oktober 2011.
OOSE nach Jacobson Sebastian Pohl/ST7 Betreuer: Prof. Dr. Kahlbrandt.
Modellierung: MATLAB – Simulink - Stateflow
MDA – Model Driven Architecture
Performanz- und Lasttests Formale Methoden
Technische Universität München, Informatik XI Angewandte Informatik / Kooperative Systeme Verteilte Anwendungen: Entwurf Dr. Wolfgang Wörndl
Modellbasierte Software-Entwicklung eingebetteter Systeme
 Präsentation transkript:

Prof. Dr. Holger Schlingloff Model Driven Testing Prof. Dr. Holger Schlingloff Fraunhofer FIRST und Humboldt-Universität zu Berlin http://www.informatik.hu-berlin.de/~hs Die modellbasierte Entwicklung stellt ein neues Paradigma für Entwurf und Analyse eingebetteter Systeme im Automotive-Bereich dar, welches einen erheblichen Effizienzgewinn bei gleichzeitiger Steigerung der Qualität verspricht. Durch den frühzeitigen Einsatz ausführbarer Modelle im Designprozess gelingt es, den Komplexitätszuwachs der Softwareanteile heutiger Kraftfahrzeuge zu beherrschen sowie die gesamten Entwicklungszeiten zu reduzieren. Andererseits erfordert der modellbasierte Ansatz neue Herangehensweisen an den Test und die Qualitätssicherung des automatisch erzeugten Codes. In dem Vortrag wird die Methodik des modellbasierten Tests vorgestellt, so wie sie bereits heute vielfach in der Praxis angewendet wird. Es werden Probleme beschrieben, die sich beim konkreten Einsatz ergeben haben, sowie neue Lösungsmöglichkeiten aus der Forschung skizziert. Insbesondere wird auf die Erzeugung von Tests aus Modellen, auf die Absicherung von generiertem Code sowie auf moderne Testspezifikationssprachen eingegangen.

Quelle: DaimlerChrysler AG Ausgangssituation Automobilindustrie ist wesentliche deutsche Innovationsbranche Realisierung durch Software im Fahrzeug Optimierung und Ressourcenmanagement Fahrerassistenz- und Insassenkomfortsysteme Funktionen für sicheres und unfallfreies Fahren Quelle: DaimlerChrysler AG

Software im Fahrzeug Vorteile Stand der Technik Sicherheit und Zuverlässigkeit erhöhte Flexibilität Kostenreduktion Endkunden-Mehrwert Stand der Technik 40-80 Steuergeräte 500K-2M Programmzeilen 3-5 verschiedene Bussysteme Besonderes Verhältnis Hersteller und Zulieferindustrie Spezifikation und Integration bei Herstellern Entwicklung bei Zulieferern Quelle: Volkswagen AG

Probleme Größen- und Komplexitätszuwachs der Software nicht Hardware, sondern Software und Qualitätssicherung bestimmen die Grenze des Machbaren schnelle Zyklenfolge, kurze Entwicklungszeiten von 50 Monaten (1980) auf 18-20 Monate (heute) Variantenvielfalt Wiederverwendung, Konsistenz, Interoperabilität Spezifikation, Kontrakt Hersteller / Zulieferer keine einheitlichen Beschreibungsmittel Qualitäts- und Verbindlichkeitsproblematik

Paradigmenwechsel in der Softwareentwicklung Requirements Specification Function & Control System Design Implementation / Integration Testing Requirements Specification Function & Control System Design Implementation / Integration Testing

modellbasierte Entwicklung frühzeitige Erstellung eines ausführbaren Modells (Systemmodell) auf Grundlage der Anforderungen Simulation und Erprobung auf Modellebene Verfeinerung zum Implementierungs- modell automatische Code- generierung für Host und Target Effizienz- und Qualitätsgewinn!

Modellierungsformalismen herkömmliche Formalismen: Zustandsmaschinen, Diagramme, Petrinetze, StateCharts, Message Sequence Charts, ... gut etabliert, Toolunterstützung vorhanden Wildwuchs, Varianten, mangelnde Konstanz Prognose: werden durch UML2.0 abgelöst werden UML 2.0 vereinigt verschiedene Arten von Diagrammen extrem mächtig, sehr umfangreich zu lernen fehlende Semantik, verschiedene Ausbaustufen Matlab / Simulink / Stateflow teilweise gut eingeführt und bekannt limitierte Ausdrucksfähigkeit nur eine Quelle logische und algebraische Modelle, z.B. TLA, ASM/ASML, CSP nahe an natürlichsprachlichen Formulierungen Forschungsbedarf

Aktivitäten und Artefakte Lastenheft formale Spezifikation Virtueller Prototyp Testfälle Target-Code Prototyping Modellierung Verifikation Codegenerierung Testgenerierung Zusätzlicher Code Zielsystem Integration Testausführung Portierung Formalisierung Implementierungs- modell Verfeinerung Systemmodell

modellbasierter Entwurfsprozess neue Herangehensweisen erforderlich für die Qualitätssicherung automatisch erzeugten Codes die modellgetriebene Testgenerierung kohärente Testspezifikationssprachen

(a) automatische Codegenerierung Codegenerator ist „Compiler für Modelle“ Wiederverwendung von Modellen schnelle Prototyp- und Produkterstellung erhöhte Zuverlässigkeit gegen Programmierfehler automatische Optimierung des generierten Codes gängige Codegeneratoren MathWorks® Real-Time Workshop, dSPACE® TargetLink Quelle: dSPACE GmbH

Absicherung automatisch generierten Codes? erübrigt sich unter folgenden Annahmen erfolgreiche Modellprüfung vollautomatische Codegenerierung betriebsbewährter Codegenerator zuverlässige Hard- und Middleware leider trifft heute keine dieser Annahmen zu! Lösungsansätze Modelchecking von formalisierten Requirements Richtlinien für Design und Review generierten Codes Validation von Codegeneratoren automatische Hardware-in-the-Loop-Tests

Absicherung von Codegeneratoren Probleme häufige Generationenfolge von Prozessoren und Codegeneratoren Notwendigkeit zusätzlicher Absicherung Forschungsansatz Validationssuite für Codegeneratoren Graph-Transformationen als logische Basis Modellgenerator Testfallgenerator Transformationsregeln Simulator Modell Codegenerator Code Comparator Simulationsergebnisse Ausführungsergebnisse Target

(b) modellgetriebener Testprozess verschiedene, gut etablierte Testmethoden Überdeckungsmaße Reaktive Black-box Tests Klassifikationsbaum-Methode evolutionäre Testentwicklung (auch) auf Modelle anwendbar! automatische Testfallerzeugung z.B. ILogix® ATG Testplanung Testdesign Testimplementierung Testauswertung Testdurchführung Testmanagement Testdokumentation

Testgenerierung aus Modellen Modellierung in UML-StateCharts oder StateFlow-Diagrammen Kompakte Repräsentation des Zustandsraumes, Generierung einer „transition tour“ Testausführungs-Engine für HIL-Target Interface- Modul System Under Test Offline- Testfallerzeugung Testmaschine

Szenarien für Testautomatisierung Requirements Modell Code Testsuite Requirements Modell Code Testsuite UseCases

(c) Kohärenz von modellbasierten Tests Probleme im modellbasierten Ansatz unterschiedliche Formen der Beschreibungen von Testfällen, Kompatibiltäts- und Konsistenzprobleme Mischsysteme aus Modellen und manuellem Code Lösungsansätze syntaktische und semantische Überführung unterschiedlicher Formate, einheitliche Notation kohärente Testumgebung, Toolintegration (Pro2Lab)

Testspezifikationssprachen am Beispiel TTCN-3 Notwendigkeit einer einheitlichen Notation Ansatz aus der Telekommunikation Testspezifikationssprache als Modellierungssprache ASN.1 Types & Values Other types & values Graphical format Tabular format TTCN-3 core language Presentation format n Text format testcase myTestcase () runs on MTCType system TSIType { mydefault := activate (OtherwiseFail); verdict.set(pass); : connect(PTC_ISAP1:CP_ISAP1,mtc:CP_ISAP1); map(PTC_ISAP1:ISAP1, system:TSI_ISAP1); PTC_ISAP1.start(func_PTC_ISAP1()); PTC_MSAP2.start(func_PTC_MSAP2()); Synchronization(); all component.done; msc mi_synch1_conc1 mtc ISAP1 MSAP2

Testausführungsumgebung TTCN-3 beginnt, sich auch außerhalb der Telekommunikation als Test-Spezifikationssprache durchzusetzen: Telelogic Tau, Danet, Testing Tech, daVinci Comm, openttcn, … TTCN-3 für embedded, TTCN-3.Net (FIRST) UML Testing Profile Metamodell, TTCN-3 als Instanz

Zusammenfassung modellbasierte Entwicklung hat hohes Potential zur Produktivitätssteigerung in der Softwaretechnik Modell als zentraler Dreh- und Angelpunkt für Systementwicklung automatische Codegenerierung bedingt neue Absicherungsverfahren für Code und Generator Erzeugung von Tests aus Modellen und Use-Case-Anwendungsfällen bereits heute möglich und sinnvoll standardisierte Testspezifikationssprachen entstehen Vielen Dank für Ihre Aufmerksamkeit!