MODELLGETRIEBENE SOFTWAREENTWICKLUNG AM BEISPIEL EINER BAUSTATIK-SOFTWAREPLATTFORM
|
|
- Klaudia Brauer
- vor 6 Jahren
- Abrufe
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 Arif Chughtai Diplom-Informatiker (FH) www.digicomp-academy, Seite 1 September 05 Inhalt Motivation Überblick MDA Kleines Beispiel Werkzeuge www.digicomp-academy,
MehrMOF 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
MehrGrundlagen 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
MehrSoftware 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
MehrMotivation 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
MehrModellgetriebene 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
MehrModel 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
MehrFaktor-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
MehrEinfü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
MehrEinfach 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
MehrESE 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
MehrCOPE 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
MehrVorgetragen 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
MehrCopyright 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
MehrVorlesung 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)
MehrGraphischer 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
MehrModel 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
Mehropenarchitectureware
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
MehrModellgetriebene 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
MehrModellgetriebene 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
MehrModel 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
MehrMDRE 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
MehrModel 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
MehrWIRTSCHAFTSINFORMATIK
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
MehrUnified 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
MehrEinführung in Generatives Programmieren. Bastian Molkenthin
Einführung in Generatives Programmieren Bastian Molkenthin Motivation Industrielle Entwicklung *!!*,(% % - #$% #!" + '( & )!* Softwareentwicklung Rückblick auf Objektorientierung Objektorientierte Softwareentwicklung
Mehr09.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)
MehrVorlesung 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)
MehrEinfü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
MehrAusarbeitung 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
MehrPolymorphie/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
MehrModellinteroperabilitä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
MehrLanguage 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
MehrUML (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...
Mehr10. 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
MehrModell/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
MehrMichael 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
MehrSeminararbeit 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
MehrNotationen 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
MehrModel 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.
MehrEin 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
MehrEinfü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
MehrUniversitä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
MehrModellgetriebene 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
MehrKapitel 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
Mehri 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,
MehrEinstieg 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
MehrModellgetriebene 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
MehrProbeklausur: 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,
MehrSEA. 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
MehrVisuelle 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:
MehrUML 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
) 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
MehrInnovator 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
MehrModellgetriebene 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
MehrDialogentwicklung 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.
MehrDiplomarbeit. 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
MehrAbschnitt 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
MehrCodegenerierung 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
MehrSoftware-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
MehrProgrammieren 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
Mehrdomä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:
MehrModellgetriebene 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
MehrGenerierung 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
MehrChangelog 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,
MehrIntegration 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
MehrModell 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,
MehrGenerischer 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
MehrProgrammieren 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
MehrReferenzarchitekturen 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
MehrPrä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.
MehrNaked-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
Mehri 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
MehrChristian 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
MehrXML 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
MehrArbeitsblä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).
MehrUniversitä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
MehrModel 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
MehrModellgetriebene 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
MehrModellierung & 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
MehrProgrammieren 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
MehrCurrent 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
MehrXML 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
MehrDomä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
MehrModell-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
Mehr8. 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:
MehrUML 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
Mehr5.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
MehrTypumwandlungen 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
MehrVU 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
MehrEinfü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
MehrIntegration 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
MehrWas 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
MehrObjektorientierte 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
MehrFH 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
Mehr1 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,
MehrBeispielhaft 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 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,
MehrVortrag 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
MehrUML 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