Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Validas Model Validation AG

Ähnliche Präsentationen


Präsentation zum Thema: "Validas Model Validation AG"—  Präsentation transkript:

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


Herunterladen ppt "Validas Model Validation AG"

Ähnliche Präsentationen


Google-Anzeigen