Dr. Oscar Slotosch:
Testmodellierung und Testautomatisierung für
Embedded Realtime Systeme1. Validas AG2. Modelle im Entwicklungsprozess3. Testautomatisierung 4. Realtime Erweiterungen
DGLR11.10.2001
BeteiligungsmodellBeteiligungsmodell
RealtimeTestmodelle und AutomatisierungFolie 2
Validas
Modelle
Summary
Echtzeit
Testautom.
Validas Model Validation AG
• 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
DGLR11.10.2001
BeteiligungsmodellBeteiligungsmodell
RealtimeTestmodelle und AutomatisierungFolie 3
Validas
Modelle
Summary
Echtzeit
Testautom.
Kunden und Projekte
• Giesecke & DevrientTestsequenzen für Smartcards
• EADSADA-Codegenerierung und Testfälle aus Modellen
• Daimler Chrysler ResearchDOORS-Kopplungen
• BSIVermarktung von Quest
• Knorr-BremseTestsequenzerzeugung
• BMW, ESGUML/RT-Schulungen
Validas
DGLR11.10.2001
BeteiligungsmodellBeteiligungsmodell
RealtimeTestmodelle und AutomatisierungFolie 4
Validas
Modelle
Summary
Echtzeit
Testautom.
Ausgezeichnete Produkte
ModellierungModellierung Validation FrameworkValidation Framework
OMER2-Award2nd Prize
Validas
DGLR11.10.2001
BeteiligungsmodellBeteiligungsmodell
RealtimeTestmodelle und AutomatisierungFolie 5
Validas
Modelle
Summary
Echtzeit
Testautom.
Durchgängiger Entwicklungsprozess
• Klassische Phasenmodelle:1. Analyse2. Design3. Implementierung4. Test
• Aufgabe:Permanente Integration von QS-Maßnahmen
• Lösung: Modelle integrieren– Modellierung– Validierung– Code-Generierung
Modelle
DGLR11.10.2001
BeteiligungsmodellBeteiligungsmodell
RealtimeTestmodelle und AutomatisierungFolie 6
Validas
Modelle
Summary
Echtzeit
Testautom.
Inkrementeller Prozess
Modell 1 Modell 3 Modell nModell 2
Requirements
Implementierung
Modelle für
• Code-Erzeugung
• Qualitätssicherung
Modelle
DGLR11.10.2001
BeteiligungsmodellBeteiligungsmodell
RealtimeTestmodelle und AutomatisierungFolie 7
Validas
Modelle
Summary
Echtzeit
Testautom.
ModellierungswerkzeugAutoFocus
• Entwicklung an der TU München (seit ‘96)• Graphische Beschreibungstechniken• “UML-RT light”• Graphische Simulation und Animation• Multi-User• Frei verfügbar: http://autofocus.in.tum.de
• Semantische Fundierung zur– Verifikation und Validierung
Modelle
DGLR11.10.2001
BeteiligungsmodellBeteiligungsmodell
RealtimeTestmodelle und AutomatisierungFolie 8
Validas
Modelle
Summary
Echtzeit
Testautom.
Modellieren mit AUTOFOCUS (TUM)
• 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
DGLR11.10.2001
BeteiligungsmodellBeteiligungsmodell
RealtimeTestmodelle und AutomatisierungFolie 9
Validas
Modelle
Summary
Echtzeit
Testautom.
Modellarten der UML / AutoFocus
Modell
Struktur
Verhalten
Sequenzdiagramme
Klassendiagramme
Zustandsdiagramme
AktivitätsdiagrammeObjektdiagramme
Deploymentdiagramme
Kollaborationsdiagramme
Komponentendiagramme
Use Case-DiagrammeOCL
Modelle
DGLR11.10.2001
BeteiligungsmodellBeteiligungsmodell
RealtimeTestmodelle und AutomatisierungFolie 10
Validas
Modelle
Summary
Echtzeit
Testautom.
AutoFocus
Process
Modelling
Simulation
DGLR11.10.2001
BeteiligungsmodellBeteiligungsmodell
RealtimeTestmodelle und AutomatisierungFolie 11
Validas
Modelle
Summary
Echtzeit
Testautom.
Testautomatisierung
• Testdurchführung– Modell <-> System– Abdeckung messen
• Testdokumentation• Testfallermittlung
– Sequenzen ableiten– Such-Verfahren
Testautom.
DGLR11.10.2001
BeteiligungsmodellBeteiligungsmodell
RealtimeTestmodelle und AutomatisierungFolie 12
Validas
Modelle
Summary
Echtzeit
Testautom.
Validation Framework
• Beruht auf dem AutoFocus-Komponentenmodell
• Angestoßen durch das BSI (Quest)
• Zahlreiche Techniken und Anwendungen
• Integration bestehender bewährter Werkzeuge
• Innovative Eigenentwicklungen
Testautom.
DGLR11.10.2001
BeteiligungsmodellBeteiligungsmodell
RealtimeTestmodelle und AutomatisierungFolie 13
Validas
Modelle
Summary
Echtzeit
Testautom.
• Modellierung, Validierung, Codegenerierung korrekte Systeme, effiziente Prozesse
• Präzise & konzise synchrone Semantik Grundlage für fortgeschrittene Validierung
Werkzeugarchitektur
DOORS
OCL
CTE
Matlab
SMV SATO, CHAFF
VSE
ADAJava
CProlog
Testautom.
DGLR11.10.2001
BeteiligungsmodellBeteiligungsmodell
RealtimeTestmodelle und AutomatisierungFolie 14
Validas
Modelle
Summary
Echtzeit
Testautom.
Vollständige Methoden
• 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.
DGLR11.10.2001
BeteiligungsmodellBeteiligungsmodell
RealtimeTestmodelle und AutomatisierungFolie 15
Validas
Modelle
Summary
Echtzeit
Testautom.
Unvollständige Methoden
• Simulation: AutoFocus• Testen
– Transitions-Touren: Quest– Transitions-Checker: SATO, CHAFF– Testfallermittlung:
• Bounded Model-Checking• Constraint-Solving
– Testdurchführung / Regressionstests
• Prototyping: MSC2STD
Testautom.
DGLR11.10.2001
BeteiligungsmodellBeteiligungsmodell
RealtimeTestmodelle und AutomatisierungFolie 16
Validas
Modelle
Summary
Echtzeit
Testautom.
Testsequenz-Erzeugung
• 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.
DGLR11.10.2001
BeteiligungsmodellBeteiligungsmodell
RealtimeTestmodelle und AutomatisierungFolie 17
Validas
Modelle
Summary
Echtzeit
Testautom.
Beispiel: Transitionstour
Testautom.
DGLR11.10.2001
BeteiligungsmodellBeteiligungsmodell
RealtimeTestmodelle und AutomatisierungFolie 18
Validas
Modelle
Summary
Echtzeit
Testautom.
• 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
Constraint-basiertes Testen
Testautom.
DGLR11.10.2001
BeteiligungsmodellBeteiligungsmodell
RealtimeTestmodelle und AutomatisierungFolie 19
Validas
Modelle
Summary
Echtzeit
Testautom.
• 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
Testdurchführung
Testautom.
DGLR11.10.2001
BeteiligungsmodellBeteiligungsmodell
RealtimeTestmodelle und AutomatisierungFolie 20
Validas
Modelle
Summary
Echtzeit
Testautom.
Test Data Format
• 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.
DGLR11.10.2001
BeteiligungsmodellBeteiligungsmodell
RealtimeTestmodelle und AutomatisierungFolie 21
Validas
Modelle
Summary
Echtzeit
Testautom.
Beispiel Testdurchführung
Testautom.
DGLR11.10.2001
BeteiligungsmodellBeteiligungsmodell
RealtimeTestmodelle und AutomatisierungFolie 22
Validas
Modelle
Summary
Echtzeit
Testautom.
Projekt MOBASIS
• 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.
DGLR11.10.2001
BeteiligungsmodellBeteiligungsmodell
RealtimeTestmodelle und AutomatisierungFolie 23
Validas
Modelle
Summary
Echtzeit
Testautom.
Ada Codegenerator
• 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.
DGLR11.10.2001
BeteiligungsmodellBeteiligungsmodell
RealtimeTestmodelle und AutomatisierungFolie 24
Validas
Modelle
Summary
Echtzeit
Testautom.
Realtime Erweiterungen
• Prozess Erweiterungen– Funktionale Schritte (Modelle, Simulation,
Tests,..)– Zeitliche Erweiterungen
• Methoden Erweiterungen– Modelle (Struktur, Verhalten, Tests)– Testgenerierung– Testdurchführung– Codegenerierung
• Werkzeuge Erweiterungen
Echtzeit
DGLR11.10.2001
BeteiligungsmodellBeteiligungsmodell
RealtimeTestmodelle und AutomatisierungFolie 25
Validas
Modelle
Summary
Echtzeit
Testautom.
„Modelle“ für Echtzeit
• Struktur– Zeitleitungen
• Verhalten– Zeitkomponenten
• Echtzeituhr• Timer
– Wiederholungsrate
• Realisierung– Modellierungsmethode– Stereotypes
Echtzeit
DGLR11.10.2001
BeteiligungsmodellBeteiligungsmodell
RealtimeTestmodelle und AutomatisierungFolie 26
Validas
Modelle
Summary
Echtzeit
Testautom.
Testmodelle für Echtzeit
• Sequenzen erweitern zu– Achsen, Nachrichten– Zeit-Ticks (Gleichzeitigkeit)– Wiederholungen– Bedingungen für
• Meßwerte• Zeitdauern
– Echtzeitannotationen
System
Start?True
Status!Busy
Status!Ready
Value!X{X<=2}
1-*<=1msEchtzeit
DGLR11.10.2001
BeteiligungsmodellBeteiligungsmodell
RealtimeTestmodelle und AutomatisierungFolie 27
Validas
Modelle
Summary
Echtzeit
Testautom.
Erweitertes Test Data Format
• 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
DGLR11.10.2001
BeteiligungsmodellBeteiligungsmodell
RealtimeTestmodelle und AutomatisierungFolie 28
Validas
Modelle
Summary
Echtzeit
Testautom.
Realtime Prozess
• Modelle zeitabhängig machen• Testsequenzen generieren• Realtime-Annotationen an Testsequenzen
– Manuell– Entsprechend den Timing Requirements
• Code & Testtreiber generieren• Tests durchführen• Abdeckung messen
Echtzeit
DGLR11.10.2001
BeteiligungsmodellBeteiligungsmodell
RealtimeTestmodelle und AutomatisierungFolie 29
Validas
Modelle
Summary
Echtzeit
Testautom.
Zusammenfassung
• 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
DGLR11.10.2001
BeteiligungsmodellBeteiligungsmodell
RealtimeTestmodelle und AutomatisierungFolie 30
Validas
Modelle
Summary
Echtzeit
Testautom.
Andere Anwendungen• 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