Diplomarbeit: Erweiterung von KIEL um Stateflow-Charts. Adrian Posor

Ähnliche Dokumente
Stateflow: Eine grafische Erweiterung zu SIMULINK

11. Aufgabenblatt

Untersuchung der nicht-interaktiven Simulation von Stateflow-Statecharts

Benutzerhandbuch Koala Editor

8. Stateflow Grundlagen. Daniel Schrammel - BA Stuttgart -

Einführung in MATLAB + MATLAB Simulink. Dipl.-Inf. Markus Appel

Aufbau und Bestandteile von Formularen. Oracle Forms. Erstellen eines neuen Blocks (1) Starten von Oracle Forms

An Overview of the Signal Clock Calculus

Inhalt. 10. Stateflow-Grundlagen 11. Übungen Stateflow. Daniel Schrammel - BA Stuttgart -

Einführung in MATLAB

1. Die rekursive Datenstruktur Liste

Bedienungshandbuch IP ALKIS Karte

UML / Fujaba. Generierung von Java-Quellcode aus UML-Diagrammen. Marcel Friedrich

Eikon Crashkurs Eikon ist eine Software von Thomson Reuters um Finanzinformationen abzurufen und zu analysieren.

Das Einsteigerseminar ASP

UMGEBUNG VORBEREITEN...

Arbeiten mit Acrobat. Vorstellung von Adobe Acrobat Bearbeitung des Dokuments Präsentationen erstellen Teamarbeit

13 Automaten und formale Sprachen

Praktikum Simulation mechatronischer Systeme

Animationen anzeigen und erstellen

Betriebsschwingungsformanalyse in ME scopeves auf der Basis von Analyse-Ergebnissen aus der ArtemiS SUITE

b.i.m.m MULTIPUSHTOOL 2013 Benutzerhandbuch b.i.m.m GmbH September 2012 Version

Die Unified Modeling Language (UML)

3 Geoverarbeitung mit dem ModelBuilder

Einführung in die Informatik I

Simulink: Softwareentwurf für eingebettete Systeme ROS-Arduino-Interface. von Christian Schildwächter

Praktikum Simulation mechatronischer Systeme

Kapitel 10. Programmierkurs. Grundlagen von Exceptions Behandlung von Exceptions

TB-StadtCAD So bereiten Sie StadtCAD auf den Einsatz mit der Topobase vor:

EAD II Übung 5. Graphische Benutzungsoberfläche mit BlueJ

Entwicklungstand der GUI

Programmieren in Java -Eingangstest-

Mandozzi Elettronica S.A..

1 Zusätzliche Erweiterungen

Im Original veränderbare Word-Dateien

Inhaltsverzeichnis Einleitung Imperative Sprachkonzepte Objektorientierte Sprachkonzepte

Layouterstellung im Web und interaktives Arbeiten mit dem BI Publisher

Ereignisse Auf Benutzereingaben reagieren

UPDATED FOR V17 SYSTEM VARIABLEN BRICSCAD

4. Desktop, Betriebssystem u.a.

Erstellen von graphischen Ausgaben

Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 11/12 1. Kapitel 11. Listen. Listen

myavr Klassendiagramm der UML mit SiSy-AVR Schnelleinstieg für myavr Board MK3

Inhaltsverzeichnis. 1:Element Filter : Modelllinie an Objekt : Pläne duplizieren : Kabellänge : Ebenenbemaßung...

Medienproduktion Sommersemester Dipl.-Inform. Alexander Schulze Prof. Dr. Ing. Klaus Rebensburg

22. Januar Gruppe 2: TOPCASED

7. Konkretisierungen im Feindesign. 7.1 Zustandsdiagramme 7.2 Object Constraint Language

Große Simulink-Modelle mit Bus Objects effizienter gestalten

Inhaltsverzeichnis. Kurseinheit 1. Kurseinheit 2

Übungsblatt 1 (5 Punkte)

Simulink: Einführende Beispiele

Wir fragen um! 26. Gebrauchsanweisung: Szenario Abkürzung. 1. Du hast eine Umfrage gemacht, die Fragen und Antworten liegen neben dir bereit.

Die neue Datenraum-Center-Administration in. Brainloop Secure Dataroom Service Version 8.30

Schablonen erstellen und auswählen

1 CookDiary - Handbuch. CookDiary Handbuch. softsentials.

Ersetzen von Bibliotheken älterer Versionen durch. durch einen höheren Versionsstand. einen höheren Versionsstand

muenchen oberland.de

Anlegen von Nutzerskripten in der WinIBW 3

WESTFÄLISCHE WILHELMS-UNIVERSITÄT MÜNSTER. Advanced Matlab. living knowledge WWU Münster. Mario Ohlberger, Martin Drohmann, Stefan Girke 10/05/2012

Einfach Informatik Lernumgebung

Visualisierung von Graphenalgorithmen

Diskrete Ereignissysteme. Spezielle Netzstrukturen- Übersicht. Beispiele zu speziellen Netzstrukturen. Petri-Netze und Zustandsautomaten

Institut für Programmierung und Reaktive Systeme. Java 6. Markus Reschke

Handbuch für die Erweiterbarkeit

Objekte haben eine eigene Notation, also Schreibweise, beim Aufruf:

Dr. Ingrid Bausch-Gall Neuerungen Dymola 2013 FD01 1

ADT: Verkettete Listen

ACCESS. Access-Daten nach Excel verknüpfen INTERAKTIV ACCESS-DATEN NACH EXCEL VERKNÜPFEN BASICS

Fallstudie: Online-Statistik

Willkommen. Ausprobieren und Spaß haben easescreen!

SOFTWARE DOWNLOAD UND INSTALLATION

Auf dieser Seite Neu ab Version Neu ab Version 6.0 UML-Bereich Mehr Formen Mehr Formen

EMF-GMF-Tutorial: Petrinet

Anpassung der Views Symbio. das einfache, effiziente, digitale & intellegente QM-BPM- Managementsystem

Matthias-Claudius-Gymnasium Fachcurriculum Informatik

3 Maps richtig ablegen und

DLR SchoolLab Lektion 1 Erste Schritte

Pflichtenheft zum erweiterten UML-Tool

Anhang WEITERE HINWEISE ZU BORLAND TOGETHER CONTROLCENTER

SimEdit Software Benutzerhandbuch. Ver 1.0

Umwelt-Campus Birkenfeld Numerik. der Fachhochschule Trier. Prof. Dr.-Ing. T. Preußler. MATLAB-Simulink

Kapitel 2 - Die Definitionsphase

9. Ausnahmebehandlung

Inhalt. Installieren Projekt erstellen UI Bedienen Objekte importieren Blueprints C++

WORD TEXT REPLACER 1 PROGRAMMHILFE GILLMEISTER SOFTWARE.

Robert Mille PLC Coder von MATLAB für PLS Freelance von ABB

Generierung von Steuerungsprogrammcode für SPS und μc aus Petri-Netz-Modellen

Verknüpfen & Einbetten von Daten

Objekte für Train Simulator 2013 mit Blender 2.65 erstellen. (Teil4) eine einfache Animation erstellen

Erste Schritte Ausgabe 02/2002

Klausur zur Vorlesung Algorithmen und Datenstrukturen

Transkript:

: Diplomarbeit: von KIEL um Echtzeitsysteme und Eingebettete Systeme Institut für Informatik und Angewandte Mathematik Christian-Albrechts-Universität zu Kiel 13. Dezember 2005

2/30 strace 1 2 3 strace 4

3/30 Das KIEL-Projekt strace Ein Werkzeug zum Erstellen von Zustandsdiagrammen Unterstützt verschiedene Dialekte von Statecharts Schwerpunkte: automatisches Layout, dynamische Sichten bei

4/30 KIEL Datenstruktur strace

5/30 Matlab/Simulink/Stateflow strace Software zur zahlenmäßigen Lösung mathematischer Probleme Rechnet mit Matrizen Enthält eigene Programmiersprache Simulink ist von Matlab Modellierung,, und Analyse dynamischer Systeme Stateflow ist von Simulink Werkzeug zur Modellierung des Verhaltens reaktiver Systeme Implementiert Dialekt von Harels Statecharts

6/30 Stateflow strace

7/30 strace 1 2 3 strace 4

8/30 Was ist die? strace Ermöglicht Erstellen und Ändern von Stateflow-Diagrammen von Kommandozeile aus Ermöglicht Automatisierung von Diagrammbearbeitung durch Skripte Für jedes Objekt in Stateflow gibt es ein Objekt in der API API-Objekt hat Methoden und Eigenschaften Änderungen der Eigenschaften von API-Objekten wirken sich unmittelbar auf Stateflow-Objekte aus

9/30 Aufbau der strace

10/30 Methoden und Eigenschaften von API-Objekten strace Zugriff auf Objekte mittels Handles Zugriff auf Eigenschaften und Methoden durch sogenannte Punktnotation Beispiele: label1 = transition. LabelString sa1. Name = A1 sa1. Position = [80 120 90 60]

11/30 Finden von Objekten strace Beispiel: Jedes Objekt hat eine Methode find Angabe von Typ des Objektes Optional: Paare von Eigenschaftsnamen und -werten onstate = m. find ( -isa, Stateflow. State, -and, Name, On ) Liefert alle Zusände im Model m deren Name On ist.

12/30 strace 1 2 3 strace 4

Generelle Vorgehensweise Import Matlab läuft Ja strace Simulink- Modelle schließen Matlab lädt Datei Nein Matlab starten Aufbau in KIEL return 13/30

14/30 Strategie zum Import strace Elemente des Diagramms bilden aufgrund der Hierarchie einen Baum Traversieren des Baums beginnend vom Root-Objekt nach der Methode der Breitensuche Erzeugen aller Zustände einer Ebene vor Erzeugen aller Transitionen einer Ebene Erzeugen von Trennlinien zum Abgrenzen von Regionen Umrechnen von Koordinaten (o clock u.s.w.)

15/30 Beispiel strace states (1). Position ans = 312. 6471 247. 3765 90. 0000 60. 0000 >> states (1). Type ans = OR >> Demonstration

16/30 strace 1 2 3 strace 4

Generelle Vorgehensweise Export strace Matlab läuft Ja Aufbau in Stateflow Nein Matlab starten Matlab speichert Datei return 17/30

18/30 Strategie zum Export strace Traversieren des Baumes beginnend vom Objekt StateChart nach der Methode der Breitensuche Erzeugen aller Zustände einer Ebene vor Erzeugen aller Transitionen einer Ebene Umrechnen von Koordinaten (o clock u.s.w.) Demonstration

19/30 strace 1 2 3 strace 4

20/30 Anwendung strace 1 Setzen von Variablen und Signalen/Ereignissen 2 Klicken auf MacroStep Reset 3 Aktive Zustände, Variablenwerte, Signale/Ereignisse werden angezeigt

21/30 Prinzip des Simulators strace

22/30 Probleme strace Matlab simuliert von Zeitpunkt 0 bis Zeitpunkt n Diagramm wird ausgewertet wenn sich Werte von Eingangsvariablen ändern oder mindestens ein Ereignis auftritt oder immer zur festgelegten Sampletime KIEL simuliert einzelne Schritte

23/30 Lösung strace Setze Sampletime auf 1.0 Sei n die aktuelle Schrittnummer Simuliere immer von Zeitpunkt 0 bis n Zeige nur Ergebnis von Schritt (n-1) nach Schritt n an.

24/30 Ereignisse und Signale strace Ereignisse sind ein Konzept von Stateflow Signale sind ein Konzept von Simulink KIEL simuliert wahlweise mit Ereignissen oder Signalen als Eingabe (aus Benutzersicht)

25/30 Ereignisse als Eingabe strace Eingangssignale lösen Ereignisse aus Trigger: Either, Falling, Rising Keine direkte Eingabe von Ereignissen möglich Lösung: Setze alle Trigger auf Either Löse Ereignis durch Wechsel des Signalwertes zwischen -1 und 1 aus

26/30 strace 1 2 3 strace 4

27/30 Anwendung strace Aufzeichnen aller seingaben Abspielen aller bisherigen sschritte Demonstration

28/30 strace 1 2 3 strace 4

29/30 Anpassungen strace Angepasste Werkzeugleiste Angepasste Kontextmenüs Neue Dialogfenster zum Bearbeiten von Ereignissen und Variablen Demonstration

30/30 Ende strace Danke für Ihre Aufmerksamkeit!

31/30 Aufbau der Import Export strace Klassendiagramme Root: Umfaßt alle anderen Objekte Dient zur Abgrenzung von Objekten aus anderen Werkzeugen Editor: Kein Gegenstück in Stateflow Bietet Zugriff auf rein graphische Aspekte des Diagramms Ein Editor-Objekt pro Diagramm Clipboard: Kein Gegenstück in Stateflow Stellt Funktionalität zum Kopieren und Einfügen bereit

32/30 Aufbau der Import Export strace Klassendiagramme Model: Repräsentiert Simulink-Modell aus der Sicht von Stateflow Kann mehrere Stateflow-Diagramme enthalten Chart: Repräsentiert ein Stateflow-Diagramm State/Function/Box: Elemente, aus denen ein Stateflow-Diagramm besteht Enthält Objekte vom Typ State, Function, Box, Note, Junction, Transition, Data, Event

33/30 Erzeugung von Stateflow-Objekten Import Export strace Klassendiagramme Erzeugung von Stateflow-Objekten mittels Konstruktoren Stateflow.Chart Stateflow.State Stateflow.Transition Stateflow.Junction Stateflow.Data Stateflow.Event Stateflow.Box Stateflow.Note

34/30 Generelle Vorgehensweise Import Export strace Klassendiagramme 1 Starten von Matlab oder schließen aller geöffneten Simulink-Modelle 2 Matlab die gewünschte Datei laden lassen mit dem Befehl open_system( filename ) 3 Abfragen der relevanten Eigenschaften aller Stateflow-Objekte und Aufbauen eines equivalenten Diagramms mithilfe der KIEL-Datenstruktur

35/30 Generelle Vorgehensweise Import Export strace Klassendiagramme 1 Starten von Matlab falls noch nicht geschehen 2 Abfragen der relevanten Eigenschaften aus den Objekten der KIEL-Datenstruktur und Aufbauen eines equivalenten Diagramms mithilfe der 3 Matlab das Diagramm abspeichern lassen mit dem Befehl sfsave( untitled, filename )

36/30 Vorbereitung der Import Export strace Klassendiagramme 1 Löschen aller Blöcke und Linien im Simulink-Diagram mit Ausnahme des Chart-Blockes 2 Auswählen des diskreten Lösers mit fester Schrittweite 1.0 3 Setzen der Eigenschaft HasOutputData auf true für alle Zustände 4 Hinzufügen eines To Workspace-Blockes für alle booleschen Signale (inklusive Mux) 5 Hinzufügen eines From Workspace-Blockes für alle in den Trigger-Port führenden Signale 6 Hinzufügen eines From Workspace-Blockes pro Eingangs-Variable 7 Setzen der Eigenschaft SaveToWorkspace auf true für alle Ausgangs-Variablen

37/30 sschritt I Import Export strace Klassendiagramme 1 Generieren einer (m n)-matrix mit Schrittnummer in (i, 1) und Signalwert in (i, j), 1 < i <= m, 1 <= j <= n für n Schritte und (n 1) Signalen 2 Generieren einer (m 2)-Matrix mit Schrittnummer in (i, 1) und Variablenwert in (i, 2), 1 <= i <= m 3 Setzen der Stoppzeit auf die aktuelle Schrittnummer 4 Simulieren mit dem Befehl sim 5 Erzeugen eines Objektes vom Typ StateActivated für jeden im letzten Schritt aktivierten Zustand StateDeactivated für jeden im letzten Schritt deaktivierten Zustand

38/30 sschritt II Import Export strace Klassendiagramme 6 Erzeugen eines Objektes vom Typ SignalPresent für jedes vorhandene Event SignalAbsent für jedes nicht vorhandene Event 7 Erzeugen eines Objektes vom Typ VariableValue für jede Variable deren Wert sich im letzten Schritt geändert hat

39/30 Implementierung Import Export strace Klassendiagramme Klasse TraceData verwaltet einzelne sschritte Instanz der Klasse TraceStep beinhaltet einen sschritt TraceStep enthält Objekte vom Typ Signal/IntegerSignal/Event für Events/Signale VariableValue für Änderungen von Variablenwerten

40/30 Werkzeugleisten Import Export Esterel Studio: Stateflow: strace Klassendiagramme

41/30 Neue Dialogfenster Import Export strace Klassendiagramme

42/30 Neue Dialogfenster Import Export strace Klassendiagramme

43/30 KIEL Datenstruktur Import Export strace Klassendiagramme

MicroStep (from confi...) TransitionStatus (from configmngr) TransitionStatus()... StateStatus (from configmngr) StateStatus()... TestTransition (from configmngr)... ExecuteTransition (from configmngr)... StateDeactivated (from configmngr) OnExit (from configmngr) OnInside (from configmngr) OnEntry (from configmngr) StateStatusAndConfig (from configmngr) StateTransient (from configmngr).................. StateActivated (from configmngr) StateNotSuspended (from configmngr) StateSuspended (from configmngr)......... ChangeValue (from configmngr) object : Logical View::java::lang::Object =... value : Logical View::java::lang::Integer =... stringvalue : Logical View::java::lang::Strin... ChangeValue() ChangeValue() getobject()... SignalStatus (from configmngr) SignalStatus()... SignalValue (from configmngr) VariableValue (from configmngr) SignalPresent (from configmngr) SignalAbsent (from configmngr) SignalUnknown (from configmngr)... VariableValue()............