Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Seminar Software-Engineering für softwareintensive Systeme

Ähnliche Präsentationen


Präsentation zum Thema: "Seminar Software-Engineering für softwareintensive Systeme"—  Präsentation transkript:

1 Seminar Software-Engineering für softwareintensive Systeme
ASCET MD / INTECRIO Seminar Software-Engineering für softwareintensive Systeme

2 Softwarewerkzeuge der Firma ETAS ASCET
Überblick Softwarewerkzeuge der Firma ETAS ASCET Entwurf von Steuerungssoftware Unterstützt Prototyping und Simulation Codegenerierung für versch. Zielsysteme INTECRIO Integriert Steuerungsmodelle aus unterschiedlichen Anwendungen (ASCET MD, Matlab/Simulink, usw...)

3 Modularer Aufbau ASCET ASCET MD ASCET RP ASCET SE ASCET SE
Entwurf & Simulation ASCET RP Rapid Prototyping & Testing ASCET SE Codegenerierung für ... ASCET SE ... unterschiedliche Zielsysteme

4 Arbeitsablauf in ASCET MD
Spezifizieren einzelner Komponenten Module Klassen / Zustandsautomaten Testen der Einzelkomponenten durch Simulation Zusammenfassung der Komponenten zu einem Projekt Schedule für Gesamtsystem festlegen Testen des Gesamtsystems

5 Komponenten Klassen Module Mehrere Instanzen Nur eine Instanz
Beliebige Parameter / ein Rückgabewert Keine Interprozess-kommunikation Module Nur eine Instanz Keine Parameter / Rückgabewerte Echtzeit-Interprozess-kommunkikation durch Messages Elemente: Variablen / Parameter Schnittstellen: Prozesse / Methoden / Variablen / Messages Algorithmen: spezifiziert durch Blockdiagramme / ESDL / C

6 Modellierung von Komponenten
Blockdiagramme intuitiver für Ingenieure (Schaltplansemantik) größtenteils äquivalent zu ESDL ESDL an Java angelehnt für automotiven Bereich ausgelegt: nur Datentypen udisc, sdisc, cont, log (kein String!) keine Vererbung, keine Methodenüberladung ANSI C für BD und ESDL : zielspezifische Generierung des Codes hier : zielspezifische Programmierung erforderlich keine Datenkonsistenzprüfung durch ASCET MD

7 Elemente in Blockdiagrammen (1)
Messages Parameter Variablen Arithmetische Operatoren x /... Vergleichsoperatorn < > = ... Logische Operatorn & | ! Bedingter Operator If (condition) Then trueValue; Else fasleValue; Komplexe Elemente

8 Elemente in Blockdiagrammen (2)
Komplexe Elemente

9 Semantik von Blockdiagrammen
Anschlüsse können verbunden werden Sequenznummern bestimmen Ausführungsreihenfolge

10 Vergleich Blockdiagramme / ESDL (1)
ndiff = n_nominal - n; pi_value = Integrator.integrate(ndiff) + (ndiff * Kp); if (pi_value > air_low) { air_nominal = pi_value; } else { air_nominal = air_low; }

11 Vergleich Blockdiagramme / ESDL (2)
While (i < 10) { c = b * c; i = i + 1; }

12 Zustandsautomaten History Werden wie Klassen behandelt
Trigger als öffentliche Methode Reihenfolge der Transitionen festlegbar (Prioritäten) Werden wie Klassen behandelt Hierarchische Zustände Eintritts- / Austritts- und statische Aktionen

13 Arbeitsablauf in ASCET MD
Spezifizieren einzelner Komponenten Module Klassen / Zustandsautomaten Testen der Einzelkomponenten durch Simulation Zusammenfassung der Komponenten zu einem Projekt Schedule für Gesamtsystem festlegen Testen des Gesamtsystems

14 Simulation Simulation einzelner Komponenten oder des Gesamtsystems
Animierte Automaten Eingabe jederzeit modifizierbar Vielfältige Ausgaben Zahlenwerte Oszilloskop ...

15 Arbeitsablauf in ASCET MD
Spezifizieren einzelner Komponenten Module Klassen / Zustandsautomaten Testen der Einzelkomponenten durch Simulation Zusammenfassung der Komponenten zu einem Projekt Schedule für Gesamtsystem festlegen Testen des Gesamtsystems

16 Projekt Task Projekte & Tasks Enthält alle Komponenten
Legt Scheduling der Prozesse fest „Gehirn“ des eingebetteten Kontrollsystems Task Fasst Prozesse mit gleicher Frequenz zusammen Führt diese in fester Reihenfolge aus verschiedene Typen (Alarm-Tasks, Init-Tasks, ...) präemptiv / kooperativ / nicht-unterbrechbar

17 Scheduling Keine integrierte Schedulability Analyse!
( eigenes Werkzeug RTA-Trace)

18 INTECRIO Modellierungs-Tools unterschiedlich gut geeignet für bestimmte Aspekte (z.B. MatLab Differentialgleichungen zur Beschreibung der Umwelt) Verschiedene Notationen (nicht einheitlich wie z.B. UML) Zusammenführung verschiedener Modelle gewünscht Zwei Möglichkeiten Überführung der Modelle ineinander (gleiche Semantik nötig) Co-Simulation in einem Framework

19 Co-Simulation Generierter C-Code kann über ein Interface in INTECRIO integriert werden

20 Integration mehrerer Modelle
Vorhandene Interfaces für ASCET und MatLab / SIMULINK Erweiterbar durch benutzerspezifizierte Interfaces INCODIO generiert Interface aus vorhandenem C-Code Verwendung mehrerer alternativer Modellierungen aus unterschiedlichen Tools Umschaltung zur Systemlaufzeit

21 Prototyping Verbindung mit ES1000-Testsystem
Unterschiedliche Erweiterungskarten Schnittstellen Simulationskarten D/A-Wandler Verschiedene Analysefunktionen


Herunterladen ppt "Seminar Software-Engineering für softwareintensive Systeme"

Ähnliche Präsentationen


Google-Anzeigen