Modellgetriebene Entwicklung verteilter embedded Systeme

Größe: px
Ab Seite anzeigen:

Download "Modellgetriebene Entwicklung verteilter embedded Systeme"

Transkript

1 Modellgetriebene Entwicklung verteilter embedded Systeme oder Warum eigentlich noch programmieren? Embedded Systems ESE-Kongress Das Problem: Embedded Systeme werden noch überwiegend manuell codiert, teilweise sogar in Assembler. Auch wenn der Einsatz von C++ oder sogar Java für embedded Systeme diskutiert wird, bleibt es manuell! Kommerzielle Tools, die aus Modellen Code generieren, sind schwer an die eigenen Bedürfnisse anpassbar und erzeugen oft unverständlichen Code. Und wie beeinflusst das Betriebssystem das Verhalten? Und wenn Modelle ohnehin nichts zum Produkt beitragen warum soll man dann Mühe investieren? joerg.robra@t-online.de Embedded Systems ESE-Kongress

2 stm Tuere1 Geschlossen ist_zu Schliessen entry / Motor.rueck exit / Mo tor.stopp auf zu auf zu Oeffnen entry / Motor.vor exit / Motor.stopp Offen ist_auf Das Ziel: Embedded Systeme sollen überwiegend automatisch codiert werden. Dabei sollen innerbetriebliche Richtlinien, projektspezifische Sonderanforderungen sowie Wünsche an die Zielsprache berücksichtigt werden können. Das Betriebssystem darf das dynamische Verhalten nicht beeinflussen. Damit verlagert sich die Entwicklerarbeit in die sorgfältige Erstellung der notwendigen UML-Modelle. joerg.robra@t-online.de Embedded Systems ESE-Kongress Dafür gibt es doch die MDA! MDA (Model Driven Architecture) ist der Standard der OMG für Codegenerierung aus UML-Modellen in zwei Schritten: Aus einem plattformunabhängigen Modell (PIM) wird durch Transformation ein plattformspezifisches Modell (PSM) erzeugt und aus diesem durch weitere Transformation Code. joerg.robra@t-online.de Embedded Systems ESE-Kongress

3 Allerdings kann schon der erste Schritt schwierig werden: Embedded Systems ESE-Kongress Zum Glück gibt es eine Alternative: Kapitel "Automatic Transformation": Es kann sein, dass in besonderen Fällen überhaupt kein PSM, sondern aus dem PIM direkt Code generiert wird. Diese besonderen Fälle sind solche, in denen eine ausgereifte Plattform alle erforderlichen Dienste zur Verfügung stellt, und in denen die notwendigen Architekturentscheidungen einmal für eine größere Anzahl von Projekten getroffen wurden, die alle ähnliche Systeme betreffen, so dass diese Entscheidungen direkt in Tools, Templates, Entwicklungsrichtlinien und Codegeneratoren eingearbeitet werden konnten. In diese Kategorie gehören embedded Systeme, wenn man es richtig macht! joerg.robra@t-online.de Embedded Systems ESE-Kongress

4 Die Idee: Nur aus Zustandsautomaten kann man ablauffähigen Code generieren. Also bauen wir doch unser ganzes System nur aus kommunizierenden Zustandsautomaten auf! Zustandsautomaten der UML2 haben eine Semantik, die nur eine einfache Laufzeitumgebung benötigt. Also schreiben wir selber eine Plattform mit Laufzeitumgebung, die zu unseren Systemen passt! Jetzt brauchen wir nur noch den passenden Codegenerator. Also schreiben wir einen, der den richtigen Code erzeugt! Embedded Systems ESE-Kongress Schreiben, schreiben Wo bleibt der Vorteil? Plattform und Codegenerator werden für alle oder zumindest für eine große Zahl ähnlicher Systeme nur einmal benötigt. Wahrscheinlich sind nur für einen anderen Prozessortyp oder für besondere Sicherheitsanforderungen Anpassungen erforderlich. Dafür sind neue Systeme schnell graphisch erstellt, Tests besonders einfach, Änderungen leicht realisiert. Und das Beste: Alles lässt sich perfekt an innerbetriebliche Standards anpassen anstatt umgekehrt! joerg.robra@t-online.de Embedded Systems ESE-Kongress

5 Was muss die ausgereifte Plattform bieten? Kommunikation zwischen den Zustandsautomaten durch "Message Passing" Automat_a Scheduler... Automat_y Automat_z Message handler Embedded Systems ESE-Kongress Was muss die ausgereifte Plattform bieten? einen Timer zur Realisierung von TimeEvents Taktgeber Automat_a Scheduler... Automat_y Automat_z Timer Message handler joerg.robra@t-online.de Embedded Systems ESE-Kongress

6 Was muss die ausgereifte Plattform bieten? e Ein- und Ausgangsschnittstellen zur Hardware Taktgeber Scheduler Automat_a... Automat_y Automat_z Input- macht aus HW- Signalen Nachrichten Timer Message handler Output- joerg.robra@t-online.de Embedded Systems ESE-Kongress Was muss die ausgereifte Plattform bieten? eine Schnittstelle zur Kommunikation mit anderen Plattformen (verteilte Systeme!) Damit ist eine beliebige Systemverteilung möglich! Taktgeber Scheduler Automat_a... Automat_y Automat_z Input- Timer Message handler Output- Bus-Controler Registry Wo ist welches Objekt? joerg.robra@t-online.de Embedded Systems ESE-Kongress

7 Taktgeber Scheduler Taktgeber Scheduler Objekt_a... Objekt_e Objekt_f Objekt_v... Objekt_y Objekt_z an_g Timer Message handler Sensor- Überwachungen Aktor- Treiber Timer Message handler port_7 Sensor- Überwachungen Aktor- Treiber (CAN)- Controler Registry Wo ist welches Objekt? (CAN)- Controler Registry Wo ist welches Objekt? Taktgeber Scheduler Taktgeber Scheduler Objekt_g Timer an_u... Message handler Objekt_m Objekt_n Sensor- Überwachungen Aktor- Treiber Objekt_o Timer... Objekt_t Message handler Objekt_u out_7 Sensor- Überwachungen Aktor- Treiber (CAN)- Controler Registry Wo ist welches Objekt? (CAN)- Controler Registry Wo ist welches Objekt? Embedded Systems ESE-Kongress Gesamt-Komponentendiagramm der Plattform: Embedded Systems ESE-Kongress

8 Jetzt müssen die Entwickler nur noch lernen, in Zustandsautomaten zu denken! Es ist eigentlich gar nicht kompliziert: Ein in UML modelliertes System ist ereignisgesteuert. Zustandsautomaten sind ereignisgesteuert. Die wichtigste Umstellung ist also, kein System zu modellieren, das Daten verarbeitet, sondern eines, das Ereignisse verarbeitet. Der Rest ergibt sich fast von alleine. Embedded Systems ESE-Kongress Es ist eigentlich gar nicht kompliziert: Am Anfang steht ein ganz normales Klassendiagramm (PIM). Einzige Besonderheiten: Sensoren senden von sich aus Änderungsevents, und es gibt keine Funktionsergebnisse: class Wagen Wagen + geschlosse n() : void + hindernis() : void + Wagen(tuere_1, tuere_2) 2 - versuche Tuere + auf() : void + zu() : void + ist_auf() : void + ist_zu() : void + hindernis() : void + Tuere(wagen, motor) 3 Sensor Motor + vor() : void + rueck() : void + stopp() : void joerg.robra@t-online.de Embedded Systems ESE-Kongress

9 Es ist eigentlich gar nicht kompliziert: Dann erinnern wir uns daran, dass Sensor- und Motorschnittstellen von der Plattform angeboten werden: class Wagen Tuere «platform» Sensor Wagen - versuche 3 + geschlossen() : voidd + hindernis() Wagen(tuere_1, : voidtuere_2) + Wagen(tuere_1, tuere_2) 2 + auf() : void + zu() : void + ist_auf() : void + ist_zu() : void + hindernis() : void + Tuere(wagen, motor) «platform» Motor + vor() : void + rueck() : void + stopp() : void joerg.robra@t-online.de Embedded Systems ESE-Kongress Es ist eigentlich gar nicht kompliziert: Dann wird das Verhalten jedes Objekts als Zustandsautomat spezifiziert; dabei sind das, was vorher die Methoden waren, die Signal Events des Automaten. Beispiel Türe: stm Tuere Initial Geschlossen entry / Wagen.geschlossen Schliessen entry / Motor.rueck exit / Motor.stopp hindernis [versuche!= 0] ist_zu Stoe rung entry / Motor.vor exit / Motor.stopp exit / versuche-- ist_auf auf hindernis [versuche == 0] /Wagen.hindernis zu Oeffnen entry / Motor.vor exit / Mo tor.stopp Offen ist_auf entry / versuche = 3 joerg.robra@t-online.de Embedded Systems ESE-Kongress

10 Es ist eigentlich gar nicht kompliziert: Auf Wunsch kann mit Hilfe der State-Event-Matrix die Vollständigkeit überprüft stm Tuere Event auf ist_auf zu ist_zu hindernis hindernis <None> State Geschlossen Oeffnen Oeffnen Offen Offen Schliessen Schliessen Geschlossen [versuche == 0] Oeffnen [versuche!= 0] Stoerung Initial Geschlossen Stoerung Schliessen Embedded Systems ESE-Kongress Es ist eigentlich gar nicht kompliziert: und gegebenenfalls ergänzt werden. Was danach noch leer bleibt sind Fehlerfälle: stm Tuere Event auf ist_auf zu ist_zu hindernis hindernis <None> State Geschl ossen Oeffnen Geschlossen Oeffnen Offen Offen Schliessen Schliessen Oeffnen Geschl ossen [versuche == 0] Oeffnen [versuche!= 0] Stoerung Initial Geschl ossen Stoerung Schliessen Embedded Systems ESE-Kongress

11 Es ist eigentlich gar nicht kompliziert: Den Rest erledigen Tools, Plattform und Richtlinien. Dass es hinterher gar keine Methoden und keine Methodenaufrufe mehr gibt, sondern Nachrichten, die von Message und Scheduler des Systems übermittelt werden, braucht niemand zu wissen. Wen interessiert schon dieses PSM?? class Wagen_PSM Wagen + start() : void + Wagen(tuere_1, tuere_2) System + send(message) : void - versuche Tuere + start() : void + Tuere(wagen, motor) AbstractObject # state + start() : void joerg.robra@t-online.de Embedded Systems ESE-Kongress Wie kommt man vom UML-Diagramm zum Code? Die OMG hat eine Sprache auf XML-Basis zum Austausch von UML-Diagrammen spezifiziert: Die XMI "Anständige" UML-Tools können ihre Diagramme in XMI exportieren joerg.robra@t-online.de Embedded Systems ESE-Kongress

12 Wie kommt man vom UML-Diagramm zum Code? Das Ergebnis sieht dann so aus (Seite 1 von 27): joerg.robra@t-online.de Embedded Systems ESE-Kongress Wie kommt man vom UML-Diagramm zum Code? Daraus werden die coderelevanten Informationen extrahiert: State Geschlossen entry transition Wagen.geschlossen trigger joerg.robra@t-online.de Embedded Systems ESE-Kongress

13 In welcher Sprache soll der Code erzeugt werden? Objektorientierte Programmiersprachen wie C++ oder Java machen es dem Programmierer leichter, ein objektorientiertes Modell zu implementieren. Wenn der Code aber automatisch generiert wird, spielt das keine Rolle. Also nehmen wir eine Sprache, die auch der kleinste Microcontroller versteht, ohne dass die Effizienz leidet: ANSI-C oder eine domänenspezifische wie ST oder eine Interpretersprache (hat Vorteile!) Embedded Systems ESE-Kongress Wie werden Objekte und Nachrichten identifiziert? Die Verwendung eines Message bietet viele Vorteile: Alle Objekte kennen sich gegenseitig nur über symbolische Namen; nur der Scheduler benötigt ihre Speicherreferenzen. Also werden auch alle Assoziationen durch Zahlen repräsentiert. Dies erleichtert die Systemgenerierung erheblich (z.b. bei bidirektionalen Assoziationen). Auch alle Nachrichtensignale sind als Zahlen codiert (enum). Daraus ergeben sich sehr kompakte Datenstrukturen. typedef struct Byte state; Word lnkwagen; Word lnkmotor; Byte versuche; } Tuere_Daten; typedef struct Word empfaenger, absender, signal; Byte priority, parindex; } Message; joerg.robra@t-online.de Embedded Systems ESE-Kongress

14 Wie findet eine Nachricht die richtige Transition? Es gibt mehrere Möglichkeiten, einen Zustandsautomaten zu implementieren: switch(state) "geradeaus": Implementierung der State-Event-Matrix: Vorteil: Die Leerfelder können mit einer automatischen Fehlerbehandlung vorbelegt werden! case Geschlossen: switch(event) case auf: static Pfunc trans [STATES][EVENTS] = tr0000, error, error, error, tr0004, error, error, tr0102, error, error, error, error, error, error, tr0204, tr0300, tr0301, error, tr0303, error, error, error, tr0402, error, error, }; joerg.robra@t-online.de Embedded Systems ESE-Kongress Generierter Code Diese Version ist besonders leicht lesbar und verständlich: static void Stoerung_entry(void) send(this->lnkmotor, vor, NULL); } static void Stoerung_exit(void) send(this->lnkmotor, stopp, NULL); this->versuche--; } keine Parameter static Word eventlist[] = auf, hindernis, ist_auf, ist_zu, zu}; static void tr0102(void) /* state = Oeffnen, event = ist_auf */ Oeffnen_exit(); Offen_entry(); this->state = Offen; } joerg.robra@t-online.de Embedded Systems ESE-Kongress

15 Wie realisiert man ein Time-Event (after )? stm Tuere zu Geschlossen Oeffnen entry / Wagen.geschlossen auf entry / Motor.vor exit / Mo tor.stopp Initial ist_zu Schliessen auf hindernis [versuche == 0] /Wagen.hindernis Offen ist_auf hindernis [versuch e!= 0] entry / Motor.rueck exit / Mo tor.stopp ist_auf Stoerung entry / Motor.vor exit / Motor.stopp exit / versuche-- zu after(5000) entry / versuche = 3 static void Schliessen_entry(void) send(this->lnkmotor, rueck, NULL); timestart(5000); } Timer der Plattform static void Schliessen_exit(void) send(this->lnkmotor, stopp, NULL); timestop(); } joerg.robra@t-online.de Embedded Systems ESE-Kongress Zugegeben: Einige Zeilen muss man noch selber schreiben: /* eventuelle Instanznamen definieren */ enum tuere_vorn = Tuere, tuere_hinten}; typedef struct Byte state; /* restliche Daten eintragen */ können auch auch aus aus dem Word lnkwagen; Klassendiagramm Word lnkmotor; Byte versuche; generiert werden } Tuere_Daten; /* Initialisierungsfunktion vervollstaendigen! */ /* Dabei Kommentarzeichen nicht entfernen! */ /* void Tuere_init(Word objekt, Word wagen, Word motor) this = &(daten[objekt & 0xff]); this->lnkwagen = wagen; this->lnkmotor = motor; trinit(objekt); } */ joerg.robra@t-online.de Embedded Systems ESE-Kongress

16 Der "Erbauer" arbeitet ein Konfigurationsskript ab Embedded Systems ESE-Kongress oder wird danach automatisch oder manuell erstellt: prepare_classes(2); install_class(wagen_start); install_class(tuere_start); Tuere_init(tuere_vorn, Wagen, motor_0); Tuere_init(tuere_hinten, Wagen, motor_1); Wagen_init(Wagen, tuere_vorn, tuere_hinten); /* Tastatur anstatt Inports */ install_bport(nil, 'g', 0, tuere_vorn, 1, ist_zu); install_bport(nil, 'o', 0, tuere_vorn, 1, ist_auf); install_bport(nil, 'G', 0, tuere_hinten, 1, ist_zu); install_bport(nil, 'O', 0, tuere_hinten, 1, ist_auf); Embedded Systems ESE-Kongress

17 Wie funktioniert das Multitasking? Für Zustandsautomaten der UML gilt das RTC-Prinzip (Run To Completion): Eine laufende Transition kann nicht durch eine neue Anforderung an dasselbe Objekt unterbrochen werden, sondern nur durch eine höher priore Nachricht an ein anderes Objekt. Außerdem hat es sich für Echtzeitsysteme bewährt, dass das Scheduling durch Nachrichtenprioritäten gesteuert wird, und dass interne Nachrichten (von Objekt an Objekt) eine höhere Priorität haben als Nachrichten aus der Peripherie; Beides garantiert unsere Plattform. Daraus ergibt sich, dass kein preemptives Scheduling erforderlich ist; die Laufzeitumgebung wird extrem einfach. Embedded Systems ESE-Kongress Kann man solche Systeme auch testen? Ja, sogar besonders leicht: Der Nachrichtenfluss kann leicht beobachtet werden. Testautomaten können intern oder extern eingesetzt werden. Fehlende Hardware kann simuliert Taktgeber Scheduler Testautomat werden. Input- MessageTracer Bus-Controler Automat_a Timer... HW-Simulator Automat_y Message handler Registry Testautomat Automat_z Output- Embedded Systems ESE-Kongress

18 Fazit: Verteilte embedded Systeme können aus UML-Modellen leicht automatisch generiert werden. Codegenerator und erforderliche Plattform können mit vertretbarem Aufwand selber erstellt werden. Sie sind in hohem Maße wiederverwendbar. Dafür entstehen wesentliche Vorteile: Unabhängigkeit von Toolherstellern Verständliche Ergebnisse Anpassung an interne Richtlinien und projektspezifische Anforderungen Also: Es lohnt sich! Embedded Systems ESE-Kongress Danke für f Ihre Aufmerksamkeit! joerg.robra@t-online.de Embedded Systems ESE-Kongress

Modellgetriebene Softwareentwicklung: Zusammenfassung und Ausblick. 7. Februar 2013

Modellgetriebene Softwareentwicklung: Zusammenfassung und Ausblick. 7. Februar 2013 Modellgetriebene Softwareentwicklung: Zusammenfassung und Ausblick 7. Februar 2013 Überblick Zusammenfassung: Generell: Konzepte der Softwaretechnik im Kontext der modellgetriebenen Entwicklung Diskussion

Mehr

Was testet der Tester morgen?

Was testet der Tester morgen? class Wagen Was testet der Tester morgen? Wagen + geschlossen() : void + hindernis() : void + Wagen(tuere_1, tuere_2) Tuere - versuche + auf() : void + zu() : void 2 + ist_auf() : void + ist_zu() : void

Mehr

Vortrag von: Ilias Agorakis & Robert Roginer

Vortrag von: Ilias Agorakis & Robert Roginer MDA Model Driven Architecture Vortrag von: Ilias Agorakis & Robert Roginer Anwendungen der SWT - WS 08/09 Inhalt Was ist MDA? Object Management Group (OMG) Ziele Konzepte der MDA Werkzeuge Vor- und Nachteile

Mehr

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

ActiveCharts. Verknüpfung von Modellen und Code bei der modellgetriebenen Softwareentwicklung mit UML 2.0 Jens Kohlmeyer 05. März 2007 Institut für Programmiermethodik und Compilerbau ActiveCharts Verknüpfung von Modellen und Code bei der modellgetriebenen Softwareentwicklung mit UML 2.0 Seite 2 Übersicht

Mehr

Rhapsody in J Modellierung von Echtzeitsystemen

Rhapsody in J Modellierung von Echtzeitsystemen Rhapsody in J Modellierung von Echtzeitsystemen Tobias Schumacher tobe@uni-paderborn.de Rhapsody in J - Modellierung von Echtzeitsystemen p.1/17 Anspruch des Tools Einsatzbereiche/Features Modellierung

Mehr

Programmieren in Java -Eingangstest-

Programmieren in Java -Eingangstest- Programmieren in Java -Eingangstest- Nummer: 1. Studiengang: Informatik B.Sc. Informatik M.Sc. ESE B.Sc. ESE M.Sc. Sonstiges: Fachsemester: Bitte Fragen, die Sie nicht beantworten können unbedingt mit

Mehr

22. Januar Gruppe 2: TOPCASED

22. Januar Gruppe 2: TOPCASED 22. Januar 2008 Aufgabenstellung Modellgetriebene Softwareentwicklung auf Basis von am Beispiel eines Seminarverwaltungssystems Ziel Entwicklungsprozess Anforderungen & Codegenerierung Modellierung & Templates

Mehr

Model Driven Architecture

Model Driven Architecture Model Driven Architecture Wilhelm Stephan Universität Hamburg Fakultät für Mathematik, Informatik und Naturwissenschaften Seminar Softwareentwicklung in der Wissenschaft Betreuer: Julian Kunkel SommerSemester

Mehr

Ein Design Tool für objektorientierte portable Programmierschnittstellen

Ein Design Tool für objektorientierte portable Programmierschnittstellen Diplomarbeit Ein Design Tool für objektorientierte portable Programmierschnittstellen Vortragender: Elias Volanakis Inhalt 1. Entwurfsmuster 2. Wrapper Facade (WF) Aufgaben & Struktur Implementierung Nutzen

Mehr

MDA-Praktikum, Einführung

MDA-Praktikum, Einführung MDA-Praktikum, Einführung Prof. Dr. Peter Thiemann Universität Freiburg 02.11.2005 Was ist MDA? MDA = Model-Driven Architecture Initiative der OMG Object Management Group: CORBA, UML,... offenes Firmenkonsortium

Mehr

Modellgetriebene Softwareentwicklung: Zusammenfassung und Ausblick. 11. Februar 2015

Modellgetriebene Softwareentwicklung: Zusammenfassung und Ausblick. 11. Februar 2015 Modellgetriebene Softwareentwicklung: Zusammenfassung und Ausblick 11. Februar 2015 Überblick Zusammenfassung: Generell: Konzepte der Softwaretechnik im Kontext der modellgetriebenen Entwicklung Diskussion

Mehr

Das Raven MDA Profil für die Modellierung sicherheitskritischer Systeme. Klaus Wachsmuth

Das Raven MDA Profil für die Modellierung sicherheitskritischer Systeme. Klaus Wachsmuth Das Raven MDA Profil für die Modellierung sicherheitskritischer Systeme Klaus Wachsmuth Modelle nehmen zentrale Stellung im Entwicklungsprozess ein Erstellen von Platform Independant Model s (PIM) Verwendung

Mehr

Example Ptolemy Model of Comp.: Synchronous Reactive

Example Ptolemy Model of Comp.: Synchronous Reactive Prinzip: Example Ptolemy Model of Comp.: Synchronous Reactive Annahme: unendlich schnelle Maschine Diskrete Ereignisse (DE) werden zyklisch verarbeitet (Ereignisse müssen nicht jede Runde eintreffen) Pro

Mehr

Model Driven Architecture Praxisbeispiel

Model Driven Architecture Praxisbeispiel 1 EJOSA OpenUSS CampusSource Model Driven Architecture Praxisbeispiel 2 Situation von CampusSource-Plattformen Ähnliche Funktionen (Verwaltung von Studenten und Dozenten, Diskussionsforen,...), jedoch

Mehr

VL4: Softwareprojekt - Modellierung/Design Teil 2. Inhalt. 1. Einleitung

VL4: Softwareprojekt - Modellierung/Design Teil 2. Inhalt. 1. Einleitung Dozent: G.Döben-Henisch PPmP VL4 VL4: Softwareprojekt - Modellierung/Design Teil 2 (Wegen Klausur verkürzte Vorlesung) Inhalt 1. Einleitung 2. Modellierung dynamischer Eigenschaften: ppmp2ps-pim2 3. Übersetzung

Mehr

MOF Meta Object Facility. Veranstaltungsvortrag im Rahmen der Projektgruppe ComponentTools

MOF Meta Object Facility. Veranstaltungsvortrag im Rahmen der Projektgruppe ComponentTools MOF Meta Object Facility Veranstaltungsvortrag im Rahmen der Projektgruppe ComponentTools Überblick Object Management Group (OMG) Model Driven Architecture (MDA) Exkurs: Modelle, Metamodelle MOF Architektur

Mehr

Aktuelle Fortschritte von MDAbasierten Entwicklungsansätzen im Bereich Fahrerassistenzsysteme

Aktuelle Fortschritte von MDAbasierten Entwicklungsansätzen im Bereich Fahrerassistenzsysteme Fakultät Informatik Institut f ür Angewandte Inf ormatik, Prof essur TIS Aktuelle Fortschritte von MDAbasierten Entwicklungsansätzen im Bereich Fahrerassistenzsysteme Hauptseminar Technische Informationssysteme

Mehr

SEA. Modellgetriebene Softwareentwicklung in der BA

SEA. Modellgetriebene Softwareentwicklung in der BA SEA Modellgetriebene Softwareentwicklung in der BA MDA bei der BA Ziele/Vorteile: für die Fachabteilung für die Systementwicklung für den Betrieb Wie wird MDA in der BA umgesetzt? Seite 2 MDA bei der BA

Mehr

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

UML / Fujaba. Generierung von Java-Quellcode aus UML-Diagrammen. Marcel Friedrich UML / Fujaba Generierung von Java-Quellcode aus UML-Diagrammen Marcel Friedrich Agenda Einleitung Struktur Verhalten Klassendiagramme Storydiagramme Statecharts Action methods 2 Thema Codegenerierung mit

Mehr

Theorie zu Übung 8 Implementierung in Java

Theorie zu Übung 8 Implementierung in Java Universität Stuttgart Institut für Automatisierungstechnik und Softwaresysteme Prof. Dr.-Ing. M. Weyrich Theorie zu Übung 8 Implementierung in Java Klasse in Java Die Klasse wird durch das class-konzept

Mehr

Bessere Service-Modellierung durch Kombination von BPMN und SoaML. Nürnberg, 24. Februar 2011

Bessere Service-Modellierung durch Kombination von BPMN und SoaML. Nürnberg, 24. Februar 2011 Bessere Service-Modellierung durch Kombination von BPMN und SoaML Nürnberg, 24. Februar 2011 Vorstellung Maria Deeg Project Manager, Leiterin der MID Akademie m.deeg@mid.de Studium Lehramt Gymnasium Mathematik

Mehr

Model-Driven Development in der Praxis. mit objectif. Herzlich willkommen

Model-Driven Development in der Praxis. mit objectif. Herzlich willkommen Model-Driven Development in der Praxis mit objectif Herzlich willkommen Die Themen: microtool stellt sich vor live Model-Driven Development die Grundlagen Model-Driven Development von Web-Anwendungen in

Mehr

Unified Modelling Language

Unified Modelling Language Unified Modelling Language SEP 72 Software-Entwicklung Software-Entwicklung ist Prozess von Anforderung über Modellierungen zu fertigen Programmen Anforderungen oft informell gegeben fertige Programme

Mehr

LavA OS: Ein Betriebssystem für konfigurierbare MPSoCs

LavA OS: Ein Betriebssystem für konfigurierbare MPSoCs LavA OS: Ein Betriebssystem für konfigurierbare MPSoCs Diplomarbeit Abschlussvortrag Stephan Vogt stephan.vogt@cs.uni-dortmund.de 1 Inhalt Einleitung Wiederverwendung von BS Arbeiten an CiAO Kommunikation

Mehr

Statecharts in UML Grundlagen und Übersetzung in Colored Petri Nets

Statecharts in UML Grundlagen und Übersetzung in Colored Petri Nets Statecharts in UML Grundlagen und Übersetzung in Colored Petri Nets von André Kaiser 25.10.2004 André Kaiser - Statecharts in UML 1 Überblick Statecharts Konzepte und Darstellung Übersetzung UML-Statechart-Model

Mehr

Vorlesung Programmieren

Vorlesung Programmieren Vorlesung Programmieren Unified Modeling Language (UML) Dr. Dennis Pfisterer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/pfisterer Unified Modeling Language (UML)

Mehr

Modellbasierte Software- Entwicklung eingebetteter Systeme

Modellbasierte Software- Entwicklung eingebetteter Systeme 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 Folie

Mehr

Einfach generieren. Susanne Klar, Michael Klar. Generative Programmierung verständlich und praxisnah ISBN Inhaltsverzeichnis

Einfach generieren. Susanne Klar, Michael Klar. Generative Programmierung verständlich und praxisnah ISBN Inhaltsverzeichnis Einfach generieren Susanne Klar, Michael Klar Generative Programmierung verständlich und praxisnah ISBN 3-446-40448-1 Inhaltsverzeichnis Weitere Informationen oder Bestellungen unter http://www.hanser.de/3-446-40448-1

Mehr

Model-Driven Software Engineering (HS 2011)

Model-Driven Software Engineering (HS 2011) Model-Driven Software Engineering (HS 2011) Dr. J. Küster Übungsblatt I Abgabe: Am 15.11.2011 vor der Vorlesung Voraussetzungen: Installation von Eclipse und Eclipse Modeling Framework Installation der

Mehr

Languages and Tools for Object-Oriented Development Klausur Wintersemester 2007/2008

Languages and Tools for Object-Oriented Development Klausur Wintersemester 2007/2008 Languages and Tools for Object-Oriented Development Klausur Wintersemester 2007/2008 27. Februar 2008 Institut für Softwaresysteme, TUHH Regeln: 1. Zu dieser Klausur sind keinerlei Hilfsmittel zugelassen.

Mehr

UML Modellierung und Model Driven Architecture (MDA) für Java mittels Rational Software Architect (RSA)

UML Modellierung und Model Driven Architecture (MDA) für Java mittels Rational Software Architect (RSA) UML Modellierung und Model Driven Architecture (MDA) für Java mittels Rational Software Architect (RSA) IBM Software Group, Rational Austria 2011 IBM Corporation Agenda Was ist MDA und welche Probleme

Mehr

Guido de Melo 5.2.2007 Fachvortrag, Uni Ulm UML 2.0. Für den Einsatz in der Praxis

Guido de Melo 5.2.2007 Fachvortrag, Uni Ulm UML 2.0. Für den Einsatz in der Praxis Guido de Melo 5.2.2007 Fachvortrag, Uni Ulm UML 2.0 Für den Einsatz in der Praxis Seite 2 Überblick 1. Ziele 2. Warum das alles? 3. Was ist UML 4. Diagrammarten 5. Umfeld Seite 3 1. Ziele 1. Ziele dieses

Mehr

Model Driven Architecture

Model Driven Architecture Roland Petrasch Oliver Meimberg Model Driven Architecture Eine praxisorientierte Einführung in die MDA Mit Gastbeiträgen von Florian Fieber und Karsten Thoms dpunkt.verlag Inhaltsverzeichnis Vorwort 1

Mehr

Model Driven Development im Überblick

Model Driven Development im Überblick Model Driven Development im Überblick Arif Chughtai Diplom-Informatiker (FH) www.digicomp-academy, Seite 1 September 05 Inhalt Motivation Überblick MDA Kleines Beispiel Werkzeuge www.digicomp-academy,

Mehr

Sequenzdiagramme. Lebenslinie. Kathrin Gaißer, Jörg Depner Didaktik der Informatik

Sequenzdiagramme. Lebenslinie. Kathrin Gaißer, Jörg Depner Didaktik der Informatik Sequenzdiagramme Sequenzdiagramme werden verwendet um Interaktionen zwischen Objekten zu modellieren. Sie stellen konkrete Abläufe dar, konzentrieren sich jedoch dabei auf den Nachrichtenaustausch zwischen

Mehr

Model Driven Architecture (MDA)

Model Driven Architecture (MDA) Model Driven Architecture (MDA) Vortrag im Fach Software Engineering II BA Mannheim / Fachrichtung Angewandte Informatik Torsten Hopp Gliederung Einleitung Motivation Grundzüge der MDA Ziele & Potenziale

Mehr

Besteht aus Aktoren (actors) und use-cases sowie deren Verbindungen.

Besteht aus Aktoren (actors) und use-cases sowie deren Verbindungen. Besteht aus Aktoren (actors) und use-cases sowie deren Verbindungen. Shop Käufer Einkauf Verkauf Verwaltung Händler Hersteller Actor: Jemand oder etwas, der/das mit dem zu entwickelnden System interagiert

Mehr

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

Die MID ModellierungsMethodik M³ ein Baukasten für Produktlinien. Andreas Ditze, MDD & PL 2009, Leipzig, 23.03.2009 Die MID ModellierungsMethodik M³ ein Baukasten für Produktlinien Andreas Ditze, MDD & PL 2009, Leipzig, 23.03.2009 I N H A L T 1. Vorstellung 2. Was macht einen guten Baukasten aus? 3. Ziele der MID ModellierungsMethodik

Mehr

Automatisierte Architekturanalyse mittels UML2.0 Diagrammen

Automatisierte Architekturanalyse mittels UML2.0 Diagrammen Automatisierte Architekturanalyse mittels UML2.0 Diagrammen Vortragender: Thorben Pergande Vertiefungsgebiete: kollaboratives Arbeiten im Softwareentwicklungsprozess am Beispiel Microsoft Surface Automatisierte

Mehr

Automaten und das State Pattern

Automaten und das State Pattern Automaten und das State Pattern Axel Böttcher 24. September 2012 (GUI-)Logik mittels Automaten realisieren Das Problem, komplizierte Logik zu implementieren tritt recht häufig auf. Smells: häufig wiederholte

Mehr

Grundlagen von MOF. Alexander Gepting 1

Grundlagen von MOF. Alexander Gepting 1 Grundlagen von MOF Alexander Gepting 1 Kurzfassung Meta-Object Facility (MOF) ist ein Standard der OMG der im Rahmen der Standardisierung von Modellierungstechniken für verteilte Architekturen und Softwaresysteme

Mehr

Thema 3 Das UML- Metamodell

Thema 3 Das UML- Metamodell SE Vertiefung Beuth-Hochschule Berlin Thema 3 Das UML- Metamodell Ecore passte auf eine Seite (c) schmiedecke 11 SE3-3-UML-Superstructure 2 http://download.eclipse.org/modeling/emf/emf/javadoc/2.7.0/org/eclipse/emf/ecorel

Mehr

Fakultät für Informatik der Technischen Universität München. Kapitel 2. Modellierung von Echtzeitsystemen und Werkzeuge

Fakultät für Informatik der Technischen Universität München. Kapitel 2. Modellierung von Echtzeitsystemen und Werkzeuge Kapitel 2 Modellierung von n und Werkzeuge 39 Inhalt Motivation Grundsätzlicher Aufbau, Models of Computation Werkzeug Ptolemy Synchrone Sprachen (Esterel, Lustre) Reaktive Systeme: Werkzeuge Esterel Studio,

Mehr

Property Based Testing

Property Based Testing Property Based Testing Nicolai Mainiero sidion Testen ist schwer Testen ist schwer Warum? Alle Pfade durch den Code aufzuzählen ist aufwendig. Selbst vermeintlich einfache Systeme können komplex sein.

Mehr

Einführung in die Informatik 1

Einführung in die Informatik 1 Einführung in die Informatik 1 Objektorientierung Sven Kosub AG Algorithmik/Theorie komplexer Systeme Universität Konstanz E 202 Sven.Kosub@uni-konstanz.de Sprechstunde: Freitag, 12:30-14:00 Uhr, o.n.v.

Mehr

Ein Ansatz zum modellgetriebenen Integrationstest von EJB-basierten Informationssystemen

Ein Ansatz zum modellgetriebenen Integrationstest von EJB-basierten Informationssystemen 1 / 30 Ein Ansatz zum modellgetriebenen Integrationstest von EJB-basierten Informationssystemen Zwischenvortrag zur Diplomarbeit Steffen Conrad (235183) Research Group Software Construction RWTH Aachen

Mehr

Potentiale modellgetriebener Softwareentwicklung

Potentiale modellgetriebener Softwareentwicklung Model Driven Software Development Potentiale modellgetriebener Softwareentwicklung Referent: Hartwig Tödter Seite 2 / 23 Inhaltsverzeichnis 1. Grundideen modellgetriebener Softwareentwicklung 2. Vorteile

Mehr

Poseidon for UML. Einführung. Andreas Blunk

Poseidon for UML. Einführung. Andreas Blunk Poseidon for UML Einführung Andreas Blunk Gliederung 1) Editionen/Lizenzen 2) Die Programmoberfläche 3) Modelle speichern 4) Einführung am lebenden Objekt 5) Generierung (Doc & Code) 6) Funktionsumfang

Mehr

Eclipse Modeling Framework

Eclipse Modeling Framework 1 / 14 Eclipse Modeling Framework Stefan Berlik Fachgruppe Praktische Informatik FB 12, Elektrotechnik und Informatik Universität Siegen 14. November 2007 Was ist das Eclipse Modeling Framework (EMF)?

Mehr

EINFÜHRUNG IN DIE WIRTSCHAFTSINFORMATIK -ÜBUNGEN- Marina Tropmann-Frick mtr@is.informatik.uni-kiel.de www.is.informatik.uni-kiel.

EINFÜHRUNG IN DIE WIRTSCHAFTSINFORMATIK -ÜBUNGEN- Marina Tropmann-Frick mtr@is.informatik.uni-kiel.de www.is.informatik.uni-kiel. EINFÜHRUNG IN DIE WIRTSCHAFTSINFORMATIK -ÜBUNGEN- Marina Tropmann-Frick mtr@is.informatik.uni-kiel.de www.is.informatik.uni-kiel.de/~mtr FRAGEN / ANMERKUNGEN Vorlesung Neue Übungsaufgaben MODELLIERUNG

Mehr

Software-Engineering im Sommersemester 2014

Software-Engineering im Sommersemester 2014 Methodische Grundlagen des Software-Engineering SS 2014 Vorlesung Methodische Grundlagen des Software-Engineering im Sommersemester 2014 Prof. Dr. Jan Jürjens TU Dortmund, Fakultät Informatik, Lehrstuhl

Mehr

UML 2.0 als Architekturbeschreibungssprache? Seminar: Architekturbeschreibungssprachen Manuel Wickert

UML 2.0 als Architekturbeschreibungssprache? Seminar: Architekturbeschreibungssprachen Manuel Wickert UML 2.0 als Architekturbeschreibungssprache? Seminar: Architekturbeschreibungssprachen Manuel Wickert Motivation UML 2.0 nicht als ADL im Sinne von Taylor/Medvidovic entworfen. Warum UML als ADL? weit

Mehr

Das Interface-Konzept am Beispiel der Sprache Java

Das Interface-Konzept am Beispiel der Sprache Java Das Interface-Konzept am Beispiel der Sprache Java Klaus Kusche, November 2013 Inhalt Motivation: Wozu braucht man Interfaces? Interfaces in Java Was spricht gegen die große Lösung? Voraussetzungen Kenntnisse

Mehr

Inhalt. 1 Einführung 17. Strukturdiagramme. 2 Klassendiagramm 37

Inhalt. 1 Einführung 17. Strukturdiagramme. 2 Klassendiagramm 37 Vorwort... 13 1 Einführung 17 1.1 Weshalb muss Software modelliert werden?... 17 1.2 Die Phasen bei der Softwareentwicklung... 18 1.2.1 Analyse... 18 1.2.2 Entwurf... 19 1.2.3 Implementierung und Dokumentation...

Mehr

Objektorientierte Analyse (OOA) Dynamisches Modell. Objektorientierte Analyse (OOA) Sequenzdiagramm

Objektorientierte Analyse (OOA) Dynamisches Modell. Objektorientierte Analyse (OOA) Sequenzdiagramm Inhalte Sequenzdiagramm Kollaborationsdiagramm Dynamisches Modell Seite 1 Sequenzdiagramm Ein Sequenzdiagramm beschreibt die zeitliche Abfolge von Interaktionen zwischen einer Menge von Objekten innerhalb

Mehr

C) Review, Heuristiken, Metriken, Prototypen. A) Technische Einflussfaktoren. System Requirements Specification. D) Architektur Dokument

C) Review, Heuristiken, Metriken, Prototypen. A) Technische Einflussfaktoren. System Requirements Specification. D) Architektur Dokument A) Technische Einflussfaktoren C) Review, Heuristiken, Metriken, Prototypen System Requirements Specification Architektur erstellen D) Architektur Dokument Architektur prüfen B) Organisatorische Einflussfaktoren

Mehr

Einführung in die Programmierung

Einführung in die Programmierung Skript zur Vorlesung: Einführung in die Programmierung WiSe 2009 / 2010 Skript 2009 Christian Böhm, Peer Kröger, Arthur Zimek Prof. Dr. Christian Böhm Annahita Oswald Bianca Wackersreuther Ludwig-Maximilians-Universität

Mehr

UML (Unified Modelling Language) von Christian Bartl

UML (Unified Modelling Language) von Christian Bartl UML (Unified Modelling Language) von Inhaltsverzeichnis Inhaltsverzeichnis... 2 1 UML Unified Modelling Language... 3 2 Diagrammtypen... 3 2.1 Aktivitätsdiagramm... 3 2.1.1 Notation... 4 2.1.2 Beispieldiagramm...

Mehr

Spaichinger Entwicklungsumgebung 1.1 Zur C-Programmierung und Simulation von ct-bots (Fahrrobotern)

Spaichinger Entwicklungsumgebung 1.1 Zur C-Programmierung und Simulation von ct-bots (Fahrrobotern) Bedienungsanleitung Spaichinger Entwicklungsumgebung 1.1 Zur C-Programmierung und Simulation von ct-bots (Fahrrobotern) Freeware für Microsoft Windows Dr. Markus Ziegler www.spaichinger-schallpegelmesser.de

Mehr

VL3: Softwareprojekt - Modellierung/Design. Inhalt. 1. Struktur eines Softwareprojektes

VL3: Softwareprojekt - Modellierung/Design. Inhalt. 1. Struktur eines Softwareprojektes Dozent: G.Döben-Henisch PPmP VL3 VL3: Softwareprojekt - Modellierung/Design Inhalt 1. Struktur eines Softwareprojektes 2. Modellierung/Design allgemein 3. ppmp2ps virtuelle Maschine/ ppmp2ps PIM 4. Übersetzung

Mehr

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

Web Engineering-Seminar Methoden zur Web Modellierung: Object-oriented Hypermedia Method (OO-H) Web Engineering-Seminar Methoden zur Web Modellierung: Object-oriented Hypermedia Method (OO-H) Dominik Kirsten Daniel Schäferbarthold Trier, 21.01.2008 1 Gliederung 1. Einführung 1.1 Anforderungen an

Mehr

Motivation Grundlagen Technologien Manipulation Ecore Genmodell Demo Persistenz Notification Ausblick GMF Fazit / Quellen

Motivation Grundlagen Technologien Manipulation Ecore Genmodell Demo Persistenz Notification Ausblick GMF Fazit / Quellen Motivation Grundlagen Technologien Manipulation Ecore Genmodell Demo Persistenz Notification Ausblick GMF Fazit / Quellen Soll ich Modellieren oder Programmieren? sowohl als auch!!! Produktivitäts-Steigerung

Mehr

Modellierung mit UML. Thomas Kistel. 24. November Thema - Untertitel Datum/Semester Ihr Name Seite 1

Modellierung mit UML. Thomas Kistel. 24. November Thema - Untertitel Datum/Semester Ihr Name Seite 1 Modellierung mit UML Thomas Kistel 24. November 2006 Thema - Untertitel Datum/Semester Ihr Name Seite 1 Inhalt 1. Einführung zu UML 2. Zielsetzung von UML 3. Sichten und Diagramme von UML 4. Model Driven

Mehr

09.01.14. Vorlesung Programmieren. Unified Modeling Language (UML) Unified Modeling Language (UML) Unified Modeling Language (UML)

09.01.14. Vorlesung Programmieren. Unified Modeling Language (UML) Unified Modeling Language (UML) Unified Modeling Language (UML) Vorlesung Programmieren Unified Modeling Language (UML) Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/fischer Unified Modeling Language (UML)

Mehr

Vorlesung Programmieren

Vorlesung Programmieren Vorlesung Programmieren Unified Modeling Language (UML) Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/fischer Unified Modeling Language (UML)

Mehr

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

Modellgetriebene Entwicklungsprozesse in der Praxis - eine Bestandsaufnahme. Tillmann Schall, anaptecs GmbH Modellgetriebene Entwicklungsprozesse in der Praxis - eine Bestandsaufnahme Tillmann Schall, anaptecs GmbH : Agenda Grundlagen modellgetriebener Entwicklungsprozesse Schritte zur Einführung Erfahrungen

Mehr

Schlussendlich geben wir die Listen aus. Es kommt zu folgender Ausgabe:

Schlussendlich geben wir die Listen aus. Es kommt zu folgender Ausgabe: Musterlösung Übung 7 Aufgabe 1 Sehen wir uns zu allererst das gegebene Forth Programm an: 0 3 new - list constant list1 list1 5 new - list constant list2 list1 6 new - list constant list3 list2 2 new -

Mehr

Softwaretechnik. Kapitel 11 : Zustandsdiagramme. Statecharts / State Machines Historisches. State Machines in UML Verwendung in OO

Softwaretechnik. Kapitel 11 : Zustandsdiagramme. Statecharts / State Machines Historisches. State Machines in UML Verwendung in OO Statecharts / Historisches Softwaretechnik Kapitel 11 : Zustandsdiagramme Kurt Stenzel, Hella Seebach Statecharts entstanden als Verallgemeinerung von Automaten Beschreibung von Zustandsübergangsystemen

Mehr

OSEK-OS. Oliver Botschkowski. oliver.botschkowski@udo.edu. PG AutoLab Seminarwochenende 21.-23. Oktober 2007. AutoLab

OSEK-OS. Oliver Botschkowski. oliver.botschkowski@udo.edu. PG AutoLab Seminarwochenende 21.-23. Oktober 2007. AutoLab OSEK-OS Oliver Botschkowski oliver.botschkowski@udo.edu PG Seminarwochenende 21.-23. Oktober 2007 1 Überblick Einleitung Motivation Ziele Vorteile Einführung in OSEK-OS Architektur Task Management Interrupt

Mehr

Effiziente Überwachung von Laufzeiteigenschaften in Soft- und Hardware

Effiziente Überwachung von Laufzeiteigenschaften in Soft- und Hardware Effiziente Überwachung von Laufzeiteigenschaften in Soft- und Hardware Normann Decker 1 Philip Gottschling 2 1 Institut für Softwaretechnik und Programmiersprachen Universität zu Lübeck decker@isp.uni-luebeck.de

Mehr

Modellgetriebene Softwareentwicklung

Modellgetriebene Softwareentwicklung Jens Trompeter (Hrsg.), Georg Pietrek (Hrsg.), Juan Carlos Flores Beitran, Boris Holzer, Thorsten Kamann, Michael Kloss, Steffen A. Mork, Benedikt Niehues, Karsten Thoms Modellgetriebene Softwareentwicklung

Mehr

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

Diplomarbeit: Erweiterung von KIEL um Stateflow-Charts. Adrian Posor : 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

Mehr

Testen nebenläufiger Objekte

Testen nebenläufiger Objekte Testen nebenläufiger Objekte Threads in Java Julian Lambertz Seminar Tests in Informatik und Statistik im SS 2004 Universität Ulm J.L., Juni 2004 1 Themenüberblick Einleitung Begriff der Nebenläufigkeit

Mehr

Software Engineering in der Praxis

Software Engineering in der Praxis Software Engineering in der Praxis Praktische Übungen Pinte, Spisländer FAU Erlangen-Nürnberg Objektorientiertes Design 1 / 17 Objektorientiertes Design Florin Pinte Marc Spisländer Lehrstuhl für Software

Mehr

Einführung in die Systemprogrammierung

Einführung in die Systemprogrammierung Einführung in die Systemprogrammierung Virtuelle Methodentabellen Prof. Dr. Christoph Reichenbach Fachbereich 12 / Institut für Informatik 9. Juli 2015 Struktur der Objektorientierung Ein wenig Java: public

Mehr

Einführung in das Eclipse Modeling Framework (EMF)

Einführung in das Eclipse Modeling Framework (EMF) 1 / 14 Einführung in das Eclipse Modeling Framework (EMF) Maik Schmidt Fachgruppe Praktische Informatik FB 12, Elektrotechnik und Informatik Universität Siegen 21. April 2009 Was ist EMF? Eclipse Modeling

Mehr

Oracle JDeveloper 10 g

Oracle JDeveloper 10 g Oracle JDeveloper 10 g Modellierung Evgenia Rosa Business Unit Application Server ORACLE Deutschland GmbH Agenda Warum Modellierung? UML Modellierung Anwendungsfall (Use Case)-Modellierung Aktivitätenmodellierung

Mehr

Assoziationen in Java

Assoziationen in Java Assoziationen in Java Michael Dienert 16. Oktober 2018 1 Wiederholung: Gerneralisierung und Vererbung Gerneralisierung ist das Gegenteil von Vererbung: Eine spezielle Klasse erbt von der allgemeineren

Mehr

JUnit 4 Tutorial. Wolfgang Stöttinger

JUnit 4 Tutorial. Wolfgang Stöttinger JUnit 4 Tutorial Wolfgang Stöttinger JUnit 4 Tutorial... 1 1 Einführung in JUnit 4... 3 1.1 Wie funktioniert JUnit?... 3 1.2 Annotations... 3 1.2.1 Test Annotation... 3 1.2.2 Before Annotation... 3 1.2.3

Mehr

SensIDL Modellgetriebene Entwicklung von Sensorschnittstellen mit SensIDL

SensIDL Modellgetriebene Entwicklung von Sensorschnittstellen mit SensIDL SensIDL Modellgetriebene Entwicklung von Sensorschnittstellen mit SensIDL C. Rathfelder - Modellgetriebene Entwicklung von Sensorschnittstellen mit SensIDL 1 Bildrechte: Sayda Pischinger, Creative Commons

Mehr

Java: Implemen'erung von Assozia'onen.

Java: Implemen'erung von Assozia'onen. Java: Implemen'erung von Assozia'onen Beispielsoftware: "Schulverwaltung" Wie könnten Sie hier Vererbung sinnvoll einsetzen? Beispielsoftware: "Schulverwaltung" Attribut name:string in Oberklasse auslagern.

Mehr

Objektorientierte Systementwicklung

Objektorientierte Systementwicklung Karl-Heinz Rau Objektorientierte Systementwicklung Vom Geschäftsprozess zum Java-Programm Mit 162 Abbildungen vieweg Überblick und Vorbemerkungen 1 1 Objektorientierte Software-Entwicklung 5 1.1 Überblick

Mehr

Einführung in das Eclipse Modeling Framework (EMF)

Einführung in das Eclipse Modeling Framework (EMF) 1 / 14 Einführung in das Eclipse Modeling Framework (EMF) Timo Kehrer Fachgruppe Praktische Informatik FB 12, Elektrotechnik und Informatik Universität Siegen 04. November 2008 Was ist EMF? Eclipse Modeling

Mehr

Semantisches Geschäftsprozessmanagement Übung 1

Semantisches Geschäftsprozessmanagement Übung 1 Matthias Dräger 0.05.20 Markus Bischoff Semantisches Geschäftsprozessmanagement Übung Aufgabe : ) Vorteile von BPM und Modellierung - Modellierung zum besseren Verständnis eines Systems / eines Geschäftsprozesses

Mehr

Modellgetriebene Softwareentwicklung reaktiver Systeme. Oliver Neumann 1

Modellgetriebene Softwareentwicklung reaktiver Systeme. Oliver Neumann 1 Modellgetriebene Softwareentwicklung reaktiver Systeme Oliver Neumann 1 Agenda Einleitung Motivation Begriffsklärung Reaktive Systeme MDA Umsetzung Ausblicke Oliver Neumann 2 Vorträge aus der TI J.Sellentin

Mehr

Physikalisch Technische Lehranstalt Wedel 31. Januar 2004 Prof. Dr. Uwe Schmidt

Physikalisch Technische Lehranstalt Wedel 31. Januar 2004 Prof. Dr. Uwe Schmidt Physikalisch Technische Lehranstalt Wedel 31. Januar 2004 Prof. Dr. Uwe Schmidt Aufgaben zur Klausur Objektorientierte Programmierung im WS 2003/04 (IA 252) Zeit: 90 Minuten erlaubte Hilfsmittel: keine

Mehr

Einführung: Verteilte Systeme - Remote Method Invocation -

Einführung: Verteilte Systeme - Remote Method Invocation - Einführung: Verteilte Systeme - - Prof. Dr. Michael Cebulla 11. Dezember 2014 Fachhochschule Schmalkalden Wintersemester 2014/15 1 / 43 M. Cebulla Verteilte Systeme Gliederung 1 2 Architektur RMI Kommunikation

Mehr

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

Was ist EMF? Wie wird EMF eingesetzt? Was ist ecore? Das Generatormodell Fazit Was ist EMF? Wie wird EMF eingesetzt? Was ist ecore? Das Generatormodell Fazit EMF ist ein eigenständiges Eclipse-Projekt (Eclipse Modeling Framework Project) EMF ist ein Modellierungsframework und Tool

Mehr

Entwurf und Implementierung einer generischen Backend-Infrastruktur für den Prozessimulator DUPSIM

Entwurf und Implementierung einer generischen Backend-Infrastruktur für den Prozessimulator DUPSIM Entwurf und Implementierung einer generischen Backend-Infrastruktur für den Prozessimulator DUPSIM 25. Februar 2010 Analyse Entwurf Realisierung Evaluierung Demo Zusammenfassung und Ausblick Altes System

Mehr

Automatische Codegenerierung aus der UML für die IEC

Automatische Codegenerierung aus der UML für die IEC Automatische Codegenerierung aus der UML für die IEC 63-3 Zustandsautomat Erweiterung und Anpassung der UML durch Stereotypen und Tagged Values. * Transition Bedingung Aktion * Zustand Aktivität Anfangszustand

Mehr

Prof. Dr. Uwe Schmidt. 17. August Aufgaben zur Klausur C und Objektorientierte Programmierung im SS 2010 (WI h103, II h105, MI h353)

Prof. Dr. Uwe Schmidt. 17. August Aufgaben zur Klausur C und Objektorientierte Programmierung im SS 2010 (WI h103, II h105, MI h353) Prof. Dr. Uwe Schmidt 17. August 2010 Aufgaben zur Klausur C und Objektorientierte Programmierung im SS 2010 (WI h103, II h105, MI h353) Zeit: 150 Minuten erlaubte Hilfsmittel: keine Bitte tragen Sie Ihre

Mehr

Wiederholung: Beginn

Wiederholung: Beginn B) Webserivces W3C Web Services Architecture Group: "Ein Web Service ist eine durch einen URI eindeutige identifizierte Softwareanwendung, deren Schnittstellen als XML Artefakte definiert, beschrieben

Mehr

Einführung in modellgetriebene Softwareentwicklung. 24. Oktober 2012

Einführung in modellgetriebene Softwareentwicklung. 24. Oktober 2012 Einführung in modellgetriebene Softwareentwicklung 24. Oktober 2012 Überblick Was sind die Grundprinzipien der modellgetriebenen Softwareentwicklung? Entwicklung einer MDD-Infrastruktur Modellgetriebene

Mehr

Abschnitt 10: Datenstrukturen

Abschnitt 10: Datenstrukturen Abschnitt 10: Datenstrukturen 10. Datenstrukturen 10.1Einleitung 10.2 Peer Kröger (LMU München) Einführung in die Programmierung WS 16/17 829 / 867 Einleitung Überblick 10. Datenstrukturen 10.1Einleitung

Mehr

Copyright 2014 Delta Software Technology GmbH. All Rights reserved.

Copyright 2014 Delta Software Technology GmbH. All Rights reserved. Karlsruhe, 21. Mai 2014 Softwareentwicklung - Modellgetrieben und trotzdem agil Daniela Schilling Delta Software Technology GmbH The Perfect Way to Better Software Modellgetriebene Entwicklung Garant für

Mehr

Java Einführung Umsetzung von Beziehungen zwischen Klassen. Kapitel 7

Java Einführung Umsetzung von Beziehungen zwischen Klassen. Kapitel 7 Java Einführung Umsetzung von Beziehungen zwischen Klassen Kapitel 7 Inhalt Wiederholung: Klassendiagramm in UML Java-Umsetzung von Generalisierung Komposition Assoziationen 2 Das Klassendiagramm Zweck

Mehr

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

7. Konkretisierungen im Feindesign. 7.1 Zustandsdiagramme 7.2 Object Constraint Language 7. Konkretisierungen im Feindesign 7.1 Zustandsdiagramme 7.2 Object Constraint Language 173 Verfeinerte Modellierung Durch die verschiedenen Sichten der Systemarchitektur wird der Weg vom Anforderungsmodell

Mehr

1 Organisatorisches. 2 Compilezeit- und Laufzeitfehler. 3 Exceptions. 4 Try-Catch-Finally

1 Organisatorisches. 2 Compilezeit- und Laufzeitfehler. 3 Exceptions. 4 Try-Catch-Finally Themen der Übung CoMa-Übung VI 1 Organisatorisches Compilezeit- und Laufzeitfehler 3 Try-Catch-Finally TU Berlin 8.11.01 Bewertung der OA 5 fehlerhaft, Madeleine arbeitet dran CoMa-Übung VI (TU Berlin)

Mehr

AGEDIS Methode und Werkzeuge. 1. Was ist AGEDIS 2. Die AGEDIS Methode 3. Architektur / Werkzeuge 4. Fazit

AGEDIS Methode und Werkzeuge. 1. Was ist AGEDIS 2. Die AGEDIS Methode 3. Architektur / Werkzeuge 4. Fazit AGEDIS Methode und Werkzeuge Gliederung: 1. Was ist AGEDIS 2. Die AGEDIS Methode 3. Architektur / Werkzeuge 4. Fazit A G E D I S Automated Generation and Execution of test suites for DIstributed component

Mehr