30
Dr. Oscar Slotosch: Testmodellierung und Testautomatisierung für Embedded Realtime Systeme 1. Validas AG 2. Modelle im Entwicklungsprozess 3. Testautomatisierung 4. Realtime Erweiterungen

Dr. Oscar Slotosch: Testmodellierung und Testautomatisierung für Embedded Realtime Systeme 1. Validas AG 2. Modelle im Entwicklungsprozess 3. Testautomatisierung

Embed Size (px)

Citation preview

Page 1: Dr. Oscar Slotosch: Testmodellierung und Testautomatisierung für Embedded Realtime Systeme 1. Validas AG 2. Modelle im Entwicklungsprozess 3. Testautomatisierung

Dr. Oscar Slotosch:

Testmodellierung und Testautomatisierung für

Embedded Realtime Systeme1. Validas AG2. Modelle im Entwicklungsprozess3. Testautomatisierung 4. Realtime Erweiterungen

Page 2: Dr. Oscar Slotosch: Testmodellierung und Testautomatisierung für Embedded Realtime Systeme 1. Validas AG 2. Modelle im Entwicklungsprozess 3. Testautomatisierung

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

Page 3: Dr. Oscar Slotosch: Testmodellierung und Testautomatisierung für Embedded Realtime Systeme 1. Validas AG 2. Modelle im Entwicklungsprozess 3. Testautomatisierung

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

Page 4: Dr. Oscar Slotosch: Testmodellierung und Testautomatisierung für Embedded Realtime Systeme 1. Validas AG 2. Modelle im Entwicklungsprozess 3. Testautomatisierung

DGLR11.10.2001

BeteiligungsmodellBeteiligungsmodell

RealtimeTestmodelle und AutomatisierungFolie 4

Validas

Modelle

Summary

Echtzeit

Testautom.

Ausgezeichnete Produkte

ModellierungModellierung Validation FrameworkValidation Framework

OMER2-Award2nd Prize

Validas

Page 5: Dr. Oscar Slotosch: Testmodellierung und Testautomatisierung für Embedded Realtime Systeme 1. Validas AG 2. Modelle im Entwicklungsprozess 3. Testautomatisierung

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

Page 6: Dr. Oscar Slotosch: Testmodellierung und Testautomatisierung für Embedded Realtime Systeme 1. Validas AG 2. Modelle im Entwicklungsprozess 3. Testautomatisierung

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

Page 7: Dr. Oscar Slotosch: Testmodellierung und Testautomatisierung für Embedded Realtime Systeme 1. Validas AG 2. Modelle im Entwicklungsprozess 3. Testautomatisierung

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

Page 8: Dr. Oscar Slotosch: Testmodellierung und Testautomatisierung für Embedded Realtime Systeme 1. Validas AG 2. Modelle im Entwicklungsprozess 3. Testautomatisierung

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

Page 9: Dr. Oscar Slotosch: Testmodellierung und Testautomatisierung für Embedded Realtime Systeme 1. Validas AG 2. Modelle im Entwicklungsprozess 3. Testautomatisierung

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

Page 10: Dr. Oscar Slotosch: Testmodellierung und Testautomatisierung für Embedded Realtime Systeme 1. Validas AG 2. Modelle im Entwicklungsprozess 3. Testautomatisierung

DGLR11.10.2001

BeteiligungsmodellBeteiligungsmodell

RealtimeTestmodelle und AutomatisierungFolie 10

Validas

Modelle

Summary

Echtzeit

Testautom.

AutoFocus

Process

Modelling

Simulation

Page 11: Dr. Oscar Slotosch: Testmodellierung und Testautomatisierung für Embedded Realtime Systeme 1. Validas AG 2. Modelle im Entwicklungsprozess 3. Testautomatisierung

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.

Page 12: Dr. Oscar Slotosch: Testmodellierung und Testautomatisierung für Embedded Realtime Systeme 1. Validas AG 2. Modelle im Entwicklungsprozess 3. Testautomatisierung

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.

Page 13: Dr. Oscar Slotosch: Testmodellierung und Testautomatisierung für Embedded Realtime Systeme 1. Validas AG 2. Modelle im Entwicklungsprozess 3. Testautomatisierung

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.

Page 14: Dr. Oscar Slotosch: Testmodellierung und Testautomatisierung für Embedded Realtime Systeme 1. Validas AG 2. Modelle im Entwicklungsprozess 3. Testautomatisierung

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.

Page 15: Dr. Oscar Slotosch: Testmodellierung und Testautomatisierung für Embedded Realtime Systeme 1. Validas AG 2. Modelle im Entwicklungsprozess 3. Testautomatisierung

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.

Page 16: Dr. Oscar Slotosch: Testmodellierung und Testautomatisierung für Embedded Realtime Systeme 1. Validas AG 2. Modelle im Entwicklungsprozess 3. Testautomatisierung

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.

Page 17: Dr. Oscar Slotosch: Testmodellierung und Testautomatisierung für Embedded Realtime Systeme 1. Validas AG 2. Modelle im Entwicklungsprozess 3. Testautomatisierung

DGLR11.10.2001

BeteiligungsmodellBeteiligungsmodell

RealtimeTestmodelle und AutomatisierungFolie 17

Validas

Modelle

Summary

Echtzeit

Testautom.

Beispiel: Transitionstour

Testautom.

Page 18: Dr. Oscar Slotosch: Testmodellierung und Testautomatisierung für Embedded Realtime Systeme 1. Validas AG 2. Modelle im Entwicklungsprozess 3. Testautomatisierung

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.

Page 19: Dr. Oscar Slotosch: Testmodellierung und Testautomatisierung für Embedded Realtime Systeme 1. Validas AG 2. Modelle im Entwicklungsprozess 3. Testautomatisierung

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.

Page 20: Dr. Oscar Slotosch: Testmodellierung und Testautomatisierung für Embedded Realtime Systeme 1. Validas AG 2. Modelle im Entwicklungsprozess 3. Testautomatisierung

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.

Page 21: Dr. Oscar Slotosch: Testmodellierung und Testautomatisierung für Embedded Realtime Systeme 1. Validas AG 2. Modelle im Entwicklungsprozess 3. Testautomatisierung

DGLR11.10.2001

BeteiligungsmodellBeteiligungsmodell

RealtimeTestmodelle und AutomatisierungFolie 21

Validas

Modelle

Summary

Echtzeit

Testautom.

Beispiel Testdurchführung

Testautom.

Page 22: Dr. Oscar Slotosch: Testmodellierung und Testautomatisierung für Embedded Realtime Systeme 1. Validas AG 2. Modelle im Entwicklungsprozess 3. Testautomatisierung

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.

Page 23: Dr. Oscar Slotosch: Testmodellierung und Testautomatisierung für Embedded Realtime Systeme 1. Validas AG 2. Modelle im Entwicklungsprozess 3. Testautomatisierung

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.

Page 24: Dr. Oscar Slotosch: Testmodellierung und Testautomatisierung für Embedded Realtime Systeme 1. Validas AG 2. Modelle im Entwicklungsprozess 3. Testautomatisierung

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

Page 25: Dr. Oscar Slotosch: Testmodellierung und Testautomatisierung für Embedded Realtime Systeme 1. Validas AG 2. Modelle im Entwicklungsprozess 3. Testautomatisierung

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

Page 26: Dr. Oscar Slotosch: Testmodellierung und Testautomatisierung für Embedded Realtime Systeme 1. Validas AG 2. Modelle im Entwicklungsprozess 3. Testautomatisierung

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

Page 27: Dr. Oscar Slotosch: Testmodellierung und Testautomatisierung für Embedded Realtime Systeme 1. Validas AG 2. Modelle im Entwicklungsprozess 3. Testautomatisierung

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

Page 28: Dr. Oscar Slotosch: Testmodellierung und Testautomatisierung für Embedded Realtime Systeme 1. Validas AG 2. Modelle im Entwicklungsprozess 3. Testautomatisierung

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

Page 29: Dr. Oscar Slotosch: Testmodellierung und Testautomatisierung für Embedded Realtime Systeme 1. Validas AG 2. Modelle im Entwicklungsprozess 3. Testautomatisierung

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

Page 30: Dr. Oscar Slotosch: Testmodellierung und Testautomatisierung für Embedded Realtime Systeme 1. Validas AG 2. Modelle im Entwicklungsprozess 3. Testautomatisierung

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