Kurs OMSI im WiSe 2012/13

Ähnliche Dokumente
im WiSe 2010/11 mit ODEMx Prof. Dr. Joachim Fischer Dr. Klaus Ahrens Dipl.-Inf. Ingmar Eveslage fischer ahrens

Entwicklung verteilter echtzeitfähiger Sensorsysteme

eingebetteter Systeme

ModSoft. Organisatorisches. Modellbasierte Software-Entwicklung mit UML 2 im WS 2014/15

Entwicklung verteilter echtzeitfähiger Sensorsysteme

im WiSe 2010/11 mit ODEMx Prof. Dr. Joachim Fischer Dr. Klaus Ahrens Dipl.-Inf. Ingmar Eveslage fischer ahrens

Proseminar. Einführung. (Software-Spezifikation mit UML 2) Systemspezifikation mit SysML im SoSe 2010

MOF Meta Object Facility. Veranstaltungsvortrag im Rahmen der Projektgruppe ComponentTools

MDA-Praktikum, Einführung

UML (Unified Modelling Language) von Christian Bartl

Generischer Modellvergleich mit EMF Compare

Software- und Systementwicklung

Modell-basierte Entwicklung mit der Timing Definition Language (TDL)

Potentiale modellgetriebener Softwareentwicklung

Modellgetriebene Softwareentwicklung. Gabriele Taentzer WS 2012/2013 Philipps-Universität Marburg

Model Driven Architecture Praxisbeispiel

UML 2.0 als Architekturbeschreibungssprache? Seminar: Architekturbeschreibungssprachen Manuel Wickert

Ein Ansatz zum modellgetriebenen Integrationstest von EJB-basierten Informationssystemen

Behutsame Modernisierung

Webbasiert und kollaborativ: ein Requirements Editor auf Basis von ReqIF

Einführung in die objektorientierte Programmierung

Systemtheorie 1. Einführung Systemtheorie 1 Formale Systeme 1 # WS 2006/2007 Armin Biere JKU Linz Revision: 1.4

Proseminar. Einführung. (Software-Spezifikation mit UML 2) Systemspezifikation mit SysML im SoSe 2010

Systemtheorie 1. Formale Systeme 1 # WS 2006/2007 Johannes Kepler Universität Linz, Österreich

Telling TestStories Modellbasiertes Akzeptanz Testen Serviceorientierter Systeme

NACHRICHTENTECHNISCHER SYSTEME

Model Driven Architecture

Modellgetriebene Softwareentwicklung: Zusammenfassung und Ausblick. 7. Februar 2013

Super. Sub1. Sub2 State2. Sub3. Sub4. Super. State2. Sub4

Ein Erfahrungsbericht beim Einsatz von generierenden Ansätzen im Vergleich zu generischen Lösungen

Model Driven Development im Überblick

Objektorientiertes Software-Engineering

oscan ein präemptives Echtzeit-Multitasking-Betriebssystem

Konzept und Umsetzung

Vortrag von: Ilias Agorakis & Robert Roginer

Einführung in das Eclipse Modeling Framework. 5. November 2014

Configurable Embedded Systems

Modellgetriebene Softwareentwicklung: Zusammenfassung und Ausblick. 11. Februar 2015

Werkzeugunabhängigkeit bei der Modellierung Schwierigkeiten und mögliche Lösungsansätze

Inhalt. 1 Einführungsveranstaltung. 2 Pflichtenheft ANFORDERUNGSSPEZIFIKATION - GROBPLANUNG ANFORDERUNGSSPEZIFIKATION - SOLLKONZEPT

Toolgestützte Prozessdokumentation. Prozessorientiertes E-Government, Joel Meir,

Einführung in das Eclipse Modeling Framework (EMF)

Modellgetriebene Entwicklung eingebetteter Systeme mit Eclipse

Model Driven Architecture (MDA)

Automatisierung industrieller. Workflows. Teil A: Aspekte von Modellierung und Simulation dynamischer Systeme

Modellgetriebene Entwicklungsprozesse in der Praxis - eine Bestandsaufnahme. Tillmann Schall, anaptecs GmbH

Was ist EMF? Wie wird EMF eingesetzt? Was ist ecore? Das Generatormodell Fazit

Grundlagen von MOF. Alexander Gepting 1

Einführung in modellgetriebene Softwareentwicklung. 24. Oktober 2012

Die MID ModellierungsMethodik M³ ein Baukasten für Produktlinien. Andreas Ditze, MDD & PL 2009, Leipzig,

Einführung in Generatives Programmieren. Bastian Molkenthin

Dr. Jens Hündling Senior Sales Consultant. DOAG Apps 2011 Berlin, 05. Mai 2011

Automatisierte Rekonfiguration von Schnittstellen in eingebetteten Systemen

SEA. Modellgetriebene Softwareentwicklung in der BA

Multi-Tool Testlandschaft mit DDS

ActiveCharts. Verknüpfung von Modellen und Code bei der modellgetriebenen Softwareentwicklung mit UML 2.0

Objektorientierte Analyse und Design mit der Unified Modelling Language (UML) Sandra Meißl

Die Unified Modeling Language UML

2 Softwarearchitektur in der Organisationsstruktur 25

PRODATIS CONSULTING AG. Folie 1

Von UML 1.x nach UML 2.0

Software-Engineering

Was Sie schon immer über MBSE wissen wollten

EIDI 1 Einführung in die Informatik 1. PGdP Praktikum Grundlagen der Programmierung. Harald Räcke 2/217

Referent: Alessandro Arrigo AAM1. Professor: Prof. Dr. Heindl. Furtwangen,

1.4! Einführung. Systemmodellierung. Methoden und Werkzeuge

ANNEX A - PROTOCOL IMPLEMENTATION CONFORMANCE STATEMENT (NORMATIVE)

Aktuelle Fortschritte von MDAbasierten Entwicklungsansätzen im Bereich Fahrerassistenzsysteme

Zeitlich abhängig von OWB?

Software Engineering

Xcalibur-2 Alpha. Time. Christian Rempis University of Applied Sciences Bonn-Rhein-Sieg 17. Januar

Praktische Informatik 1

Inhaltsverzeichnis 1. Objektorientierung: Ein Einstieg 2. Objekte, Klassen, Kapselung

Entwicklung von domänenspezifischen Sprachen. 23. Januar 2013

Programmierung von Steuerungen künftig objektorientiert?

Web Engineering-Seminar Methoden zur Web Modellierung: Object-oriented Hypermedia Method (OO-H)

Michael Piechotta - CASE Tools. openarchitecture Ware

Oracle Data Integrator Ein Überblick

[Hier klicken und Text eingeben] [Hier klicken und Text eingeben] Auftragsnummer: [Hier klicken und Text eingeben] Auftragnehmer:

Der Design-Workflow im Software-Entwicklungs-Prozess

DOORS Schema IBM Rational DOORS Start-Up Training - Teil 3

DevOps with AWS. Software Development und IT Operation Hand in Hand. Matthias Imsand CTO Amanox Solutions AG

Einführung in das Eclipse Modeling Framework (EMF)

DFG Schwerpunktprogramm 1103: Berichtskolloquium am 29. und 30. April 2004 an der TU Braunschweig

INSPIRE - Modellierung

Ausführbare UML Modelle multimodaler Interaktionsanwendungen Marcel Dausend 1, Mark Poguntke 2 1

Industrielle Herausforderungen in Embedded Systems

Oracle9i Designer. Rainer Willems. Page 1. Leitender Systemberater Server Technology Competence Center Frankfurt Oracle Deutschland GmbH

Big Data Performance Management

Objektorientierte Systementwicklung

MDA auf der Grundlage der OMG Konzepte

Robotersteuerung MRobot

Objektorientierte Softwareentwicklung

Themen. Software Design and Quality Group Institute for Program Structures and Data Organization

WIRTSCHAFTSINFORMATIK

Model Driven Architecture

Modellbasierte und komponentenorientierte Programmierung von Steuerungen

Softwareentwicklung mit Enterprise JAVA Beans

2. Der ParaNut-Prozessor "Parallel and more than just another CPU core"

Application Engineering Grundlagen für die objektorientierte Softwareentwicklung mit zahlreichen Beispielen, Aufgaben und Lösungen

Transkript:

Kurs OMSI im WiSe 2012/13 Objektorientierte Simulation mit ODEMx Prof. Dr. Joachim Fischer Dr. Klaus Ahrens Dipl.-Inf. Ingmar Eveslage fischer ahrens eveslage@informatik.hu-berlin.de 2.1

Letzte Vorlesung 1. Systemsimulation was ist das? 2. Ein Blick zurück in die Anfänge 3. Modelle und Originale 4. Modellierungssprachen, Simulationsumgebungen 5. Bespiele aus der aktuellen Forschung 6. Paradigma der objektorientierten Modellierung 7. Klassifikation dynamischer Systeme 8. M&S eines Niedertemperaturofens

Konzepte Systemauffassung Phänomen Original Modell formales Modell Untersuchungsziel Simulationsmodell Experimente Simulator Modellierungs- Sprachen - universelle Programmierspr. - spezielle Modellierungsspr. System, Modellgrößen (Zustandsgrößen, ) Dynamische Semantik. Analogie in Struktur und Verhalten Zeitbegriffe 2.3

Konzepte Walzwerk- Workflow real existierendes technisches System hypothetisches technisches System Vergüterei- Workflow hypothetisches Software System Erdbebenfrühwarnsystem Phänomen Original Modell formales Modell Untersuchungsziel Simulationsmodell Simulator Experimente 2.4

Modellbasierte Software-Entwicklung verteilter Systeme (vereinfacht) Anforderungen Anforderungsmodelle Analysemodelle Umgebungsmodelle Modell-Checker Simulator Test, Wartung Entwurfsmodelle Verteilungsmodelle Zielcode Implementierungsmodelle Plattformmodelle Binärcode- Komponenten Wasserfallmethode später verbessert: iterativ, inkrementell 2.5

Modellgetriebene Software-Entwicklung spiralförmig, inkrementell & iterativ PSM-1 CORBA unterschiedliche Betriebssysteme Anwendungsobjekte in unterschiedlichen Sprachen: C++, Java,? PSM-2 EJB austauschbare Basiskommunikationstechnologie (Draht, Luft) Implementation Integration PIM Deployment Anforderungsanalyse Test/Validierung Design 2.6

Model-Driven Architecture (Leitsätze) Formalisierung ist ein wichtiger Baustein für ein erfolgreiches Qualitätsmanagement in Softwareprojekten. Speziell in den Bereichen der Anforderungs- und Systemanalyse besteht häufig noch ein hohes Optimierungspotential. Ein möglicher Weg, um den Formalisierungsgrad von Projektinformationen zu erhöhen, ist die Verwendung von formal eindeutigen Modellen. Für den erfolgreichen Einsatz von Modellen ist es jedoch unabdingbar, die Syntax und die Semantik der Modelle (über Metamodelle) exakt festzulegen. Ist dies einmal geschehen, ergibt sich meist eine deutliche Steigerung der Qualität wie auch der Effizienz in der Projektarbeit. Über den gezielten Einsatz von Metamodellen in der Softwareentwicklung können große Teile der Prozessaktivitäten automatisiert werden. Dennoch muss berücksichtigt werden, dass die Formalisierung eines Softwareentwicklungsprozesses nicht in einem Schritt erfolgen kann. Sie sollte vielmehr als ein iterativer Prozess verstanden werden, in dem die entstehenden Metamodelle von Projekt zu Projekt immer weiter verfeinert werden müssen. 2.9

Fazit Modellierung in allen Wissenschaftsdisziplinen das zentrale Paradigma zum Verständnis komplexer realer oder hypothetischer Systeme (auch in bestimmten Bereichen der Informatik) In der SW-Entwicklung lange Zeit nicht hoffähig : Alternative: von der Idee direkt zum gut dokumentierten Quellcode aber: Komplexität der Systeme bereiten praktische Probleme Achtung: MDD verlangt nicht nur Konzepte, sondern integrierte Werkzeugunterstützung OMSI: Technologien zum Bau effizienter Simulatoren dynamischer Systeme 2.10

1. Einführung 1. Systemsimulation was ist das? 2. Ein Blick zurück in die Anfänge 3. Modelle und Originale 4. Modellierungssprachen, Simulationsumgebungen 5. Bespiele aus der aktuellen Forschung 6. Paradigma der objektorientierten Modellierung 7. Klassifikation dynamischer Systeme 8. Scheduler für zeitdiskrete und zeitkontinuierliche Systemmodelle 9. M&S eines Niedertemperaturofens

1. Projekt: Erdbebenfrühwarnsystem GFZ Potsdam HU Berlin Internet Ataköy Istanbul Kandilli Istanbul GIS reales bzw. gedachtes Phänomen Sonderfall: Modell und Original- Teile repräsentieren sich Als unter Experiment- Management- System Ausführungs- Modell im Speicher Simulator Ziel formales mathematisches Simulationsmodell informales /semiformales Systemmodell PIM: SDL,UML,ASN.1 unvollständige Darstellung: UML/SDL PSM (Zielcode): C++, OpenWRT, Boost 2.12

Traditionelle Software-Entwicklung Informal Concepts, Ideas C++ Binary Application Layer Early Warning Service Sensor Data Retrieval Service Management Administration Services Middleware Layer Network Status Service Software Deployment Service Notification Service Time Synchronisation Service Monitoring Service Test eines einzelnen Knotens reicht nicht Communication Layer Point-to-Point Communition Mulicast Communication External Communcation Test eines kompletten Systems ist problematisch SOSEWIN Node SOSEWIN Node SOSEWIN Node SOSEWIN Node External Node 2.13

Ein modellgetriebener Ansatz Simulation Net topology, EarthquakeEvent Informal Concepts, Ideas UML ASN.1 SDL C++ C++ Binary* Binary Simulation Lib Runtime Lib Application Layer Early Warning Service Sensor Data Retrieval Service Management Administration Services Middleware Layer Network Status Service Notification Service Internet Software Deployment Service Time Synchronisation Service Monitoring Service Communication Layer Point-to-Point Communition Mulicast Communication External Communcation SOSEWIN Node SOSEWIN Node SOSEWIN Node SOSEWIN Node External Node Simulation des kompletten Systems vereinfacht das Testen enorm 2.14

SOSEWIN-Überblick Self-organized Seismic Early Warning Information Network 3 SW- Entwicklungstechnologie (Modelleditor, Simulator, Code -Generator, ) 2 SOSEWIN-HW/SW Architektur Simulation UML ASN.1 SDL C++ binary synthetic sensor data Applikationsschicht C++ binary 4 GIS-basierte Netzmanagementund Experiment-Unterstützung Middleware Hardware Wireless Meshed Network Betriebssystem Internet 1 2.15

Netz-Prototyp Self-organized Seismic Early Warning Information Network HU Berlin GIS Ataköy Istanbul GIS 5 Internet GFZ Potsdam Kandilli Istanbul GIS Istanbul- Infrastruktur- 2.16 daten

Erstinstallation von SOSEWIN Istanbul, Mai 2008 mit Sensorik, aber zunächst noch ohne Alarmierungssoftware 2.17

Alle Seismometer arbeiten zusammen Internet Verzögerung 1..2 s 2.18

Alarm bei Eintreffen der P-Welle 2 1 2.19

Wellenarten P-Welle S-Welle Erschütterung ~ Bewegung im dreidimensionalen Raum 2.20

Ernste Bedrohung von Istanbul 1999 1967 1944 1942 1943 1939 1961 1992? Quelle: http://pubs.usgs.gov/circ/2000/c1193/c1193.pdf Izmet-Beben: M 7,4 ~ 125-fache Energie der Hiroshima-Bombe - 20.000 zerstörte Häuser - 40.000 Verletzte - 24.000 Tote 2.21

Jüngstes Beben Ursache des Bebens ist die Kollision der relativ kleinen Arabischen und der Eurasische Platte, die von Island bis Japan reicht. Beide bewegen sich mit etwa 2 bis 2,5 Zentimetern pro Jahr aufeinander zu. Dadurch sei auch der steil ansteigendende Kaukasus entstanden, (wächst immer noch ~ähnlich baut die indische Platte das Himalaya-Gebirge auf Magnitude 7.2 Date-Time Location Depth Region Distances Sunday, October 23, 2011 at 10:41:21 UTC Sunday, October 23, 2011 at 01:41:21 PM at epicenter 38.628 N, 43.486 E 20 km (12.4 miles) set by location program EASTERN TURKEY 16 km (9 miles) NNE of Van, Turkey 118 km (73 miles) N of Hakkari, Turkey 127 km (78 miles) SSE of Agri (Karakose), Turkey 929 km (577 miles) E of ANKARA, Turkey Location Uncertainty Parameters Source Event ID Error estimate not available Nph=0, Dmin=0 km, Rmss=0 sec, Gp= 0, M-type=centroid moment magnitude (Mw), Version=1 USGS NEIC (WDCS-D) usb0006bqc 2.22

Animierte Zeitreise: Wir drehen die Zeit zurück 2.23

Letzte Warnung 1999: Izmit-Beben 2,80 m 4 m 2.24

(3) SDL-RT Editor (4) Model Checker Models, Target Components, and Tools Node Position Node 1 Model Model Repository SDL-RT Model Sensing-Entity Idle Event Description Geological Site Description Earthquake Syntheziser Node 2 Node n (2) Earthquake Synthesizer Simulation Simulator 3 Simulator 2 Simulator Block 1 A Entity Node 1 Entity 2 Entity 1 Entity 2 Entity 4 1 Entity Entity 3 4 Entity 3... Node n Sensor Data Block B Block B Entity 5 Entity 6 Entity 5 Entity 6 Entity 8 Entity 7 Entity 8 Entity 7 + signal analysing entity Node Binary managing entity SOSEWIN Node sensing entity Application Layer Middleware Layer transport entity Communication Layer... (idle) leading entity Model Early Warning Service (9) Shake Map Generator SOSEWIN Node (7) SDL Simulation (*) In preparation: network simulator..(8) Discrete Jist/Swans, Event ns-3 Simulator... (Odem-X Library) Result Logging... Repository SDL UML C++ EventDetected (6) Deployment Tool EventDescribed EventFinished (5) Compiler SDL-RT Editor C++ + Target Node 1 Thread 2 Thread 1 Thread 4 Thread 3... (10) MSC Viewer Node n Thread 6 Thread 5 Thread s 8 Thread 7 2.25

Experiment Management System Executables Log File Earthquake Synthesizer GIS-based editor 2.26

2. Projekt: Workflow-Modell von Ring-Walzprozessen Walzwerk Stempelpresse Herddrehofen Radialwalze 2 Stauchpresse 2 Aufweitpresse 4 Glühhaubenanlage Vergüterei Nachwärmofen Regel Auftragsgenerator Auftragsmodifikator Walzwerk- Simulator Animator Vergüterei- Simulator Animator 2.27

3.Projekt: Gletschereis-Last-Simulator Hintergrund: FO-Arbeiten am Nordic Volcanological Centre (Reykjavik) Einfluss des Abschmelzens isländischer Gletscher auf die Deformation der Erdoberfläche Ziel: Aufbau einer komponentenorientierten Simulationsumgebung zur Modellvalidierung im Abgleich mit historischen Messungen 2.28

SimGlazier: eine spezifische Simulationsumgebung Modellkonfiguration in XML Animator Simulator Java historische Messdaten C++ Modellbibliothek (Green sche Funktionen) 2.29

Bedeutung von Animationen: Bebenhäufigkeit hunderte Nachbeben, über einen ganzen Monat verteilt 2.30

Bedeutung von Animationen: Visualisierung von Erdbewegungen 2.31

1. Einführung 1. Systemsimulation was ist das? 2. Ein Blick zurück in die Anfänge 3. Modelle und Originale 4. Modellierungssprachen, Simulationsumgebungen 5. Bespiele aus der aktuellen Forschung 6. Paradigma der objektorientierten Modellierung 7. Klassifikation dynamischer Systeme 8. Scheduler für zeitdiskrete und zeitkontinuierliche Systemmodelle 9. M&S eines Niedertemperaturofens

Modellierungsparadigmen Objektorientiertes Abstraktionskonzepte 1. eigenverantwortlich handelnde, interagierende Dinge (Objekte) Zustand (Attribute) individuelles Verhalten (Methoden, Dienste) Identität (Referenz) nach Grady Booch 2. Klassen (Definition von Objekten) 3. Unterscheidung zw. aktiven und passive Klassen / allg. Classifier 4. Identifikation verschiedenster Beziehungen zwischen Instanzen (bzw. Instanzmengen) Navigierbarkeit Abhängigkeit 5. Beziehung zwischen Klassen Spezialisierung / Generalisierung abstrakte und konkrete Klassifizierer 6. Polymorphie von (getypten) Referenzen 2.34

Modellierungsparadigmen Objektorientiertes Abstraktionskonzepte 1. eigenverantwortlich handelnde, interagierende Dinge (Objekte) Zustand (Attribute) individuelles Verhalten (Methoden, Dienste) Identität (Referenz) nach Grady Booch 2. Klassifikation (Definition von Objekten) 3. Unterscheidung zw. aktiven und passive Klassen 4. Identifikation verschiedenster Beziehungen zw. Instanzen (bzw. Instanzmengen) Navigierbarkeit Abhängigkeit 5. Beziehung zwischen Klassen Spezialisierung / Generalisierung abstrakte und konkrete Klassifizierer 6. Polymorphie von (getypten) Referenzen Definition benötigter Objektklassen statt Definition einzelner Objekte 2.35

Modellierungsparadigmen Objektorientiertes Abstraktionskonzepte 1. eigenverantwortlich handelnde, interagierende Dinge (Objekte) Zustand (Attribute) individuelles Verhalten (Methoden, Dienste) Identität (Referenz) 2. Klassifikation (Definition von Objekten) 3. Unterscheidung zw. aktiven und passive Klassen agieren eigenständig und in Kooperation miteinander bei Austausch von Informationen /Daten (synchron /asynchron) statische oder dynamische Existenz 4. Identifikation verschiedenster Beziehungen zw. Instanzen (bzw. Instanzmengen) Navigierbarkeit Abhängigkeit 5. Beziehung zwischen Klassen Spezialisierung / Generalisierung abstrakte und konkrete Klassifizierer 6. Polymorphie von (getypten) Referenzen werden von Objekten aktiver Klassen benutzt Bsp: ein Thread führt Operationen über Objekte von Java-Klassen aus 2.36

Modellierungsparadigmen Objektorientiertes Abstraktionskonzepte 1. eigenverantwortlich handelnde, interagierende Dinge (Objekte) Zustand (Attribute) individuelles Verhalten (Methoden, Dienste) Identität (Referenz) nach Grady Booch 2. Klassifikation (Definition von Objekten) 3. Unterscheidung zw. aktiven und passive Klassen 4. Identifikation verschiedenster Beziehungen zw. Instanzen (bzw. Instanzmengen) Navigierbarkeit Abhängigkeit bedeutet Wiederverwendung der gemeinsamen Basiskonzepte - Attribute - Verhalten / Methoden 5. Beziehung zwischen Klassen Spezialisierung / Generalisierung abstrakte und konkrete Klassifizierer 6. Polymorphie von (getypten) Referenzen 2.38

Modellierungsparadigmen Objektorientiertes Abstraktionskonzepte 1. eigenverantwortlich handelnde, interagierende Dinge (Objekte) Zustand (Attribute) individuelles Verhalten (Methoden, Dienste) Identität (Referenz) 2. Klassifikation (Definition von Objekten) überall dort, wo die Verarbeitung von Objekten einer (Basis-) Klasse definiert ist, lässt sich auch eine Verarbeitung von Spezialisierungen organisieren 3. Unterscheidung zw. aktiven und passive Klassen 4. Identifikation verschiedenster Beziehungen zw. Instanzen (bzw. Instanzmengen) Navigierbarkeit Abhängigkeit A1 A3 A2 A B1 D2 C3 5. Beziehung zwischen Klassen Spezialisierung / Generalisierung abstrakte und konkrete Klassifizierer B C 6. Polymorphie von (getypten) Referenzen D 2.39

Objektorientiertes Abstraktionskonzepte 1. eigenverantwortlich handelnde, interagierende Dinge (Objekte) Zustand (Attribute) individuelles Verhalten (Methoden, Dienste) Identität (Referenz) zusätzlich 2. Klassifikation (Definition von Objekten) 3. Unterscheidung zw. aktiven und passive Klassen Modellierungsparadigmen 4. Identifikation verschiedenster Beziehungen zw. Instanzen (bzw. Instanzmengen) Navigierbarkeit Abhängigkeit Gruppierung von Modellelementen Komposition/ Dekomposition Nebenläufigkeit/ Parallelität/ Synchronisation 5. Beziehung zwischen Klassen Spezialisierung / Generalisierung abstrakte und konkrete Klassifizierer zeitdiskretes/ zeitkontinuierliches Verhalten 6. Polymorphie von (getypten) Referenzen 2.40