Reaktive Systeme und synchrones Paradigma



Ähnliche Dokumente
SDD System Design Document

Requirements Engineering für IT Systeme

Der Kalender im ipad

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Benutzerhandbuch. Leitfaden zur Benutzung der Anwendung für sicheren Dateitransfer.

Keine Disketteneinreichung ab 1. Februar 2014

Benutzerhandbuch MedHQ-App

Fachbericht zum Thema: Anforderungen an ein Datenbanksystem

Was meinen die Leute eigentlich mit: Grexit?

Manuelle Konfiguration einer VPN Verbindung. mit Microsoft Windows 7

Ist Excel das richtige Tool für FMEA? Steve Murphy, Marc Schaeffers

Karten-Freischaltung mit dem UNLOCK MANAGER

Das große ElterngeldPlus 1x1. Alles über das ElterngeldPlus. Wer kann ElterngeldPlus beantragen? ElterngeldPlus verstehen ein paar einleitende Fakten

CONVEMA DFÜ-Einrichtung unter Windows XP

Virtueller Seminarordner Anleitung für die Dozentinnen und Dozenten

Prozessbewertung und -verbesserung nach ITIL im Kontext des betrieblichen Informationsmanagements. von Stephanie Wilke am

Hilfe zur Urlaubsplanung und Zeiterfassung

Zeit lässt sich nicht wie Geld für schlechte Zeiten zur Seite legen. Die Zeit vergeht egal, ob genutzt oder ungenutzt.

Suche schlecht beschriftete Bilder mit Eigenen Abfragen

Eine Bürokratiekostenfolgenabschätzung zum zweiten Gesetz für moderne Dienstleistungen am Arbeitsmarkt im Hinblick auf die Einführung einer Gleitzone

Landes-Arbeits-Gemeinschaft Gemeinsam Leben Gemeinsam Lernen Rheinland-Pfalz e.v.

Erfolg beginnt im Kopf

Anleitung. Update/Aktualisierung EBV Einzelplatz Homepage. und Mängelkatalog

Keine Disketteneinreichung ab 1. Februar 2014

SCHRITT 1: Öffnen des Bildes und Auswahl der Option»Drucken«im Menü»Datei«...2. SCHRITT 2: Angeben des Papierformat im Dialog»Drucklayout«...

Ordner Berechtigung vergeben Zugriffsrechte unter Windows einrichten

Konzepte der Informatik

Schnittstelle DIGI-Zeiterfassung

Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken

Die integrierte Zeiterfassung. Das innovative Softwarekonzept

Würfelt man dabei je genau 10 - mal eine 1, 2, 3, 4, 5 und 6, so beträgt die Anzahl. der verschiedenen Reihenfolgen, in denen man dies tun kann, 60!.

Fragen und Antworten

Beschreibung der Umstellungsschritte Hibiscus (Umstellung Sicherungsmedium auf Chip-TAN)

How to do? Projekte - Zeiterfassung

Empfehlungen zur Nutzung der CD zum Buch: Klee & Wiemann: Beweglichkeit und Dehnfähigkeit. Schorndorf: Hofmann,

SEPA-Anleitung zum Release 3.09

Erstellen von x-y-diagrammen in OpenOffice.calc

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom b

Network Controller TCP/IP

ANLEITUNG NETZEWERK INSTALATION

Zeichen bei Zahlen entschlüsseln

ACDSee Pro 2. ACDSee Pro 2 Tutorials: Übertragung von Fotos (+ Datenbank) auf einen anderen Computer. Über Metadaten und die Datenbank

Wir machen neue Politik für Baden-Württemberg

Die Gesellschaftsformen

Modellierung verteilter Systeme Grundlagen der Programm und Systementwicklung

In diesem Thema lernen wir die Grundlagen der Datenbanken kennen und werden diese lernen einzusetzen. Access. Die Grundlagen der Datenbanken.

Proxy. Krishna Tateneni Übersetzer: Stefan Winter

Projektsteuerung Projekte effizient steuern. Welche Steuerungsinstrumente werden eingesetzt?

DER SELBST-CHECK FÜR IHR PROJEKT

Dialognetze. Ziel : Beschreibung von Methoden und Beschreibungstechniken für den Entwurf und die Dokumentation von Dialogabläufen

Video Unlimited -Nutzungsbeschränkungen

macs Support Ticket System

GEVITAS Farben-Reaktionstest

Wenn Sie das T-Online WebBanking das erste Mal nutzen, müssen Sie sich zunächst für den Dienst Mobiles Banking frei schalten lassen.

In 12 Schritten zum mobilen PC mit Paragon Drive Copy 11 und Microsoft Windows Virtual PC

Lehrer: Einschreibemethoden

trivum Multiroom System Konfigurations- Anleitung Erstellen eines RS232 Protokolls am Bespiel eines Marantz SR7005

Ein Vorwort, das Sie lesen müssen!

Bedienungsanleitung Anrufbeantworter für digitale Telefone Alcatel 4039

Anleitung für die Teilnahme an den Platzvergaben "Studio II, Studio IV und Studio VI" im Studiengang Bachelor Architektur SS15

Informationsblatt zu den Seminaren am Lehrstuhl. für Transportsysteme und -logistik

Ihre Interessentendatensätze bei inobroker. 1. Interessentendatensätze

Professionelle Seminare im Bereich MS-Office

Welche Bereiche gibt es auf der Internetseite vom Bundes-Aufsichtsamt für Flugsicherung?

SF-RB. Modul Provisionsabrechnung & Planung Reiseagentenprovisionsabrechnung & Planung. SF-Software Touristiksoftware

Über die Internetseite Hier werden unter Download/aktuelle Versionen die verschiedenen Module als zip-dateien bereitgestellt.

Die Erstellung eigener Strukturprofile

Web Interface für Anwender

1 E - L E A R N I N G - F O R M E N U N D VA R I A N T E N

Tutorial Windows XP SP2 verteilen

ALEMÃO. Text 1. Lernen, lernen, lernen

Benutzerverwaltung Business- & Company-Paket

Einrichtung -Account

Sichere Anleitung Zertifikate / Schlüssel für Kunden der Sparkasse Germersheim-Kandel. Sichere . der

Updatehinweise für die Version forma 5.5.5

Umgang mit der Software ebuddy Ändern von IP Adresse, Firmware und erstellen von Backups von ewon Geräten.

Spiel und Spaß im Freien. Arbeitsblat. Arbeitsblatt 1. Zeichnung: Gisela Specht. Diese Vorlage darf für den Unterricht fotokopiert werden.

In diesem Tutorial lernen Sie, wie Sie einen Termin erfassen und verschiedene Einstellungen zu einem Termin vornehmen können.

Anmeldung und Zugang zum Webinar des Deutschen Bibliotheksverbandes e.v. (dbv)

Überprüfung der digital signierten E-Rechnung

Leitfaden zur Durchführung eines Jahreswechsels in BüroWARE 5.x

Die Post hat eine Umfrage gemacht

Tipps und Tricks zu Netop Vision und Vision Pro

-Inhalte an cobra übergeben

Mediumwechsel - VR-NetWorld Software

40-Tage-Wunder- Kurs. Umarme, was Du nicht ändern kannst.

Glaube an die Existenz von Regeln für Vergleiche und Kenntnis der Regeln

Die Bundes-Zentrale für politische Bildung stellt sich vor

Offen für Neues. Glas im Innenbereich.

e-books aus der EBL-Datenbank

Anleitung zur Einrichtung von Kontoweckern im Online Banking

ISA Einrichtung einer DFUE VErbindung - von Marc Grote

Urlaubsregel in David

Die Lernumgebung des Projekts Informationskompetenz

Internet Explorer Version 6

Prozentrechnung. Wir können nun eine Formel für die Berechnung des Prozentwertes aufstellen:

Unterrichtsmaterialien in digitaler und in gedruckter Form. Auszug aus:

Verwendung des IDS Backup Systems unter Windows 2000

Transkript:

Sascha Kretzschmann Freie Universität Berlin Reaktive Systeme und synchrones Paradigma Einführung in das Seminar über synchrone Programmiersprachen

Worum geht es? INHALT 2

Inhalt 1. Einleitung - Wo befinden wir uns? - Abgrenzung einzelner System - Begriffe klären 2. Reaktive Systeme - Ausführliche Beschreibung reaktiver Systeme - Beispiel 3. Synchrones Paradigma - Erläuterung - Anwendung - Beispiel 3

EINLEITUNG 4

Einleitung 5

Einleitung (eingebettete Systeme) Eingebettete Systeme eher bekannt als embedded system meist Kombination aus Hard- und Software sind in einem technischen Kontext eingebunden (eingebettet) übernehmen z.b. Überwachungs-, Steuerungs-, Regelfunktionen, Signalverarbeitung verrichten Arbeit eher unsichtbar für Benutzer 6

Einleitung (reaktive Systeme) Reaktive Systeme werden kontinuierlich von der Umwelt angefordert reagieren auf Stimuli Betätigung eines Knopfes (Benutzer) Sonnenlicht trifft auf Sensor (Umwelt) im Alltag weit verbreitet Mikrowellen, digitale Uhren, Luftfahrtelektronik 7

Einleitung (reaktive Systeme, cont.) Transformationale Programme Eingabe -> Transformieren -> Ausgabe -> terminieren z.b. Übersetzer Interaktive Programme interagieren mit Benutzer oder anderen Programmen Wichtig: Reaktionszeit auf Stimuli nicht festgelegt (vom System bestimmt) z.b. Time-sharing Systeme Reaktive Programme Zeiteinschränkung wird von Umwelt (meist klar) definiert z.b. System zum Auslösen eines Airbags 8

Einleitung (Echtzeitsysteme) Echtzeitsysteme es werden (Echt-)Zeit-Einschränkungen definiert time constraints oder in time Terminologie Zeit nicht zu wörtlich nehmen Komme unter 30m zum Stehen auch time constraint Anwendung in zeitkritischen Systemen oder z.b. Automobil- oder Luftfahrttechnik 9

Einleitung (Echtzeitsysteme, cont.) Hard real-time Zeiteinschränkungen müssen unbedingt eingehalten werden Überschreitung = Versagen Soft real-time Überschreitung von Zeiteinschränkungen führen nicht unbedingt zum Versagen keine festen Zeitanforderungen festgelegt, eher Toleranzbereich Firm real-time Eigenschaften softer real-time Systeme, aber nach Zeitüberschreitung ist System nutzlos 10

REAKTIVE SYSTEME 11

Reaktive Systeme Wichtigsten Eigenschaften 1. Sie laufen parallel (zu ihrer Umwelt) 2. Sie werden meist auf verteilten Architekturen implementiert 3. Sie sollen deterministisch sein 4. Sie werden durch Automaten repräsentiert 5. Sie haben meist ein genaues Zeitverhalten 12

Reaktive Systeme Wichtigsten Eigenschaften 1. Sie laufen parallel (zu ihrer Umwelt) 2. Sie werden meist auf verteilten Architekturen implementiert 3. Sie sollen deterministisch sein 4. Sie werden durch Automaten repräsentiert 5. Sie haben meist ein genaues Zeitverhalten 13

Reaktive Systeme (Parallelität) reagieren auf Stimuli, unterbrechen eventuell Aufgaben / Berechnungen für höher priorisierte Aufgaben Zerlegung in kommunizierende und parallele Komponenten (=Agenten) architektonische Sicht -> Unterstützung der Architektur und Parallelität innerhalb der Programmiersprachen 14

Reaktive Systeme Wichtigsten Eigenschaften 1. Sie laufen parallel (zu ihrer Umwelt) 2. Sie werden meist auf verteilten Architekturen implementiert 3. Sie sollen deterministisch sein 4. Sie werden durch Automaten repräsentiert 5. Sie haben meist ein genaues Zeitverhalten 15

Reaktive Systeme (verteilte Architektur) sehr wichtiger Punkt: Sicherheit (safety) kleinste Defekte können fatale Folgen haben z.b. Airbag löst nicht aus oder zu spät verteilte Architekturen unterstützen Fehlertoleranz Anforderungen physischer Verteilungen wichtig Stichwort: Geschwindigkeit und Zeitanforderungen 16

Reaktive Systeme Wichtigsten Eigenschaften 1. Sie laufen parallel (zu ihrer Umwelt) 2. Sie werden meist auf verteilten Architekturen implementiert 3. Sie sollen deterministisch sein 4. Sie werden durch Automaten repräsentiert 5. Sie haben meist ein genaues Zeitverhalten 17

Reaktive Systeme (Determinismus) Determinismus: Verhalten hängt nur von der Eingabe ab = Ausgabe bei gleicher Eingabe dieselbe wichtig für sicherheitskritische Anwendung Verhalten muss vorhersehbar sein Stichwort: Qualitätssicherung, Testen sollte wenn möglich immer umgesetzt werden 18

Reaktive Systeme Wichtigsten Eigenschaften 1. Sie laufen parallel (zu ihrer Umwelt) 2. Sie werden meist auf verteilten Architekturen implementiert 3. Sie sollen deterministisch sein 4. Sie werden durch Automaten repräsentiert 5. Sie haben meist ein genaues Zeitverhalten 19

Reaktive Systeme (Repräsentation durch Automaten) Vorteilhaft zur Darstellung komplexer Systeme und reaktive bzw. Echtzeitsysteme sind so gut wie immer komplex durch einfache Notation und Darstellung erhalten wir effiziente Repräsentationen Einfachheit ist immer gut -> fördert andere wünschenswerte Eigenschaften 20

Reaktive Systeme Wichtigsten Eigenschaften 1. Sie laufen parallel (zu ihrer Umwelt) 2. Sie werden meist auf verteilten Architekturen implementiert 3. Sie sollen deterministisch sein 4. Sie werden durch Automaten repräsentiert 5. Sie haben meist ein genaues Zeitverhalten 21

Reaktive Systeme (genaues Zeitverhalten) Unterscheidung zwischen: Zeit, die zwischen Signalen aus der Umwelt vergeht Zeit, die eine auszuführende Aktion braucht Spoiler: synchrone Paradigma nimmt eine sofortige Ausführung der Aktionen an Aber: bei harten Zeitanforderungen muss die Zeit, welche das System braucht zusätzlich betrachtet werden => Sehr viel schwieriger 22

Reaktive Systeme (Anwendungsbeispiel) Paradebeispiel: Auto Steuerung für Kraftstoffeinspritzung, Bremsen, Airbags, Elektronische Stabilisierungsprogramm (ESP) versucht Schleudern zu verhindern durch dosierte Bremsvorgänge kontinuierliche Überprüfung es Ist- und Soll-Zustandes Koordination mit anderen Systemen (z.b. ABS) 23

Reaktive Systeme (Anwendungsbeispiel, cont.) zwei Arten der Koordination: 1. alle Informationen jeder einzelnen Steuereinheit werden an andere übertragen, wenn benötigt, untereinander Koordination 2. es existiert eine globale Steuerung, die die Koordination übernimmt und selbst wieder ein reaktives System bildet 24

SYNCHRONES PARADIGMA 25

Synchrones Paradigma Event-driven Sampling z.b. Knopf drücken z.b. numerische Systeme 26

Synchrones Paradigma (Eigenschaften) 1. Fortschritt eines Programms ist eine Folge von Reaktionen. Eine einzelne Reaktion kostet keine Zeit (instant). 2. Innerhalb einer Reaktion gibt es Signale, die entweder vorhanden oder abwesend sind. 3. Parallele Zusammensetzungen werden definiert als die paarweise konjunktive Verbindung zweier zusammengehöriger Reaktionen 27

Synchrones Paradigma (Eigenschaften) 1. Fortschritt eines Programms ist eine Folge von Reaktionen. Eine einzelne Reaktion kostet keine Zeit (instant). 2. Innerhalb einer Reaktion gibt es Signale, die entweder vorhanden oder abwesend sind. 3. Parallele Zusammensetzungen werden definiert als die paarweise konjunktive Verbindung zweier zusammengehöriger Reaktionen 28

Synchrones Paradigma (Eigenschaften) synchrone Hypothese nimmt an, dass Reaktionen unmittelbar geschehen, sie sind instant etwas formaler: P = R ω Automat: Zustandsübergänge passieren atomar und sofort mehrere parallel zusammengesetzte Automaten als synchronous product Sampling Zustandsübergang des Produktes = gleichzeitiger Zustandsübergang aller Automaten Event-driven Zustandsübergang des Produktes = einzelne Automaten im evtl. Leerlauf (idle) 29

Synchrones Paradigma (Eigenschaften) 1. Fortschritt eines Programms ist eine Folge von Reaktionen. Eine einzelne Reaktion kostet keine Zeit (instant). 2. Innerhalb einer Reaktion gibt es Signale, die entweder vorhanden oder abwesend sind. 3. Parallele Zusammensetzungen werden definiert als die paarweise konjunktive Verbindung zweier zusammengehöriger Reaktionen 30

Synchrones Paradigma (Eigenschaften) innerhalb von Reaktionen können Signale auftreten Zweck: Informationen verbreiten müssen konstant bezüglicher aller Leseoperationen sein, vor allem bei parallelen Komponenten agieren somit als geteilte Variablen 31

Synchrones Paradigma (Eigenschaften) 1. Fortschritt eines Programms ist eine Folge von Reaktionen. Eine einzelne Reaktion kostet keine Zeit (instant). 2. Innerhalb einer Reaktion gibt es Signale, die entweder vorhanden oder abwesend sind. 3. Parallele Zusammensetzungen werden definiert als die paarweise konjunktive Verbindung zweier zusammengehöriger Reaktionen 32

Synchrones Paradigma (Eigenschaften) parallele Ausführung von mehr als einem Programm = Konjunktion der einzelnen Reaktionen der Programme etwas formaler: P 1 P 2 = (R 1 ^ R 2 ) ω 33

Synchrones Paradigma (Umsetzung) Umsetzung im Folgenden durch Mealy-Automat besteht aus Speicher (Zustand) besteht aus kombinatorischen Teil (Funktion) z = f 0 (x,y,s) s = f s (x,y,s) Automat reagiert im Zustand s auf die Eingabe (x,y) Ausgabe z wird berechnet und der Zustand s in s überführt 34

Synchrones Paradigma (Umsetzung) zwei Automaten wurden parallel zusammengesetzt die Ausgabe des einen dient als Eingabe des anderen z 1 = f 0 (x 1,z 2,s 1 ) s 1 = f s (x 1,z 2,s 1 ) z 2 = g 0 (x 2,z 1,s 2 ) s 2 = g s (x 2,z 1,s 2 ) 35

Synchrones Paradigma (Umsetzung) mit Hilfe der Formalien -> konkrete Konstrukte paralleler Programmiersprachen wollen ein delay repräsentieren (in Lustre ist dies der pre-operator) sei i eine Eingabe sei s ein Zustand Maschine hat folgende Funktionen: f 0 (i,s) = s, f s (i,s) = i 36

ANWENDUNGSBEISPIEL 37

Anwendungsbeispiel es existieren zwei Eingaben: CLICK: ein Knopfdruck TICK: ein Clock-Signal Modul GO wird durch ein Mausklick aktiviert Pfeile = Zustandsübergänge Beschriftungen = Ereignisse besonderes Ereignis: RELAX gemeinsame Ereignis beider Submodule 38

Anwendungsbeispiel TICK TICK TICK TICK CLICK START RELAX SINGLE TICK TICK TICK TICK TICK TICK CLICK CLICK START RELAX DOUBLE 39

Quellen Bilder: (S.14) http://www.helit.de/img.unternehmen/umwelt01.jpg (S.16) http://images.computerwoche.de/images/computerwoche/bdb/1809554/890.jpg (S.20) http://upload.wikimedia.org/wikipedia/commons/thumb/c/c6/statemachine-5.png/350px-statemachine-5.png (S.22) http://secsnotizen.files.wordpress.com/2009/12/zeit.jpg (S.23) https://www.tu-braunschweig.de/medien-db/ips/sc/3d_pkw_ohne_bg_2013_small.png (S.30) http://seekforex.com/wp-content/uploads/2012/04/forex-signal.png (S.32) http://ww2.valdosta.edu/~dkrabel/parallel%2520lines.jpg Inhalt: (siehe Seminararbeit und dessen Literaturverzeichnis) 40

Sascha Kretzschmann Freie Universität Berlin Vielen Dank =)