Präsentation herunterladen
Die Präsentation wird geladen. Bitte warten
0
Dr. Oscar Slotosch: Testmodellierung und Testautomatisierung für Embedded Realtime Systeme
1. Validas AG 2. Modelle im Entwicklungsprozess 3. Testautomatisierung 4. Realtime Erweiterungen
1
Validas Model Validation AG
DGLR Gegründet 4/2000 Arbeitsgebiete: Entwicklung & Consulting bei Modellierung Validierung (Testgenerierung) Softwareentwicklung Tools Embedded Systeme Stärken der Validas ausgezeichnete Produkte hochqualifiziertes und motiviertes Team ehrlich & technisch Kontakte zu namhaften europäischen Unternehmen Sitz: Software Campus, München Validas Beteiligungsmodell
2
Kunden und Projekte Giesecke & Devrient Testsequenzen für Smartcards
DGLR Giesecke & Devrient Testsequenzen für Smartcards EADS ADA-Codegenerierung und Testfälle aus Modellen Daimler Chrysler Research DOORS-Kopplungen BSI Vermarktung von Quest Knorr-Bremse Testsequenzerzeugung BMW, ESG UML/RT-Schulungen Validas Beteiligungsmodell
3
Ausgezeichnete Produkte
OMER2-Award 2nd Prize Ausgezeichnete Produkte DGLR Modellierung Validation Framework Validas Beteiligungsmodell
4
Durchgängiger Entwicklungsprozess
DGLR Klassische Phasenmodelle: Analyse Design Implementierung Test Aufgabe: Permanente Integration von QS-Maßnahmen Lösung: Modelle integrieren Modellierung Validierung Code-Generierung Modelle Beteiligungsmodell
5
Inkrementeller Prozess
DGLR Requirements Modelle Modell 1 Modell 2 Modell 3 Modell n Modelle für Code-Erzeugung Qualitätssicherung Implementierung Beteiligungsmodell
6
Modellierungswerkzeug AutoFocus
DGLR Modelle Entwicklung an der TU München (seit ‘96) Graphische Beschreibungstechniken “UML-RT light” Graphische Simulation und Animation Multi-User Frei verfügbar: Semantische Fundierung zur Verifikation und Validierung Beteiligungsmodell
7
Modellieren mit AUTOFOCUS (TUM)
DGLR Beschreibungstechniken (Sichten) Struktur: System Structure Diagrams (SSDs) Verhalten: State Transition Diagrams (STDs) Interaktion: Extended Event Traces (EETs) Daten: Data Type Definitions (DTDs) Allen Sichten gemeinsam: Hierarchie Konzeptuelles und semantisches Modell Integrierbar Modelle Beteiligungsmodell
8
Modellarten der UML / AutoFocus
DGLR Verhalten Struktur Klassendiagramme Modelle Aktivitätsdiagramme Objektdiagramme Modell Deploymentdiagramme Zustandsdiagramme Komponentendiagramme Use Case-Diagramme OCL Sequenzdiagramme Kollaborationsdiagramme Beteiligungsmodell
9
Simulation Beteiligungsmodell AutoFocus Process Modelling DGLR
AutoFocus Process Modelling Beteiligungsmodell
10
Testautomatisierung Testdurchführung Testdokumentation
DGLR Testdurchführung Modell <-> System Abdeckung messen Testdokumentation Testfallermittlung Sequenzen ableiten Such-Verfahren Testautom. Beteiligungsmodell
11
Validation Framework Beruht auf dem AutoFocus-Komponentenmodell
DGLR Beruht auf dem AutoFocus-Komponentenmodell Angestoßen durch das BSI (Quest) Zahlreiche Techniken und Anwendungen Integration bestehender bewährter Werkzeuge Innovative Eigenentwicklungen Testautom. Beteiligungsmodell
12
Werkzeugarchitektur SMV SATO, CHAFF OCL VSE DOORS CTE ADA Java Matlab
DGLR SMV SATO, CHAFF OCL VSE Testautom. DOORS CTE ADA Java Matlab C Prolog Modellierung, Validierung, Codegenerierung korrekte Systeme, effiziente Prozesse Präzise & konzise synchrone Semantik Grundlage für fortgeschrittene Validierung Beteiligungsmodell
13
Vollständige Methoden
DGLR Model-Checking: SMV, Mucke Bounded Model-Checking: SATO, CHAFF Abstraktionstechniken: Validator Theorem-Beweiser: VSE II Typprüfung: Validator Determinismus-Check: Validator Konsistenz-Checks: OCL Code-Erzeugung: C, Java, Prolog, Ada Testautom. Beteiligungsmodell
14
Unvollständige Methoden
DGLR Simulation: AutoFocus Testen Transitions-Touren: Quest Transitions-Checker: SATO, CHAFF Testfallermittlung: Bounded Model-Checking Constraint-Solving Testdurchführung / Regressionstests Prototyping: MSC2STD Testautom. Beteiligungsmodell
15
Testsequenz-Erzeugung
DGLR Modellbasiert Strukturell Besuch aller STD-Zustände Ausführung aller STD-Transitionen Funktional Ausgabe einer bestimmten Nachricht z.B. “bestimmten Geldbetrag abheben” in einem ATM-Modell Testautom. Beteiligungsmodell
16
Beispiel: Transitionstour
DGLR Testautom. Beteiligungsmodell
17
Constraint-basiertes Testen
DGLR Contraint-Logic Programming (Prolog mit Constraint-Solver) Symbolische Modellausführung Suche von Ausführungen mit bestimmten Eigenschaften Vorteile: Flexible Testfallspezifikation (Prolog) Geeignet für große und sogar zustandsunendliche Systeme Erzeugung mehrerer Testsequenzen durch Backtracking Testautom. Beteiligungsmodell
18
Testdurchführung Abgleich EET Code Interaktive Testdurchführung
DGLR Abgleich EET Code Interaktive Testdurchführung Java-Code laden (Java Beans-Interface) Ausführung mit Java Reflection Automatische Testdurchführung und Regressionstests: Testdaten und –treiber erzeugen Code-Erzeugung aus Modell Programme mit Testdaten ausführen Anwendbar für C und Java-Code Graphisch: AutoFocus-Simulation mit Testdaten steuern Testautom. Beteiligungsmodell
19
Test Data Format Test Data Format (.tdf) Semantik:
DGLR Test Data Format (.tdf) Textuell; eine Zeile pro Zeitintervall Format: {inp?Val;}*{out!Val;}* Ports der zu testenden Komponente zugeordnet Keine Variablen, Wiederholung, Verzweigung Aufgabe von Testmanagement-Werkzeugen Semantik: Eingaben an zu testende Komponente anlegen Ausgabewerte prüfen Flexible Anbindungen, z.B. SmartCards Testautom. Beteiligungsmodell
20
Beispiel Testdurchführung
DGLR Testautom. Beteiligungsmodell
21
Projekt MOBASIS DGLR MOdellBASIerte Entwicklung Sicherheitskritischer Systeme Partner: EADS, TUM, Validas Laufzeit: 9/00 - 4/02 Ergebnisse: Ada Codegenerator für AutoFocus (EF konform) Verbesserung Testgenerierung Anbindung Testtools (Rational) Abdeckung (MCDC) der generierten Testfälle messen Testautom. Beteiligungsmodell
22
Ada Codegenerator Embedded Code (statisch: RAM/ROM) Parametrisierbar
DGLR Embedded Code (statisch: RAM/ROM) Parametrisierbar max. McCabe Wert Inline Pragmas Wertebereiche Separate, ... Abschätzungen für Statische Bits McCabe-Werte Files, Packages worst-case Zyklen strukturierter, lesbarer Code Zertifizierungsmöglichkeit wird geprüft Testautom. Beteiligungsmodell
23
Realtime Erweiterungen
DGLR Prozess Erweiterungen Funktionale Schritte (Modelle, Simulation, Tests,..) Zeitliche Erweiterungen Methoden Erweiterungen Modelle (Struktur, Verhalten, Tests) Testgenerierung Testdurchführung Codegenerierung Werkzeuge Erweiterungen Echtzeit Beteiligungsmodell
24
„Modelle“ für Echtzeit
DGLR Struktur Zeitleitungen Verhalten Zeitkomponenten Echtzeituhr Timer Wiederholungsrate Realisierung Modellierungsmethode Stereotypes Echtzeit Beteiligungsmodell
25
Testmodelle für Echtzeit
DGLR System Sequenzen erweitern zu Achsen, Nachrichten Zeit-Ticks (Gleichzeitigkeit) Wiederholungen Bedingungen für Meßwerte Zeitdauern Echtzeitannotationen Start?True <=1ms Echtzeit Status!Busy 1-* Value!X {X<=2} Status!Ready Beteiligungsmodell
26
Erweitertes Test Data Format
DGLR Zeilenorientiert (wie tdf) Wiederholungen (Schleifen) Format: begin {Wdh} Zeile* end Variablen & Bedingungen Nur für Ausgaben Format: { Cond(Var);} Timer Definition/Start [TName] Abfrage: { TCond(TName);} TCond: <,>,<=,>=, us, ms, s, min, h, d Echtzeit Beteiligungsmodell
27
Realtime Prozess Modelle zeitabhängig machen Testsequenzen generieren
DGLR Modelle zeitabhängig machen Testsequenzen generieren Realtime-Annotationen an Testsequenzen Manuell Entsprechend den Timing Requirements Code & Testtreiber generieren Tests durchführen Abdeckung messen Echtzeit Beteiligungsmodell
28
Zusammenfassung Einfache Modelle Echtzeit Erweiterungen
DGLR Einfache Modelle klare Semantik effizienter Code viele Validierungsmöglichkeiten Echtzeit Erweiterungen Prozess Methoden Modelle Werkzeuge Validas Werkzeuge & Methoden Offene Werkzeugarchitektur Anbindung Ada Anbindung Testtools Summary Beteiligungsmodell
29
Andere Anwendungen BSI: “Storm Surge Barrier” (Model Checking)
DGLR BSI: “Storm Surge Barrier” (Model Checking) G&D: Smartcards (Constraint-Solving, MC) EADS: Vorflügel-Steuerung (Test, Ada) TUM: Mars Polar Lander (Simulation, Validierung hybrider Systeme) MOBASIS: Mabuchi-Motor (hybrid, Matlab) OMER2: Autositz (Code-Erzeugung; Validierung) Summary Beteiligungsmodell
Ähnliche Präsentationen
© 2024 SlidePlayer.org Inc.
All rights reserved.