Das Eclipse Modeling Framework (EMF)
|
|
|
- Hinrich Weiß
- vor 10 Jahren
- Abrufe
Transkript
1 Das Eclipse Modeling Framework (EMF) Dr. Frank Gerhardt Dieter Moroff Dr. Stephan Eberle
2 Agenda Einführung Eclipse Modelling Framework Demo Modellierung Generierung Runtime Objekt-Relationales Mapping Zusammenfassung, Fazit
3 Was ist EMF? Ursprünglich von IBM Implementierung von Essential MOF der OMG Heute Eclipse.org Aktuell EMF Demnächst: zweite Auflage des EMF-Buchs
4 EMF ist kein graphisches Modellierungswerkzeug
5 Modellierungs-Werkzeuge Freie, open source und kostenlose Tools Topcased Omondo EclipseUML ediagram Argo + argo2ecore Kommerzielle Tools IBM Rational Software Architect (ehem. Rose) Borland Together Poseidon MagicDraw (demnächst)
6 Wo wird EMF verwendet? Eclipse RCP Anwendungen mit komplexem Domänenmodell UML2 Implementation von UML2 auf Basis von EMF (Analog wie UML auf Basis von MOF spezifiziert wird) Graphical Modeling Framework (GMF) Einfaches Erstellen von graphischen Modellen mit GEF und EMF Service Data Objects (SDO) Referenzimplementierung der JSR-235 mit EMF für SDO 1.0 Rational Software Development Platform (RSM, RAD) OmondoUML
7 Was ist EMF? 1. Ein Modellierungsspache (Metamodell) 2. Ein Code-Generator (mit Tools und Templates) 3. Ein neues Objekt-Modell für Java- Programme (Laufzeitumgebung) Modell Generator Output 1. ecore 2. JET/JMerge 3. EObject
8 Warum EMF? Code generieren MDSD (Model driven software development) Features der Laufzeitumgebung und des generierten Codes nutzen Roundtrip, wenn man wieder zurück ins Modell will Passt gut zu Eclipse RCP/SDK Schnell was machen, Prototyping
9 Wie wird EMF verwendet? UML ECore- Model XML- Schema Java- Modell Java- Edit Java- Editor
10 Drehbuch Mdl Datei importieren Ecore Editor zeigen, Topcased zeigen Gemodel Editor zeigen Generieren Generierten Code zeigen Starten Modell anlegen, speichern (XML zeigen), schließen, öffnen, undo/redo
11 Typisches Szenario Erzeugung eines EMF Modells Import UML (z.b. Rational Rose.mdl file) Import XML Schema Import annotated Java interfaces Direkte Erzeugung eines Ecore Modells mit dem EMF Ecore Editor oder Omondo s (freien) EclipseUML grafischen Editor Java Source-Code aus Modell generieren Iterativ Java Anwendung entwickeln Modell verfeinern; Java Source-Code generieren Modell-Instanz mit den generierten EMF Modell Editor füllen und testen EMF.Edit als Basis verwenden um ein eigenes Userinterface zu bauen
12 Model Import UML Rational Rose.mdlDateien direkt unterstützt Annotated Java Java Interface für jede Modell Klasse Annotations Tag um Modell- Definitionen einzuführen, die sich sonst nicht im Code ausdrücken lassen (z.b. Typ einer Collection) Keine zusätzlichen Tools erforderlich, Round-Trip möglich XML Schema Produziert komplizierteres EMF Modell als mit Java oder UML Spezielle Schematas notwendig, kann kein beliebiges Schema verwenden Ecore Modell (*.ecore file) Nur Generatormodell wird noch generiert.
13 Model Creation ECore Modell wird in einem Eclipse Projekt mittels eines Wizards erzeugt, Quellen siehe Modell Import Erzeugt wird: modelname.ecore Datei Ecore Modell im XMI Format Kanonische Form des Modells modelname.genmodel Datei Ein Modell um den Generator zu steuern Dekoratiert.ecore Datei EMF Code Generator ist selbst ein EMF.genmodel Editor.genmodel und.ecore Dateien werden automatisch synchronisiert.
14 Modell Editor Ein generierter (und angepasster) EMF Editor für Ecore Modelle Modelle können im Treeview zusammen mit dem Propertyview editiert werden Neue Komponenten (EClass, EAttribute, EReference, etc.) werden über die Popup-Menü im Treeview angelegt Namen, etc. werden im Propertyview editiert.
15 GenModel Editor Wiederum ein generierter und angepasster EMF.genmodel Editor Kontextmenü Eintrag um den Codegenerator zu starten: 1. Die Generate Model Code Aktion generiert den Code des Modells 2. Die Generate Edit Code Aktion generiert den Adapter-Code zur Unterstützung von Viewern 3. Die Generate Editor Code Aktion generiert eine vollständigen Eclipse Editor für das Modell 4. Die Generate All Aktion generiert alles zusammen Generation Eigenschaften können im Propertiesview verändert werden
16 EMF.Codegen - Tools GenModel Steuerung des Generators (Dekoratormodell) JMerge Mischt neu generierten Code mit verändertem Code und formatiert gemäß Eclipse Code Formatter Preferences JET Template Engine mit JSP-ähnlicher Syntax Auch außerhalb des EMF-Generator einsetzbar. Nature ermöglicht automatisches Übersetzen der JET- Templates Editieren mit JSP-Editor (z.b. Lomboz) oder speziellem JET Editor.
17 Demo - Tooling
18 Modellierung
19 OMG Modellebenen Modeling level M3 (Meta modeling language) Model definition Ecore «generates» JET Model implementation EMF Task Meta modeling tool development «instance of» M2 (Domain-specific language) Komponent Model «generates» JET «instance of» Komponent Editor Tool development M1 (User model) Petstore Model «generates» Petstore Decriptor «instance of» Application development M0 (Runtime instance) Petstore Deployment Application runtime
20 EMF Metamodell - ECore 0..n +esupertypes EClass abstract : boolean interface : boolean +eattributes 0..n EAttribute id : boolean +eattributetype 1 EDataType serializable : boolean = true 1 +ereferencetype +ereferences 0..n EReference containment : boolean container : boolean resolveproxies : boolean = true +eopposite 0..1
21 Beispiel eines EMF-Modells public /** /**/ */ { */ public public type="demo.conference.session" interface public final class Person interface Level { { { opposite="speaker" */ Conference List /** /** */ name name="beginner : EString */ */ boolean public checksessions( String static type= demo.conference.adress gettitle(); final int BEGINNER = 0; DiagnosticChain diagnostics, /** name="expert" type="java.lang.string" required="true" */ */ /** Map */ context); public type="demo.conference.person" List static getkeywords(); final int EXPERT = 1; opposite="spokensessions" List } //Level getadresses(); default="beginner" required="true" */ */ List getspeaker(); Level getlevel(); +participants +sessions transient="true" changeable="false" */ 0..* 0..* int getparticipantcount(); +theprogram public 1 interface Session { Session +mainspeaker title : EString... 1 <<0..*>> keywords : EString +spokensessions level : Level = Beginner +speaker date : Date participantcount : EInt 0..* +sessions 1..* +participants 0..* 0..* Person birthdate : Date firstname : EString surname : EString <<inv>> checksessions() <<datatype>> Date <<javaclass>> java.util.date 1..* +adresses <<enumeration>> Level Beginner Expert Adress street : EString zip : EString city : EString
22 Generierung
23 EMF - GenModel Marking-Model mit den zusätzlichen Generierungsinforma tion Automatische Synchronisation mit Ecore-Modell beim Reload GenModel-Editor ist Startpunkt für Generierung Ecore Strukturinformation (PIM) GenModel Plattforminformation (PSM)
24 JET Java Emitter Templates JET JET template template «is translated into» ClassGen Model generate() Code «invokes» JET JET generator generator
25 JMerge Integration von nichtgeneriertem Code Code NOT wird beim Neugenerieren nicht überschrieben. /** * <!-- begin-user-doc --> * <!-- end-user-doc --> */ public int getparticipantcount() { // TODO: implement this method to // return the 'Participant Count' attribute // Ensure that // or mark NOT throw new UnsupportedOperationException(); } /** * <!-- begin-user-doc --> * Liefert die Anzahl der Teilnehmer * <!-- end-user-doc --> NOT */ public int getparticipantcount() { return getparticipants().size(); }
26 EMF vs. MDA MDA-Prinzip Plattform unabhängige Modelle (PIM) Plattform spezifische Modelle (PSM) MOF (M3)-Metamodell EMF-Anwendung Ecore Modelle bis aus Verwendung <<datatype>> plattformunabhängig GenModel enthält Information für Plattform EMF-Runtime ECore implementiert EMOF (Essencial MOF) EMF verwendet die Prinzipien der MDA auf pragmatische Art und Weise für die Eclipse Plattform EMF ist kein universelles MDA / MDSD Framework
27 EMF als Basis für MDSD EMF zur Definition von Domain Specific Languages (DSL) Generierung des DSL-Metamodell mit EMF- Tooling Generierung von graphischen Editoren mit dem graphischen Modelling Framework (GMF) Erstellen von DSL Instanzen Codegenerierung aufgrund der DSL Modelle z.b mit openarchitectureware (
28 Runtime
29 EMF-Objekte vs. POJOs Angereicherte Modellimplementierung Erweitert mächtige Runtime-Framework-Klassen Enthält modellspezifische Runtime-Logik-Anteile Vielfältiger und komfortabler Zugriff auf Modellinstanzen Zusätzliche Editierlogikschicht Darstellung von Modellinstanzen Editieren von Modellinstanzen
30 Runtime-Features Modell Semantikerhaltendes Handling von Referenzen bidirektionalen Referenzen Containment-Referenzen Change Notification von Settern im Modell an externe Observer/Adapter Generische Persistenz API Speichern von Modellen in ein oder mehreren Resourcen Cross-Resource-Referenzen und Lazy Loading Default-Implementierung für Dateien im XML/XMI-Format Effiziente reflektive API Laufzeitzugriff auf Ecore-Modelldefinition Reflektive Getter & Setter und Factory-Methode
31 Runtime-Features Edit Content-/Label-Provider zur Darstellung von Modellinstanzen in Views und Editoren Viewer-Refreshing bei Änderungen in Modellinstanz Command-basiertes Editieren von Modellinstanzen mit Undo/Redo-Möglichkeit
32 Advanced Runtime-Features Validator zum Prüfen der Modellkonsistenz Adapter zum Beobachten von Änderungen und/oder Erweitern des Verhaltens TreeIterator zum Iterieren über alle Knoten eines Modellbaums CrossReferencer zum Suchen nach Referenzen auf Modellobjekte ChangeRecorder zum Aufzeichnen Verarbeiten von Modelldeltas JET-Engine zur Generierung textbasierter Ausgaben aus Modellinstanzen
33 O/R-Mapping
34 O/R Mapping erstellen Zuordnung von Klassen/Attributen zu Tabellen/Tabellenfeldern mit Oracle TopLink Workbench:
35 O/R Mapping nutzen Abfragen/Ändern/Committen von Objekten aus/in Datenbank mit Oracle TopLink API:
36 O/R Mapping mit EMF EMF Persistence API EMF-Modell TopLinkResourceImpl TopLink Persistence API TopLink Add-Ons EMF Customization Layer EListFactory EMF Add-On O/R Mappings TopLink Runtime RDB (e.g. Oracle Database XE)
37 Demo O/R Mapping
38 Zusammenfassung, Fazit Pragmatisch, leistungsfähiges Toolkit für modellbasierte Entwicklung Vielenorts aber auch limitiert, z.b. kein Multithreading nur rudimentäre Validierung fehlende Datenbankanbindung Erfordert zeitweise Bereitschaft zu Kompromissen bzw. Vornahme von Erweiterungen Erfordert modellbasierte Denke, die z.t. noch wenig verbreitet ist
39 Zusammenfassung, Fazit Im Hintergrund teilweise sehr komplexe Architektur von EMF Kein universelles erweiterbares MDA Generatorframework Sehr gute Verbindung unterschiedlicher Modelle durch modellübergreifende Referenzen Idealer Ausgangpunkt für DSLs In Zukunft grosses Potential im Zusammenhang mit GMF
40 Zusammenfassung, Fazit Ideale Modellbasis für GEF Sehr schnell zu lauffähigen Modellen Einfacher Test des Modells mit generierten Editor Generierter Code Ausgangsbasis für eigene Editoren Echter Roundtrip möglich, nicht nur protected Regions Modell wie Source Code behandeln Nicht den generierten Code einchecken Im Nightly Build jedes Mal neu generieren Gefahr der Teamaufteilung in Modell-Gurus und Analphabeten
41 Danke für s Zuhören. Fragen? Dr. Frank Gerhardt [email protected] Dieter Moroff [email protected] Dr. Stephan Eberle [email protected]
42 Resources EMF Overview iew/emf.html EclipseCon Models to Code with the Eclipse Modeling Framework Ed Merks, Dave Steinberg 1final.pdf Mastering Eclipse Modeling Framework Vladimir Bacvanski, Petter Graff 8.pdf Agile MDA, Stephen J. Mellor
43 Lizenz Dieser Vortrag ist lizenziert unter EPL mit Ausnahme der verwendeten Logos Er enthält Material aus den folgenden Tutorials Models to Code with the Eclipse Modeling Framework Ed Merks, Dave Steinberg Tutorial11final.pdf Mastering Eclipse Modeling Framework Vladimir Bacvanski, Petter Graff Tutorial28.pdf
44 Einführung Über MDA, Modellieren, Code- Generierung
45 Kontext Seit wann? Wieviele Downloads? Was ist ein Modell Wo kommt EMF her EMF wird z.b. extensiv in WSAD verwendet Was kann man damit machen
46 Was ist ein EMF Modell? Defining an EMF Model UML: "an EMF model is essentially the class diagram subset of UML" p. 14 XMI Annotated Java XML Schema Generating a Java Implementation
47 JET Prinzip: Compilierte Templates MyWriter.javajet MyWriter.java MyWriter.class Writer- Template JETCompiler Java- Writer- Source javac Java- Writer- Klasse EMF- Modell Generat
48 JET - Beispiel <%@ jet package="de.eclipseteam.jet.demo" class="htmldocwriter imports="org.eclipse.emf.ecore.* java.util.*" %> <% EPackage modelpackage = (EPackage)argument; %> <html> <head> <title>modeldokumentation</title> </head> <body> <h1>package <%=modelpackage.getname()%></h1> <% for ( Iterator ic = modelpackage.geteclassifiers().iterator(); ic.hasnext(); ) { EClassifier modelclassifier = (EClassifier)ic.next(); if ( modelclassifier instanceof EClass ) { EClass modelclass = (EClass)modelClassifier;
49 Adapter erstellen und nutzen (1) Vorgehen Adapter von AdapterImpl ableiten und implementieren public class MyAdapter extends AdapterImpl { } AdapterFactory von <ModelName>AdapterFactory ableiten und Adapter-Factory-Methoden für betreffende Modellelemente überschreiben public class MyAdapterFactoryextendsMyModelAdapterFactory { } adapt-methode aus AdapterFactory aufrufen und betreffendes Modellelement sowie gewünschte Adapterklasse übergeben MyAdapterFactory.INSTANCE.adapt(modelElement, MyAdapter.class);
50 Adapter erstellen und nutzen (2) Tipps & Hinweise Falls Adapter des gewünschten Typs bereits existiert, so wird kein neuer erzeugt sondern vorhandener zurückgeliefert Vereinbarung einer gemeinsamen Adapter- Factory-Methode für mehrere Modellelemente möglich, indem Adapter- Factory-Methode des gemeinsamen Superelements überschrieben wird
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
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
EMF-GMF-Tutorial: Petrinet
EMF-GMF-Tutorial: Petrinet Petrinet-Metamodell anlegen 1. File/New/Other: Empty EMF Project Project Name: de.upb.agengels.se.petrinet 2. Rechtsklick auf model-verzeichnis => New/Other: Ecore Diagram Domain
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
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
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,
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
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
DSLs mit Xtext entwerfen. 17.08.2012, A. Arnold
DSLs mit Xtext entwerfen 17.08.2012, A. Arnold Copyright 2012 anderscore GmbH Inhalt 1. Was sind DSLs? 2. Xtext Konzepte 3. Einführung ins Sprachdesign 4. Hands On! 3 4 8 20 2 Was sind DSLs? Domain Specific
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
Sonnenfinsternis in der Technischen Redaktion
Sonnenfinsternis in der Technischen Redaktion Eclipse-basierte Tools für die Software-Dokumentation Frank Ralf parson AG tekom-jahrestagung 2014 1 Agenda Eclipse-basierte Tools für die Softwaredokumentation
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
Verhindert, dass eine Methode überschrieben wird. public final int holekontostand() {...} public final class Girokonto extends Konto {...
PIWIN I Kap. 8 Objektorientierte Programmierung - Vererbung 31 Schlüsselwort: final Verhindert, dass eine Methode überschrieben wird public final int holekontostand() {... Erben von einer Klasse verbieten:
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
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/
Faktor-IPS. Modellgetriebene Softwareentwicklung mit Faktor-IPS. Faktor Zehn AG. Seite 1
Faktor-IPS Modellgetriebene Softwareentwicklung mit Faktor-IPS Seite 1 Faktor-IPS Faktor-IPS ist ein Werkzeug zur modellgetriebenen Entwicklung versicherungsfachlicher Systeme Bestandssysteme Außendienstsysteme
Software Engineering II
Software Engineering II Wintersemester 12/13 Fachgebiet Software Engineering Installation der MWE Plugins Von der Juno Update Site installieren (falls noch nicht vorhanden): MWE SDK Xpand SDK 2 TFD Projekt
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)?
Javadoc. Programmiermethodik. Eva Zangerle Universität Innsbruck
Javadoc Programmiermethodik Eva Zangerle Universität Innsbruck Überblick Einführung Java Ein erster Überblick Objektorientierung Vererbung und Polymorphismus Ausnahmebehandlung Pakete und Javadoc Spezielle
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
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
Design Patterns 2. Model-View-Controller in der Praxis
Design Patterns 2 Model-View-Controller in der Praxis Design Patterns Oft Schablonen für eine Klassenstruktur... aber nicht immer! Dahinterliegende Konzepte wichtiger als wörtliche Umsetzung Pattern werden
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
Domänenspezifisch entwickeln mit UML (Vortrag mit Demo)
Gert Bikker, Kevin Barwich, Arne Noyer Domänenspezifisch entwickeln mit UML (Vortrag mit Demo) Die Modellierung mit UML bietet auch für eingebettete Systeme viele Vorteile. Um die Vorteile effizient nutzen
Datenhaltung für Android Model First. 30.03.2011 Christian Ingenhaag, Frederik Götz, Carl Steeg
Datenhaltung für Android Model First 30.03.2011 Christian Ingenhaag, Frederik Götz, Carl Steeg Agenda Datenhaltung in Android Motivation / Projektziele Projekt Umsetzung Stand der Entwicklung Fazit 2 Datenhaltung
Einführung in die Programmierung
Technische Universität München WS 2003/2004 Institut für Informatik Prof. Dr. Christoph Zenger Testklausur Einführung in die Programmierung Probeklausur Java (Lösungsvorschlag) 1 Die Klasse ArrayList In
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
Ü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,
Session Beans & Servlet Integration. Ralf Gitzel [email protected]
s & Servlet Integration Ralf Gitzel [email protected] 1 Themenübersicht Ralf Gitzel [email protected] 2 Übersicht Motivation Das Interface Stateful und Stateless s Programmierung einer Stateful
Software-Engineering 2. Software-Engineering 2. Entwicklungsumgebungen (IDE) IT works. Klaus Mairon www.mairon-online.de 22.03.
Software-Engineering 2 Entwicklungsumgebungen (IDE) IT works. Klaus Mairon www.mairon-online.de 22.03.2009 1 Entwicklungsumgebungen, CASE-Tools, CASE-Werkzeuge unterstützen den Software-Entwicklungsprozess
Einführung in das Eclipse Modeling Framework (EMF)
1 / 14 Einführung in das Eclipse Modeling Framework (EMF) Timo Kehrer Fachgruppe Praktische Informatik FB 12, Elektrotechnik und Informatik Universität Siegen 04. November 2008 Was ist EMF? Eclipse Modeling
Programmieren in Java
Programmieren in Java objektorientierte Programmierung 2 2 Zusammenhang Klasse-Datei In jeder *.java Datei kann es genau eine public-klasse geben wobei Klassen- und Dateiname übereinstimmen. Es können
Einführung in das Eclipse Modeling Framework (EMF)
1 / 14 Einführung in das Eclipse Modeling Framework (EMF) Maik Schmidt Fachgruppe Praktische Informatik FB 12, Elektrotechnik und Informatik Universität Siegen 21. April 2009 Was ist EMF? Eclipse Modeling
Thema 2 Acceleo-MTL- Sprachmittel
SE Vertiefung Beuth-Hochschule Berlin Thema 2 Acceleo-MTL- Sprachmittel Sprachstruktur Template-Sprache implementiert MOFM2T Bausteine: Modul Template Query Block Protected Area (c) schmiedecke 13 Generator-Kapsel;
Beispielhaft MDSD in der Praxis. Dr. Shota Okujava [email protected] www.isento.de
Beispielhaft MDSD in der Praxis Dr. Shota Okujava [email protected] www.isento.de Agenda Einführung Softwareentwicklungsprozess und MDSD Technologien und Werkzeuge Demo Entwicklung der Metamodelle
Einführung in das Eclipse Modeling Framework (EMF)
Einführung in das Eclipse Modeling Framework (EMF) Timo Kehrer, Cristoph Berane Praktische Informatik November 2010 Überblik Ecore Was ist EMF? EMF ist ein eigenständiges Eclipse-Projekt (Eclipse Modeling
Die Programmiersprache Java. Dr. Wolfgang Süß Thorsten Schlachter
Die Programmiersprache Java Dr. Wolfgang Süß Thorsten Schlachter Eigenschaften von Java Java ist eine von der Firma Sun Microsystems entwickelte objektorientierte Programmiersprache. Java ist......a simple,
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,
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,
Model Driven Architecture (MDA)
Model Driven Architecture (MDA) Vortrag im Fach Software Engineering II BA Mannheim / Fachrichtung Angewandte Informatik Torsten Hopp Gliederung Einleitung Motivation Grundzüge der MDA Ziele & Potenziale
5. Programmierschnittstellen für XML
5. Programmierschnittstellen für für Medientechnologen Dr. E. Schön Wintersemester 2015/16 Seite 146 Notwendigkeit: Programmierschnittstelle Zugriff auf -Daten durch Applikationen wiederverwendbare Schnittstellen
Ein Erfahrungsbericht beim Einsatz von generierenden Ansätzen im Vergleich zu generischen Lösungen
Ein Erfahrungsbericht beim Einsatz von generierenden Ansätzen im Vergleich zu generischen Lösungen Tom Krauß Agenda Begriffsdefinition Verfahren Praktische Beispiele Vergleich und Bewertung Begriffsklärung
Eclipse Plugins für die komfortablere Verwendung von ibatis SQLMaps
Projekt: Intern Softwareprojekt FH Furtwangen Status: Draft Ersteller: Kai Grabfelder Datum: 11.02.2007 Eclipse Plugins für die komfortablere Verwendung von ibatis SQLMaps 1 Beschreibung... 2 Semesterprojekt...
Themen. Software Design and Quality Group Institute for Program Structures and Data Organization
Themen 2 28.04.2010 MODELLGETRIEBENE SOFTWARE-ENTWICKLUNG Grundlagen 3 28.04.2010 Meta-Modell: Lego Meta-Modell Bauvorschriften Building Block * connected with Modell Lego Reale Welt Haus Bilder: (c) designritter
Software Engineering Interaktionsdiagramme
Software Engineering Interaktionsdiagramme Prof. Adrian A. Müller, PMP, PSM 1, CSM Fachbereich Informatik und Mikrosystemtechnik 1 Nachrichtenaustausch Welche Nachrichten werden ausgetauscht? (Methodenaufrufe)
Language Workbench. Aktuelle Themen der Softwaretechnologie. Vortrag von: Arthur Rehm Steven Cardoso. Betreut von: Prof. Dr.
Language Workbench Vortrag von:! Aktuelle Themen der Softwaretechnologie Arthur Rehm Steven Cardoso Betreut von: Prof. Dr. Reichenbach [1] !2 Index Kontext Domain Specific Language (DSL) Language Workbench
Kurzanleitung zu. von Daniel Jettka 18.11.2008
Kurzanleitung zu Tigris.org Open Source Software Engineering Tools von Daniel Jettka 18.11.2008 Inhaltsverzeichnis 1.Einführung...1 2.Das Projektarchivs...3 2.1.Anlegen des Projektarchivs...3 2.2.Organisation
Javakurs 2013 Objektorientierung
Javakurs 2013 Objektorientierung Objektorientierte Programmierung I Armelle Vérité 7 März 2013 Technische Universität Berlin This work is licensed under the Creative Commons Attribution-ShareAlike 3.0
Ü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?
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
Objektorientierte Programmierung. Kapitel 12: Interfaces
12. Interfaces 1/14 Objektorientierte Programmierung Kapitel 12: Interfaces Stefan Brass Martin-Luther-Universität Halle-Wittenberg Wintersemester 2012/13 http://www.informatik.uni-halle.de/ brass/oop12/
UML-DSLs effizient eingesetzt. Insight 07, 13.11.2007 Klaus Weber
UML-DSLs effizient eingesetzt Insight 07, 13.11.2007 Klaus Weber Einladung Domänenspezifische Sprachen (DSLs) sind notwendige Voraussetzung für den Erfolg einer MDA-Strategie. MID favorisiert statt der
Grundlagen von Python
Einführung in Python Grundlagen von Python Felix Döring, Felix Wittwer November 17, 2015 Scriptcharakter Programmierparadigmen Imperatives Programmieren Das Scoping Problem Objektorientiertes Programmieren
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
Große Übung Praktische Informatik 1
Große Übung Praktische Informatik 1 2005-12-08 [email protected] http://www.informatik.uni-mannheim.de/pi4/people/fuessler 1: Announcements / Orga Weihnachtsklausur zählt als Übungsblatt,
Anleitung zum Arbeiten mit Microsoft Visual Studio 2008 im Softwarepraktikum ET/IT
Boris Golubovic Dortmund, den 24. Oktober 2010 Anleitung zum Arbeiten mit Microsoft Visual Studio 2008 im Softwarepraktikum ET/IT Ein Projekt anlegen Ein Projekt kapselt alle zu einer Anwendung gehörenden
Andreas Lux 16.03.2010. Verknüpfung unterschiedlicher Modellsprachen (BPMN, UML, DSL) zur Anforderungsanalyse
Andreas Lux 16.03.2010 Verknüpfung unterschiedlicher Modellsprachen (BPMN, UML, DSL) zur Anforderungsanalyse Warum unterschiedliche Sprachen? Nicht alle Probleme eignen sich, um mit Standardsprachen beschrieben
Comparing Software Factories and Software Product Lines
Comparing Software Factories and Software Product Lines Martin Kleine [email protected] Betreuer: Andreas Wuebbeke Agenda Motivation Zentrale Konzepte Software Produktlinien Software Factories Vergleich
Eine Anwendung mit InstantRails 1.7
Eine Anwung mit InstantRails 1.7 Beschrieben wird das Anlegen einer einfachen Rails-Anwung, die ohne Datenbank auskommt. Schwerpunktmäßig wird auf den Zusammenhang von Controllern, Views und der zugehörigen
Modellgetriebene Entwicklungsprozesse in der Praxis - eine Bestandsaufnahme. Tillmann Schall, anaptecs GmbH
Modellgetriebene Entwicklungsprozesse in der Praxis - eine Bestandsaufnahme Tillmann Schall, anaptecs GmbH : Agenda Grundlagen modellgetriebener Entwicklungsprozesse Schritte zur Einführung Erfahrungen
ActiveCharts. Verknüpfung von Modellen und Code bei der modellgetriebenen Softwareentwicklung mit UML 2.0
Jens Kohlmeyer 05. März 2007 Institut für Programmiermethodik und Compilerbau ActiveCharts Verknüpfung von Modellen und Code bei der modellgetriebenen Softwareentwicklung mit UML 2.0 Seite 2 Übersicht
Produktinformation DaVinci Developer
Produktinformation DaVinci Developer Inhaltsverzeichnis 1 DaVinci Developer - Entwurf von AUTOSAR Softwarekomponenten... 3 1.1 Die Vorteile von DaVinci Developer im Überblick... 3 1.2 Anwendungsgebiete...
5. Programmierschnittstellen für XML
5. Programmierschnittstellen für Grundlagen Dr. E. Schön FH Erfurt Sommersemester 2015 Seite 135 Programmierschnittstelle Notwendigkeit: Zugriff auf -Daten durch Applikationen wiederverwendbare Schnittstellen
eclipse und Komponenten
Christian bossk Holle & Markus Breitländer Fh-Dortmund Fb Informatik SS04 Geschichte von eclipse April 1999 Eclipse wird von OTI und IBM entwickelt November 2001 Eclipse wird Open Source Lizensiert unter
Abacus Formula Compiler (AFC)
Abacus Formula Compiler (AFC) Alle kennen Excel - jetzt sogar Ihre Java- Applikation! Bringt Tabellenkalkulationen auf die JVM http://formulacompiler.org/ Peter Arrenbrecht für Abacus Research AG http://abacus.ch/
Inhaltsverzeichnis. TeiM. V E E.l E.2 E.3 E.4. Vorwort von Stefan Tilkov Einleitung Zielgruppe Über dieses Buch Konventionen Dank
V E E.l E.2 E.3 E.4 TeiM 1 1.1 1.2 1.3 1.4 1.5 2 2.1 2.2 2.3 2.4 2.5 2.6 3 3.1 3.2 3.3 3.4 3.5 Vorwort von Stefan Tilkov Einleitung Zielgruppe Über dieses Buch Konventionen Dank Überblick Die Entwicklungsumgebung
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.,
Design mit CASE-Tools
Geodatabase Objekt Modell Teil 2: Design mit CASE-Tools Andreas Greithanner Team Entwicklung Kranzberg 2002 ESRI Geoinformatik GmbH Agenda Was ist CASE? Entwicklung eines Datenmodells Anlegen verschiedener
EJB Beispiel. JEE Vorlesung 10. Ralf Gitzel [email protected]
EJB Beispiel JEE Vorlesung 10 Ralf Gitzel [email protected] 1 Stundenkonzept Gemeinsame Übung Stoff der letzten Stunde wird gemeinsam in einem Beispiel umgesetzt Details werden nochmals erklärt bzw.
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,
Objektorientierte Programmierung
Universität der Bundeswehr Fakultät für Informatik Institut 2 Priv.-Doz. Dr. Lothar Schmitz FT 2006 Zusatzaufgaben Lösungsvorschlag Objektorientierte Programmierung Lösung 22 (Java und UML-Klassendiagramm)
Objektorientierte Programmierung
Objektorientierte Programmierung 1 Geschichte Dahl, Nygaard: Simula 67 (Algol 60 + Objektorientierung) Kay et al.: Smalltalk (erste rein-objektorientierte Sprache) Object Pascal, Objective C, C++ (wiederum
Werkzeuge für Datenbank Handwerker: IBM Data Studio und IBM Optim QWT
Werkzeuge für Datenbank Handwerker: IBM Data Studio und IBM Optim QWT Neue Technologien effizient nutzen Ehningen, 3. Juli 2014 Rodney Krick [email protected] aformatik Training & Consulting GmbH & Co. KG
Einführung in die Java- Programmierung
Einführung in die Java- Programmierung Dr. Volker Riediger Tassilo Horn riediger [email protected] WiSe 2012/13 1 Wichtig... Mittags keine Pommes... Praktikum A 230 C 207 (Madeleine + Esma) F 112 F 113
Model Driven SOA Modellgetriebene Entwicklung von SOA Anwendungen. OOP München, 26.01.2011
Model Driven SOA Modellgetriebene Entwicklung von SOA Anwendungen OOP München, 26.01.2011 I N H A L T 1. SOA das erste Projekt 2. Prozesse Ergebnisse aus dem Fachbereich 3. Der Business Analyst und BPMN
Modellbasierte Softwareentwicklung
CD OCL OD Statechart SD Modellbasierte Softwareentwicklung 7. Evolutionäre Methodik 7.1. Vorgehensmodell Vorlesungsnavigator: Prof. Dr. Bernhard Rumpe Sprache Codegen. http://www.se-rwth.de/ Testen Evolution
Objektorientierte Programmierung für Anfänger am Beispiel PHP
Objektorientierte Programmierung für Anfänger am Beispiel PHP Johannes Mittendorfer http://jmittendorfer.hostingsociety.com 19. August 2012 Abstract Dieses Dokument soll die Vorteile der objektorientierten
Graphical Modeling Framework
Graphical Modeling Framework Bernd Kolb, [email protected] www.applied-abstractions.com Sven Efftinge, [email protected] www.applied-abstractions.com Markus Voelter, [email protected]
Spring Dynamic Modules for OSGi Service Platforms
Gerd Wütherich freiberuflicher Softwarearchitekt Spring Dynamic Modules for OSGi Service Platforms Server Anwendungen mit Spring und Eclipse Equinox Agenda OSGi Technologie: OSGi Technologie im Überblick
Thema 5 Domain Specific Languages
SE Vertiefung Beuth-Hochschule Berlin Thema 5 Domain Specific Languages MOF-Schichten (c) schmiedecke 11 SE3-5-metamodellierung 2 Was ist eine DSL? Domain Specific Language: Sprache zur Beschreibung (Modellierung)
SCHNELLEINSTIEG ZUM TOOL NODEBUILDER
Fakultät Informatik, Institut für Angewandte Informatik, Professur Technische Informationssysteme SCHNELLEINSTIEG ZUM TOOL NODEBUILDER Betreuer: Dipl.-Ing. A. Cemal Özlük Dipl.-Inf. Uwe Ryssel ALLGEMEINE
JSP Grundlagen. JEE Vorlesung Teil 5. Ralf Gitzel [email protected]
JSP Grundlagen JEE Vorlesung Teil 5 Ralf Gitzel [email protected] 1 Übersicht Ralf Gitzel [email protected] 2 Übersicht JSP Konzept Model-View-Controller mit JSPs JSP Expression Language EL Literale
Telling TestStories Modellbasiertes Akzeptanz Testen Serviceorientierter Systeme
Telling TestStories Modellbasiertes Akzeptanz Testen Serviceorientierter Systeme Michael Felderer Workshop Requirements Engineering meets Testing Bad Honnef, 5. Juni 2008 1 Überblick Grundbegriffe Motivation
Java Reflection. Meta-Programmierung mit der java.lang.reflection API. Prof. Dr. Nikolaus Wulff
Java Reflection Meta-Programmierung mit der java.lang.reflection API. Prof. Dr. Nikolaus Wulff Java Reflection Die Java Reflection API liefert per Introspection Informationen über Klassen => Meta-Daten.
State Machine Workflow mit InfoPath Formularen für SharePoint 2010 Teil 6
State Machine Workflow mit InfoPath Formularen für SharePoint 2010 Teil 6 Abstract: Im sechsten Teil der Workflow Serie verbinden wir die Formulare aus dem vorigen Teil mit unserem Workflow. Teil 6: InfoPath
Ü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
WIRTSCHAFTSINFORMATIK
Westfälische Wilhelms-Universität Münster A platform for professional model-driven software development. Präsentation im Rahmen des Seminars Software Engineering WS 08/09 Jan Schürmeier [email protected]
Internet Explorer Version 6
Internet Explorer Version 6 Java Runtime Ist Java Runtime nicht installiert, öffnet sich ein PopUp-Fenster, welches auf das benötigte Plugin aufmerksam macht. Nach Klicken auf die OK-Taste im PopUp-Fenster
XML Werkzeug XML Spy. Frank Heininger Axel Labuschke
XML Werkzeug XML Spy Frank Heininger Axel Labuschke Gliederung Werkzeugkategorien Strukturbeschreibung Dokumentenerstellung Dokumentenbetrachtung Datenhaltung XML Spy Einführung Funktionen Benutzeroberfläche
Seminar Bassem Ben Helal
Requiline Seminar Bassem Ben Helal Inhalt Motivation Kernfunktionalitäten Architektur Hierarchie Typen Abhängigkeiten Variabilitätspunkte Produktkonfiguration Evaluierung Demo Diskussion Motivation RequiLine
Es wird das Struts <html:option> Element erläutert und anhand von kleinen Beispielen der Umgang veranschaulicht.
Struts Code Peaces Element Es wird das Struts Element erläutert und anhand von kleinen Beispielen der Umgang veranschaulicht. Allgemeines Autor: Sascha Wolski Sebastian Hennebrüder
Konzeption und Realisierung eines logikbasierten Anfragewerkzeugs für UML-Modelle
Konzeption und Realisierung eines logikbasierten Anfragewerkzeugs für UML-Modelle Doktoranden-, Diplomandenseminar, Institut für Informatik, TU Clausthal 23. Juni 2009 Motivation: Modelle werden in der
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
Einführung in Java. PING e.v. Weiterbildung Andreas Rossbacher 24. März 2005
Einführung in Java PING e.v. Weiterbildung Andreas Rossbacher 24. März 2005 Gliederung 1. Was ist Java / Geschichte von Java 2. Prinzip der Plattformunabhängigkeit 3. Wie kommt man vom Quellcode zum Programm
Die Eclipse Rich Client Platform. Martin Lippert Consultant und Coach [email protected]
Die Eclipse Rich Client Platform Martin Lippert Consultant und Coach [email protected] Historisches Eclipse is a universal platform for integrating development tools Plugin Development Environment PDE Java
