MODELLGETRIEBENE SOFTWAREENTWICKLUNG AM BEISPIEL EINER BAUSTATIK-SOFTWAREPLATTFORM

Größe: px
Ab Seite anzeigen:

Download "MODELLGETRIEBENE SOFTWAREENTWICKLUNG AM BEISPIEL EINER BAUSTATIK-SOFTWAREPLATTFORM"

Transkript

1 MODELLGETRIEBENE SOFTWAREENTWICKLUNG AM BEISPIEL EINER BAUSTATIK-SOFTWAREPLATTFORM Sebastian Fuchs Institut für Bauinformatik, Technische Universität Dresden TragWerk Software Kurzfassung: Modellgetriebene Softwareentwicklung verspricht durch automatisierte Softwareerstellung höhere Entwicklungsgeschwindigkeiten und verbesserte Softwarequalität für Softwareprodukte mit gleichem fachlichen Problemraum. Sie ist damit auch für den Entwicklungsprozess von Baustatik-Softwareplattformen relevant. Am Beispiel einer Fachklassen-Generierung für ein Baustatik-Modul werden die Konzepte dieser Vorgehensweise erläutert. Aus einem fachlichen Modell in XML-Syntax wird mit einem Quellcode-Generator eine Java-Klasse erzeugt. Dazu wird das Modell mit Hilfe einer Domänenspezifischen Sprache formalisiert, wobei ein Metamodell in XSD zum Einsatz kommt. 1 Einführung und Motivation Die Modellgetriebene Softwareentwicklung (engl. Model Driven Software Development, MDSD) ist eine Vorgehensweise zur teilweisen oder vollständigen automatisierten Software-Erstellung. Dabei rücken Modelle in den Mittelpunkt des Entwicklungsprozesses und erhalten den Stellenwert von Quellcode. Die Modelle sind abstrakt und formal [4], sodass Applikationslogik nicht in einer traditionellen Programmiersprache verfasst, sondern in den Modellen spezifiziert wird [5]. Während herkömmliche modellbasierte UML-Werkzeuge auf dem Abstraktionsniveau von Quellcode arbeiten [4], hebt MDSD den Abstraktionsgrad der Modelle auf das Niveau des individuellen fachlichen Problemraumes - der Domäne (engl. Domain). Modellelemente dieses Abstraktionsniveaus können den Problemraum prägnanter repräsentieren als 3GL-Programmiersprachen 1 [5]. 1 Third Generation Languages, die Höheren Programmiersprachen; in diesem Sinn sind vorrangig die General Purpose Languages gemeint, also allgemein anwendbare Programmiersprachen.

2 Für diesen Zweck wird eine Modellierungssprache benötigt, die für diese spezifische Domäne entwickelt wird. Mit Hilfe solcher Domänenspezifischen Sprachen (engl. Domain Specific Language, DSL) werden die Modelle formalisiert. Die Formalisierung ermöglicht eine automatisierte Softwareerzeugung aus den Modellen. So kann entweder Quellcode generiert werden oder eine Interpretation der Modelle zur Laufzeit erfolgen. Modellgetriebene Softwareentwicklung verspricht durch die Konzentration auf die Fachbelange und durch das hohe Automatisierungspotential eine gesteigerte Softwarequalität, verbesserte Wartbarkeit, höhere Entwicklungsgeschwindigkeiten und - unter bestimmten Voraussetzungen - Interoperabilität und Portabilität. Wird die konkrete Syntax der DSL möglichst intuitiv gestaltet, zum Beispiel grafisch, können sich auch Domänenexperten ohne Programmierkenntnisse an der Softwareentwicklung beteiligen. MDSD kann außerdem im Sinne von Software-Produktionsstraßen eingesetzt werden, wenn Software-Systemfamilien oder große Softwaresysteme mit einer konsistenten Fachdomäne erstellt werden sollen. Diese Eigenschaften machen MDSD für die Entwicklung von Baustatik-Softwareplattformen interessant. Die alleinige Anwendung programmiersprachlicher Mittel reicht nicht aus, den Entwicklungsaufwand der dort implementierten Baustatik-Module auf ein Maß zu reduzieren, das einer Konfigurationstätigkeit gleichkommt. Hauptsächlich steht dem die verwendete Programmiersprache mit ihrer konkreten Syntax und statischen Semantik selbst entgegen. Weiterhin ist es wahrscheinlich, dass mit wachsender Anzahl an Baustatik-Modulen Muster im Quellcode entdeckt werden, die sich auf Programmiersprachenebene nicht weiter abstrahieren lassen oder für die sich eine solche Abstraktion nicht lohnt. MDSD bietet Lösungsansätze für solche Problemstellungen und ermöglicht dem Entwickler die Konzentration auf die Baustatik-Belange. Innerhalb dieses Kontextes demonstriert das folgende Beispiel die Grundprinzipien Modellgetriebener Softwareentwicklung. 2 Beispiel Fachklassen-Generierung 2.1 Modellierung der Fachklasse Für eine in Java 6 implementierte Baustatik-Plattform soll ein neues Modul erstellt werden, das die Knicklast einer Stütze bestimmt. Zur Lösung der Aufgabe muss unter anderem eine Fachklasse entwickelt werden, die die relevanten Daten P, E, I, beta und Beschreibung hält.

3 /** * Eine Knicklast-Position. Berechnet die * Knicklast P einer Stütze aus E, I und beta. public class Knicklast extends Position { private double emodul; private String nummer; private double tmoment; private double beta; private double knicklast; public Knicklast(){ /** der E-Modul E in N/mm^2 public double getemodul(){ return emodul; /** emodul der E-Modul E in N/mm^2 public void setemodul(double emodul){ double oldvalue = this.emodul; this.emodul = emodul; firepropertychange("emodul", oldvalue, emodul); /* *... weitere public Object clone(){ Knicklast clone = new Knicklast(); clone.emodul = emodul; clone.nummer = nummer; clone.tmoment = tmoment; clone.beta = beta; clone.knicklast = knicklast; return clone; Listing 1: Knicklast.java Neben den fachlichen Anforderungen gibt es technische und infrastrukturelle Anforderungen an die Klasse. So soll ein PropertyChange-Support integriert werden, um die Arbeitsweise des Model-View-Controller-Prinzips zu gewährleisten. Außerdem muss eine Clone-Methode zur Erstellung von Arbeitskopien implementiert werden und JavaDoc-Kommentare haben die korrekte Anwendung der Klasse sicherzustellen. Die manuelle Implementierung ist auszugsweise in Listing 1 dargestellt. In der abstrakten Klasse Position ist bereits die Basisfunktionalität des PropertyChange-Supports

4 implementiert und die abstrakte Methode clone(): Object definiert, die Knicklast implementieren muss. Insgesamt ist ersichtlich, dass die Implementierung der technischen Anforderungen den größten Anteil am Quellcode-Umfang ausmacht. Offensichtlich unterscheiden sich die fachlichen Bestandteile aller Positionsklassen, während die technischen Bestandteile gleich sind. Dieses erkannte Schema soll nun ausgenutzt werden, um die Klassendefinition möglichst essentiell zu gestalten. Eine Optimierung mit programmiersprachlichen Mitteln ist nicht mehr sinnvoll möglich. Dafür lässt sich aber der Aufbau des Quellcodes algorithmisch beschreiben; er soll daher generiert werden. Für diesen Prozess benötigt man einen Quellcode-Generator und die Generator- Eingabe. Die Eingabe ist der variable, fachliche Anteil der Klasse und soll möglichst prägnant formuliert werden. Es wird daher ein Modell in XML-Syntax erstellt. In dieser Sprache lässt sich das Modell exakt und kompakt darstellen, der Code kann leicht von Menschen gelesen werden und das Format wird von vielen Quellcode-Generatoren als gültige Eingabe akzeptiert. Listing 2 zeigt das vollständige Modell in XML. Die gewählten Tag- und Attributnamen sind leicht verständlich, sodass es auch ohne Programmierkenntnisse möglich ist, das Knicklast-Modell zu ändern. <?xml version="1.0" encoding="utf-8"?> <position name="knicklast" beschreibung="eine Knicklast-Position. Berechnet die Knicklast P einer Stütze aus E, I und beta"> <feld name="nummer" typ="text" beschreibung="die Bezeichnung der Stütze" /> <feld name="emodul" typ="zahl" beschreibung="der E-Modul E in N/mm^2" /> <feld name="tmoment" typ="zahl" beschreibung="das Flächenträgheitsmoment I in cm^4" /> <feld name="beta" typ="zahl" beschreibung="der Knicklängenbeiwert beta, einheitslos" /> <feld name="knicklast" typ="zahl" beschreibung="die Knicklast P in kn" /> </position> Listing 2: Knicklast.xml Als Generator wird in diesem Beispiel JET [1] verwendet. JET wird mit Templates für die jeweilige Übersetzungsaufgabe konfiguriert. Auf diese Weise können für verschiedene Eingaben entsprechende Generate nach dem gleichen Schema erzeugt werden. Das Schema für dieses Beispiel ist das Klassenskelett aller konkreten Modul- Positionen, abgeleitet aus dem Prototyp in Listing 1. Listing 3 zeigt das JET-Template mit seiner XSLT-ähnlichen Syntax. Auf einen Abdruck des von JET generierten Java- Quellcodes wird an dieser Stelle verzichtet. Er entspricht dem angestrebten Klassenschema für Modul-Positionen nach Listing 1.

5 /** 2 * <c:get select="/position/@beschreibung" /> 4public class <c:get select="/position/@name" /> extends Position { 6 public <c:get select="/position/@name" />() { 8 <c:iterate select="//feld" var="field"> <c:setvariable var="javatype"> 10 <c:choose select="$field/@typ"> <c:when test="'text'">string</c:when> 12 <c:when test="'zahl'">double</c:when> </c:choose> 14 </c:setvariable> 16 private <c:get select="$javatype"/> <c:get select="$field/@name" />; 18 /** <c:get select="$field/@beschreibung" /> 20 public <c:get select="$javatype" /> get<c:choose select="camelcase ($field/@name)" >(){ 22 return <c:get select="$field/@name"/>; 24 /** 26 <c:get select="$field/@name" /> <c:get /> 28 public void set<c:get select="camelcase($field/@name)" />(<c:get select="$javatype" /> <c:get select="$field/@name" />){ <c:get select="$javatype" /> oldvalue = this.<c:get select= "$field/@name" />; 30 this.<c:get select="$field/@name" /> = <c:get select= "$field/@name" />; firepropertychange("<c:get select="$field/@name" />", oldvalue, <c:get select="$field/@name" />); 32 </c:iterate > 36 public Object clone(){ <c:get select="/position/@name" /> clone = new <c:get select= "/position/@name" />(); 38 <c:iterate select="//feld" var="field"> clone.<c:get select="$field/@name" /> = <c:get select= "$field/@name" />; 40 </c:iterate> return clone; 42 Listing 3: Position.java.jet Das Modell wurde so entworfen wie es ist, weil daraus Quellcode generiert werden sollte. Das JET-Template als Transformationsvorschrift reichert das Knicklast-Modell

6 semantisch an und beschreibt den Kontext der Abstraktion. So wird beispielsweise in den Zeilen 11 und 12 festgelegt, wie Feldtypen durch Java-Typen repräsentiert werden. 2.2 Vorschrift für alle Positionen - Modell der Modelle In Abschnitt 2.1 wurde gezeigt, wie sich die Knicklast-Position modellieren ließ und wie aus dem abstrakten Modell Quellcode generiert wurde. Die Vorgehensweise ist für diesen konkreten Fall vollständig. Allerdings ist bisher nicht entscheidbar, ob ein beliebiges Positions-Modell gültig ist. Es fehlt noch ein konkretes Vorschriftsmodell das gültige Positions-Modelle beschreibt. Dieses Vorschriftsmodell ist idealer Weise auch in einer Sprache formuliert, die durch einen Automaten ausgewertet werden kann. Zur Definition von XML-Strukturen gibt es die Schemasprache XML-Schema. Die XML-Schema-Definition (XSD) für gültige Positions-Modelle in XML-Notation ist in Listing 4 dargestellt. <?xml version="1.0" encoding="utf-8"?> <schema xmlns=" targetnamespace=" xmlns:tns=" elementformdefault="qualified"> <element name="position"> <complextype> <attribute name="name" type="string" use="required" /> <attribute name="beschreibung" type="string" use="optional" /> <sequence minoccurs="0" maxoccurs="unbounded"> <element ref="tns:feld"/> </sequence> </complextype> </element> <element name="feld"> <complextype> <attribute name="name" type="string" use="required" /> <attribute name="typ" type="string" use="required" /> <attribute name="beschreibung" type="string" use="optional" /> </complextype> </element> </schema> Listing 4: PositionSchema.xsd Mit diesem XML-Schema können nun geänderte oder neu definierte Positions-Modelle automatisiert validiert werden. Außerdem können die Generator-Templates nun auf Basis des Vorschriften-Modells erstellt werden. Insbesondere die XPath-Ausdrücke aus Listing 3 müssen sich nicht mehr implizit an einem Modell orientieren, sondern können die Strukturierung aller Modelle explizit aus dem XSD ableiten.

7 3 Einordnung in MDSD 3.1 Metaschichten-Architektur Ein Kernkonzept der MDSD ist die Metamodellierung. Metamodelle sind Modelle, die Aussagen über Modellierung treffen. Modelle sind Instanzen ihrer Metamodelle. Um Metamodelle definieren zu können, werden wiederum Modelle auf einer höheren Meta-Ebene benötigt - Meta-Metamodelle. Dieses Schema könnte beliebig fortgeführt werden, da sich der Meta-Status immer nur relativ zu einem Modell in Beziehung bringen lässt. Die OMG definiert in [3] eine Architektur aus vier Metaschichten. Abbildung 1 zeigt die vier Schichten und die Zuordnung der Komponenten des Knicklastbeispiels. Abb. 1: Metaschichten im Knicklastbeispiel Das wesentliche Merkmal dieser Architektur ist das Beenden der Meta-Ebenen bei M3 durch den Einsatz reflexiver Sprachen. Solche Sprachen können sich selbst definieren, wodurch keine weitere Meta-Ebene benötigt wird. Meta-Metamodelle (M3) werden verwendet, um Metamodelle zu definieren. Dabei müssen sie in der Lage sein, Metamodelle für sämtliche Domänen formulieren zu können. Im MDSD-Prozess kommen daher in der Regel standardisierte, bereits ausformulierte Modelle zur Anwendung, die nicht neu entwickelt werden müssen.

8 Metamodelle (M2) definieren Modelle. Metamodelle werden im MDSD-Prozess entwickelt um die gesamte Struktur oder den relevanten Teil einer Domäne formal zu beschreiben [4, S. 67]. Modelle (M1) beschreiben konkrete Ausprägungen der in M2 beschriebenen Domänenkonzepte. Sie sind eine "abstrakte Repräsentation von Struktur, Funktion oder Verhalten eines Systems" [4, S. 20]. Instanzen (M0) sind die Laufzeit-Instanzen der in M1 definierten Modellelemente. Die Beziehung der Meta-Ebene M1 zu M0 entspricht derjenigen von Klassen zu ihren Laufzeit-Instanzen in der Objektorientierten Programmierung. 3.2 Abstraktheit und Modelltransformationen Abstrakte Modelle sind ein weiteres Kernkonzept von MDSD. Es ist orthogonal zum Konzept der Meta-Ebenen. Abb. 2: Abstraktionsniveau und Meta-Ebene im Knicklastbeispiel Im Knicklastbeispiel stehen das Knicklast-Modell (Listing 2) und die daraus generierte Java-Klasse auf derselben Meta-Ebene (M1) - das Knicklast-Modell hat aber ein höheres Abstraktionsniveau, nämlich das der Domäne Baustatikmodul. Abbildung 2 zeigt den Unterschied der Konzepte anhand des Beispiels. Um Modelle eines höheren Abstraktionsniveaus auf Modelle eines niedrigeren Abstraktionsniveaus abzubilden, werden Transformationen verwendet. Die Transformationen basieren auf dem Quell-Metamodell, da die zu transformierenden Modelle Instanzen davon sind.

9 Modelle können in mehreren Stufen transformiert werden. Dies erlaubt eine Abstufung der Abstraktionsniveaus und ermöglicht so eine Anpassung des Softwareentwicklungs- Prozess an die Komplexität der Domäne. 3.3 Domain Specific Language (DSL) Ein weiteres Kernkonzept von MDSD sind Domänenspezifische Sprachen (DSL) 2. Eine DSL ermöglicht es, die Schlüsselaspekte einer Domäne formal ausdrückbar zu machen [4, S.68]. Sie ist damit Voraussetzung zur Modellierung. Eine DSL besitzt ein Metamodell, eine dazu korrespondierende konkrete Syntax und eine Semantik. Eine DSL wird im MDSD-Prozess speziell für eine Domäne entwickelt. Die konkrete Syntax der DSL kann generisch sein (zum Beispiel XML oder UML-Profile) und konfiguriert werden oder von Grund auf neu entwickelt werden. Die Syntax kann dabei grafisch oder textuell sein. Im Knicklastbeispiel wird eine textuelle Syntax auf XML-Basis verwendet. Durch die Semantik der DSL erlangen die Konstrukte des Metamodells eine Bedeutung, sodass Programmierer sinnvolle Modelle erzeugen können. Transformationen implementieren die Semantik einer DSL. Die DSL des Knicklastbeispiels setzt sich aus dem Metamodell in Listing 4, der konkreten Syntax XML, exemplarisch dargestellt in Listing 2, und der Semantik, die sich in den gewählten XML-Tags und der Transformation in Listing 3 ausdrückt, zusammen. 4 Fazit Die Kernkomponenten der Modellgetriebenen Softwareentwicklung sind 1. Modelle auf Abstraktionsniveau der Domäne 2. Formalisierung dieser Modelle mittels DSL 3. Automatisierte Softwareerstellung aus diesen Modellen MDSD ist kein fertig einsetzbares Vorgehensmodell. Vielmehr handelt es sich - in der eigenen Terminologie formuliert - um ein Metamodell für Softwarentwicklungs-Prozesse [6]. Die Vorgehensweise für ein bestimmtes Projekt muss in jedem Fall spezifisch erarbeitet werden. MDSD als Konzeptträger macht dabei keinerlei Einschränkungen bei Werkzeugwahl und Modellierungssprachen. Heutige Software-Tools sind in der Lage den kompletten Prozess der Modellgetriebenen Softwareentwicklung zu begleiten; beispielhaft sei hier 2 Ein Synonym ist auch Modellierungssprache.

10 openarchitectureware (oaw) [2] genannt. Dort kann die Prozessautomatisierung mittels einer Workflow genannten XML-Auszeichnung konfiguriert werden. Das Knicklast-Modell birgt noch weiteres Potential zur Verringerung des Softwareerstellungsaufwands. So sind mögliche Transformationen weder auf Java noch in der Anzahl der Zieldateien beschränkt. Aus Listing 2 ließe sich ohne weiteres ein SQL-Script zur Erstellung eines Datenbankschemas und ein HTML-Formular generieren. Soll der Nutzwert Modellgetriebener Softwareentwicklung für die Baustatik- Softwareplattform noch mehr erhöht werden, müssen weitere schematisch auftretende Teile der Module identifiziert und in Metamodellen beschrieben werden. Solche Aspekte sind beispielsweise Persistenz Editoren / Formulare inkl. Eingabevalidierung Grafische und Textuelle Hilfe Print- und Bildschirmausgabe Darüber hinaus müssten sich auch baustatisches Verhalten und Berechnungen modellieren lassen, um eine weitere signifikante Verbesserung des Softwareentwicklungs-Prozesses für Baustatik-Plattformen herbeizuführen. Literatur [1] Eclipse Foundation: JET - Java Emitter Templates. [2] oaw: openarchitectureware. [3] OMG: UML - Unified Modeling Language, Infrastructure. [4] Stahl, Thomas und Markus Völter: Modellgetriebene Softwareentwicklung. dpunkt.verlag, 1. Auflage, [5] Völter, Markus: Modellgetriebene Softwareentwicklung. [6] Völter, Markus: A formal MDSD Domain Model.

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

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

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

Software Factories SS 2016. Prof. Dr. Dirk Müller. 3 Modellgetriebene Softwareentwicklung

Software Factories SS 2016. Prof. Dr. Dirk Müller. 3 Modellgetriebene Softwareentwicklung Software Factories 3 Modellgetriebene Softwareentwicklung Prof. Dr. Dirk Müller Übersicht Einordnung im Lebenszyklus Ziele Hebung des Abstraktionsniveaus Model Driven Architecture (MDA) Domänenspezifische

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

Modellgetriebene Service-Entwicklung

Modellgetriebene Service-Entwicklung Modellgetriebene Service-Entwicklung Service-orientierte Architekturen (SOA), Prof. Dr. M. Jäger Johannes Tietje 24. Juni 2010 1 / 13 Motivation konkrete Teile eines Dienstes Rahmenimplementierung der

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

Faktor-IPS. Modellgetriebene Softwareentwicklung mit Faktor-IPS. Faktor Zehn AG. Seite 1

Faktor-IPS. Modellgetriebene Softwareentwicklung mit Faktor-IPS. Faktor Zehn AG. Seite 1 Faktor-IPS Modellgetriebene Softwareentwicklung mit Faktor-IPS Seite 1 Faktor-IPS Faktor-IPS ist ein Werkzeug zur modellgetriebenen Entwicklung versicherungsfachlicher Systeme Bestandssysteme Außendienstsysteme

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

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

ESE Conference 2011, Zürich. Generative Konzepte für den Plattform-Zoo - am Beispiel Mobile-Apps. Rüdiger Schilling Delta Software Technology GmbH

ESE Conference 2011, Zürich. Generative Konzepte für den Plattform-Zoo - am Beispiel Mobile-Apps. Rüdiger Schilling Delta Software Technology GmbH ESE Conference 2011, Zürich Generative Konzepte für den Plattform-Zoo - am Beispiel Mobile-Apps Rüdiger Schilling Delta Software Technology GmbH The Perfect Way to Better Software 1 Der mobile Plattform-Zoo

Mehr

COPE COuPled Evolution of metamodels and models

COPE COuPled Evolution of metamodels and models COPE COuPled Evolution of metamodels and models Diplomarbeit in Zusammenarbeit mit der BMW Car IT (Betreuer: Elmar Jürgens, Sebastian Benz) Markus Herrmannsdörfer 7. November 2007 Perlen der Informatik

Mehr

Vorgetragen von. Sanaz Mostowfi Anna Polovets Mandy Neumann

Vorgetragen von. Sanaz Mostowfi Anna Polovets Mandy Neumann Vorgetragen von Sanaz Mostowfi Anna Polovets Mandy Neumann Gliederung Was ist DSL? Welche Arten von DSL gibt es? Vor und Nachteile Werkzeuge zur Erstellung von DSLs XText Definition: DSL (Domain Specific

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

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

Graphischer Editor für die technologieunabhängige User Interface Modellierung

Graphischer Editor für die technologieunabhängige User Interface Modellierung Universität Augsburg Lehrstuhl für Softwaretechnik und Programmiersprachen Prof. Dr. Bernhard Bauer Praktikum Modellgetriebene Softwareentwicklung SS 2008 Graphischer Editor für die technologieunabhängige

Mehr

Model Driven Development einige wichtige Grundprinzipien

Model Driven Development einige wichtige Grundprinzipien Model Driven Development einige wichtige Grundprinzipien Johannes Scheier j@scheier software.ch Copyright by Scheier Software Engineering Seite 1 Inhalt Was ist Model Driven Development (MDD)? Was verspricht

Mehr

openarchitectureware

openarchitectureware openarchitectureware Enrico Schnepel EAS, FHTW-Berlin 07.06.2007 2007 (CC by-nc-sa 2.0 Germany) Enrico Schnepel ( EAS, FHTW-Berlin ) openarchitectureware 07.06.2007 1 / 26 Gliederung 1 Einleitung 2 Begriffsdefinitionen

Mehr

Modellgetriebene Softwareentwicklung (Model Driven Software Development - MDSD) SS 2014

Modellgetriebene Softwareentwicklung (Model Driven Software Development - MDSD) SS 2014 Modellgetriebene Softwareentwicklung (Model Driven Software Development - MDSD) SS 2014 Wahlpflichtfach (2 SWS) für Bachelor Andreas Schmidt Einführung/Organisation 1/19 Ziele der Vorlesung Vorstellung

Mehr

Modellgetriebene Softwareentwicklung bei der IBYKUS AG

Modellgetriebene Softwareentwicklung bei der IBYKUS AG Modellgetriebene Softwareentwicklung bei der IBYKUS AG Theorie Teil 7: Modelltransformationen Dr. Steffen Skatulla IBYKUS AG 1 Inhalt Teil 7: Modelltransformationen Wozu Modelltransformationen? Konzepte

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

MDRE die nächste Generation des Requirements Engineerings

MDRE die nächste Generation des Requirements Engineerings MDRE die nächste Generation des Requirements Engineerings Tom Krauß, GEBIT Solutions GmbH Copyright 2007 GEBIT Solutions Agenda Requirements Engineering heute eine Bestandsaufnahme Modell-Driven Requirements

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

WIRTSCHAFTSINFORMATIK

WIRTSCHAFTSINFORMATIK Westfälische Wilhelms-Universität Münster A platform for professional model-driven software development. Präsentation im Rahmen des Seminars Software Engineering WS 08/09 Jan Schürmeier Jan.Schuermeier@gmx.de

Mehr

Unified Modeling Language 2

Unified Modeling Language 2 Unified Modeling Language 2 Marvin Frommhold 17.11.2008 Gliederung Einleitung Geschichte Strukturierung der Spezifikation Diagrammtypen Strukturdiagramme Verhaltensdiagramme CASE-Werkzeuge Quellen Was

Mehr

Einführung in Generatives Programmieren. Bastian Molkenthin

Einführung in Generatives Programmieren. Bastian Molkenthin Einführung in Generatives Programmieren Bastian Molkenthin Motivation Industrielle Entwicklung *!!*,(% % - #$% #!" + '( & )!* Softwareentwicklung Rückblick auf Objektorientierung Objektorientierte Softwareentwicklung

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

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

Ausarbeitung Referat zur MDA

Ausarbeitung Referat zur MDA Model Driven Architecture (MDA) Florian Betreuer: Marco Musconi Software Engeneering Project WS 2006/07 07. Februar 2007 SEPR WS 2006/07 Seite 1 Inhaltsverzeichnis Historie 3 CASE 3 Objektorientierung

Mehr

Polymorphie/Späte Bindung Abstrakte Klassen Interfaces. Polymorphie/Späte Bindung Abstrakte Klassen Interfaces

Polymorphie/Späte Bindung Abstrakte Klassen Interfaces. Polymorphie/Späte Bindung Abstrakte Klassen Interfaces Programmieren I Martin Schultheiß Hochschule Darmstadt Wintersemester 2010/2011 1 / 20 Polymorphie/Späte Bindung Abstrakte Klassen Interfaces 2 / 20 Definition: Polymorphie Der Begriff Polymorphie (manchmal

Mehr

Modellinteroperabilität zwischen Microsoft Visio und Eclipse EMF als Mittel zur modellgetriebenen Integration

Modellinteroperabilität zwischen Microsoft Visio und Eclipse EMF als Mittel zur modellgetriebenen Integration Modellinteroperabilität zwischen Microsoft Visio und Eclipse EMF als Mittel zur modellgetriebenen Integration Heiko Kern 1, Holger Kremß 2, Stefan Kühne 1 1 Universität Leipzig, Betriebliche Informationssysteme

Mehr

Language Workbench. Aktuelle Themen der Softwaretechnologie. Vortrag von: Arthur Rehm Steven Cardoso. Betreut von: Prof. Dr.

Language Workbench. Aktuelle Themen der Softwaretechnologie. Vortrag von: Arthur Rehm Steven Cardoso. Betreut von: Prof. Dr. Language Workbench Vortrag von:! Aktuelle Themen der Softwaretechnologie Arthur Rehm Steven Cardoso Betreut von: Prof. Dr. Reichenbach [1] !2 Index Kontext Domain Specific Language (DSL) Language Workbench

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

10. Programmierungs-Phase: Objektorientierung Software Engineering

10. Programmierungs-Phase: Objektorientierung Software Engineering 10. Programmierungs-Phase: Objektorientierung Software Engineering Fachhochschule Darmstadt Haardtring 100 D-64295 Darmstadt Prof. Dr. Bernhard Humm FH Darmstadt, 15. Dezember 2005 Einordnung in den Kontext

Mehr

Modell/Metamodell. Generated Source Code. Generator. Model. Fakultät für Informatik und Wirtschaftsinformatik MDSD - SS 2014

Modell/Metamodell. Generated Source Code. Generator. Model. Fakultät für Informatik und Wirtschaftsinformatik MDSD - SS 2014 Modell/Metamodell Model Generator Generated Source Code Andreas Schmidt Modellierung 1/18 Modell Modell beschreibt die zu generierende Anwendung Modell ist... abstrakt kompakt formal Modell kann in unterschiedlichen

Mehr

Michael Piechotta - CASE Tools. openarchitecture Ware

Michael Piechotta - CASE Tools. openarchitecture Ware Model Driven Development Michael Piechotta - CASE Tools openarchitecture Ware Gliederung 1.Einleitung - Was ist MDD? - Wozu MDD? 2.Model Driven Development - OMG Konzepte: Modelle,Transformationen Meta-Modellierung

Mehr

Seminararbeit Modellgetriebene Softwareentwicklung anhand des oaw-frameworks

Seminararbeit Modellgetriebene Softwareentwicklung anhand des oaw-frameworks Hochschule für Oekonomie und Management Essen Berufsbegleitender Master-Studiengang IT-Management Seminararbeit Modellgetriebene Softwareentwicklung anhand des oaw-frameworks Dozent: Autor: Prof. Dr. Gregor

Mehr

Notationen zur Prozessmodellierung

Notationen zur Prozessmodellierung Notationen zur Prozessmodellierung August 2014 Inhalt (erweiterte) ereignisgesteuerte Prozesskette (eepk) 3 Wertschöpfungskettendiagramm (WKD) 5 Business Process Model and Notation (BPMN) 7 Unified Modeling

Mehr

Model Driven Architecture

Model Driven Architecture { AKTUELLES SCHLAGWORT* / MODEL DRIVEN ARCHITECTURE Model Driven Architecture Martin Kempa Zoltán Ádám Mann Bei der Model Driven Architecture (MDA) bilden Modelle die zentralen Elemente des Softwareentwicklungsprozesses.

Mehr

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

Ein Erfahrungsbericht beim Einsatz von generierenden Ansätzen im Vergleich zu generischen Lösungen Ein Erfahrungsbericht beim Einsatz von generierenden Ansätzen im Vergleich zu generischen Lösungen Tom Krauß Agenda Begriffsdefinition Verfahren Praktische Beispiele Vergleich und Bewertung Begriffsklärung

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

Universität Karlsruhe (TH)

Universität Karlsruhe (TH) Universität Karlsruhe (TH) Forschungsuniversität gegründet 1825 Kapitel 2 Die Definitionsphase Prof. Walter F. Tichy Wo sind wir gerade? Planung Lastenheft (funktionales Modell) Definition (Analyse) Pflichtenheft

Mehr

Modellgetriebene Softwareentwicklung

Modellgetriebene Softwareentwicklung Modellgetriebene Softwareentwicklung 30.10.2008 Dr. Georg Pietrek, itemis AG Inhalt Wer ist itemis? Modellgetriebene Entwicklung Ein Praxis-Beispiel Fazit 2 Vorstellung IT-Dienstleister Software-Entwicklung

Mehr

Kapitel 2 - Die Definitionsphase

Kapitel 2 - Die Definitionsphase Kapitel 2 - Die Definitionsphase SWT I Sommersemester 2010 Walter F. Tichy, Andreas Höfer, Korbinian Molitorisz IPD Tichy, Fakultät für Informatik KIT die Kooperation von Forschungszentrum Karlsruhe GmbH

Mehr

i n g e n i e u r b ü r o f ü r s o f t w a r e t e c h n o l o g i e w w w. v o e l t e r. d e Modellgetriebene Softwareentwicklung

i n g e n i e u r b ü r o f ü r s o f t w a r e t e c h n o l o g i e w w w. v o e l t e r. d e Modellgetriebene Softwareentwicklung Modellgetriebene Softwareentwicklung Markus Völter, voelter@acm.org, www.voelter.de Modellgetriebene Entwicklung (MDSD 1 ) und MDA sind in aller Munde. Dieser Artikel stellt MDSD-Kernkonzepte vor und zeigt,

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 22 Einstieg in die Informatik mit Java Generics Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 22 1 Überblick Generics 2 Generische Klassen 3 Generische Methoden 4

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

Probeklausur: Programmierung WS04/05

Probeklausur: Programmierung WS04/05 Probeklausur: Programmierung WS04/05 Name: Hinweise zur Bearbeitung Nimm Dir für diese Klausur ausreichend Zeit, und sorge dafür, dass Du nicht gestört wirst. Die Klausur ist für 90 Minuten angesetzt,

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

Visuelle DSLs Trends in der Softwaretechnik: Domänenspezifische Sprachen (Seminar WS 2010/11) Thorsten Arendt

Visuelle DSLs Trends in der Softwaretechnik: Domänenspezifische Sprachen (Seminar WS 2010/11) Thorsten Arendt Visuelle DSLs Trends in der Softwaretechnik: Domänenspezifische Sprachen (Seminar WS 2010/11) Thorsten Arendt Problemlösung = Abstrahierung Entwicklung der Programmiersprachen Maschinencode/Binärcode:

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

Übersicht Eclipse Modeling Project EMP. Zoltan Horvath

Übersicht Eclipse Modeling Project EMP. Zoltan Horvath ) Schulung ) AUTOR Zoltan Horvath Orientation in Objects GmbH ) Beratung ) Veröffentlicht am: 26.2.2010 ÜBERSICHT ECLIPSE MODELING PROJECT ) Entwicklung ) ) Artikel ) Das Eclipse Modeling Project dient

Mehr

Innovator 2007. Anbindung an openarchitectureware. Connect. Klaus Weber. www.mid.de

Innovator 2007. Anbindung an openarchitectureware. Connect. Klaus Weber. www.mid.de Innovator 2007 Anbindung an openarchitectureware Klaus Weber Connect www.mid.de Anbindung an openarchitectureware (oaw) Wozu dient die Anbindung an openarchitectureware? Für Innovator Object excellence

Mehr

Modellgetriebene Softwareentwicklung bei der IBYKUS AG

Modellgetriebene Softwareentwicklung bei der IBYKUS AG Modellgetriebene Softwareentwicklung bei der IBYKUS AG Theorie Teil 4: Domänenspezifische Sprachen Dr. Steffen Skatulla IBYKUS AG 1 Inhalt Teil 4: Domänenspezifische Sprachen Nutzung vorhandener Sprachen

Mehr

Dialogentwicklung mit Hilfe des Model Driven Architecture Ansatzes

Dialogentwicklung mit Hilfe des Model Driven Architecture Ansatzes 18.04.2007 Dialogentwicklung mit Hilfe des Model Driven Architecture Ansatzes Peter Mössinger, LRP Landesbank Rheinland-Pfalz Der MDA-Ansatz liefert vollständig neue Möglichkeiten im Bereich der Softwareentwicklung.

Mehr

Diplomarbeit. Model-Driven Software Development: Comparison between light- and heavy-weighted methods by way of the judical dunning procedure

Diplomarbeit. Model-Driven Software Development: Comparison between light- and heavy-weighted methods by way of the judical dunning procedure Diplomarbeit Modellgetriebene Software-Entwicklung: Vergleich von leichtgewichtiger und schwergewichtiger Methode am Beispiel des gerichtlichen Mahnverfahrens Model-Driven Software Development: Comparison

Mehr

Abschnitt 9: Schnittstellen: Interfaces

Abschnitt 9: Schnittstellen: Interfaces Abschnitt 9: Schnittstellen: Interfaces 9. Schnittstellen: Interfaces 9.1 Die Idee der Schnittstellen 9.2 Schnittstellen in Java 9.3 Marker-Interfaces 9.4 Interfaces und Hilfsklassen 9.5 Zusammenfassung

Mehr

Codegenerierung am Beispiel des PIMAR-Projekts PhoneBook. 14. Januar 2015

Codegenerierung am Beispiel des PIMAR-Projekts PhoneBook. 14. Januar 2015 Codegenerierung am Beispiel des PIMAR-Projekts PhoneBook 14. Januar 2015 Überblick Modell- und Codegenerierung (M2C, C2M) Modellinterpretation vs. Modellübersetzung PIMAR Code-Generierung am Beispiel des

Mehr

Software-Qualität im Rahmen modellgetriebener Softwareentwicklung

Software-Qualität im Rahmen modellgetriebener Softwareentwicklung Software-Qualität im Rahmen modellgetriebener Softwareentwicklung OFFIS Technologiecluster Enterprise Application Integration niels.streekmann@offis.de 09.07.2008 Seite 1 / 13 Software-Qualität: Unterschiedliche

Mehr

Programmieren I. Dokumentation mit javadoc Heusch 10.4 Ratz Institut für Angewandte Informatik

Programmieren I. Dokumentation mit javadoc Heusch 10.4 Ratz Institut für Angewandte Informatik Programmieren I Dokumentation mit javadoc Heusch 10.4 Ratz 4.1.1 KIT Die Forschungsuniversität in der Helmholtz-Gemeinschaft www.kit.edu Automatische Dokumentation Java bietet standardmäßig das Dokumentationssystem

Mehr

domänenspezifischenprogrammiersprachen

domänenspezifischenprogrammiersprachen Effiziente Entwicklung vonautosar-komponenten mit domänenspezifischenprogrammiersprachen Dr. Frank Höwing LINEAS Automotive GmbH Theodor-Heuss-Str. 2 D-38122 Braunschweig frank.hoewing@lineas.de Abstract:

Mehr

Modellgetriebene Softwareentwicklung

Modellgetriebene Softwareentwicklung Technische Universität Berlin Ausarbeitung SWT Praxis-Seminar SS 2008 Modellgetriebene Softwareentwicklung Roman P. Zimmer (300835) 29. Juni 2008 Betreut durch Dr. Stephan Herrmann und Marco Mosconi Inhaltsverzeichnis

Mehr

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

Generierung von Steuerungsprogrammcode für SPS und μc aus Petri-Netz-Modellen Fachhochschule Köln Cologne University of Applied Sciences Fakultät für Informations-, Medien- und Elektrotechnik Institut für Automatisierungstechnik Labor für Informations- und Automatisierungstechnik

Mehr

Changelog objectif 7.0 Service Pack 3

Changelog objectif 7.0 Service Pack 3 Changelog objectif 7.0 Service Pack 3 Mit dem Service Pack 3 zu objectif haben wir wieder zahlreiche Neuerungen in objectif integriert und eine ganze Reihe von Fehlern behoben. Lesen Sie hier im Detail,

Mehr

Integration von openarchitectureware in Innovator am Beispiel eines WSDL/XSD Generators für SOA- Plattformen. Nürnberg,

Integration von openarchitectureware in Innovator am Beispiel eines WSDL/XSD Generators für SOA- Plattformen. Nürnberg, Integration von openarchitectureware in Innovator am Beispiel eines WSDL/XSD Generators für SOA- Plattformen Nürnberg, 10.11.2009 I N H A L T 1. Was ist openarchitectureware? 2. Die Integration von oaw

Mehr

Modell Driven Software Development (MDSD)

Modell Driven Software Development (MDSD) Modell Driven Software Development (MDSD) Eine Einführung Uni Jena, 2013-04-08 Modelle in der Softwareentwicklung schon lange benutzt Analysemodelle, Entwurfsmodelle, Verhaltensmodelle, Prozessmodelle,

Mehr

Generischer Modellvergleich mit EMF Compare

Generischer Modellvergleich mit EMF Compare Fakultät Informatik Hauptseminar Technische Informationssysteme SS2010 Generischer Modellvergleich mit EMF Betreuer: Dipl.-Inf. Uwe Ryssel Dresden, 16.07.2010 Gliederung 1. Motivation 2. Eclipse Modeling

Mehr

Programmieren ohne Programmierer Das GeneSEZ Generator Framework. Gerrit Beine gerrit.beine@sapat.de

Programmieren ohne Programmierer Das GeneSEZ Generator Framework. Gerrit Beine gerrit.beine@sapat.de Programmieren ohne Programmierer Das GeneSEZ Generator Framework Gerrit Beine gerrit.beine@sapat.de Vogelperspektive Theorie: Model driven software development Praxis: Konzepte von GeneSEZ Lösungen für

Mehr

Referenzarchitekturen und MDA 1

Referenzarchitekturen und MDA 1 Referenzarchitekturen und MDA 1 Gerd Beneken *, Tilman Seifert *, Niko Baehr +, Inge Hanschke +, Olaf Rauch + *) TU München Lehrstuhl für Software & Systems Engineering Boltzmannstr. 3; 85748 Garching

Mehr

Präsentation Interfaces

Präsentation Interfaces Einführung in Java Präsentation Interfaces Nozar Delassaei Marvi Inhalt 1. Erinnerung Klasse Objekte Beispiel Klasse Abstrakte Klasse Beispiel Abstrakte Klasse Mehrfachvererbung-1 Mehrfachvererbung-2 2.

Mehr

Naked-FHIR. Code-Generierung auf Basis von HL7 FHIR Andreas Schuler, MSc. Textmasterformate durch Klicken bearbeiten

Naked-FHIR. Code-Generierung auf Basis von HL7 FHIR Andreas Schuler, MSc. Textmasterformate durch Klicken bearbeiten Naked-FHIR Code-Generierung auf Basis von HL7 FHIR Andreas Schuler, MSc. HL7 Jahrestagung 2015 18. März 2015 Einführung HL7 FHIR stellt eine Reihe an Basis-Ressourcen zur Verfügung Über Zweite Conformance

Mehr

i n g e n i e u r b ü r o f ü r s o f t w a r e t e c h n o l o g i e w w w. v o e l t e r. d e MDSD und/oder AOSD?

i n g e n i e u r b ü r o f ü r s o f t w a r e t e c h n o l o g i e w w w. v o e l t e r. d e MDSD und/oder AOSD? MDSD und/oder AOSD? Markus Völter, voelter@acm.org, www.voelter.de Modellgetriebene Softwareentwicklung (MDSD) und Aspektorientierte Softwareentwicklung (AOSD) werden beide immer wichtiger im Rahmen der

Mehr

Christian Kurz SWT Projekt WS 07/08

Christian Kurz SWT Projekt WS 07/08 Christian Kurz SWT Projekt WS 07/08 1. Allgemeine Aspekte der generativen GUI- Entwicklung 2. Entwicklung mit Hilfe von GUI-Designern 3. Entwicklung mit Hilfe deklarativer GUI- Sprachen 4. Modellgetriebene

Mehr

XML Schema 2016 S h_da S Seite 1

XML Schema 2016 S h_da S Seite 1 XML Schema Seite 1 XML/Schema: Strukturen Dokumentinstanz Dokumenttyp Wellformed Valid Dokumentstrukturdefinition mit XML/Schema XML Document Type Definition Seite 2 XML Dokument Instanz XML-Deklaration

Mehr

Arbeitsblätter zu Teil I des Praktikums

Arbeitsblätter zu Teil I des Praktikums Arbeitsblätter zu Teil I des Praktikums Allgemeine Hilfsmittel Bitte benutzen Sie bei Schwierigkeiten mit spezifischem Domänenwissen das Internet als Recherchemöglichkeit (beispielsweise Google oder Wikipedia).

Mehr

Universität Stuttgart Institut für Automatisierungstechnik und Softwaresysteme Prof. Dr.-Ing. M. Weyrich

Universität Stuttgart Institut für Automatisierungstechnik und Softwaresysteme Prof. Dr.-Ing. M. Weyrich Universität Stuttgart Institut für Automatisierungstechnik und Softwaresysteme Prof. Dr.-Ing. M. Weyrich WS 02/03 Warum muss ein Objekt wissen, zu welcher Klasse es gehört? Damit die Klassenzugehörigkeit

Mehr

Model Driven SOA Modellgetriebene Entwicklung von SOA Anwendungen. OOP München, 26.01.2011

Model Driven SOA Modellgetriebene Entwicklung von SOA Anwendungen. OOP München, 26.01.2011 Model Driven SOA Modellgetriebene Entwicklung von SOA Anwendungen OOP München, 26.01.2011 I N H A L T 1. SOA das erste Projekt 2. Prozesse Ergebnisse aus dem Fachbereich 3. Der Business Analyst und BPMN

Mehr

Modellgetriebene Softwareentwicklung

Modellgetriebene Softwareentwicklung Datum: 10. Juli 2009 Themendossier Modellgetriebene Softwareentwicklung Seite 1 Einführung in das Thema Die Disziplin des Software Engineerings befasst sich bereits seit vielen Jahren mit der Frage, wie

Mehr

Modellierung & Domänen Spezifische Sprachen (DSL)

Modellierung & Domänen Spezifische Sprachen (DSL) Modellierung & Domänen Spezifische Sprachen (DSL) Uni Jena, 2013-04-08 Fachgebiet der zu modellierenden Anwendung Aufteilung in Subdomänen möglich, evtl. spezialisierte Modelle/DSLs nötig Neben fachlichen

Mehr

Programmieren II. Innere Klassen. Heusch 10, Ratz 5.2.1, Institut für Angewandte Informatik

Programmieren II. Innere Klassen. Heusch 10, Ratz 5.2.1, Institut für Angewandte Informatik Programmieren II Innere Klassen Heusch 10, 13.10 Ratz 5.2.1, 9.8 KIT Die Forschungsuniversität in der Helmholtz-Gemeinschaft www.kit.edu Innere Klassen Bisher kennen wir nur Klassen, die entweder zusammen

Mehr

Current Workflow. formatted. Rules. Extensions. Rules. DOM processing with Meta API-calls. Code Generation (Smarty) XMLfile. Source code.

Current Workflow. formatted. Rules. Extensions. Rules. DOM processing with Meta API-calls. Code Generation (Smarty) XMLfile. Source code. Current Workflow Rules T1 Rules Extensions XMLfile DOM processing with Meta API-calls Model 1 T2 Model 2 Code Generation (Smarty) Source code PP formatted sourcecode DTD V1 Rules XMI 1/21 Anbindung eines

Mehr

XML Schema 2012/2013 S Seite 1 h_da W

XML Schema 2012/2013 S Seite 1 h_da W XML Schema Seite 1 XML/Schema: Strukturen Wiederholung Element / Attribut Deklaration XML Document Type Declaration Seite 2 XML Schema Schemata sind XML-Dokumente

Mehr

Domänenspezifisch entwickeln mit UML (Vortrag mit Demo)

Domänenspezifisch entwickeln mit UML (Vortrag mit Demo) Gert Bikker, Kevin Barwich, Arne Noyer Domänenspezifisch entwickeln mit UML (Vortrag mit Demo) Die Modellierung mit UML bietet auch für eingebettete Systeme viele Vorteile. Um die Vorteile effizient nutzen

Mehr

Modell-Editoren für Eclipse entwickeln mit GMF

Modell-Editoren für Eclipse entwickeln mit GMF Modell-Editoren für Eclipse entwickeln mit GMF Dr. Marko Boger Dr. Jan Köhnlein (Gentleware AG) 1 1 Gliederung Motivation Technologieüberblick Entwicklung mit GMF Anpassen generierter Editoren Demonstration

Mehr

8. Objektorientierte Programmierung. Informatik II für Verkehrsingenieure

8. Objektorientierte Programmierung. Informatik II für Verkehrsingenieure 8. Objektorientierte Programmierung Informatik II für Verkehrsingenieure Grundbegriffe ALAN KAY, ERFINDER DER SPRACHE SMALLTALK, HAT DIE GRUNDBEGRIFFE DER OBJEKTORIENTIERTEN PROGRAMMIERUNG WIE FOLGT ZUSAMMENGEFASST:

Mehr

UML Eine kurze Einführung

UML Eine kurze Einführung UML Eine kurze Einführung Programmiermethodik Eva Zangerle Universität Innsbruck Überblick Einführung Java Ein erster Überblick Objektorientierung Vererbung und Polymorphismus Ausnahmebehandlung Pakete

Mehr

5.5.8 Öffentliche und private Eigenschaften

5.5.8 Öffentliche und private Eigenschaften 5.5.8 Öffentliche und private Eigenschaften Schnittstellen vs. Implementierungen: Schnittstelle einer Klasse beschreibt, was eine Klasse leistet und wie sie benutzt werden kann, ohne dass ihre Implementierung

Mehr

Typumwandlungen bei Referenztypen

Typumwandlungen bei Referenztypen Typumwandlungen bei Referenztypen Genau wie es bei einfachen Typen Typumwandlungen gibt, gibt es auch bei Referenztypen Umwandlungen von einem Referenztypen in einen anderen Referenztypen, die wie bei

Mehr

VU Objektorientierte Modellierung Übung 2

VU Objektorientierte Modellierung Übung 2 VU Objektorientierte Modellierung Übung 2 Übungsgruppen: 2.4.2008-25.4.2008 Aufgabe : Objektdiagramm Gegeben ist folgendes Objektdiagramm: z = :A w = 3 :B x = 8 :C z = 2 :A w = 4 :B y = 9 :E w = 5 :B x

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

Integration von Model-Driven Development und formaler Verfikation in den Softwareentwicklungsprozess

Integration von Model-Driven Development und formaler Verfikation in den Softwareentwicklungsprozess Integration von Model-Driven Development und formaler Verfikation in den Softwareentwicklungsprozess Eine Fallstudie mit einem 3D-Tracking-System Dipl.-Inform. Christian Ammann Fachhochschule Osnabrück

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

Objektorientierte und Funktionale Programmierung SS 2014

Objektorientierte und Funktionale Programmierung SS 2014 Objektorientierte und Funktionale Programmierung SS 2014 6 Objektorientierte Entwurfsmuster 1 6 Objektorientierte Entwurfsmuster Lernziele Einige wichtige Entwurfsmuster kennen und verstehen Einsatzmöglichkeiten

Mehr

FH D. Objektorientierte Programmierung in Java FH D FH D. Prof. Dr. Ing. André Stuhlsatz. Wiederholung: Gerüstbeispiel. Vererbungshierarchie: Typ 0

FH D. Objektorientierte Programmierung in Java FH D FH D. Prof. Dr. Ing. André Stuhlsatz. Wiederholung: Gerüstbeispiel. Vererbungshierarchie: Typ 0 9 Objektorientierte Programmierung in Java Prof. Dr. Ing. André Stuhlsatz Wiederholung: Gerüstbeispiel Ein Duo, Quarto oder Sexto ist ein Gerüst. Die Klassen Duo, Quarto und Sexto sollen durch Vererbung

Mehr

1 Abstrakte Klassen, finale Klassen und Interfaces

1 Abstrakte Klassen, finale Klassen und Interfaces 1 Abstrakte Klassen, finale Klassen und Interfaces Eine abstrakte Objekt-Methode ist eine Methode, für die keine Implementierung bereit gestellt wird. Eine Klasse, die abstrakte Objekt-Methoden enthält,

Mehr

Beispielhaft MDSD in der Praxis. Dr. Shota Okujava shota.okujava@isento.de www.isento.de

Beispielhaft MDSD in der Praxis. Dr. Shota Okujava shota.okujava@isento.de www.isento.de Beispielhaft MDSD in der Praxis Dr. Shota Okujava shota.okujava@isento.de www.isento.de Agenda Einführung Softwareentwicklungsprozess und MDSD Technologien und Werkzeuge Demo Entwicklung der Metamodelle

Mehr

Übung 1 mit C# 6.0 MATTHIAS RONCORONI

Übung 1 mit C# 6.0 MATTHIAS RONCORONI Übung 1 mit C# 6.0 MATTHIAS RONCORONI Inhalt 2 1. Überblick über C# 2. Lösung der Übung 1 3. Code 4. Demo C# allgemein 3 aktuell: C# 6.0 mit.net-framework 4.6: Multiparadigmatisch (Strukturiert, Objektorientiert,

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

UML 2.0 Quelltextgenerierung

UML 2.0 Quelltextgenerierung UML 2.0 Quelltextgenerierung Seminararbeit im Fach Informatik im Rahmen des Seminars Sicherheitskritische Systeme an der Universität Siegen, Fachgruppe für Praktische Informatik eingereicht bei Dr. Jörg

Mehr