SCADE Suite® - Informatik · • Life Cycle Management • Überwachung von Metriken •...

Post on 20-Aug-2019

213 views 0 download

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