Universität Paderborn Fachgebiet Softwaretechnik Seminar SEFSIS ASCET MD / INTECRIO Markus von...
-
Upload
mitzi-lamping -
Category
Documents
-
view
108 -
download
2
Transcript of Universität Paderborn Fachgebiet Softwaretechnik Seminar SEFSIS ASCET MD / INTECRIO Markus von...
Universität PaderbornFachgebiet SoftwaretechnikSeminar SEFSIS
ASCET MD / INTECRIO Markus von Detten - 1
Seminar Software-Engineering für softwareintensive Systeme
ASCET MD / INTECRIO
Universität PaderbornFachgebiet SoftwaretechnikSeminar SEFSIS
ASCET MD / INTECRIO Markus von Detten - 2
Ü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...)
Universität PaderbornFachgebiet SoftwaretechnikSeminar SEFSIS
ASCET MD / INTECRIO Markus von Detten - 3
ASCET
• Modularer Aufbau
ASCET MDEntwurf & Simulation
ASCET RPRapid Prototyping & Testing
ASCET SECodegenerierung für ...
ASCET SE... unterschiedliche Zielsysteme
Universität PaderbornFachgebiet SoftwaretechnikSeminar SEFSIS
ASCET MD / INTECRIO Markus von Detten - 4
Arbeitsablauf in ASCET MD
1. Spezifizieren einzelner Komponenten
• Module
• Klassen / Zustandsautomaten
2. Testen der Einzelkomponenten durch Simulation
3. Zusammenfassung der Komponenten zu einem Projekt
4. Schedule für Gesamtsystem festlegen
5. Testen des Gesamtsystems
Universität PaderbornFachgebiet SoftwaretechnikSeminar SEFSIS
ASCET MD / INTECRIO Markus von Detten - 5
Komponenten
Module• Nur eine Instanz
• Keine Parameter / Rückgabewerte
• Echtzeit-Interprozess-kommunkikation durch Messages
Klassen• Mehrere Instanzen
• Beliebige Parameter / ein Rückgabewert
• Keine Interprozess-kommunikation
• Elemente: Variablen / Parameter
• Schnittstellen: Prozesse / Methoden / Variablen / Messages
• Algorithmen: spezifiziert durch Blockdiagramme / ESDL / C
Universität PaderbornFachgebiet SoftwaretechnikSeminar SEFSIS
ASCET MD / INTECRIO Markus von Detten - 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
Universität PaderbornFachgebiet SoftwaretechnikSeminar SEFSIS
ASCET MD / INTECRIO Markus von Detten - 7
Komplexe ElementeBedingter Operator
If (condition)Then trueValue;Else fasleValue;
Elemente in Blockdiagrammen (1)
Messages
Parameter
Variablen
Arithmetische Operatoren + - x /...
Vergleichsoperatorn < > = ...
Logische Operatorn & | !
Universität PaderbornFachgebiet SoftwaretechnikSeminar SEFSIS
ASCET MD / INTECRIO Markus von Detten - 8
Elemente in Blockdiagrammen (2)
Komplexe Elemente
Universität PaderbornFachgebiet SoftwaretechnikSeminar SEFSIS
ASCET MD / INTECRIO Markus von Detten - 9
Semantik von Blockdiagrammen
• Anschlüsse können verbunden werden• Sequenznummern bestimmen Ausführungsreihenfolge
Universität PaderbornFachgebiet SoftwaretechnikSeminar SEFSIS
ASCET MD / INTECRIO Markus von Detten - 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;
}
Universität PaderbornFachgebiet SoftwaretechnikSeminar SEFSIS
ASCET MD / INTECRIO Markus von Detten - 11
Vergleich Blockdiagramme / ESDL (2)
While (i < 10) {
c = b * c;
i = i + 1;
}
Universität PaderbornFachgebiet SoftwaretechnikSeminar SEFSIS
ASCET MD / INTECRIO Markus von Detten - 12
Zustandsautomaten
• Werden wie Klassen behandelt
• Hierarchische Zustände
• Eintritts- / Austritts- und statische Aktionen
• History
• Trigger als öffentliche Methode
• Reihenfolge der Transitionen festlegbar (Prioritäten)
Universität PaderbornFachgebiet SoftwaretechnikSeminar SEFSIS
ASCET MD / INTECRIO Markus von Detten - 13
Arbeitsablauf in ASCET MD
1. Spezifizieren einzelner Komponenten
• Module
• Klassen / Zustandsautomaten
2. Testen der Einzelkomponenten durch Simulation
3. Zusammenfassung der Komponenten zu einem Projekt
4. Schedule für Gesamtsystem festlegen
5. Testen des Gesamtsystems
Universität PaderbornFachgebiet SoftwaretechnikSeminar SEFSIS
ASCET MD / INTECRIO Markus von Detten - 14
Simulation
• Simulation einzelner Komponenten oder des Gesamtsystems
• Animierte Automaten
• Eingabe jederzeit modifizierbar
• Vielfältige Ausgaben
• Zahlenwerte
• Oszilloskop
• ...
Universität PaderbornFachgebiet SoftwaretechnikSeminar SEFSIS
ASCET MD / INTECRIO Markus von Detten - 15
Arbeitsablauf in ASCET MD
1. Spezifizieren einzelner Komponenten
• Module
• Klassen / Zustandsautomaten
2. Testen der Einzelkomponenten durch Simulation
3. Zusammenfassung der Komponenten zu einem Projekt
4. Schedule für Gesamtsystem festlegen
5. Testen des Gesamtsystems
Universität PaderbornFachgebiet SoftwaretechnikSeminar SEFSIS
ASCET MD / INTECRIO Markus von Detten - 16
Projekte & Tasks
Projekt• 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
Universität PaderbornFachgebiet SoftwaretechnikSeminar SEFSIS
ASCET MD / INTECRIO Markus von Detten - 17
Scheduling
Keine integrierte Schedulability Analyse!
( eigenes Werkzeug RTA-Trace)
Universität PaderbornFachgebiet SoftwaretechnikSeminar SEFSIS
ASCET MD / INTECRIO Markus von Detten - 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
Universität PaderbornFachgebiet SoftwaretechnikSeminar SEFSIS
ASCET MD / INTECRIO Markus von Detten - 19
Co-Simulation
• Generierter C-Code kann über ein Interface in INTECRIO integriert werden
Universität PaderbornFachgebiet SoftwaretechnikSeminar SEFSIS
ASCET MD / INTECRIO Markus von Detten - 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
Universität PaderbornFachgebiet SoftwaretechnikSeminar SEFSIS
ASCET MD / INTECRIO Markus von Detten - 21
Prototyping
• Verbindung mit ES1000-Testsystem
• Unterschiedliche Erweiterungskarten
• Schnittstellen
• Simulationskarten
• D/A-Wandler
• Verschiedene Analysefunktionen