SCADE Suite® - Informatik · • Life Cycle Management • Überwachung von Metriken •...
Transcript of SCADE Suite® - Informatik · • Life Cycle Management • Überwachung von Metriken •...
SCADE Suite®
Seminar über ProgrammiersprachenSoSe 2013
Yannick Schütt, Simon Hohberg
22. Juli 2013
Gliederung
• Einführung & Motivation
• SCADE Produkt Familie
• Theorie
• Demonstration Tempomat
• Fazit
2SCADE Suite®22.07.2013
Beispiele• Textmasterformate durch Klicken bearbeiten
– Zweite Ebene– Dritte Ebene
• Vierte Ebene– Fünfte Ebene
3SCADE Suite®22.07.2013
SCADE
• Modellierungstool
4SCADE Suite®22.07.2013
• Synchrone Programmiersprache (Fork von LUSTRE)
SCADE Produkt Familie
• Textmasterformate durch Klicken bearbeiten– Zweite Ebene– Dritte Ebene
• Vierte Ebene– Fünfte Ebene
5SCADE Suite®22.07.2013
SCADE System®
• Textmasterformate durch Klicken bearbeiten– Zweite Ebene– Dritte Ebene
• Vierte Ebene– Fünfte Ebene
• Verfolgung des aktuellen
Entwicklungsstands
• Automatisierte Erzeugung von Tabellen und Grafiken
• Anbindung an IBM Rational Doors (Requirements Engineering)
6SCADE Suite®22.07.2013
SCADE Display®
• Erzeugung realer HMIs
(Human Machine Interface)
• Kopplung an Daten der
Implementierung
• Textmasterformate durch Klicken bearbeiten– Zweite Ebene– Dritte Ebene
• Vierte Ebene– Fünfte Ebene
7SCADE Suite®22.07.2013
SCADE Lifecycle®
• Life Cycle Management
• Überwachung von Metriken
• Textmasterformate durch Klicken bearbeiten– Zweite Ebene– Dritte Ebene
• Vierte Ebene– Fünfte Ebene
8SCADE Suite®22.07.2013
Synchroner Ansatz
• Klassisch
– Keine Garantien zur Ausführungsreihenfolge
– Keine echte Parallelität (Ereignisse)
– Keine Garantien zur Laufzeit
kein Determinismus
9SCADE Suite®22.07.2013
Synchroner Ansatz
• Synchron
– Programmierparadigma
– Diskrete Zeitschritte (Zyklen)
– Logische Zeit: Abfolge total geordneter Momente
– Unabhängigkeit von tatsächlicher Zeit
Determinismus
Beschränkte Laufzeit
22.07.2013SCADE Suite®10
„Insanity: Doing the same thing over and over again and expecting different results“ ‒ Albert Einstein
Logische Zeit – Zyklus
22.07.2013SCADE Suite®11
• Zyklus:
1. Bereitstellen des Inputs
2. Berechnung (Reaktion)
3. System ist blind
4. Inferenzfreiheit
5. Ausgabe der Ergebnisse
6. Warten auf nächsten Zyklus
Input
Reaktion
Output
Zyklusfusion• Problem: Abhängigkeit von parallelen
Zyklen untereinander
22.07.2013SCADE Suite®12
Read_Input(X, Y) Y = X+1 T = Z/2Write_Output(Y, T)
Read_Input(Y) Z = Y∙3Write_Output(Z)
Read_Input(X) local Z Y = X +1 Z = Y∙3 T = Z/2Write_Output(T)
Synchrone Hypothese
• Jede Reaktion benötigt keine Zeit
• Kommunikation benötigt keine Zeit
• Zeitliche Aussagen sind exakt
13SCADE Suite®22.07.2013
Synchrone Hypothese
• Praxisrelevanz?
• Abstraktion
– Vereinfachte Entwicklung:
– Nebenläufigkeit
– Timing
– Intuitiv
22.07.2013SCADE Suite®14
Safe State Machines (SSM)• Textmasterformate durch Klicken bearbeiten
– Zweite Ebene– Dritte Ebene
• Vierte Ebene– Fünfte Ebene
22.07.2013SCADE Suite®15
Daten- & Kontrollfluss
• Strikte Trennung
22.07.2013SCADE Suite®16
Datenfluss
• Analogie zu elektrischen Schaltungen
22.07.2013SCADE Suite®17
Betriebssystemansatz
22.07.2013SCADE Suite®18
• Implementierung auf normalen OS
• Performante Hardware
→ max. Ausführungszeit
präemptives scheduling
Tempomat
• Textmasterformate durch Klicken bearbeiten– Zweite Ebene– Dritte Ebene
• Vierte Ebene– Fünfte Ebene
19SCADE Suite®22.07.2013
• regelt die
Geschwindigkeit
eines KFZ
• On/Off
• Set
• Resume
• + / -
• Wertebeschränkung
Demonstration SCADE
Vielen Dank für die Testlizenz
20SCADE Suite®22.07.2013
Fazit
• Großer Funktionsumfang
• Usabilityprobleme
• Ganzheitliche Spezifikation möglich
• Hervorragendes Konzept
• KCG Kompiler erspart Arbeit
21SCADE Suite®22.07.2013
Vielen Dank für die Aufmerksamkeit
Fragen?
22SCADE Suite®22.07.2013
Quellen
• Gerard Berry. SCADE: Synchronous design and validation of embedded control software. Technical report, Esterel Technologies, 2007.
• Gerard Berry, Georges Gonthier. The ESTEREL synchronous programming language: design, semantics, implementation. Science of Computer Programming, 19, 1992.
• Nicolas Halbwachs. Synchronous Programming of Reactive Systems. 1993.
• Stefan Milius, Uwe Steinke. Modellbasierte Softwareentwicklung mit SCADE in der Eisenbahnautomatisierung. 2008.
23SCADE Suite®22.07.2013