EMF vs. MDA. Klaus Mairon Klaus Häuptle

Größe: px
Ab Seite anzeigen:

Download "EMF vs. MDA. Klaus Mairon Klaus Häuptle"

Transkript

1 EMF vs. MDA Klaus Mairon Klaus Häuptle Furtwangen,

2 II Inhaltsverzeichnis 1 EMF-Einführung EMF Ecore Metamodell Core Model Genmodel EMF Mechanismen XMI Serialisierung und Persistenz Java Annotationen Notification EMF.Edit und EMF.Codegen EMF.Edit EMF.Codegen EMF-Editor erstellen JET Projekte im Kontext von EMF GEF GMT UML GMF EMF vs. MDA Schichtenmodell MOF vs. Ecore XMI EMF vs. JMI Constraint Language Persistenz Fazit und Ausblick...22 Abkürzungsverzeichnis... III Abstract... IV Abbildungsverzeichnis...24 Anhang...25

3 III Abkürzungsverzeichnis EMF GEF GMF GMT JET JMI MDA MOF QVT SDO UML XMI XSD Eclipse Modeling Framework Graphical Editing Framework Graphical Modeling Framework Generative Model Transformer Java Emitter Templates Java Metadata Interface Model Driven Architecture Meta Object Facility Query/View/Transformation Service Data Objects Unified Modeling Language XML Metadata Interchange XML Schema Infoset Model

4 IV Abstract Eclipse gilt inzwischen als eine der meistgenutzten Java-IDEs. Eclipse ist jedoch mehr als eine reine IDE. Aufgrund der Plug-In-Architektur ist Eclipse flexibel erweiterbar und eine Vielzahl von Projekten beschäftigen sich damit, Eclipse als Entwicklungswerkzeug weiter auszubauen. Wichtige Grundlage hierzu ist das Eclipse Modeling Framework (EMF) mit dem zugrundeliegenden Metamodell Ecore. Ziel dieser Ausarbeitung ist es, die Konzepte des Eclipse Modeling Framework und deren Beeinflussung durch Ideen der Model Driven Architecture darzustellen. Außerdem werden die Ansätze von EMF und der ergänzenden Projekte mit der MDA verglichen. Auf diesem Vergleich aufbauenden zeigt die Ausarbeitung die wesentlichen Unterschiede auf. Es wird auch versucht zu prognostizieren, wie EMF sich in Zukunft in Richtung MDA entwickeln könnte. Kenntnisse der MDA werden hierzu vorausgesetzt. Dabei werden neben der Erläuterung des EMF und seiner Besonderheiten auch einige der begleitenden Projekte wie GEF, GMT oder UML2 vorgestellt.

5 1 EMF-Einführung Das Eclipse Modeling Framework (EMF) ist ein Java / XML Framework für die Modellierung und Generierung von Tools und Anwendungen mittels einfachen Klassen-Modellen. Des Weiteren ist EMF ein modellgetriebenes Metadaten-Management Framework. Der Code von EMF ist sehr reif, da IBM bereits seit Visual Age 3.0 daran arbeitet. IBM hat EMF 2003 als Open Source- Projekt veröffentlicht. Mittlerweile gehört EMF zur eclipse.org und ist ein zentraler Bestandteil von Eclipse, da EMF die Integration verschiedenartigster Tools in Eclipse erlaubt. Da Eclipse 3.1 zum derzeitigen Zeitpunkt noch nicht veröffentlicht ist, basiert diese Ausarbeitung auf EMF 2.0.1, welches durch Eclipse verwendet wird. Die Besonderheiten dieses Frameworks sind die direkte Integration des Modells und dessen Implementierungen. EMF erlaubt es ein Modell in einer bestimmten Form (z.b. Java, XML oder UML) zu erstellen und daraus die anderen Formen zu generieren. Hierbei ist, wie in Abb. 1 zu sehen, ein EMF-Modell die gemeinsame abstrakte Basis, welche alle Repräsentations-Formen verbindet. EMF unterstützt Round-Trip-Engineering, die generierten Artefakte können verändert und erweitert werden bei Veränderungen der Artefakte werden diese automatisch mit dem EMF Modell synchronisiert. Abbildung 1: EMF Modell verbindet XML, UML und Java [Gamma] Bei der Entwicklung von Web Services erlaubt EMF zum Beispiel aus einem Message-Schema direkt ein UML-Klassendiagramm oder Java-Klassen für die XML-Verarbeitung zu erstellen. Zusätzlich kann ein Editor erstellt werden, um die Messages zu bearbeiten. Ebenfalls kann der Entwickler, statt mit dem XML-Schema mit einem Klassendiagramm oder den Java Interfaces starten und daraus das XML-Schema generieren. Der wesentliche Vorteil von EMF gegenüber MOF ist die Integration in Eclipse. Auf der anderen Seite ist EMF nur eine kleine Untermenge des MDA-Ansatzes. Ziel dieser Ausarbeitung ist es die Konzepte die EMF zu Grunde liegen, zu erläutern und EMF mit MDA zu vergleichen. Kapitel 2 erläutert die Konzepte von EMF, es wird dabei vorausgesetzt, dass der Leser grundlegende Kenntnisse über MDA hat. Kapitel 3 vergleicht den Ansatz der OMG mit EMF und zeigt wesentliche Unterschiede auf. In Kapitel 4 werden die Ergebnisse der Ausarbeitung zusammengefasst und bewertet.

6 6 EMF 2 EMF Im folgenden Kapitel werden die verschiedenen Mechanismen und Bestandteile von EMF erläutert. EMF enthält ein Metamodell (Ecore) für die Beschreibung von Modellen und Unterstützung für diese Modelle zum Beispiel in Form von Notification, Persistenz und einer Reflection API. 2.1 Ecore Metamodell Ecore ist das Metamodell und das Meta-Metamodell innerhalb von EMF. Im Vergleich mit MDA entspricht es insofern dem MOF, dass Ecore ebenfalls selbstbeschreibend ist, Ecore ist also sein eigenes Metamodell. Die folgende Abbildung zeigt einen Ausschnitt mit den wesentlichen Meta- Klassen, -Attributen und -Beziehungen des Ecore-Modells. Das vollständige Ecore-Modell befindet sich im Anhang. Abbildung 2: Ausschnitt aus Ecore 1. EClass repräsentiert eine modellierte Klasse. Klassen haben einen Namen, null oder mehrere Attribute und null oder mehrere Referenzen. 2. EAttribute beschreibt ein modelliertes Attribut einer Klasse und hat einen Namen und einen Typ. 3. EReference repräsentiert ein Ende einer Assoziation zwischen Klassen. Es hat einen Namen und einen Typ, der Typ muss hierbei eine Instanz von EClass sein. Die Kardinali-

7 EMF 7 tät der Beziehung wird durch lowerbound und upperbound angegeben. Containment legt fest, ob es sich bei der Beziehung um Komposition handelt. 4. EDataType wird verwendet, um den Java-Typ eines Attributs festzulegen. Ein Datentyp kann entweder ein primitiver oder ein Objekt-Typ sein. 2.2 Core Model Das Core Model ist in einer Datei mit der Dateiendung.Ecore gespeichert und wird innerhalb des EMF als Instanz des Ecore-Modells bezeichnet. Das Core Model ist durch Ecore-Objekte im Speicher repräsentiert. Das EMF-Framework kann diese Objekte lesen beziehungsweise manipulieren und somit direkt auf das Modell zugreifen. Dabei können diese Repräsentationen zum Beispiel entweder aus XML, Java, UML oder einer anderen auf EMF basierenden DSL erstellt werden. Bei Verwendung von UML gibt es drei Alternativen das Modell in den Speicher zu laden: 1. Direkte Bearbeitung des Modells: Zum Beispiel mittels des EclipeUML-Tools oder dem in EMF integrierten baum-basierten Ecore-Editor. 2. Import aus UML mittels des EMF Project Wizard: EMF unterstützt dies für Rational Rose (.mdl) Dateien, andere Formate werden bisher nicht unterstützt. 3. Export aus UML-Tools direkt nach EMF. Dazu muss das Tool allerdings Ecore XMI unterstützen. Die beste Importfunktionalität bietet derzeit der Import über.mdl Dateien. Dies ist darin begründet, dass IBM das Eclipse Modeling Framework mit Rational Rose spezifiziert hat. Neben dem Import kann der Entwickler das Core Model auch direkt über einen baum-basierten Editor oder über EclipseUML bearbeiten. Durch dieses Vorgehen wird die Synchronisation zwischen EMF und den UML-Dateien automatisch erledigt. Ecore definiert das Metamodell für die Core Modelle. Dabei ist Ecore selbst wiederum ein Core Model, wie MOF definiert Ecore sein eigenes Metamodell. Das Core Model findet in zwei verschiedenen Kontexten Verwendung: - Während der Anwendungsentwicklung wird das Core Model zur Codegenerierung verwendet, um beispielsweise Instanzen des Modells erstellen zu können oder ein vorhandenes Modell zu bearbeiten. EMF generiert jedoch nur Modell-Implementierungen in Java. - Das generische EMF-Framework verwendet das Core Model zur Laufzeit dazu, das Verhalten für ein bestimmtes Modell zu bestimmen. Ein Entwickler kann diese APIs verwenden um dynamisch das Modell zu untersuchen und zu bearbeiten. Das Framework erlaubt die Serialisierung und beinhaltet die EObjectAPI. 2.3 Genmodel Das Generator-Modell (Genmodel) ist in einer Datei mit der Endung.genmodel gespeichert und enthält systemabhängige Informationen für die Codegenerierung, zum Beispiel der Speicherort für die Codegenerierung und die Informationen über geschützte Bereiche. Der EMF Codegene-

8 8 EMF rator verwendet dieses Modell um diese Informationen zu speichern. Wie das Core Model ist auch das Generator-Modell ein EMF-Modell. Das Generator-Modell ist im Wesentlichen ein Wrapper um das Core Model, das heißt die Modellklassen sind Decoratoren für die Ecore- Klassen. Zum Beispiel, dekoriert GenClass Eclass und GenFeature dekoriert EAttribute und EReference, dieser Sachverhalt ist in der folgenden Abbildung dargestellt. Abbildung 3: Generator-Modell und Ecore-Modell Durch die Unterscheidung in Core Model und Genmodel ist das Modell von der Codegenerierung getrennt. Dadurch sind die Modelle unabhängig von der Codegenerierung. Allerdings müssen die Dateien immer synchron gehalten werden. EMF erledigt dies automatisch, in dem EMF das Genmodel das Core Model überwacht. Der Entwickler kann die Codegenerierung durch Markierungen beeinflussen, so bedeutet das dass der Code überschrieben werden kann, alle anderen Blöcke werden nicht ersetzt. 2.4 EMF Mechanismen XMI Serialisierung und Persistenz Für die Persistierung der Modelle verwendet EMF standardmäßig das XMI-Fomat in der Version 2.0. EMF begründet dies mit der kompakteren Darstellung von XMI 2.0. Allerdings muss ein Modellierungswerkzeug Ecore XMI unterstützen, damit EMF das Modell importieren kann. Das bedeutet, dass das zu importierende Modell konform zum Ecore Model sein muss. Alternativ zu XMI kann EMF das Modell auch in einem XML-Schema speichern oder einen selbstimplementierten Persisitierungsmechanismen benutzen Java Annotationen Damit der EMF Generator aus einem Java Interface das Ecore-Modell erstellt, müssen das entsprechende Interface und die get-methoden mit der markiert sein. EMF ermittelt daraus Attribute und Referenzen:

9 EMF 9 /** type= Kunde **/ public Collection getkunden(); Wie im Beispiel zu sehen kann Javadoc zusätzliche Informationen enthalten, welche sich nicht durch Reflection ermitteln lassen. So wird hier mittels type= Kunde festgelegt, dass der Typ der Referenz Kunde ist. Die set-methoden müssen nicht im annotierten Interface enthalten sein. Die get-methoden genügen dem Framework, um die Attribute und Referenzen zu identifizieren und daraus die get- und set-methoden zu erstellen Notification Jede EMF- Klasse hat einen Notifier, welcher bei Veränderungen der Attribute oder Referenzen einer Klasse Benachrichtigungen versendet. Ein Adapter ist der Empfänger einer solchen Nachricht und kann sich an jedes EObject binden. Listener werden in EMF Adapter genannt, da sie im Gegensatz zu einem reinen Observer das Verhalten der Objekte, die sie überwachen, erweitern können. Dieser Mechanismus erlaubt die Überwachung von EMF Objekten, zum Beispiel um bestimmte Views zu aktualisieren oder abhängige Objekte zu informieren. Adapter sind, wie im nachfolgenden Kapitel beschrieben, Basis-Elemente für das EMF.Edit Framework. 2.5 EMF.Edit und EMF.Codegen EMF.Edit EMF.Edit ist ein Bestandteil des Eclipse Modeling Frameworks. Bei EMF.Edit handelt es sich um ein Framework zur Erstellung von Editoren für EMF-Modelle. Eclipse bringt von Haus aus eine Reihe von GUI-Klassen (Viewer) wie TreeViewer, TableViewer etc. mit, über die strukturierte Modelle dargestellt werden können. Diese Viewer-Klassen greifen über die als Content Provider bezeichneten Adapter auf das jeweils zugrundeliegende EMF-Modell zu. Das EMF.Edit-Framework besteht aus: - Content- und Label-Provider-Klassen, Property Source Support und zusätzlichen Hilfsklassen, die eine Darstellung eines EMF-Modells über die Standard Desktop Viewer (JFace) und eine Bearbeitung über Property-Sheets ermöglichen. - einem Command-Framework, das einem Editor die Unterstützung eines automatischen Undo / Redo ermöglicht.

10 10 EMF EMF.Codegen Wie EMF.Edit ist auch EMF.Codegen ein weiterer Bestandteil des Eclipse Modeling Framework. Bei EMF.Codegen handelt es sich um einen Generator zur Erstellung eines EMF-Editors. Neben einer Kommandozeilen-Version umfasst EMF.Codegen eine grafische Benutzeroberfläche, über die Einstellungen für die Generierung vorgenommen und der Generatoraufruf vorgenommen werden kann. Hierbei wird die JDT-Komponente (Java Development Tooling) von Eclipse verwendet. Als Templatesprache wird JET (Java Emitter Templates) verwendet, welche nachfolgend noch näher erläutert wird. Auf Basis eines EMF-Modells können über den Generator Content Provider erzeugt und anschließend auf einfache Weise von den Viewer-Klassen benutzt werden. Nach dem Design des Modells und dem Generieren des Codes können die restlichen Teile, die für eine vollständige Anwendung benötigt werden, über Wizards erzeugt werden. Das auf diese Weise erzeugte Plugin kann über die Run-Time-Workbench ausgeführt werden und ermöglicht ein interaktives Bearbeiten einer Modellinstanz EMF-Editor erstellen Mit Hilfe des Generators und des verwendeten EMF.Edit-Frameworks kann mit drei grundlegenden Schritten ein einfacher Editor für ein EMF-Modell bereitgestellt werden. Diese hierfür notwendigen Schritte sind: 1. Definition eines EMF-Modells. Dieses kann entweder mit Rational Rose erstellt sein und als mdl-datei in ein EMF-Projekt importiert werden. Alternativ kann ein Modell auch über annotierte Java-Interfaces und Klassen beschrieben und über einen Wizard das EMF-Modell (core model und generator model) erstellt werden. 2. Generierung des EMF-Model-Codes auf Basis des erstellten EMF-Modells. 3. Generierung des Editors für das erstellte EMF-Modell. Der generierte Editor wird übersetzt und als neues Plug-In für Eclipse in die Umgebung integriert. Abbildung 4: Definition eines EMF-Modells in Rational Rose und in Java

11 EMF 11 Mit Hilfe eines auf diese Weise erstellten einfachen Editors können nun beliebige Modell- Instanzen definiert und im XMI-Format gespeichert werden. Nachfolgende Grafik zeigt Ausschnitte der Bearbeitung einer Modellinstanz in der Eclipse-Umgebung. Abbildung 5: Bearbeiten einer EMF-Modellinstanz Eine nähere Beschreibung der hier genannten Schritte findet sich in dem Tutorial Generating an EMF Model unter folgendem Link: JET Die EMF Codegenerierung basiert auf JET Templates. JET steht für Java Emitter Templates und basiert aus einer Untermenge der JSP Syntax. Die Generierung von Text aus JET Templates basiert auf zwei Schritten: der Übersetzung und der Generierung. Im ersten Schritt wird das Template in eine Java Klasse übersetzt, dieser Quellcode ist lediglich eine andere Form des Templates. Erst im zweiten Schritt wird die Klasse dazu verwendet den Text (z.b. Java Code) zu erzeugen. Abbildung 6 zeigt die wesentlichen Tag-Typen. Typ Syntax Beschreibung JET Directive <%@ jet attributes %> Läutet den Beginn eines Templates ein Include <%@ include file="pfad" %> Anderes Template einbetten Expression <%= expression %> Ergebnis des Ausdrucks einfügen Scriptlet <% code %> Führt den enthaltenen Code aus Abbildung 6: JET Template Tags

12 12 EMF Die JET Directive übermittelt bestimmte Attribute an die Template-Engine. Jedes Template wird in eine Java Klasse übersetzt, welche eine Methode generate enthält. Über die generate-methode wird der Generierungsprozess angestoßen. Als Übergabeparameter erhält diese Methode ein Objekt vom Typ Object und als Rückgabeparameter liefert die Standard-Implementierung einen StringBuffer mit dem generierten Code zurück. Im folgenden Beispiel wir angegeben, dass das Template in eine Java-Klasse HelloWorldTemplate übersetzt werden soll und diese Klasse die Pakete java.io.* und java.util.* importieren muss. jet package="hello" class="helloworldtemplate" imports="java.io.* java.util.*" %> Mit include wird der Text der angegebenen Ressource zur Übersetzungs-Zeit in das JET Template eingefügt. JET unterstützt in diesem Zusammenhang das Überschreiben des Template-Pfads. Dies ermöglicht die Verwendung mehrerer Template-Container. Wenn Template-Dateien oder Include-Dateien mit demselben Namen in verschiedenen Template-Containern existieren, wird nur die Datei im ersten Container berücksichtigt und die anderen ignoriert. Entwickler einer JETbasierten Anwendung können diesen Mechanismus verwenden um allgemein Include-Dateien zur Verfügung zu stellen, welche die ursprünglichen überladen, ohne die ursprüngliche Include- Datei zu verändern. Scriptlets können Java Code ausführen und werden zur Aufruf-Zeit des Templates ausgeführt. Durch Scriptlets können Seiteneffekte auftreten, zum Beispiel in dem Sie Objekte verändern. Im Folgenden ist ein einfaches Beispiel für ein Scriptlet zu sehen. <% if (Calendar.getInstance().get(Calendar.AM_PM) == Calendar.AM) {%> Guten Morgen <% } else { %> Morgen <% } %> Eine JET Expression entspricht einer Java Expression. Das Ergebnis der Expression wird an den Return-Wert der generate-methode angehängt, falls dies nicht möglich ist, wird zur Übersetzungs-Zeit ein Fehler geworfen. Expressions werden zur Template-Aufruf-Zeit ausgewertet. Wie Scriptlets erlauben auch Expressions Seiteneffekte, zum Beispiel das Verändern eines Objektes. Im Folgenden Beispiel wird das aktuelle Datum an den StringBuffer der generate-methode gehängt. <%= (new java.util.date()).tolocalestring() %> Wie bereits erwähnt unterstützt JET nur einen Teil der JSP Syntax, so sind zum Beispiel weder Tags für Deklarationen noch für Kommentare verfügbar. JET befindet sich im org.eclipse.emf.codegen Plugin und läuft nur in der Eclipse Umgebung. Zusätzlich zu JET enthält das EMF Projekt die Template-Sprache JMerge (Java Merge). JMerge führt generierten Code und die existierenden Version der Datei zusammen. Dies geschieht anhand Reguläre Ausdrücke, welche in einer XML-Datei spezifiziert werden.

13 EMF 13 Abbildung 7: Übersetzung und Generierung [Schmauder]

14 14 EMF 2.7 Projekte im Kontext von EMF GEF Das Graphical Editing Framework ist ein Open Source Framework zur Unterstützt die Erstellung grafischer Editoren für die Bearbeitung von Modellen. Es ist vollkommen anwendungsunabhängig und kann zum Beispiel sowohl für die Erstellung eines SWT-Designers, eines HTML- Editors als auch für UML-Modellierungswerkzeuge verwendet werden. Der Haupteinsatzzweck von GEF ist allerdings die Erstellung von Diagramm-Editoren auf Basis von EMF. GEF definiert eine Architektur gemäß dem MVC-Pattern. Das Modell enthält den Zustand des Diagramms. Als Modell kann jede beliebige Datenstruktur verwendet werden. Allerdings hat der Einsatz von EMF wesentliche Vorteile. So kann der Entwickler aus einem EMF-Modell (Metamodell) automatisch die Java-Klassen für das Modell des Editors erstellen und erspart sich somit sehr viel Programmieraufwand. Diese Klassen repräsentieren zum einen das Modell und zum anderen sind sie für die Persistenz des Modells zuständig. Wenn sich das Metamodell während der Entwicklung verändert, können die Java-Klassen neu generiert werden, die Anpassungen für die grafische Darstellung bleiben erhalten. Außerdem werden diese Änderungen am Modell automatisch durch den EMF Notification Mechanismus weitergeleitet. Dies sorgt dafür, dass die View und das Modell immer konsistent sind. Abbildung 8: MVC und GEF Im Unterschied zu EMF bietet GEF keine Code-Generierung. GEF ist nur ein MVC- Framework aus dem sich der Entwickler bedienen kann. Der Controller - EditPart genannt - leitet Änderungen der View direkt an das Modell und Änderungen am Modell an die View weiter. Beispielsweise hat das Entfernen eines Objekts im grafischen Editor sofort Auswirkungen auf das Modell, anschließend sendet das Modell eine Nachricht an den zugehörigen EditPart, dieser aktualisiert die View des Modells. Jeder EditPart hat eine zugehörige Viewer-Komponente. GEF enthält Viewer-Komponenten - EditPartViewer genannt - für die grafische und baum-basierte Darstellung von Modellen. Der Viewer ist für die Erstellung einer View verantwortlich und umfasst unter anderem standardisierte Operationen für Copy&Paste, Drag&Drop sowie für das Zoomen. Der Entwickler kann diese Viewer überall in Eclipse einbinden.

15 EMF 15 Für die Darstellung der grafischen View wird die API des Frameworks Draw2D verwendet. Draw2D ist eine Erweiterung von SWT und erlaubt es komplexe zusammengesetzte grafische Komponenten zu erstellen. Es unterstützt den Entwickler bei der Erstellung der View. Eine Draw2D GUI besteht aus einem Baum von Figures, dieser Baum wird verwendet um die View zu erstellen. Figures stellen die Bausteine dar, aus denen die View zusammengebaut ist, Draw2D definiert eine Reihe von wieder verwendbaren Figures. Im Gegensatz zur grafischen Darstellung wird für die baumbasierte Darstellung das Draw2D-Framework nicht benötigt, hierfür werden die JFace-Klassen TreeView und TreeItem verwendet GMT GMT ist ein Unterprojekt des Eclipse Universal Tool Plattform Projekts und steht für Generative Model Transformer. Das Ziel des Projektes ist die Entwicklung von Tools für die modellgetriebene Entwicklung und hier insbesondere für die Modelltransformation. Die Tools sind allerdings nicht für den produktiven Einsatz gedacht, sondern sollen vor allem Möglichkeiten aufzeigen, welche Modelle in Zusammenhang mit Eclipse bieten. Das Unterprojekt UMLX ist zum Beispiel eine grafische Darstellungsform für Transformationen und soll in den Standard QVT einfließen. Weitere Unterprojekte sind: - Fuut-je: model-getriebener Quellcode- und Text-Generator für GMT (Prototyp) - UMLX: Syntaxdefinition einer Transformationssprache (orientiert sich an QVT) - ATL (ATLAS Transformation Language): eine Sammlung von Transformations-Tools und eine IDE für die ATLAS Tranformation Language der Université de Nantes. - AMW (ATLAS Model Weaver): Tool zum Modellvergleich und zum Verweben von Gemeinsamkeiten in den Modellen (vgl. Aspektorientierung) UML2 UML2 ist ein Unterprojekt des Eclipse Tools Projects und stellt eine EMF basierte Implementierung des UML 2.0 Metamodells für die Eclipse Plattform dar. UML2 ist derzeit in der Version (RC1) für Eclipse 3.1 RC1 und EMF 2.1 verfügbar. Ziel des UML2 Projekts ist die Bereitstellung einer einfach anzuwendenden Implementierung eines UML 2.0-Metamodells für die Entwicklung von Modellierungswerkzeugen. Zusätzlich soll ein gängiges XMI-Schema zum Austausch von semantischen Modellen unterstützt werden. Laut Projektleiter Kenn Hessey bereitet jedoch die noch nicht fertiggestellte und teils fehlerhafte UML 2.0 Spezifikation Probleme, woraus sich häufige Änderungen der API ergeben. Außerdem führen auch die noch debattierten Erfüllungspunkte für die UML 2.0 zu häufigen Änderungen. Bestandteil des Projekts ist neben der reinen API auch der UML2 Editor. Dieser erlaubt eine einfache Bearbeitung eines UML2-Modells und der Eigenschaften der darin enthaltenen Modellelemente.

16 16 EMF Abbildung 9: UML2-Editor Anhand eines einfachen Beispiels aus dem UML2 Tutorial soll nun gezeigt werden, auf welche Weise ein Modell alternativ auch programmatisch aufgebaut und gespeichert werden kann. Zuerst wird ein Modell über das Singleton UML2 Factory erzeugt: Model model = UML2Factory.eINSTANCE.createModel(); model.setname( UML2_Beispiel ); Innerhalb dieses Modells können (Unter-)Pakete, Klassen, primitive Typen sowie Beziehungen zwischen diesen Elementen hergestellt werden. Nachfolgend ein Beispiel für das Erzeugen eines Pakets sowie einer darin enthaltenen Klasse. Zuerst wird das Paket erstellt. Als Root-Package wird in diesem Fall das Modell angegeben. org.eclipse.uml2.package package_; package_ = (org.eclipse.uml2.package) model.createownedmember( UML2Package.eINSTANCE.getPackage()); package_.setname("beispiel"); Als nächstes werden in diesem Paket zwei Klassen Person und Kunde erzeugt. Zwischen den beiden Klassen wird eine Vererbungsbeziehung definiert, wobei Person als abstrakte Basisklasse von Kunde fungiert. org.eclipse.uml2.class class_; class_ = (org.eclipse.uml2.class) package_.createownedmember(uml2package.einstance.getclass_()); class_.setname("person"); class_.setisabstract(true);

17 EMF 17 org.eclipse.uml2.class subclass; subclass = (org.eclipse.uml2.class) package_.createownedmember(uml2package.einstance.getclass_()); subclass.setname("kunde"); subclass.setisabstract(false); Generalization general = subclass.creategeneralization(class_); Abschließend wird das auf diese Weise erzeugte Modell als XMI in einer Datei gespeichert. String filename="beispiel"; URI uri = URI.createURI(filename+UML2Resource.FILE_EXTENSION); Resource resource = new ResourceSetImpl().createResource(uri); resource.getcontents().add(model); try { resource.save(null); } catch (IOException e) { e.printstacktrace(); } Ein vollständiges Beispiel kann bei eclipse.org unter folgendem Link herunter geladen werden: GMF Das Graphical Modeling Framework ist ein Unterprojekt des Eclipse Technology Project und befindet sich derzeit in der Validierungsphase des Eclipse-Entwicklungsprozesses. Hintergrund des Open-Source-Projekts ist die Idee, die zwei erfolgreichen Eclipse-Projekte Eclipse Modeling Framework und Graphical Editing Framework miteinander zu verbinden. Diese beiden Projekte werden häufig für die Erstellung Domänen-spezifischer Modelle verwendet. Hieraus sind verschiedene Techniken entstanden, EMF und GEF hierfür zu kombinieren. Ziel des GMF-Projektes ist es, über eine generative Infrastruktur bereitzustellen, welche die Erstellung von Modellierungswerkzeugen für Eclipse erleichtert. GMF soll die grundlegende Infrastruktur und Komponenten für die Entwicklung und das optische Design von Modellierungswerkzeugen unter Eclipse zur Verfügung stellen. Im Kern ist GMF als eine generative Brücke zwischen EMF und GEF entworfen und soll auf diese Weise die Abhängigkeiten zwischen EMF und GEF verringern. Über einen generativen Ansatz soll das Framework die Bereitstellung von Diagramm-Elementen und Funktionalitäten für den Fall unterstützen, dass für eine spezifische Domäne ein grafischer Editor gewünscht wird. Voraussetzung hierfür ist ein auf EMF basierendes Domänenspezifisches Modell. Die Idee hinter GMF stellt in vielerlei Hinsicht eine Erweiterung der Funktionalität von EMF dar und beinhaltet folgende Komponenten:

18 18 EMF Diagramming Infrastructure Inhalt der Diagramming Infrastructure soll eine Sammlung von Komponenten zur Erstellung von Diagrammen sein. Hierbei ist an die Unterstützung von Diagramm-Elemementen wie Knoten, Kanten und Verbindungen gedacht, aber ebenso an Tools, spezielle Views, Editoren und Navigatoren. Die Diagramming Infrastructure stellt die Zielumgebung der Generierungskomponente von GMF dar. Diagram Generation Framework Basierend auf Diagramm-Definitionen und den entsprechenden Domänen-Modellen sollen über das Diagram Generation Framework Diagramm-Komponenten beziehungsweise -Elemente generiert werden, die zur Erstellung von Anwendungen für die visuelle Modellierung verwendet werden können. Die Definition dieser Diagramme soll über eine Oberfläche erfolgen, die selbst mit GMF erstellt wurde. Exemplary Modeling Tools Im Rahmen des Projekts ist geplant, die Möglichkeiten des Graphical Modeling Frameworks über eine Reihe von Modellierungswerkzeugen zu demonstrieren, die mit Hilfe des Frameworks erstellt wurden. Nachfolgende Grafik gibt einen Überblick über die konzeptionellen Zusammenhänge des Frameworks. Abbildung 10: Zusammenspiel von EMF und GEF im GMF Das Projekt wird derzeit hauptsächlich von Borland vorangetrieben. Laut Borland bestehen die nächsten Schritte im Projekt (Stand April 2005) in der Festlegung der Anforderungen, der Architektur und des weiterführenden Projektplans. Zusätzlich ist eine Untersuchung der verschiedenen existierenden Lösungsansätze erforderlich. Für die Definition des Diagramm-Metamodells wird die UML 2.0 Diagram Interchange Specification ( als mögliche Basis geprüft.

19 3 EMF vs. MDA You can think of EMF as MDA in braining wheels. (Erich Gamma, 2004) Dieses Kapitel vergleicht die wesentlichen Konzepte von EMF und MDA und leitet über zu einer kritischen Betrachtung der Ansätze in Eclipse. 3.1 Schichtenmodell Als grundsätzliche Gemeinsamkeit der beiden Ansätze kann die Einteilung in vier vergleichbare Schichten genannt werden. Die folgende Abbildung zeigt die Einordnung der Eclipse-Begriffe in den MDA-Kontext. M3 Meta-Meta-Modell Ecore M2 Meta-Modell Ecore Model M1 Modell EMF Model M0 Modell-Instanz Ecore Object Abbildung 11: Schichtenmodell bei MOF und Ecore Hierbei ist zu beachten, dass EMF derzeit nur Klassendiagramme und nicht das komplette UML- Metamodell abbildet. Wie MOF kann auch Ecore dazu verwendet werden, neben UML noch andere Modellierungsprachen zu beschreiben. Eclipse implementiert bereits Metamodelle für Java und XML-Schema. 3.2 MOF vs. Ecore MOF und Ecore wurden parallel entwickelt, haben sich aber gegenseitig beeinflusst. Trotzdem unterscheidet sich Ecore von MOF in einigen Gebieten. MOF 2.0 besteht aus zwei verschiedenen Metamodellen Essential MOF (EMOF) und Complete MOF (CMOF). EMOF ist eine Un-

20 20 EMF vs. MDA termenge von CMOF. Ecore orientiert sich in großen Teilen an EMOF. In den meisten Fällen ist es möglich ein EMOF-basiertes Metamodell nach EMF zu importieren. Dabei ist EMF in der Lage das EMOF-Metamodell nach Ecore zu transformieren. Allerdings gibt es einige Unterschiede, welche zu beachten sind. So fokussiert sich Ecore im Gegensatz zu MOF nicht auf Meta-Daten-Repositories sondern auf die Integration von Tools in Eclipse. Die Metamodelle Ecore und MOF unterscheiden außer in der Namensgebung der Klassen in den Bereichen Datentypen-Strukturen, Packet-Beziehungen und komplexe Beziehungen. Zum Beispiel unterstützt Ecore nur binäre und keine höherwertigen Assoziationen. Assoziationen werden immer auf ein Paar von Ecore Referenzen abgebildet. Zusammengefasst kann Ecore als vereinfachtes MOF-Modell bezeichnet werden. 3.3 XMI EMF verwendet für die Serialisierung von Modellen und Metamodellen Ecore XMI. Dieses entspricht dem XMI 2.0 Standard. Da Ecore und MOF verschieden sind, muss EMF das Ecore- Modell nach MOF abbilden, damit das Ecore-Modell XMI 2.0 konform ist. Zu beachten ist hier, dass der XMI 2.0 Standard MOF 1.x nach XML abbildet und nicht MOF 2.0. Für MOF 2.0 ist das Mapping in XMI 2.1 definiert. Der Grund für diese unglückliche Namensgebung, liegt darin begründet, dass die OMG an MOF 2.0 noch nicht gedacht hat, als XMI 2.0 spezifiziert wurde. Langfristig hat EMF zum Ziel jedes mit einem UML-Tool erstellte Metamodell importieren zu können. 3.4 EMF vs. JMI Wie Ecore ist auch das Java Mapping von EMF für die Tool-Integration optimiert. Obwohl das Java Mapping von EMF und JMI ähnlich sind, unterscheiden sich beide vor allem in Bezug auf ihre Interfaces von einander. Da das Java-Mapping für Eclipse sehr ausgereift ist, wird sich daran wahrscheinlich auch nichts ändern. Deshalb müssen Tool-Hersteller, welche sich auf JMI konzentriert haben, ihre Tools für die Integration mit EMF an dessen Java-Mapping anpassen. 3.5 Constraint Language Da EMF keine Contraint Language (z.b. OCL) unterstützt, müssen Entwickler Einschränkungen nachträglich in den Code einfügen. Allerdings hat die Eclipse Community ein Plugin für EMF entwickelt, welches erlaubt OCL in EMF-Modellen zu verwenden. [Kent]. Diese OCL- Implementierung ist jedoch bisher kein offizielles Eclipse Projekt. Das in der Eclipse Version 3.1 integrierte EMF Validation Framework erlaubt die Definition von Invarianten und Named Constraints in Ecore-basierten Modellen. Diese können innerhalb des UML-Diagramms oder mittels eines XML-Schemas definiert werden. Anhand dieser Definition kann der Code für die Validierung der Modellinstanzen generiert werden.

21 3.6 Persistenz EMF speichert die Metadaten in XMI-Dateien und nicht in einer Datenbank. Für die Integration von Tools in Eclipse ist dies auch ausreichend. Allerdings benötigen große Firmen für das Metadaten-Management andere oder zusätzliche Persistenz-Mechanismen. Da EMF auf dem Plugin- Mechanismen von Eclipse basiert, ist es theoretisch möglich alternative Persistenz-Mechanismen einzubinden. Derartige Implementierungen sind derzeit nicht vorhanden.

22 22 Fazit und Ausblick 4 Fazit und Ausblick Wie bereits erwähnt basieren sehr viele ausgereifte Werkzeuge nicht nur für die modellgetriebene Entwicklung - auf EMF. So basiert die IBM Produktfamilien Websphere und Rational Rose/XDE auf EMF. Neben Eclipse und den bereits erwähnten Projekten sind hier insbesondere noch XSD und Hyades zu erwähnen. XSD ist ein Modell für die Arbeit mit XML Schema und Hyades eine Plattform für die Integration von Test-, Profiling-, Debug- und Trace-Werkzeugen. Eine wesentliche Eigenschaft von EMF wird in den genannten Anwendungen deutlich. EMF ist sehr gut dazu geeignet, die Metadaten eines Tools bzw. Entwicklungswerkzeugs zu modellieren und hieraus den Code zu generieren, welcher diese Metadaten verwaltet. Die von EMF generierten Java APIs und Interfaces sind zudem an keine verteilte Middleware gebunden. Eine Unterstützung von CORBA oder EJB ist nicht vorhanden. Hinzu kommt die relativ primitive Persistenz für die Speicherung von Modell-Instanzen. Daher kommt David Frankel in [Frankel 2000, S. 2] zu seiner Bewertung: EMF ist nicht geeignet für Geschäftsanwendungen. Grundsätzlich bleibt aber auch im Vergleich mit MDA der EMF-Ansatz zurück. MDA beschäftigt sich im Gegensatz zu EMF mit vielen Themen rund um die modellgetriebene Entwicklung. Dazu gehören auch Austauschformate, Integration mit verschiedenen Middleware Sprachen, Daten und Anwendungsintegration, Best Practices, Modelltransformationen und Metadaten- Management. EMF unterstützt zwar die Kern-Konzepte von MDA, konzentriert sich allerdings auf die Codegenerierung und die Serialisierung für den Datenaustausch zwischen Tools. Für die Zukunft wird sich EMF mit seinen Unterprojekten weiter auf MDA zu bewegen. So ist unter anderem eine OCL-Unterstützung zur Modell-Validierung und ein generisches Framework zur Transformation der Modelle vergleichbar mit QVT geplant.

23 Literaturverzeichnis Budinsky, F. [u.a.]. Eclipse Modeling Framework. Pearson Education, Inc., Boston, MA, Eclipse Modeling Framework (EMF): Graphical Editing Framework (GEF): Graphical Modeling Framework (GMF): Generative Model Transformer (GMT): Gronback, R.C. Graphical Modeling Framwork (GMF) Creation Review. Borland Software Corp., , Kent OCL library, 2004: Lall, A. Malinowski, M. Murtaza Qureshi, K. Solaiappan. UML Virtual Machine. Computer Science Department, University of Massachusetts Boston, Moore, B. [u.a.]: Eclipse Development Using the GEF and the EMF Eclipse Development using the Graphical Editing Framework and the Eclipse Modeling Framework, IBM Redbooks, Popma, R. JET Tutorial: Schmauder, R. u. Schill, P. Codegenerierung mit dem Eclipse Modeling Framework und JET. Objekt- Spektrum, Sigs-Datacom, 01, UML2: UML 2.0 Superstructure Specification: UML 2.0 Diagram Interchange Specification:

24 24 Fazit und Ausblick UMLX: Abbildungsverzeichnis Abbildung 1: EMF Modell verbindet XML, UML und Java [Gamma]... 5 Abbildung 2: Ausschnitt aus Ecore... 6 Abbildung 3: Generator-Modell und Ecore-Modell... 8 Abbildung 4: Definition eines EMF-Modells in Rational Rose und in Java Abbildung 5: Bearbeiten einer EMF-Modellinstanz Abbildung 6: JET Template Tags Abbildung 7: Übersetzung und Generierung [Schmauder] Abbildung 8: MVC und GEF Abbildung 9: UML2-Editor Abbildung 10: Zusammenspiel von EMF und GEF im GMF Abbildung 11: Vier Schichten Abbildung 12: Ecore Abbildung 13: Ecore Hierarchie Abbildung 14: Operationen von EObject Abbildung 15: Externe Typen Abbildung 16: Java-Typen... 28

25 Anhang Abbildung 12: Ecore

26 26 Fazit und Ausblick Abbildung 13: Ecore Hierarchie

27 Abbildung 14: Operationen von EObject

28 28 Fazit und Ausblick Abbildung 15: Externe Typen Abbildung 16: Java-Typen

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

Arbeiten mit UMLed und Delphi

Arbeiten mit UMLed und Delphi Arbeiten mit UMLed und Delphi Diese Anleitung soll zeigen, wie man Klassen mit dem UML ( Unified Modeling Language ) Editor UMLed erstellt, in Delphi exportiert und dort so einbindet, dass diese (bis auf

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

Definition von domänenspezifischen Sprachen mit Xtext: Einführung. 19. November 2014

Definition von domänenspezifischen Sprachen mit Xtext: Einführung. 19. November 2014 Definition von domänenspezifischen Sprachen mit Xtext: Einführung 19. November 2014 Überblick Was ist zu tun, wenn wir selbst einen Ansatz für modellgetriebenen Entwicklung definieren wollen? Anforderungserfassung

Mehr

Übung: Verwendung von Java-Threads

Übung: Verwendung von Java-Threads Übung: Verwendung von Java-Threads Ziel der Übung: Diese Übung dient dazu, den Umgang mit Threads in der Programmiersprache Java kennenzulernen. Ein einfaches Java-Programm, das Threads nutzt, soll zum

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

Dieses Tutorial gibt eine Übersicht der Form Klassen von Struts, welche Besonderheiten und Unterschiede diese aufweisen.

Dieses Tutorial gibt eine Übersicht der Form Klassen von Struts, welche Besonderheiten und Unterschiede diese aufweisen. Übersicht Struts Forms Dieses Tutorial gibt eine Übersicht der Form Klassen von Struts, welche Besonderheiten und Unterschiede diese aufweisen. Allgemeines Autor: Sascha Wolski http://www.laliluna.de/tutorials.html

Mehr

SEW Übung EMFText. 1 Aufgabe. 2 Domänenbeschreibung. 3 Installation von Eclipse/EMFText. 4 Schritt-für-Schritt Anleitung. 4.

SEW Übung EMFText. 1 Aufgabe. 2 Domänenbeschreibung. 3 Installation von Eclipse/EMFText. 4 Schritt-für-Schritt Anleitung. 4. SEW Übung EMFText 1 Aufgabe Erstellen Sie eine textuelle Domänenspezifische Sprache Domain-specific Language (DSL) mit dem Werkzeug EMFText. Die Sprache soll dazu dienen Formulare (Fragen, Antworttypen

Mehr

Übersicht. Eclipse Foundation. Eclipse Plugins & Projects. Eclipse Ganymede Simultaneous Release. Web Tools Platform Projekt. WSDL Editor.

Übersicht. Eclipse Foundation. Eclipse Plugins & Projects. Eclipse Ganymede Simultaneous Release. Web Tools Platform Projekt. WSDL Editor. Eclipse WSDL-Editor Übersicht Eclipse Foundation Eclipse Plugins & Projects Eclipse Ganymede Simultaneous Release Web Tools Platform Projekt WSDL Editor Bug #237918 Eclipse Foundation Was ist Eclipse?

Mehr

Software Engineering in der Projektpraxis

Software Engineering in der Projektpraxis Software Engineering in der Projektpraxis Praktische Übungen Josef Adersberger Dirk Wischermann Lehrstuhl für Software Engineering Friedrich-Alexander-Universität Erlangen-Nürnberg 15. Mai 2008 Inhalt

Mehr

etutor Benutzerhandbuch XQuery Benutzerhandbuch Georg Nitsche

etutor Benutzerhandbuch XQuery Benutzerhandbuch Georg Nitsche etutor Benutzerhandbuch Benutzerhandbuch XQuery Georg Nitsche Version 1.0 Stand März 2006 Versionsverlauf: Version Autor Datum Änderungen 1.0 gn 06.03.2006 Fertigstellung der ersten Version Inhaltsverzeichnis:

Mehr

Software Engineering. Zur Architektur der Applikation Data Repository. Franz-Josef Elmer, Universität Basel, HS 2015

Software Engineering. Zur Architektur der Applikation Data Repository. Franz-Josef Elmer, Universität Basel, HS 2015 Software Engineering Zur Architektur der Applikation Data Repository Franz-Josef Elmer, Universität Basel, HS 2015 Software Engineering: Mit acht bewährten Praktiken zu gutem Code 2 Schichtarchitektur

Mehr

Model Driven Development im Überblick

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

Mehr

Innovator 11 classix. Anbindung an Eclipse. Einführung, Installation und Konfiguration. Connect. Michael Kaaden. www.mid.de

Innovator 11 classix. Anbindung an Eclipse. Einführung, Installation und Konfiguration. Connect. Michael Kaaden. www.mid.de Innovator 11 classix Anbindung an Eclipse Einführung, Installation und Konfiguration Michael Kaaden Connect www.mid.de Einführung in die Innovator-Eclipse-Anbindung Die hier beschriebene Anbindung steht

Mehr

Definition von visuellen Alphabeten basierend auf Meta Object Facilities (MOF) 23. Oktober 2012

Definition von visuellen Alphabeten basierend auf Meta Object Facilities (MOF) 23. Oktober 2012 Definition von visuellen Alphabeten basierend auf Meta Object Facilities (MOF) 23. Oktober 2012 29 Textuelle Visuelle Alphabete Textuelle Sprachen: eindimensional (Sätze) Basiselemente: Buchstaben, Ziffern,

Mehr

Lösungsvorschlag für Übungsblatt 6 Software Engineering 1 (WS 2012/13)

Lösungsvorschlag für Übungsblatt 6 Software Engineering 1 (WS 2012/13) Prof. Ina Schaefer Institut für Softwaretechnik und Fahrzeuginformatik TU Braunschweig Lösungsvorschlag für Übungsblatt 6 Software Engineering 1 (WS 2012/13) Ausgabe: 12. Januar 2013 Abgabe: 25. Januar

Mehr

ObjectBridge Java Edition

ObjectBridge Java Edition ObjectBridge Java Edition Als Bestandteil von SCORE Integration Suite stellt ObjectBridge Java Edition eine Verbindung von einem objektorientierten Java-Client zu einer fast beliebigen Server-Komponente

Mehr

Eclipse Modeling Framework Modellgetriebene Softwareentwicklung Prof. Andreas Schmidt

Eclipse Modeling Framework Modellgetriebene Softwareentwicklung Prof. Andreas Schmidt Eclipse Modeling Framework Modellgetriebene Softwareentwicklung Prof. Andreas Schmidt Sören Bühler buso1011 36811 Julia Haßlinger haju1013 37141 Anja Heinzberger hean1017 36622 Agenda Allgemeines Historie

Mehr

Speicher in der Cloud

Speicher in der Cloud Speicher in der Cloud Kostenbremse, Sicherheitsrisiko oder Basis für die unternehmensweite Kollaboration? von Cornelius Höchel-Winter 2013 ComConsult Research GmbH, Aachen 3 SYNCHRONISATION TEUFELSZEUG

Mehr

Anleitung zur Installation und Verwendung von eclipseuml 2.1.0

Anleitung zur Installation und Verwendung von eclipseuml 2.1.0 Anleitung zur Installation und Verwendung von eclipseuml 2.1.0 In dieser Anleitung wird die Installation und Verwendung von Omodo eclipseuml 2.1.0 beschrieben. eclipseuml ist eine Zusatzsoftware für Eclipse,

Mehr

Java und XML 2. Java und XML

Java und XML 2. Java und XML Technische Universität Ilmenau Fakultät für Informatik und Automatisierung Institut für Praktische Informatik und Medieninformatik Fachgebiet Telematik Java und XML Hauptseminar Telematik WS 2002/2003

Mehr

Historical Viewer. zu ETC5000 Benutzerhandbuch 312/15

Historical Viewer. zu ETC5000 Benutzerhandbuch 312/15 Historical Viewer zu ETC5000 Benutzerhandbuch 312/15 Inhaltsverzeichnis 1 Allgemeine Hinweise... 3 1.1 Dokumentation...3 2 Installation... 3 3 Exportieren der Logdatei aus dem ETC 5000... 3 4 Anlegen eines

Mehr

Lizenzierung von SharePoint Server 2013

Lizenzierung von SharePoint Server 2013 Lizenzierung von SharePoint Server 2013 Das Lizenzmodell von SharePoint Server 2013 besteht aus zwei Komponenten: Serverlizenzen zur Lizenzierung der Serversoftware und CALs zur Lizenzierung der Zugriffe

Mehr

L10N-Manager 3. Netzwerktreffen der Hochschulübersetzer/i nnen Mannheim 10. Mai 2016

L10N-Manager 3. Netzwerktreffen der Hochschulübersetzer/i nnen Mannheim 10. Mai 2016 L10N-Manager 3. Netzwerktreffen der Hochschulübersetzer/i nnen Mannheim 10. Mai 2016 Referentin: Dr. Kelly Neudorfer Universität Hohenheim Was wir jetzt besprechen werden ist eine Frage, mit denen viele

Mehr

Orientierungshilfen für SAP PI (Visualisierungen)

Orientierungshilfen für SAP PI (Visualisierungen) EINSATZFELDER FÜR DIE KONFIGURATIONS-SZENARIEN INTERNE KOMMUNIKATION UND PARTNER-KOMMUNIKATION UND DIE SERVICE-TYPEN BUSINESS-SYSTEM, BUSINESS-SERVICE UND INTEGRATIONSPROZESS Betriebswirtschaftliche Anwendungen

Mehr

Musterlösung zur Vorlesung Modellbasierte Softwareentwicklung Wintersemester 2014/2015 Übungsblatt 9

Musterlösung zur Vorlesung Modellbasierte Softwareentwicklung Wintersemester 2014/2015 Übungsblatt 9 Prof. Dr. Wilhelm Schäfer Paderborn, 15. Dezember 2014 Christian Brenner Tristan Wittgen Musterlösung zur Vorlesung Modellbasierte Softwareentwicklung Wintersemester 2014/2015 Übungsblatt 9 Aufgabe 1 Codegenerierung

Mehr

Übungen zur Softwaretechnik

Übungen zur Softwaretechnik Technische Universität München Fakultät für Informatik Lehrstuhl IV: Software & Systems Engineering Markus Pister, Dr. Bernhard Rumpe WS 2002/2003 Lösungsblatt 9 17. Dezember 2002 www4.in.tum.de/~rumpe/se

Mehr

Produktskizze. 28. November 2005 Projektgruppe Syspect

Produktskizze. 28. November 2005 Projektgruppe Syspect 28. November 2005 Carl von Ossietzky Universität Oldenburg Fakultät II Department für Informatik Abteilung Entwicklung korrekter Systeme Inhaltsverzeichnis 1 Einleitung 3 2 Die graphische Oberfläche der

Mehr

Updateseite_BuV-PlugIn-NERZ-Gesamt

Updateseite_BuV-PlugIn-NERZ-Gesamt Autoren Dipl.-Ing. H. C. Kniß Dipl.-Math. L. Givorgizova Ersteller Geschäftsstelle NERZ e. V. Kölner Straße 30 D-50859 Köln Version: 5.0 Stand: 15.02.2013 Status: akzeptiert 1 Allgemeines 1.1 Änderungsübersicht

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

4. AuD Tafelübung T-C3

4. AuD Tafelübung T-C3 4. AuD Tafelübung T-C3 Simon Ruderich 17. November 2010 Arrays Unregelmäßige Arrays i n t [ ] [ ] x = new i n t [ 3 ] [ 4 ] ; x [ 2 ] = new i n t [ 2 ] ; for ( i n t i = 0; i < x. l e n g t h ; i ++) {

Mehr

Erweitertes Kalkulationsfenster

Erweitertes Kalkulationsfenster Erweitertes Kalkulationsfenster Inhaltsverzeichnis 1. Bereich "Kalkulation" (Fokussierung: Ctrl-F2)... 3 2. Bereich "Kennzahlen"... 4 3. Bereich "Positionswerte"... 5 4. Bereich "Vorhandene Analysen" /

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

Synchronisations- Assistent

Synchronisations- Assistent TimePunch Synchronisations- Assistent Benutzerhandbuch Gerhard Stephan Softwareentwicklung -und Vertrieb 25.08.2011 Dokumenten Information: Dokumenten-Name Benutzerhandbuch, Synchronisations-Assistent

Mehr

Erstellung von Reports mit Anwender-Dokumentation und System-Dokumentation in der ArtemiS SUITE (ab Version 5.0)

Erstellung von Reports mit Anwender-Dokumentation und System-Dokumentation in der ArtemiS SUITE (ab Version 5.0) Erstellung von und System-Dokumentation in der ArtemiS SUITE (ab Version 5.0) In der ArtemiS SUITE steht eine neue, sehr flexible Reporting-Funktion zur Verfügung, die mit der Version 5.0 noch einmal verbessert

Mehr

Suche schlecht beschriftete Bilder mit Eigenen Abfragen

Suche schlecht beschriftete Bilder mit Eigenen Abfragen Suche schlecht beschriftete Bilder mit Eigenen Abfragen Ist die Bilderdatenbank über einen längeren Zeitraum in Benutzung, so steigt die Wahrscheinlichkeit für schlecht beschriftete Bilder 1. Insbesondere

Mehr

a) In der Aufgabenstellung war ein möglichst einfaches Klassendiagramm gefordert. Abb. 1 zeigt eine mögliche Lösung. * * * Aufbau 1..

a) In der Aufgabenstellung war ein möglichst einfaches Klassendiagramm gefordert. Abb. 1 zeigt eine mögliche Lösung. * * * Aufbau 1.. Software Engineering I Musterlösungen zur Klausur vom 3.7.2004 Aufgabe a) In der Aufgabenstellung war ein möglichst einfaches Klassendiagramm gefordert. Abb. zeigt eine mögliche Lösung. Turnier sportart

Mehr

teamsync Kurzanleitung

teamsync Kurzanleitung 1 teamsync Kurzanleitung Version 4.0-19. November 2012 2 1 Einleitung Mit teamsync können Sie die Produkte teamspace und projectfacts mit Microsoft Outlook synchronisieren.laden Sie sich teamsync hier

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

Softwareentwicklungspraktikum Sommersemester 2007. Grobentwurf

Softwareentwicklungspraktikum Sommersemester 2007. Grobentwurf Softwareentwicklungspraktikum Sommersemester 2007 Grobentwurf Auftraggeber Technische Universität Braunschweig

Mehr

Web Services stellen eine Integrationsarchitektur dar, die die Kommunikation zwischen verschiedenen Anwendungen

Web Services stellen eine Integrationsarchitektur dar, die die Kommunikation zwischen verschiedenen Anwendungen 9 3 Web Services 3.1 Überblick Web Services stellen eine Integrationsarchitektur dar, die die Kommunikation zwischen verschiedenen Anwendungen mit Hilfe von XML über das Internet ermöglicht (siehe Abb.

Mehr

Einführung in das Eclipse Modeling Framework. Dr. Thorsten Arendt Marburg, 22. Oktober 2015

Einführung in das Eclipse Modeling Framework. Dr. Thorsten Arendt Marburg, 22. Oktober 2015 Einführung in das Eclipse Modeling Framework Dr. Thorsten Arendt Marburg, 22. Oktober 2015 Überblick Einführung in das Eclipse Modeling Framework: zur objektorientierten Modellierung von Datenstrukturen

Mehr

Innovator 11 classix. Erweiterter XMI-Export aus Innovator Business und Object classix. HowTo. www.mid.de

Innovator 11 classix. Erweiterter XMI-Export aus Innovator Business und Object classix. HowTo. www.mid.de Innovator 11 classix Erweiterter XMI-Export aus Innovator Business und Object classix HowTo www.mid.de Erweiterter XMI-Export aus Innovator Business und Object classix Inhaltsverzeichnis Zweck... 2 Modellinhalte

Mehr

Lizenzierung von SharePoint Server 2013

Lizenzierung von SharePoint Server 2013 Lizenzierung von SharePoint Server 2013 Das Lizenzmodell von SharePoint Server 2013 besteht aus zwei Komponenten: Serverlizenzen zur Lizenzierung der Serversoftware und CALs zur Lizenzierung der Zugriffe

Mehr

Kapitel 4 Die Datenbank Kuchenbestellung Seite 1

Kapitel 4 Die Datenbank Kuchenbestellung Seite 1 Kapitel 4 Die Datenbank Kuchenbestellung Seite 1 4 Die Datenbank Kuchenbestellung In diesem Kapitel werde ich die Theorie aus Kapitel 2 Die Datenbank Buchausleihe an Hand einer weiteren Datenbank Kuchenbestellung

Mehr

Migration von statischen HTML Seiten

Migration von statischen HTML Seiten Migration von statischen HTML Seiten Was ist Typo3 Typo3 ist ein Content Mangement System zur Generierung von Internetauftritten. Dieses System trennt Inhalt, Struktur und Layout von Dokumenten und stellt

Mehr

ecall sms & fax-portal

ecall sms & fax-portal ecall sms & fax-portal Beschreibung des Imports und Exports von Adressen Dateiname Beschreibung_-_eCall_Import_und_Export_von_Adressen_2015.10.20 Version 1.1 Datum 20.10.2015 Dolphin Systems AG Informieren

Mehr

Architektur des agimatec-validation Frameworks

Architektur des agimatec-validation Frameworks Development : Implementierung Validierungskonzept (Dokumentation) This page last changed on Apr 03, 2008 by roman.stumm. Architektur des agimatec-validation Frameworks Generierung der Metainformationen

Mehr

In S-Firm wird nur angeboten die Datei auf Diskette zu exportieren; die Einstellung für HBCI ist ausgegraut.

In S-Firm wird nur angeboten die Datei auf Diskette zu exportieren; die Einstellung für HBCI ist ausgegraut. S-Firm/StarMoney/StarMoney Business mehrere Stapel über HBCI Problembeschreibung: Die oben genannten Produkte der Star Finanz GmbH, Hamburg nachfolgend Banking Software genannt, erlauben in der aktuellen

Mehr

Flashfragen in ILIAS Test & Assessment. Helmut Schottmüller

Flashfragen in ILIAS Test & Assessment. Helmut Schottmüller Flashfragen in ILIAS Test & Assessment Helmut Schottmüller Flashfragen in ILIAS Test & Assessment Helmut Schottmüller Veröffentlicht Januar 2009 Copyright 2009 Helmut Schottmüller Inhaltsverzeichnis 1.

Mehr

Virtueller Campus. Virtueller Campus Horw mit interaktiver Steuerung. HowTo: Externe Bibliotheken

Virtueller Campus. Virtueller Campus Horw mit interaktiver Steuerung. HowTo: Externe Bibliotheken Virtueller Campus Virtueller Campus Horw mit interaktiver Steuerung Bachelor Diplomarbeit FS 2013 Inhaltsverzeichnis 1. EINLEITUNG... 1 2. VORBEDINGUNGEN... 1 3. ORDNERSTRUKTUR ERWEITERN... 1 4. PROJEKT

Mehr

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

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

Mehr

Das Metamodell der UML und in FUJABA. Vortrag von Alexander Geburzi

Das Metamodell der UML und in FUJABA. Vortrag von Alexander Geburzi Das Metamodell der UML und in FUJABA Vortrag von Alexander Geburzi Gliederung Metamodellierung Metamodell der UML Metamodell in FUJABA Metamodellierung - Metamodell der UML - Metamodell in FUJABA 2/20

Mehr

Eclipse Modeling Framework

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

Mehr

DELFI. Benutzeranleitung Dateiversand für unsere Kunden. Grontmij GmbH. Postfach 34 70 17 28339 Bremen. Friedrich-Mißler-Straße 42 28211 Bremen

DELFI. Benutzeranleitung Dateiversand für unsere Kunden. Grontmij GmbH. Postfach 34 70 17 28339 Bremen. Friedrich-Mißler-Straße 42 28211 Bremen Grontmij GmbH Postfach 34 70 17 28339 Bremen Friedrich-Mißler-Straße 42 28211 Bremen T +49 421 2032-6 F +49 421 2032-747 E info@grontmij.de W www.grontmij.de DELFI Benutzeranleitung Dateiversand für unsere

Mehr

Software Engineering II

Software Engineering II Software Engineering II Codegenerierung für den SmartIO Editor mit der Modeling Workflow Engine Wintersemester 10/111 Fachgebiet Software Engineering Albert Zündorf / Wiederholung Bisher im Laufe des Semesters

Mehr

Anbindung des Onyx Editors 2.5.1 an das Lernmanagementsystem OLAT Anwendungsdokumentation

Anbindung des Onyx Editors 2.5.1 an das Lernmanagementsystem OLAT Anwendungsdokumentation Anbindung des Onyx Editors 2.5.1 an das Lernmanagementsystem OLAT Anwendungsdokumentation Überblick...2 Konfiguration der OLAT Anbindung...3 Verbindungsaufbau...4 Auschecken von Lernressourcen...5 Einchecken

Mehr

1. Adressen für den Serienversand (Briefe Katalogdruck Werbung/Anfrage ) auswählen. Die Auswahl kann gespeichert werden.

1. Adressen für den Serienversand (Briefe Katalogdruck Werbung/Anfrage ) auswählen. Die Auswahl kann gespeichert werden. Der Serienversand Was kann man mit der Maske Serienversand machen? 1. Adressen für den Serienversand (Briefe Katalogdruck Werbung/Anfrage ) auswählen. Die Auswahl kann gespeichert werden. 2. Adressen auswählen,

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

Entwicklung einer formalen Sprache zur Modelltransformation auf Basis von UML & XMI

Entwicklung einer formalen Sprache zur Modelltransformation auf Basis von UML & XMI Entwicklung einer formalen Sprache zur Modelltransformation auf Basis von UML & XMI Swisstopo-Kolloquium 11.04.2008 TU München, 13. März 2007 Inhalt 1. Anforderungen, Voraussetzungen, Grundlagen 2. Instrumente

Mehr

Anleitung über den Umgang mit Schildern

Anleitung über den Umgang mit Schildern Anleitung über den Umgang mit Schildern -Vorwort -Wo bekommt man Schilder? -Wo und wie speichert man die Schilder? -Wie füge ich die Schilder in meinen Track ein? -Welche Bauteile kann man noch für Schilder

Mehr

WinVetpro im Betriebsmodus Laptop

WinVetpro im Betriebsmodus Laptop WinVetpro im Betriebsmodus Laptop Um Unterwegs Daten auf einem mobilen Gerät mit WinVetpro zu erfassen, ohne den Betrieb in der Praxis während dieser Zeit zu unterbrechen und ohne eine ständige Online

Mehr

Usecase Meta Model Comparison and Model Migration. Dawid Kostrzycki Entwicklung verteilter eingebetteter Systeme

Usecase Meta Model Comparison and Model Migration. Dawid Kostrzycki Entwicklung verteilter eingebetteter Systeme Usecase Meta Model Comparison and Model Migration Dawid Kostrzycki Entwicklung verteilter eingebetteter Systeme Einführung in den Atlas Model Weaver (AMW) theoretisch und praktisch Anwendungsgebiete Wo

Mehr

INNOVATOR im Entwicklungsprozess

INNOVATOR im Entwicklungsprozess Erfahrungsbericht INNOVATOR im Entwicklungsprozess Basis für Host- und Java-Anwendungen Dr. Carl-Werner Oehlrich, Principal Consultant MID GmbH Das Modellierungswerkzeug INNOVATOR Geschäftsprozess-Modellierung

Mehr

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom 21.10.2013b

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom 21.10.2013b AGROPLUS Buchhaltung Daten-Server und Sicherheitskopie Version vom 21.10.2013b 3a) Der Daten-Server Modus und der Tresor Der Daten-Server ist eine Betriebsart welche dem Nutzer eine grosse Flexibilität

Mehr

mobilepoi 0.91 Demo Version Anleitung Das Software Studio Christian Efinger Erstellt am 21. Oktober 2005

mobilepoi 0.91 Demo Version Anleitung Das Software Studio Christian Efinger Erstellt am 21. Oktober 2005 Das Software Studio Christian Efinger mobilepoi 0.91 Demo Version Anleitung Erstellt am 21. Oktober 2005 Kontakt: Das Software Studio Christian Efinger ce@efinger-online.de Inhalt 1. Einführung... 3 2.

Mehr

Prozessbewertung und -verbesserung nach ITIL im Kontext des betrieblichen Informationsmanagements. von Stephanie Wilke am 14.08.08

Prozessbewertung und -verbesserung nach ITIL im Kontext des betrieblichen Informationsmanagements. von Stephanie Wilke am 14.08.08 Prozessbewertung und -verbesserung nach ITIL im Kontext des betrieblichen Informationsmanagements von Stephanie Wilke am 14.08.08 Überblick Einleitung Was ist ITIL? Gegenüberstellung der Prozesse Neuer

Mehr

... MathML XHTML RDF

... MathML XHTML RDF RDF in wissenschaftlichen Bibliotheken (LQI KUXQJLQ;0/ Die extensible Markup Language [XML] ist eine Metasprache für die Definition von Markup Sprachen. Sie unterscheidet sich durch ihre Fähigkeit, Markup

Mehr

1 Mathematische Grundlagen

1 Mathematische Grundlagen Mathematische Grundlagen - 1-1 Mathematische Grundlagen Der Begriff der Menge ist einer der grundlegenden Begriffe in der Mathematik. Mengen dienen dazu, Dinge oder Objekte zu einer Einheit zusammenzufassen.

Mehr

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren Lineargleichungssysteme: Additions-/ Subtraktionsverfahren W. Kippels 22. Februar 2014 Inhaltsverzeichnis 1 Einleitung 2 2 Lineargleichungssysteme zweiten Grades 2 3 Lineargleichungssysteme höheren als

Mehr

Planung für Organisation und Technik

Planung für Organisation und Technik Planung für Organisation und Technik MOA-VV Algorithmen-Beschreibung Version 0.0.2 Inhaltsverzeichnis 1. Die Vollmachtsprüfung... 3 1.1 Eingangsdaten... 3 1.2 einfache Vollmacht und Online-Vollmacht...

Mehr

Universal Gleismauer Set von SB4 mit Tauschtextur u. integrierten Gleismauerabschlüssen!

Universal Gleismauer Set von SB4 mit Tauschtextur u. integrierten Gleismauerabschlüssen! Stefan Böttner (SB4) März 2013 Universal Gleismauer Set von SB4 mit Tauschtextur u. integrierten Gleismauerabschlüssen! Verwendbar ab EEP7.5(mitPlugin5) + EEP8 + EEP9 Abmessung: (B 12m x H 12m) Die Einsatzhöhe

Mehr

Tipps und Tricks zu den Updates

Tipps und Tricks zu den Updates Tipps und Tricks zu den Updates Grundsätzlich können Sie Updates immer auf 2 Wegen herunterladen, zum einen direkt über unsere Internetseite, zum anderen aus unserer email zu einem aktuellen Update. Wenn

Mehr

Stundenerfassung Version 1.8 Anleitung Arbeiten mit Replikaten

Stundenerfassung Version 1.8 Anleitung Arbeiten mit Replikaten Stundenerfassung Version 1.8 Anleitung Arbeiten mit Replikaten 2008 netcadservice GmbH netcadservice GmbH Augustinerstraße 3 D-83395 Freilassing Dieses Programm ist urheberrechtlich geschützt. Eine Weitergabe

Mehr

Handbuch Fischertechnik-Einzelteiltabelle V3.7.3

Handbuch Fischertechnik-Einzelteiltabelle V3.7.3 Handbuch Fischertechnik-Einzelteiltabelle V3.7.3 von Markus Mack Stand: Samstag, 17. April 2004 Inhaltsverzeichnis 1. Systemvorraussetzungen...3 2. Installation und Start...3 3. Anpassen der Tabelle...3

Mehr

Erstellen von x-y-diagrammen in OpenOffice.calc

Erstellen von x-y-diagrammen in OpenOffice.calc Erstellen von x-y-diagrammen in OpenOffice.calc In dieser kleinen Anleitung geht es nur darum, aus einer bestehenden Tabelle ein x-y-diagramm zu erzeugen. D.h. es müssen in der Tabelle mindestens zwei

Mehr

Jochen Bauer 08.01.2010

Jochen Bauer 08.01.2010 08.01.2010 Um was geht s und wie läuft s ab? Eclipse-EMP-MDT: Standards unter einem Dach! Gliederung 1. der Model (MDT) 2. Model-Driven- (MDD) und MDT 3. Interne Domain-Specific-Languages (DSL) 4. 5. 6.,

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

WhiteStarUML Tutorial

WhiteStarUML Tutorial WhiteStarUML Tutorial Autor: Simon Balázs, BME IIT, 2015. Übersetzung: Kovács Márton, 2015. Installation Herunterladen und installieren Sie das WhiteStarUML: http://sourceforge.net/projects/whitestaruml/

Mehr

Informationen zur Verwendung von Visual Studio und cmake

Informationen zur Verwendung von Visual Studio und cmake Inhaltsverzeichnis Informationen zur Verwendung von Visual Studio und cmake... 2 Erste Schritte mit Visual Studio... 2 Einstellungen für Visual Studio 2013... 2 Nutzung von cmake... 6 Installation von

Mehr

Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang

Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang sysplus.ch outlook - mail-grundlagen Seite 1/8 Outlook Mail-Grundlagen Posteingang Es gibt verschiedene Möglichkeiten, um zum Posteingang zu gelangen. Man kann links im Outlook-Fenster auf die Schaltfläche

Mehr

A Domain Specific Language for Project Execution Models

A Domain Specific Language for Project Execution Models A Domain Specific Language for Project Execution Models Eugen Wachtel, Marco Kuhrmann, Georg Kalus Institut für Informatik Software & Systems Engineering Inhalt Einführung und Hintergrund Problembereiche

Mehr

Elexis-BlueEvidence-Connector

Elexis-BlueEvidence-Connector Elexis-BlueEvidence-Connector Gerry Weirich 26. Oktober 2012 1 Einführung Dieses Plugin dient dazu, den Status Hausarztpatient zwischen der BlueEvidence- Anwendung und Elexis abzugleichen. Das Plugin markiert

Mehr

Die Entwicklung eines Glossars (oder eines kontrollierten Vokabulars) für ein Unternehmen geht üblicherweise in 3 Schritten vor sich:

Die Entwicklung eines Glossars (oder eines kontrollierten Vokabulars) für ein Unternehmen geht üblicherweise in 3 Schritten vor sich: Glossare 1 Inhalt 1 Inhalt... 1 2 Prozesse... 1 3 Eine kleine Zeittabelle...... 1 4 Die ersten Schritte... 2 5 Die nächsten Schritte...... 2 6 Die letzten Schritte... 3 7 Das Tool...... 4 8 Beispiele...

Mehr

Vorgaben und Erläuterungen zu den XML-Schemata im Bahnstromnetz

Vorgaben und Erläuterungen zu den XML-Schemata im Bahnstromnetz Anwendungshandbuch Vorgaben und Erläuterungen zu den XML-Schemata im Bahnstromnetz Version: 1.0 Herausgabedatum: 31.07.2015 Ausgabedatum: 01.11.2015 Autor: DB Energie http://www.dbenergie.de Seite: 1 1.

Mehr

Hilfe Bearbeitung von Rahmenleistungsverzeichnissen

Hilfe Bearbeitung von Rahmenleistungsverzeichnissen Hilfe Bearbeitung von Rahmenleistungsverzeichnissen Allgemeine Hinweise Inhaltsverzeichnis 1 Allgemeine Hinweise... 3 1.1 Grundlagen...3 1.2 Erstellen und Bearbeiten eines Rahmen-Leistungsverzeichnisses...

Mehr

Mit der Maus im Menü links auf den Menüpunkt 'Seiten' gehen und auf 'Erstellen klicken.

Mit der Maus im Menü links auf den Menüpunkt 'Seiten' gehen und auf 'Erstellen klicken. Seite erstellen Mit der Maus im Menü links auf den Menüpunkt 'Seiten' gehen und auf 'Erstellen klicken. Es öffnet sich die Eingabe Seite um eine neue Seite zu erstellen. Seiten Titel festlegen Den neuen

Mehr

Erstellen eines Wordpress-Blogs

Erstellen eines Wordpress-Blogs Erstellen eines Wordpress-Blogs Inhalt 1 Einen Wordpress-Blog erstellen... 3 2 Wordpress konfigurieren... 5 2.1 Wordpress-Anmeldung... 5 2.2 Sprache einstellen... 7 2.3 Einen neuen Artikel verfassen...

Mehr

Installation OMNIKEY 3121 USB

Installation OMNIKEY 3121 USB Installation OMNIKEY 3121 USB Vorbereitungen Installation PC/SC Treiber CT-API Treiber Einstellungen in Starke Praxis Testen des Kartenlesegeräts Vorbereitungen Bevor Sie Änderungen am System vornehmen,

Mehr

Dokumentenverwaltung im Internet

Dokumentenverwaltung im Internet Dokumentenverwaltung im Internet WS 09/10 mit: Thema: Workflow und Rollenverteilung im Backend Gruppe: DVI 10 Patrick Plaum und Kay Hofmann Inhalt 1. Benutzer und Benutzergruppen erstellen...2 1.1. Benutzergruppen...2

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

Ist Excel das richtige Tool für FMEA? Steve Murphy, Marc Schaeffers

Ist Excel das richtige Tool für FMEA? Steve Murphy, Marc Schaeffers Ist Excel das richtige Tool für FMEA? Steve Murphy, Marc Schaeffers Ist Excel das richtige Tool für FMEA? Einleitung Wenn in einem Unternehmen FMEA eingeführt wird, fangen die meisten sofort damit an,

Mehr

mobifleet Beschreibung 1. Terminverwaltung in der Zentrale

mobifleet Beschreibung 1. Terminverwaltung in der Zentrale mobifleet Beschreibung 1. Terminverwaltung in der Zentrale Die Termine werden wie bisher im Outlook verwaltet und erfasst. Der Außendienst selbst, wie auch andere Personen, die Termine für den Außendienst

Mehr

Generelle Planungsprozedur

Generelle Planungsprozedur Generelle Planungsprozedur Um unliebsame Überraschungen zu vermeiden, ist es unbedingt erforderlich, bei der Planung ein bestimmtes Vorgehen einzuhalten. Außerdem sind für die erfolgreiche Arbeit mit Microsoft

Mehr

SAP NetWeaver Gateway. Connectivity@SNAP 2013

SAP NetWeaver Gateway. Connectivity@SNAP 2013 SAP NetWeaver Gateway Connectivity@SNAP 2013 Neue Wege im Unternehmen Neue Geräte und Usererfahrungen Technische Innovationen in Unternehmen Wachsende Gemeinschaft an Entwicklern Ausdehnung der Geschäftsdaten

Mehr

Generisch entwickelte Software-Werkzeuge anpassbar wie ein Chamäleon

Generisch entwickelte Software-Werkzeuge anpassbar wie ein Chamäleon Generisch entwickelte Software-Werkzeuge anpassbar wie ein Chamäleon Ringvorlesung Softwareentwicklung in der industriellen Praxis TU Dresden 14. Dezember 2011 Die i.s.x. Software GmbH & Co. KG Junges,

Mehr

MCRServlet Table of contents

MCRServlet Table of contents Table of contents 1 Das Zusammenspiel der Servlets mit dem MCRServlet... 2 1 Das Zusammenspiel der Servlets mit dem MCRServlet Als übergeordnetes Servlet mit einigen grundlegenden Funktionalitäten dient

Mehr

Anleitung zur Verwendung der VVW-Word-Vorlagen

Anleitung zur Verwendung der VVW-Word-Vorlagen Anleitung zur Verwendung der VVW-Word-Vorlagen v1.0. Jun-15 1 1 Vorwort Sehr geehrte Autorinnen und Autoren, wir haben für Sie eine Dokumentenvorlage für Microsoft Word entwickelt, um Ihnen die strukturierte

Mehr

Dokumentation. Black- und Whitelists. Absenderadressen auf eine Blacklist oder eine Whitelist setzen. Zugriff per Webbrowser

Dokumentation. Black- und Whitelists. Absenderadressen auf eine Blacklist oder eine Whitelist setzen. Zugriff per Webbrowser Dokumentation Black- und Whitelists Absenderadressen auf eine Blacklist oder eine Whitelist setzen. Zugriff per Webbrowser Inhalt INHALT 1 Kategorie Black- und Whitelists... 2 1.1 Was sind Black- und Whitelists?...

Mehr