1 / 21

Seminar Software-Engineering für softwareintensive Systeme

Seminar Software-Engineering für softwareintensive Systeme. ASCET MD / INTECRIO. Überblick. Softwarewerkzeuge der Firma ETAS ASCET Entwurf von Steuerungssoftware Unterstützt Prototyping und Simulation Codegenerierung für versch. Zielsysteme INTECRIO

lola
Download Presentation

Seminar Software-Engineering für softwareintensive Systeme

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  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...)

  3. ASCET • Modularer Aufbau ASCET MD 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. Module Nur eine Instanz Keine Parameter / Rückgabewerte Echtzeit-Interprozess-kommunkikation durch Messages Klassen Mehrere Instanzen Beliebige Parameter / ein Rückgabewert Keine Interprozess-kommunikation Komponenten • 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 • 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. 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

  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

More Related