Modellbasierte Software-Entwicklung eingebetteter Systeme

Slides:



Advertisements
Ähnliche Präsentationen
P-UMLaut Petrinetze, UML und automatisierte Simulation
Advertisements

Informatik 12 | DAES Compilerbau Wintersemester 2010 / 2011 Dr. Heiko Falk Technische Universität Dortmund Lehrstuhl Informatik 12 Entwurfsautomatisierung.
Eingebettete Systeme Qualität und Produktivität
Modellbasierte Software-Entwicklung eingebetteter Systeme
Modellbasierte Software-Entwicklung eingebetteter Systeme
Eingebettete Systeme Qualität und Produktivität
Prof. Dr. Holger Schlingloff
Qualitätssicherung von Software (SWQS)
Software-Engineering II Eingebettete Systeme, Softwarequalität, Projektmanagement Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt.
Prof. Dr. Holger Schlingloff
Eingebettete Systeme Qualität und Produktivität
Qualitätssicherung von Software (SWQS)
Qualitätssicherung von Software (SWQS)
Eingebettete Systeme Qualität und Produktivität
Prof. Dr. Holger Schlingloff
Hauptseminar Modellüberprüfung Kathrin Ott
Kapitel 7 State-Machines/Zustandsautomaten
Peter Marwedel TU Dortmund, Informatik 12
Einführung in Berechenbarkeit und Formale Sprachen
1 Energiebewusste Compilierung für digitale Signalprozessoren Markus Lorenz Peter Marwedel Universität Dortmund Lehrstuhl Informatik XII Projekt Prozessorarchitekturen.
Seminar Software-Engineering für softwareintensive Systeme
Kapitel 4 Syntaktische Analyse: LR Parsing.
Qualitätssicherung von Software (SWQS) Prof. Dr. Holger Schlingloff Humboldt-Universität zu Berlin und Fraunhofer FOKUS : Software Model Checking.
Qualitätssicherung von Software
Modellbasierte Software-Entwicklung eingebetteter Systeme
Software-Engineering II Eingebettete Systeme, Softwarequalität, Projektmanagement Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt.
Prof. Dr. Holger Schlingloff
Prof. Dr. Holger Schlingloff
Eingebettete Systeme Qualität und Produktivität
Modellbasierte Software- Entwicklung eingebetteter Systeme Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt Universität und Fraunhofer.
Spezifikation, Verifikation, Testtheorie Prof. Dr. Holger Schlingloff Institut für Informatik und Fraunhofer FIRST.
Prof. Dr. Holger Schlingloff
Management großer Softwareprojekte Prof. Dr. Holger Schlingloff Humboldt-Universität zu Berlin, Institut für Informatik Fraunhofer Institut für Rechnerarchitektur.
Software Verification 2 Automated Verification Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt Universität and Fraunhofer Institut für.
1 Named Pipes alias FIFO Haben einen Eintrag im Dateisystem und sind somit durch Zugriffsrechte identifizierbar Ermöglichen die Kommunikation zwischen.
Vorlesung: 1 Betriebliche Informationssysteme 2003 Prof. Dr. G. Hellberg Studiengang Informatik FHDW Vorlesung: Betriebliche Informationssysteme Teil 5.
Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University Compilerbau und Reverse Engineering m Vorlesung im Wintersemester.
1 Reverse Engineering WS 07 / 08 A. Zündorf. Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University 2 Organisatorisches.
UML Begleitdokumentation des Projekts
Fakultät für Informatik Lehrstuhl IV: Software & Systems Engineering Zentralübung Automotive Software Engineering – Übungsblatt 5 Sascha Schwind.
Institut für Theoretische Informatik TU Carolo-Wilhelmina zu Braunschweig Teamprojekt in Software Systems Engineering und Theoretischer Informatik Einsatz.
INSTITUT FÜR DATENTECHNIK UND KOMMUNIKATIONS- NETZE 1 Harald Schrom ViEWcon08.
Zusammenfassung der Vorlesung
Durchstarten beim Technologieführer
VHDL 3: Sequential Statements (Process)
Modellbasierte Software-Entwicklung eingebetteter Systeme
Informatik und Programmieren 3
AK Simulationswerkzeuge für das RE R. Schmid / Folie 1 Evaluation von simulationsfähigen RE-Werkzeugen Reto Schmid Institut für Informatik,
Algorithmen und Datenstrukturen Übungsmodul 3
Vienna University of Technology Pirker Simon 1. Überblick Definition Motivation Vorteile Entwurf von VP Pirker Simon 2.
Launch ON Global.vi System ID object name classname Services to suscribe Observer Control Ref vi-path Service name Step 1 : Objects register to the Global.vi´s,
Modellbasierte Software-Entwicklung eingebetteter Systeme
Modellbasierte Software-Entwicklung eingebetteter Systeme
Modellbasierte Software-Entwicklung eingebetteter Systeme
Qualitätssicherung von Software Prof. Dr. Holger Schlingloff Humboldt-Universität zu Berlin und Fraunhofer FIRST.
Modellbasierte Software- Entwicklung eingebetteter Systeme Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt Universität und Fraunhofer.
Modellbasierte Software-Entwicklung eingebetteter Systeme
1 Bauhaus-Universität Weimar ArchitekturProgrammierung Generative Entwurfsmethoden Processing Grundlagen Professur Informatik in der Architektur.
Modellbasierte Software- Entwicklung eingebetteter Systeme Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt Universität und Fraunhofer.
Modellbasierte Software- Entwicklung eingebetteter Systeme Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt Universität und Fraunhofer.
Modellbasierte Software-Entwicklung eingebetteter Systeme
Modellbasierte Software- Entwicklung eingebetteter Systeme Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt Universität und Fraunhofer.
Akkusativ Präpositionen
Modellierung: MATLAB – Simulink - Stateflow
Software Verification 2 Automated Verification Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt Universität and Fraunhofer Institut für.
VERBEN KONJUGIEREN. What is a verb? An ________ _______, mental __________ or ________.  Examples of verbs:  __________________________ actionword state.
Technische Universität München, Informatik XI Angewandte Informatik / Kooperative Systeme Verteilte Anwendungen: Entwurf Dr. Wolfgang Wörndl
Projektgruppe System- und Softwaretest
Modellbasierte Software-Entwicklung eingebetteter Systeme
IETF 80 Prague DISPATCH WG
 Präsentation transkript:

Modellbasierte Software-Entwicklung eingebetteter Systeme Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt Universität und Fraunhofer Institut für offene Kommunikationssysteme FOKUS

Noch Fragen? Schema für Controller in C? Was ist ein Codegenerator? Prinzip der Übersetzung Scicos – C? Behandlung von Schleifen? Unterschied Gleitkomma-Festkomma? Codeoptimierungen – welche? Absicherung der Codegenerierung? X-in-the-Loop: Was ist X?

Codegenerierung Codegenerierung aus SysML/UML Codegenerierung aus State Machines Codegenerator ist „Compiler für Modelle“ Wiederverwendung schnelle Prototyp- und Produkterstellung erhöhte Zuverlässigkeit gegen Programmierfehler automatische Optimierung des generierten Codes Ziel: automatische Übersetzung von Modellen in ausführbaren (C-) Code

Codegenerierung aus SysML Requirement Diagramme (noch) nicht wirklich für Code verwendbar Blockdiagramme (BDD/IBD) VHDL-Code experimentelle Tools (RTaW, c-Lab U Paderborn) SysML to SystemC Aktivitätsdiagramme zur Spezifikation des Kontrollflusses Zustandsdiagramme

Example Source: Mura, Panda, Prevostini: Executable models and Verifivation from MARTE and SysML

UML Codegenerierung (Fast) jedes UML Tool behauptet, Code generieren zu können Wiki listet ca. 100 Tools auf (“Comparison of code generation tools”) Unterschiedliche Fähigkeiten Meist: Erzeugung von Schablonen Hohe Schule: Round-trip Engineering Für Eclipse-UML: Acceleo, Modelio (Softeam)

Modelio – Demo vertagt

UML Zustandsmaschinen neben Klassendiagrammen die am häufigsten zur Codegenerierung verwendete Diagrammart Übertragung der operationellen Semantik in die Zielsprache Beispiel: Hugo-RT, U Augsburg nimmt beliebiges (Papyrus-) Modell erzeugt Java und Promela (für Model-Checking)

Schema Paradigma für funktionale Systeme input-process-output Paradigma für eingebettete Systeme loop{sense-think-act} Hauptschleife, endlos wiederholt: - lies Sensorwerte - berechne Abweichung oder Aktion - schreibe Aktuatorwerte Innerhalb der Berechnung können verschiedenen Modi (Zustände) angenommen werden Codegeneratoren folgen diesem Paradigma

Beispiel Pacemaker

Example: VDI-Pacemaker Verhalten (vereinfacht) wait for an atrial pulse to be sensed wait for at most the AV delay if within this time a ventricular pulse is detected, goto step 1. otherwise, generate a ventricular pulse and goto step 1.

Allgemeines Übersetzungsschema s = off; while (true) { dequeue i from input stack; case s of off: case i of dn: s = tape; end; tape: case i of dn: s = memory; up: s = off; end; memory: case i of dn: s = play; play: case i of dn: s = tape; up: s = off; end; end; } off memory tape play dn up Variable s ist der aktuelle Zustand; Variable i ist der aktuelle Input

Sprungtabellentechnik table=[state]x[input][state]: table=[[off,dn,tape],[tape,up,off], [tape,dn,memory],...] s=off; while (true){ dequeue i from input stack; s=table[s,i]; } off memory tape play dn up Variable s ist der aktuelle Zustand; Variable i ist der aktuelle Input

Codegenerierung für Zustandsmaschinen Behandlung des Event-Pools Behandlung von Parallelität Hierarchisierung Completion Events History-States Übersetzungsschema s = s0; while (true) { dequeue (trigger); let Enabled = {tT | t=(s,(e,c,a),s´), c = true, e=0 or trigger  e} if (Enabled not empty) { choose some t=(s,(e,c,a),s´) from Enabled; execute a; //potentially enqueing other triggers s = s´; }

Beispiel: VisualState Codegenerierung

Menschen- vs. maschinenlesbarer Code

Verifikation und Reportgenerierung Schlüsselwort: Modellprüfung (model checking)