WIRTSCHAFTSINFORMATIK
|
|
- Theodor Bäcker
- vor 8 Jahren
- Abrufe
Transkript
1 Westfälische Wilhelms-Universität Münster A platform for professional model-driven software development. Präsentation im Rahmen des Seminars Software Engineering WS 08/09 Jan Schürmeier Jan.Schuermeier@gmx.de
2 2 Gliederung Einführung Grundlagen der modellgetriebenen Softwareentwicklung Motivation und Ziele MDSD vs MDA MDA-Standard der Object Management Group Das openarchitectureware Generator Framework Allgemeine Funktionsweise Komponenten Anwendungsbeispiel
3 3 Gliederung Einführung Grundlagen der modellgetriebenen Softwareentwicklung Motivation und Ziele MDSD vs MDA MDA-Standard der Object Management Group Das openarchitectureware Generator Framework Allgemeine Funktionsweise Komponenten Anwendungsbeispiel
4 4 Einführung Modellgetriebene Softwareentwicklung als logisch nächster Schritt in der Evolution der Softwareentwicklung Grundgedanke des modellgetriebenen Vorgehens: Stärkere Gewichtung der Modelle im Entwicklungsprozess Vollständige Abbildung der Anwendung im Modell Automatische Codegenerierung openarchitectureware Framework zur Ermöglichung und Unterstützung modellgetriebener Softwareentwicklung Ursprung: b+m Informatik AG Später: Open-Source Projekt
5 5 Gliederung Einführung Grundlagen der modellgetriebenen Softwareentwicklung Motivation und Ziele MDSD vs MDA MDA-Standard der Object Management Group Das openarchitectureware Generator Framework Allgemeine Funktionsweise Komponenten Anwendungsbeispiel
6 6 Motivation und Ziele Automatisierung des Entwicklungsprozesses Höhere Effizienz Trennung von fachlichen Anforderungen und technischen Details Wiederverwendbarkeit Verbesserung der Softwarequalität Einfachere Migration
7 7 MDSD vs. MDA Model Driven Software Development (MDSD) Ziel: Bereitstellung von praktisch einsetzbaren Bausteinen für Softwareentwicklungsprozesse Model Driven Architecture (MDA) Einschränkungen (z.b. Fokussierung auf UML-basierte Modellierungssprachen) Ziele: Interoperabilität zwischen MDA-Werkzeugen Standardisierung von Modellen Standardisierungsinitiative der OMG zum Thema MDSD
8 8 MDA-Standard der Object Management Group
9 9 Meta Object Facility
10 10 Metamodellierung
11 11 Gliederung Einführung Grundlagen der modellgetriebenen Softwareentwicklung Motivation und Ziele MDSD vs MDA MDA-Standard der Object Management Group Das openarchitectureware Generator Framework Allgemeine Funktionsweise Komponenten Anwendungsbeispiel
12 openarchitectureware - Details Teil der Eclipse Foundation Integration in Eclipse Entwicklungsumgebung über Plug-Ins tool for building MDSD/MDA tools Funktionen: Modellprüfungen, Transformationen, Generierung von Quellcode Verarbeitung verschiedenster Modellformate: EMF XMI Dialekte Eclipse UML2 XMI XML 12
13 13 openarchitectureware Allg. Funktionsweise UML-Modell export *.XMI laden Workflow-Datei XMI-Instantiator Hauptspeicher Modell Templates ausführen Template-Engine anwenden Start-Template generieren Generierter Quellcode
14 14 openarchitectureware - Komponenten Kernmodule: Workflow Xpand Xtend Check Weitere: Xtext Recipe Basis: Expression Language (EL) und XML Erweiterbarkeit durch Implementierung von Java- Methoden
15 15 openarchitectureware - Workflow Herzstück von oaw Ablaufsteuerung Speicherung in workflow.oaw, workflow.properties Beispiel: <workflow> <!--- read model --> <component class="oaw.emf.xmireader"> <modelfile value ="${uml2modelfile" /> <outputslot value="model" /> </component> <!--- generate code --> <component id="generator" class="oaw.xpand2.generator" skiponerrors="true"> <expand value="templates::root::root FOR model" /> </component> </workflow>
16 openarchitectureware - Xpand Generierung von Ausgaben auf Basis von Vorlagen (Templates) Speicherung in *.xpt Dateien Beispiel: «EXTENSION Xtend» «DEFINE javaclass FOR uml::class» «FILE filename()» package «javapackage()»; public class «name» { «FOREACH attribute AS a» «a.type.fqn()» «a.name» «ENDFOREACH» «ENDFILE» «ENDDEFINE» 16
17 openarchitectureware - Xtend Funktion: Beschreibung von Transformationen und Metamodellierung Speicherung in *.ext Datei Syntax: private cached ReturnType extensionname(paramtype1 paramname1,...) : expression-using-params; Beispiel: String uppername(uml::namedelement ne): me.name.touppercase(); private boolean hasname(uml::namedelement ne): ne.name!= null; 17
18 openarchitectureware - Check Definition von Modellprüfungen zur Modellvalidierung Speicherung in *.chk Dateien Syntax: context TypeName [if guard-predicate] (ERROR WARNING) msg-expression: predicate; Beispiel: context JavaClass ERROR 'A javaclass must not have more than one superclass.': superclass.size <=1; 18
19 19 openarchitectureware Recipe & Xtext Recipe Framework Prüfung auf Vollständigkeit der Implementierung Prinzip: abstrakte Klassen Übersicht mittels spezieller Eclipse-View Xtext Möglichkeit der Konstruktion eigener Metamodelle Grammatik: ähnlich zu EBNF Ziel: Beschleunigung der Entwicklung und Wartung von Metamodellen
20 20 Gliederung Einführung Grundlagen der modellgetriebenen Softwareentwicklung Motivation und Ziele MDSD vs MDA MDA-Standard der Object Management Group Das openarchitectureware Generator Framework Allgemeine Funktionsweise Komponenten Anwendungsbeispiel
21 21 Vorbereitung Modellierung des UML-Diagramms (z.b. mittels ext. UML- Tool)
22 22 Definition der Metaklassen Entity.java package oaw4.demo.classic.uml.meta; public class Entity extends org.openarchitectureware.meta.uml.classifier.class { //nothing to do in the simplest case Key.java package oaw4.demo.classic.uml.meta; public class Key extends org.openarchitectureware.meta.uml.classifier.attribute { Metamappings.xml <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE MetaMap SYSTEM " <MetaMap> <Mapping> <Map>Entity</Map> <To>oaw4.demo.classic.uml.meta.Entity</To> </Mapping> <Mapping> <Map>Key</Map> <To>oaw4.demo.classic.uml.meta.Key</To> </Mapping> </MetaMap>
23 Definition des Workflows Workflow.oaw <?xml version="1.0" encoding="utf-8"?> <workflow> <property file="workflow.properties"/> <cartridge file="org/openarchitectureware/workflow/oawclassic/classicstart.oaw"> <metaenvironmentslot value="me"/> <instantiatorenvironmentslot value="ie"/> </cartridge> <component class="org.openarchitectureware.core.frontends.xmi.workflow.xmiinstantiator"> <instantiatorenvironmentslot value="ie"/> <modelfile value="${model.xmi"/> <xmlmapfile value="${toolmappingfile"/> <metamapfile value="${metamapfile"/> <tooladapterclassname value="${tooladapterclassname"/> <modulefile value="${modulefile"/> <outputslot value ="model" /> </component> <cartridge file="org/openarchitectureware/workflow/oawclassic/classicinit.oaw"> <metaenvironmentslot value="me"/> </cartridge> <component class="org.openarchitectureware.check.checkcomponent"> <metamodel class="org.openarchitectureware.type.impl.java.javametamodel"> <typestrategy class="org.openarchitectureware.type.impl.oawclassic.oawclassicstrategy" convertpropertiestolowercase="false"/> </metamodel> <checkfile value="java::associationchecks"/> <expression value="me.getelements('modelelement')"/> <abortonerror value="true"/> </component> <component id="dircleaner class="org.openarchitectureware.workflow.common.directorycleaner" skiponerrors="true"> <directories value="${srcgenpath"/> </component> <component id="generator" class="org.openarchitectureware.xpand2.generator" skiponerrors="true"> <metamodel class="org.openarchitectureware.type.impl.java.javametamodel"> <typestrategy class="org.openarchitectureware.type.impl.oawclassic.oawclassicstrategy" convertpropertiestolowercase="false"/> </metamodel> <fileencoding value="iso "/> <expand value="root::root FOREACH me.getelements('model')"/> <genpath value="${srcgenpath/"/> <srcpath value="${srcgenpath/"/> <beautifier class="org.openarchitectureware.xpand2.output.javabeautifier"/> <beautifier class="org.openarchitectureware.xpand2.output.xmlbeautifier"/> </component> <cartridge file="org/openarchitectureware/workflow/oawclassic/classicfinish.oaw"> <instantiatorenvironmentslot value="ie"/> <dumpfile value="${dumpfile"/> </cartridge> </workflow> 23
24 Definition des Workflows Workflow.oaw <?xml version="1.0" encoding="utf-8"?> <workflow> <property file="workflow.properties"/> <cartridge file="org/openarchitectureware/workflow/oawclassic/classicstart.oaw"> <metaenvironmentslot value="me"/> <instantiatorenvironmentslot value="ie"/> </cartridge> <component class="org.openarchitectureware.core.frontends.xmi.workflow.xmiinstantiator"> <instantiatorenvironmentslot value="ie"/> <modelfile value="${model.xmi"/> <xmlmapfile value="${toolmappingfile"/> <metamapfile value="${metamapfile"/> <tooladapterclassname value="${tooladapterclassname"/> <modulefile value="${modulefile"/> <outputslot value ="model" /> </component> <cartridge file="org/openarchitectureware/workflow/oawclassic/classicinit.oaw"> <metaenvironmentslot value="me"/> </cartridge> <component class="org.openarchitectureware.check.checkcomponent"> <metamodel class="org.openarchitectureware.type.impl.java.javametamodel"> <typestrategy class="org.openarchitectureware.type.impl.oawclassic.oawclassicstrategy" convertpropertiestolowercase="false"/> </metamodel> <checkfile value="java::associationchecks"/> <expression value="me.getelements('modelelement')"/> <abortonerror value="true"/> </component> <component id="dircleaner class="org.openarchitectureware.workflow.common.directorycleaner" skiponerrors="true"> <directories value="${srcgenpath"/> </component> <component id="generator" class="org.openarchitectureware.xpand2.generator" skiponerrors="true"> <metamodel class="org.openarchitectureware.type.impl.java.javametamodel"> <typestrategy class="org.openarchitectureware.type.impl.oawclassic.oawclassicstrategy" convertpropertiestolowercase="false"/> </metamodel> <fileencoding value="iso "/> <expand value="root::root FOREACH me.getelements('model')"/> <genpath value="${srcgenpath/"/> <srcpath value="${srcgenpath/"/> <beautifier class="org.openarchitectureware.xpand2.output.javabeautifier"/> <beautifier class="org.openarchitectureware.xpand2.output.xmlbeautifier"/> </component> <cartridge file="org/openarchitectureware/workflow/oawclassic/classicfinish.oaw"> <instantiatorenvironmentslot value="ie"/> <dumpfile value="${dumpfile"/> </cartridge> </workflow> 24
25 25 Definition des Workflows Workflow.properties # Note: all paths must be found in the classpath! # the metamappings file metamapfile = metamappings.xml # model.xmi: name of the XMI export # toolmappingfile: tool mapping file to use # tooladapterclassname: tool adapter implementation # modulefile: profile files model.xmi = Bibliothek.mdzip toolmappingfile = magicdraw_xmi21_all.xml tooladapterclassname = org.openarchitectureware.core.frontends.xmi.toolsupport.uml.magicdraw.magicdrawadapter21 modulefile = magicdraw/md11/uml_standard_profile.xml # path to create the generated output to srcgenpath = src-gen # path where the dump file is created dumpfile = bin/dump
26 Definition des Workflows Workflow.oaw <?xml version="1.0" encoding="utf-8"?> <workflow> <property file="workflow.properties"/> <cartridge file="org/openarchitectureware/workflow/oawclassic/classicstart.oaw"> <metaenvironmentslot value="me"/> <instantiatorenvironmentslot value="ie"/> </cartridge> <component class="org.openarchitectureware.core.frontends.xmi.workflow.xmiinstantiator"> <instantiatorenvironmentslot value="ie"/> <modelfile value="${model.xmi"/> <xmlmapfile value="${toolmappingfile"/> <metamapfile value="${metamapfile"/> <tooladapterclassname value="${tooladapterclassname"/> <modulefile value="${modulefile"/> <outputslot value ="model" /> </component> <cartridge file="org/openarchitectureware/workflow/oawclassic/classicinit.oaw"> <metaenvironmentslot value="me"/> </cartridge> <component class="org.openarchitectureware.check.checkcomponent"> <metamodel class="org.openarchitectureware.type.impl.java.javametamodel"> <typestrategy class="org.openarchitectureware.type.impl.oawclassic.oawclassicstrategy" convertpropertiestolowercase="false"/> </metamodel> <checkfile value="java::associationchecks"/> <expression value="me.getelements('modelelement')"/> <abortonerror value="true"/> </component> <component id="dircleaner class="org.openarchitectureware.workflow.common.directorycleaner" skiponerrors="true"> <directories value="${srcgenpath"/> </component> <component id="generator" class="org.openarchitectureware.xpand2.generator" skiponerrors="true"> <metamodel class="org.openarchitectureware.type.impl.java.javametamodel"> <typestrategy class="org.openarchitectureware.type.impl.oawclassic.oawclassicstrategy" convertpropertiestolowercase="false"/> </metamodel> <fileencoding value="iso "/> <expand value="root::root FOREACH me.getelements('model')"/> <genpath value="${srcgenpath/"/> <srcpath value="${srcgenpath/"/> <beautifier class="org.openarchitectureware.xpand2.output.javabeautifier"/> <beautifier class="org.openarchitectureware.xpand2.output.xmlbeautifier"/> </component> <cartridge file="org/openarchitectureware/workflow/oawclassic/classicfinish.oaw"> <instantiatorenvironmentslot value="ie"/> <dumpfile value="${dumpfile"/> </cartridge> </workflow> 26
27 27 Definition der Templates Root.xpt «IMPORT org::openarchitectureware::core::meta::core» «IMPORT org::openarchitectureware::meta::uml::classifier» «IMPORT oaw4::demo::classic::uml::meta» «DEFINE Root FOR Model» «EXPAND Root FOREACH OwnedElement» «ENDDEFINE» «DEFINE Root FOR Package» «EXPAND Root FOREACH OwnedElement» «ENDDEFINE» «DEFINE Root FOR Entity» «EXPAND java::javabean::beanclass» «ENDDEFINE» «DEFINE Root FOR Object»«ENDDEFINE»
28 28 Definition der Templates JavaBean.xpt «IMPORT org::openarchitectureware::meta::uml::classifier» «EXTENSION java::namingconventions» «DEFINE BeanClass FOR Class» «FILE packagepath()+"/"+names+".java"» package «packagename()»; public class «Name» «IF hassuperclass» extends «SuperClass.fqn()» «ENDIF» implements java.io.serializable { «EXPAND Attribute::PropertyDeclaration FOREACH Attribute» «EXPAND Attribute::Getter FOREACH Attribute» «EXPAND Attribute::Setter FOREACH Attribute» «EXPAND Association::ReferenceVariables» «EXPAND Association::AccessorMethods» «ENDFILE» «ENDDEFINE»
29 29 Definition der Templates Attribute.xpt «IMPORT org::openarchitectureware::meta::uml::classifier» «EXTENSION java::namingconventions» «DEFINE PropertyDeclaration FOR Attribute» private «Type.NameS» «asinstancevar()»; «ENDDEFINE» «DEFINE Getter FOR Attribute» public «Type.NameS» «asgetter()» () { return this.«asinstancevar()»; «ENDDEFINE» «DEFINE Setter FOR Attribute» public void «assetter()» («Type.NameS» «asparameter()») { this.«asinstancevar()» = «asparameter()»; «ENDDEFINE»
30 30 Definition von Extensions NamingConventions.ext import org::openarchitectureware::meta::uml; import org::openarchitectureware::meta::uml::classifier; String asparameter (ModelElement elem) : "p"+elem.names.tofirstupper(); String assetter (ModelElement elem) : "set"+elem.names.tofirstupper(); String asgetter (ModelElement elem) : "get"+elem.names.tofirstupper(); String asinstancevar (ModelElement elem) : elem.names.tofirstlower(); String packagename (Class cls) : JAVA oaw4.demo.classic.uml.extend.classutil.getpackagename(org.openarchitectureware.meta.uml.classifier.class); String packagepath (Class cls) : packagename(cls).replaceall("\\.", "/"); String fqn (Class cls) : packagename(cls).length>0? packagename(cls)+"."+cls.names : cls.names;
31 31 Definition von Extensions ClassUtil.java package oaw4.demo.classic.uml.extend; import org.openarchitectureware.meta.uml.classifier.class; import org.openarchitectureware.meta.uml.classifier.package; public class ClassUtil { public static String getpackagename (Class cls) { string result = ""; for (Package pck=cls.package(); pck!=null; pck=pck.superpackage()) { result = pck.names() + (result.length()>0? "."+result : ""); return result;
32 Generierter Quellcode Autor.java package oaw4.demo.classic.uml.entity; public class Autor implements java.io.serializable { private int id; private String name; public int getid() { return this.id; public String getname() { return this.name; public void setid(int pid) { this.id = pid; public void setname(string pname) { this.name = pname; private java.util.collection<oaw4.demo.classic.uml.entity.buch> verfasstesbuch; public void addverfasstesbuch( oaw4.demo.classic.uml.entity.buch pverfasstesbuch) { this.verfasstesbuch.add(pverfasstesbuch); public void removeverfasstesbuch( oaw4.demo.classic.uml.entity.buch pverfasstesbuch) { this.verfasstesbuch.remove(pverfasstesbuch); public java.util.iterator<oaw4.demo.classic.uml.entity.buch> getverfasstesbuch() { return this.verfasstesbuch.iterator(); 32
33 33 Generierter Quellcode Bibliothek.java package oaw4.demo.classic.uml.entity; public class Bibliothek implements java.io.serializable { private int id; private String name; public int getid() { return this.id; public String getname() { return this.name; public void setid(int pid) { this.id = pid; public void setname(string pname) { this.name = pname; private java.util.collection<oaw4.demo.classic.uml.entity.exemplar> eigenesbuch; public void addeigenesbuch( oaw4.demo.classic.uml.entity.exemplar peigenesbuch) { this.eigenesbuch.add(peigenesbuch); public void removeeigenesbuch( oaw4.demo.classic.uml.entity.exemplar peigenesbuch) { this.eigenesbuch.remove(peigenesbuch); public java.util.iterator<oaw4.demo.classic.uml.entity.exemplar> geteigenesbuch() { return this.eigenesbuch.iterator();
34 Generierter Quellcode Buch.java package oaw4.demo.classic.uml.entity; public class Buch implements java.io.serializable { private int id; private String titel; public int getid() { return this.id; public String gettitel() { return this.titel; public void setid(int pid) { this.id = pid; public void settitel(string ptitel) { this.titel = ptitel; private java.util.collection<oaw4.demo.classic.uml.entity.autor> autor; public void addautor(oaw4.demo.classic.uml.entity.autor pautor) { this.autor.add(pautor); public void removeautor(oaw4.demo.classic.uml.entity.autor pautor) { this.autor.remove(pautor); public java.util.iterator<oaw4.demo.classic.uml.entity.autor> getautor() { return this.autor.iterator(); 34
35 Generierter Quellcode Exemplar.java package oaw4.demo.classic.uml.entity; public class Buch implements java.io.serializable { private int id; private String titel; public int getid() { return this.id; public String gettitel() { return this.titel; public void setid(int pid) { this.id = pid; public void settitel(string ptitel) { this.titel = ptitel; private java.util.collection<oaw4.demo.classic.uml.entity.autor> autor; public void addautor(oaw4.demo.classic.uml.entity.autor pautor) { this.autor.add(pautor); public void removeautor(oaw4.demo.classic.uml.entity.autor pautor) { this.autor.remove(pautor); public java.util.iterator<oaw4.demo.classic.uml.entity.autor> getautor() { return this.autor.iterator(); 35
36 36 Generierter Quellcode Exemplar.java package oaw4.demo.classic.uml.entity; public class Exemplar implements java.io.serializable { private int inventarnr; private String standort; public int getinventarnr() { return this.inventarnr; public String getstandort() { return this.standort; public void setinventarnr(int pinventarnr) { this.inventarnr = pinventarnr; public void setstandort(string pstandort) { this.standort = pstandort; private oaw4.demo.classic.uml.entity.bibliothek eigentuemer; private oaw4.demo.classic.uml.entity.buch buch; public void seteigentuemer( oaw4.demo.classic.uml.entity.bibliothek peigentuemer) { this.eigentuemer = peigentuemer; public oaw4.demo.classic.uml.entity.bibliothek geteigentuemer() { return this.eigentuemer; public void setbuch(oaw4.demo.classic.uml.entity.buch pbuch) { this.buch = pbuch; public oaw4.demo.classic.uml.entity.buch getbuch() { return this.buch;
37 37 Evaluation Vorteile: gute Dokumentation Einbettung in Eclipse Verwendung beliebiger Metamodelle hohe Individualisierbarkeit Nachteile: umständliche Bedienbarkeit unausgreifte Fehlertoleranz
38 38 Fazit Aufgrund der offenen Struktur gut geeignet für die Entwicklung von MDSD/MDA-Projekten Insbesondere bei großen Projekten leistungsstark Zu empfehlen bei Lösungen mit hohem Anspruch an Individualität
39 39 Berücksichtigung von Assoziationen Association.xpt «IMPORT org::openarchitectureware::meta::uml::classifier» «EXTENSION java::namingconventions» «EXTENSION java::associations» «DEFINE ReferenceVariables FOR Class» «FOREACH AssociationEnd.Opposite.select(ae ae.isnavigable) AS ae» private «ae.fqn()» «ae.asinstancevar()»; «ENDFOREACH» «ENDDEFINE» «DEFINE AccessorMethods FOR Class» «EXPAND ToOneAccessorMethods FOREACH AssociationEnd.Opposite.select(ae!ae.isMultiple && ae.isnavigable)» «EXPAND ToManyAccessorMethods FOREACH AssociationEnd.Opposite.select(ae ae.ismultiple && ae.isnavigable)» «ENDDEFINE» «DEFINE ToOneAccessorMethods FOR AssociationEnd» public void «assetter()» («Class.fqn()» «asparameter()») { this.«asinstancevar()» = «asparameter()»; «ENDDEFINE» public «Class.fqn()» «asgetter()» () { return this.«asinstancevar()»; «DEFINE ToManyAccessorMethods FOR AssociationEnd» public void add«names.tofirstupper()» («Class.fqn()» «asparameter()») { this.«asinstancevar()».add(«asparameter()»); public void remove«names.tofirstupper()» («Class.fqn()» «asparameter()») { this.«asinstancevar()».remove(«asparameter()»); «ENDDEFINE» public «iterator()» «asgetter()» () { return this.«asinstancevar()».iterator();
40 40 Berücksichtigung von Assoziationen Association.xpt «IMPORT org::openarchitectureware::meta::uml::classifier» «EXTENSION java::namingconventions» «EXTENSION java::associations» «DEFINE ReferenceVariables FOR Class» «FOREACH AssociationEnd.Opposite.select(ae ae.isnavigable) AS ae» private «ae.fqn()» «ae.asinstancevar()»; «ENDFOREACH» «ENDDEFINE» «DEFINE AccessorMethods FOR Class» «EXPAND ToOneAccessorMethods FOREACH AssociationEnd.Opposite.select(ae!ae.isMultiple && ae.isnavigable)» «EXPAND ToManyAccessorMethods FOREACH AssociationEnd.Opposite.select(ae ae.ismultiple && ae.isnavigable)» «ENDDEFINE» «DEFINE ToOneAccessorMethods FOR AssociationEnd» public void «assetter()» («Class.fqn()» «asparameter()») { this.«asinstancevar()» = «asparameter()»; «ENDDEFINE» public «Class.fqn()» «asgetter()» () { return this.«asinstancevar()»; «DEFINE ToManyAccessorMethods FOR AssociationEnd» public void add«names.tofirstupper()» («Class.fqn()» «asparameter()») { this.«asinstancevar()».add(«asparameter()»); public void remove«names.tofirstupper()» («Class.fqn()» «asparameter()») { this.«asinstancevar()».remove(«asparameter()»); «ENDDEFINE» public «iterator()» «asgetter()» () { return this.«asinstancevar()».iterator();
41 41 Berücksichtigung von Assoziationen Association.ext import org::openarchitectureware::meta::uml::classifier; extension java::namingconventions; String fqn (AssociationEnd ae) :!ae.ismultiple? ae.class.fqn() : "java.util.collection<"+ae.class.fqn()+">"; String iterator (AssociationEnd ae) : "java.util.iterator<"+ae.class.fqn()+">";
42 42 Berücksichtigung von Assoziationen Association.xpt «IMPORT org::openarchitectureware::meta::uml::classifier» «EXTENSION java::namingconventions» «EXTENSION java::associations» «DEFINE ReferenceVariables FOR Class» «FOREACH AssociationEnd.Opposite.select(ae ae.isnavigable) AS ae» private «ae.fqn()» «ae.asinstancevar()»; «ENDFOREACH» «ENDDEFINE» «DEFINE AccessorMethods FOR Class» «EXPAND ToOneAccessorMethods FOREACH AssociationEnd.Opposite.select(ae!ae.isMultiple && ae.isnavigable)» «EXPAND ToManyAccessorMethods FOREACH AssociationEnd.Opposite.select(ae ae.ismultiple && ae.isnavigable)» «ENDDEFINE» «DEFINE ToOneAccessorMethods FOR AssociationEnd» public void «assetter()» («Class.fqn()» «asparameter()») { this.«asinstancevar()» = «asparameter()»; «ENDDEFINE» public «Class.fqn()» «asgetter()» () { return this.«asinstancevar()»; «DEFINE ToManyAccessorMethods FOR AssociationEnd» public void add«names.tofirstupper()» («Class.fqn()» «asparameter()») { this.«asinstancevar()».add(«asparameter()»); public void remove«names.tofirstupper()» («Class.fqn()» «asparameter()») { this.«asinstancevar()».remove(«asparameter()»); «ENDDEFINE» public «iterator()» «asgetter()» () { return this.«asinstancevar()».iterator();
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,
Mehropenarchitectureware
openarchitectureware Enrico Schnepel EAS, FHTW-Berlin 07.06.2007 2007 (CC by-nc-sa 2.0 Germany) Enrico Schnepel ( EAS, FHTW-Berlin ) openarchitectureware 07.06.2007 1 / 26 Gliederung 1 Einleitung 2 Begriffsdefinitionen
MehrModel Driven Architecture Praxisbeispiel
1 EJOSA OpenUSS CampusSource Model Driven Architecture Praxisbeispiel 2 Situation von CampusSource-Plattformen Ähnliche Funktionen (Verwaltung von Studenten und Dozenten, Diskussionsforen,...), jedoch
MehrGenerisch 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,
MehrWas ist EMF? Wie wird EMF eingesetzt? Was ist ecore? Das Generatormodell Fazit
Was ist EMF? Wie wird EMF eingesetzt? Was ist ecore? Das Generatormodell Fazit EMF ist ein eigenständiges Eclipse-Projekt (Eclipse Modeling Framework Project) EMF ist ein Modellierungsframework und Tool
MehrFaktor-IPS. Modellgetriebene Softwareentwicklung mit Faktor-IPS. Faktor Zehn AG. Seite 1
Faktor-IPS Modellgetriebene Softwareentwicklung mit Faktor-IPS Seite 1 Faktor-IPS Faktor-IPS ist ein Werkzeug zur modellgetriebenen Entwicklung versicherungsfachlicher Systeme Bestandssysteme Außendienstsysteme
MehrSoftware 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
MehrVortrag von: Ilias Agorakis & Robert Roginer
MDA Model Driven Architecture Vortrag von: Ilias Agorakis & Robert Roginer Anwendungen der SWT - WS 08/09 Inhalt Was ist MDA? Object Management Group (OMG) Ziele Konzepte der MDA Werkzeuge Vor- und Nachteile
MehrMichael Piechotta - CASE Tools. openarchitecture Ware
Model Driven Development Michael Piechotta - CASE Tools openarchitecture Ware Gliederung 1.Einleitung - Was ist MDD? - Wozu MDD? 2.Model Driven Development - OMG Konzepte: Modelle,Transformationen Meta-Modellierung
MehrWorkshop Java Webentwicklung Einführung in Hibernate. Ulrich Stärk
Workshop Java Webentwicklung Einführung in Hibernate Ulrich Stärk Ablauf Montag bis Donnerstag 09:00 Uhr s.t. Beginn, bis ca. 17:00 Uhr 1 Stunde Mittagspause Donnerstag Experiment Aufzeichnung der Programmiertätigkeit
MehrModel Driven Architecture (MDA)
Model Driven Architecture (MDA) Vortrag im Fach Software Engineering II BA Mannheim / Fachrichtung Angewandte Informatik Torsten Hopp Gliederung Einleitung Motivation Grundzüge der MDA Ziele & Potenziale
MehrProgrammieren ohne Programmierer Das GeneSEZ Generator Framework. Gerrit Beine gerrit.beine@sapat.de
Programmieren ohne Programmierer Das GeneSEZ Generator Framework Gerrit Beine gerrit.beine@sapat.de Vogelperspektive Theorie: Model driven software development Praxis: Konzepte von GeneSEZ Lösungen für
MehrModellgetriebene Entwicklungsprozesse in der Praxis - eine Bestandsaufnahme. Tillmann Schall, anaptecs GmbH
Modellgetriebene Entwicklungsprozesse in der Praxis - eine Bestandsaufnahme Tillmann Schall, anaptecs GmbH : Agenda Grundlagen modellgetriebener Entwicklungsprozesse Schritte zur Einführung Erfahrungen
MehrDatenhaltung 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
MehrMOF Meta Object Facility. Veranstaltungsvortrag im Rahmen der Projektgruppe ComponentTools
MOF Meta Object Facility Veranstaltungsvortrag im Rahmen der Projektgruppe ComponentTools Überblick Object Management Group (OMG) Model Driven Architecture (MDA) Exkurs: Modelle, Metamodelle MOF Architektur
MehrThemen. 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
MehrVorgetragen von. Sanaz Mostowfi Anna Polovets Mandy Neumann
Vorgetragen von Sanaz Mostowfi Anna Polovets Mandy Neumann Gliederung Was ist DSL? Welche Arten von DSL gibt es? Vor und Nachteile Werkzeuge zur Erstellung von DSLs XText Definition: DSL (Domain Specific
MehrHerausforderung: Entwicklungsmethodik und technisches Umfeld
Model Driven Software Development Herausforderung: Entwicklungsmethodik und technisches Umfeld Referent: Christoph Schmidt-Casdorff Seite 2 / 42 Inhaltsverzeichnis 1. Werkzeuglandschaft 1.1 Language Workbench
MehrModel Driven Architecture
Model Driven Architecture Wilhelm Stephan Universität Hamburg Fakultät für Mathematik, Informatik und Naturwissenschaften Seminar Softwareentwicklung in der Wissenschaft Betreuer: Julian Kunkel SommerSemester
MehrDas 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
MehrCurrent Workflow. formatted. Rules. Extensions. Rules. DOM processing with Meta API-calls. Code Generation (Smarty) XMLfile. Source code.
Current Workflow Rules T1 Rules Extensions XMLfile DOM processing with Meta API-calls Model 1 T2 Model 2 Code Generation (Smarty) Source code PP formatted sourcecode DTD V1 Rules XMI 1/21 Anbindung eines
MehrModel Driven SOA. < J Springer. Anwendungsorientierte Methodik und Vorgehen in der Praxis. Gerhard Rempp Mark Akermann Martin Löffler Jens Lehmann
Gerhard Rempp Mark Akermann Martin Löffler Jens Lehmann Model Driven SOA Anwendungsorientierte Methodik und Vorgehen in der Praxis Mit Illustrationen von Martin Starzmann < J Springer Inhaltsverzeichnis
Mehri n g e n i e u r b ü r o f ü r s o f t w a r e t e c h n o l o g i e w w w. v o e l t e r. d e Metamodellbasierte Codegenerierung in Java
Metamodellbasierte Codegenerierung in Java Codegenerierung Markus Völter, voelter@acm.org, www.voelter.de Codegenerierung bezeichnet die automatische Erstellung von Quelltext aus üblicherweise abstraktereren,
MehrWebPoint. Ein Framework zur Erstellung von webbasierten Verkaufsanwendungen. Maria C. Raabe Daniel Woithe Vorlage: Torsten Walter. 16.
Ein Framework zur Erstellung von webbasierten Verkaufsanwendungen Maria C. Raabe Daniel Woithe Vorlage: Torsten Walter 16. Oktober 2006 Gliederung Datenverwaltung 1 Datenverwaltung 2 Problemstellung Java
MehrBest Practices für flexible und wartbare Codegeneratoren mit openarchitectureware Karsten Thoms Software Architekt 20.04.2009
Best Practices für flexible und wartbare Codegeneratoren mit openarchitectureware Karsten Thoms Software Architekt 20.04.2009 1 Agenda (1) Fornax-Plattform, Cartridges (2) Referenzimplementierung, Referenzmodell
MehrSoftware 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
MehrSEA. Modellgetriebene Softwareentwicklung in der BA
SEA Modellgetriebene Softwareentwicklung in der BA MDA bei der BA Ziele/Vorteile: für die Fachabteilung für die Systementwicklung für den Betrieb Wie wird MDA in der BA umgesetzt? Seite 2 MDA bei der BA
MehrCopyright 2014 Delta Software Technology GmbH. All Rights reserved.
Karlsruhe, 21. Mai 2014 Softwareentwicklung - Modellgetrieben und trotzdem agil Daniela Schilling Delta Software Technology GmbH The Perfect Way to Better Software Modellgetriebene Entwicklung Garant für
MehrEin Erfahrungsbericht beim Einsatz von generierenden Ansätzen im Vergleich zu generischen Lösungen
Ein Erfahrungsbericht beim Einsatz von generierenden Ansätzen im Vergleich zu generischen Lösungen Tom Krauß Agenda Begriffsdefinition Verfahren Praktische Beispiele Vergleich und Bewertung Begriffsklärung
MehrAnalyse und praktischer Vergleich von neuen Access- Layer-Technologien in modernen Webanwendungen unter Java. Oliver Kalz
Analyse und praktischer Vergleich von neuen Access- Layer-Technologien in modernen Webanwendungen unter Java Oliver Kalz Agenda Grundlagen Objektpersistenz Objektrelationales Mapping Performance Fazit
MehrInnovator 2007. Anbindung an openarchitectureware. Connect. Klaus Weber. www.mid.de
Innovator 2007 Anbindung an openarchitectureware Klaus Weber Connect www.mid.de Anbindung an openarchitectureware (oaw) Wozu dient die Anbindung an openarchitectureware? Für Innovator Object excellence
MehrModellgetriebene Entwicklung einer Eclipse RAP-Anwendung unter Verwendung des Eclipse Modeling Frameworks
Modellgetriebene Entwicklung einer Eclipse RAP-Anwendung unter Verwendung des Eclipse Modeling Frameworks AKWI 2015 Luzern Marco Richter (marco.richter@mnd.thm.de) Melanie Vanderpuye (melanie.vanderpuye@zdh.thm.de)
MehrEinführung in modellgetriebene Softwareentwicklung. 24. Oktober 2012
Einführung in modellgetriebene Softwareentwicklung 24. Oktober 2012 Überblick Was sind die Grundprinzipien der modellgetriebenen Softwareentwicklung? Entwicklung einer MDD-Infrastruktur Modellgetriebene
MehrDefinition 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
MehrTelling 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
MehrÜbung 1 mit C# 6.0 MATTHIAS RONCORONI
Übung 1 mit C# 6.0 MATTHIAS RONCORONI Inhalt 2 1. Überblick über C# 2. Lösung der Übung 1 3. Code 4. Demo C# allgemein 3 aktuell: C# 6.0 mit.net-framework 4.6: Multiparadigmatisch (Strukturiert, Objektorientiert,
MehrIch liebe Java && Ich liebe C# Rolf Borst
Ich liebe Java && Ich liebe C# Rolf Borst Java oder C#? Einführung public class Einfuehrung { private int gesamtzahl = 0; /* Ermittelt die Anzahl der geraden und durch drei teilbaren Zahlen */ public String
MehrModellbasierte 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
MehrModellgetriebene Softwareentwicklung
Jens Trompeter (Hrsg.), Georg Pietrek (Hrsg.), Juan Carlos Flores Beitran, Boris Holzer, Thorsten Kamann, Michael Kloss, Steffen A. Mork, Benedikt Niehues, Karsten Thoms Modellgetriebene Softwareentwicklung
MehrMotivation Grundlagen Technologien Manipulation Ecore Genmodell Demo Persistenz Notification Ausblick GMF Fazit / Quellen
Motivation Grundlagen Technologien Manipulation Ecore Genmodell Demo Persistenz Notification Ausblick GMF Fazit / Quellen Soll ich Modellieren oder Programmieren? sowohl als auch!!! Produktivitäts-Steigerung
MehrModellgetriebene Service-Entwicklung
Modellgetriebene Service-Entwicklung Service-orientierte Architekturen (SOA), Prof. Dr. M. Jäger Johannes Tietje 24. Juni 2010 1 / 13 Motivation konkrete Teile eines Dienstes Rahmenimplementierung der
Mehrb+m Informatik AG Langlebige und zukunftsfähige modellgetriebene Softwaresysteme? Thomas Stahl b+m Informatik AG 13.06.
Langlebige und zukunftsfähige modellgetriebene Softwaresysteme? Thomas Stahl 13.06.2012, KoSSE-Tag 1 1 b+m Business IT Management Geschäftsfelder Banken & Sparkassen Versicherungen Engineering Solutions
MehrMDSD Einführung und Überblick
Model Driven Software Development MDSD Einführung und Überblick Referent: Carsten Schädel Seite 2 / 33 Ziele Grundgedanke Glossar der wichtigsten Begriffe Seite 3 / 33 Glossar Seite 4 / 33 mögliche Definitionen:
Mehropenarchitectureware
Westfälische Wilhelms-Universität Münster Ausarbeitung openarchitectureware im Rahmen des Hauptseminars Software Engineering Jan Schürmeier Themensteller: Prof. Dr. Herbert Kuchen Betreuer: Dipl.-Wirt.Inform.
MehrSystemdenken und Gestaltungsmethodik System-Modellierung
Systemdenken und Gestaltungsmethodik System-Modellierung Prof. Dr.-Ing. Stefan Brunthaler TFH Wildau 2008ff Master Telematik Ausgangsbasis Es liegt ein kosten-nutzen-optimales Lösungskonzept vor. Die Architektur
MehrInhalt. Motivation Techniken des MDE. Fallbeispiele
ISE-Seminar 2012 Inhalt Motivation Techniken des MDE Computer Aided Software Engineering (CASE) Domain-Specific-Languages (DSL) Model Driven Architecture (MDA) Fallbeispiele Motivation Automatische Codegenerierung
MehrBest Practices für RM/RE in einem Prozess Framework Thomas Schröder
Best Practices für RM/RE in einem Prozess Framework Thomas Schröder 1 Die Herausforderung bewährte Praktiken effektiv zu nutzen Unterschiedliche Quellen in unterschiedlichen Formaten Schwierig anzupassen
MehrBeispielhaft MDSD in der Praxis. Dr. Shota Okujava shota.okujava@isento.de www.isento.de
Beispielhaft MDSD in der Praxis Dr. Shota Okujava shota.okujava@isento.de www.isento.de Agenda Einführung Softwareentwicklungsprozess und MDSD Technologien und Werkzeuge Demo Entwicklung der Metamodelle
MehrSoftware-Architektur. Spektrum k_/takademischht VERLAG
Oliver Vogel / Ingo Arnold /Arif Chughtai / Edmund Ihler/Uwe Mehlig/Thomas Neumann/ Markus Völter/Uwe Zdun Software-Architektur Grundlagen - Konzepte - Praxis ELSEVIER SPEKTRUM AKADEMISCHER VERLAG Spektrum
MehrSoftware Factories SS 2016. Prof. Dr. Dirk Müller. 3 Modellgetriebene Softwareentwicklung
Software Factories 3 Modellgetriebene Softwareentwicklung Prof. Dr. Dirk Müller Übersicht Einordnung im Lebenszyklus Ziele Hebung des Abstraktionsniveaus Model Driven Architecture (MDA) Domänenspezifische
MehrQuelltextähnlichkeit
Quelltextähnlichkeit String autor = Tobias Jamin ; String projekt = Arte-Fakt ; String seminar = Transformationen ; Date termin = new Date(3, // Tag 2, // Monat 2006); Presentation praesentation = new
MehrKonzeption 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
MehrEclipse 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
MehrAgile Modellierung mit UML Lab
Agile Modellierung mit UML Lab Produktisierung und Vertrieb eines MDSE Tools in der Praxis Dipl.-Inf. Manuel Bork Yatta Solutions GmbH t e +49 (0)561 5743277-21 bork@yatta.de @ManuelBork UNSER GESCHÄFT
MehrAngewandte Softwareentwicklung Serialisierung
Angewandte Softwareentwicklung Serialisierung WS 2014/2015 Markus Berg Hochschule Wismar Fakultät für Ingenieurwissenschaften Bereich Elektrotechnik und Informatik markus.berg@hs-wismar.de http://mmberg.net
MehrModellierung statischer Domänenmodelle mit Xtext
Frank Schwarz Java User Group Saxony Modellierung statischer Domänenmodelle mit Xtext buschmais GbR Inhaber Torsten Busch, Frank Schwarz, Dirk Mahler und Tobias Israel frank.schwarz@buschmais.de http://www.buschmais.de/author/frank
MehrNaked-FHIR. Code-Generierung auf Basis von HL7 FHIR Andreas Schuler, MSc. Textmasterformate durch Klicken bearbeiten
Naked-FHIR Code-Generierung auf Basis von HL7 FHIR Andreas Schuler, MSc. HL7 Jahrestagung 2015 18. März 2015 Einführung HL7 FHIR stellt eine Reihe an Basis-Ressourcen zur Verfügung Über Zweite Conformance
MehrApplication Frameworks
Seminar Software Engineering 1 Grundlagen Agenda Spring Framework Dependency Injection Aspektorientierte Programmierung Datenbankanbindung Modell View Controller Sicherheit Spring vs. Java EE Zusammenfassung
MehrCodegeneratoren mit Xtend2. 11.04.2012, A. Arnold
Codegeneratoren mit Xtend2 11.04.2012, A. Arnold Copyright 2012 anderscore GmbH Inhalt 1. Was ist Xtend2? 2. Xtend2 Konzepte 3. Hands On! 3 4 8 20 2 Was ist Xtend2? Funktionale, objektorientierte Sprache
MehrGroße Übung Praktische Informatik 1
Große Übung Praktische Informatik 1 2005-12-08 fuessler@informatik.uni-mannheim.de http://www.informatik.uni-mannheim.de/pi4/people/fuessler 1: Announcements / Orga Weihnachtsklausur zählt als Übungsblatt,
MehrModel Driven Software Development
Model Driven Software Development Key Note DGLR Workshop, TUM Garching, 4. Oktober 2011 Dr. Björn Pötter Leiter SoftwareFactory (FCS & UAV Software), Cassidian (EADS) Trends in der Softwareentwicklung
MehrSoftware Entwicklung II (SS12)
Prof. Dr. P. Liggesmeyer Dipl.-Inf. K. Bizik M.Sc. K. Nehring TU Kaiserslautern Fachbereich Informatik AG Software Engineering: Dependability Software Entwicklung II (SS12) Übung 5 Ausgabe: 04.06.2012
MehrUsecase 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
MehrAndreas 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
MehrAnforderungsmanagement
Gerhard Versteegen (Hrsg.) Alexander Heßeier Colin Hood Christian Missling Renate Stücka Anforderungsmanagement Formale Prozesse, Praxiserfahrungen, Einführungsstrategien und Toolauswahl Springer Inhaltsverzeichnis
MehrGrundlagen Software Engineering
Grundlagen Software Engineering Rational Unified Process () GSE: Prof. Dr. Liggesmeyer, 1 Rational Unified Process () Software Entwicklungsprozess Anpassbares und erweiterbares Grundgerüst Sprache der
MehrDieses 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
MehrThemen. Web Service - Clients. Kommunikation zw. Web Services
Themen Web Service - Clients Kommunikation zw. Web Services Bisher: Implementierung einer Java Anwendung und Bereitstellung durch Apache Axis unter Apache Tomcat Java2WSDL Erzeugen einer WSDL-Datei zur
MehrGraphischer Editor für die technologieunabhängige User Interface Modellierung
Universität Augsburg Lehrstuhl für Softwaretechnik und Programmiersprachen Prof. Dr. Bernhard Bauer Praktikum Modellgetriebene Softwareentwicklung SS 2008 Graphischer Editor für die technologieunabhängige
MehrStruts 2 Das Imperium schlägt zurück?
Struts 2 Das Imperium schlägt zurück? Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Tobias Kieninger www.oio.de info@oio.de Java, XML und Open Source seit 1998 ) Software
MehrDie MID ModellierungsMethodik M³ ein Baukasten für Produktlinien. Andreas Ditze, MDD & PL 2009, Leipzig, 23.03.2009
Die MID ModellierungsMethodik M³ ein Baukasten für Produktlinien Andreas Ditze, MDD & PL 2009, Leipzig, 23.03.2009 I N H A L T 1. Vorstellung 2. Was macht einen guten Baukasten aus? 3. Ziele der MID ModellierungsMethodik
MehrModel Driven Software Development
Model Driven Software Development Vergleich von Metametamodellen Marcel Hoyer 1von 19 Themenvorstellung Vergleich von Metametamodellen Was sind überhaupt Metametamodelle? Analyse und Vergleich existierender
MehrGenerative Prozessmodelle Patrick Otto MDD Konferenz 22.03.2009
Generative Prozessmodelle Patrick Otto MDD Konferenz 22.03.2009 Gliederung 1. Generative Programmierung 2. Möglichkeiten und Einsatzgebiet 3. Prozess / Tools 4. Zusammenfassung 19.03.2009 GENERATIVE PROGRAMMIERUNG
MehrWhiteStarUML 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/
MehrSoftware-Engineering im Sommersemester 2014
Methodische Grundlagen des Software-Engineering SS 2014 Vorlesung Methodische Grundlagen des Software-Engineering im Sommersemester 2014 Prof. Dr. Jan Jürjens TU Dortmund, Fakultät Informatik, Lehrstuhl
MehrJava 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.
MehrGuido 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
MehrDSLs 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
MehrJavadoc. 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
MehrOliver Paulus, oliver@code-project.org. 7. Februar 2006. Spring Framework Einführung. Oliver Paulus, oliver@codeproject.org. Was ist Spring?
oliver@code-project.org 7. Februar 2006 Inhalt 1 2 3 4 5 6 7 8 9 Inhalt 1 2 3 4 5 6 7 8 9 Inhalt 1 2 3 4 5 6 7 8 9 Inhalt 1 2 3 4 5 6 7 8 9 Inhalt 1 2 3 4 5 6 7 8 9 Inhalt 1 2 3 4 5 6 7 8 9 Inhalt 1 2
MehrModel-Driven Software Engineering (HS 2011)
Model-Driven Software Engineering (HS 2011) Dr. J. Küster Übungsblatt I Abgabe: Am 15.11.2011 vor der Vorlesung Voraussetzungen: Installation von Eclipse und Eclipse Modeling Framework Installation der
MehrSoftwaretechnologie - Wintersemester 2012/2013 - Dr. Günter Kniesel
Übungen zur Vorlesung Softwaretechnologie - Wintersemester 2012/2013 - Dr. Günter Kniesel Übungsblatt 10 - Lösungshilfe Aufgabe 1. CRC-Karten (7 Punkte) Es geht um die Modellierung der folgenden Bibliotheks-Anwendung:
MehrLanguage Workbench. Aktuelle Themen der Softwaretechnologie. Vortrag von: Arthur Rehm Steven Cardoso. Betreut von: Prof. Dr.
Language Workbench Vortrag von:! Aktuelle Themen der Softwaretechnologie Arthur Rehm Steven Cardoso Betreut von: Prof. Dr. Reichenbach [1] !2 Index Kontext Domain Specific Language (DSL) Language Workbench
MehrIBM Software Demos Rational Software Delivery Platform - Änderungen an Design und Architektur einer Anwendung
In dieser Demo verwendet Alex die Visualisierungs- und Modellfunktionen von Rational Software Architect, um die Architektur der Anwendung zu betrachten und festzulegen, wie die Änderung Sofort kaufen bestmöglich
MehrÄTU Clausthal. Kollaborative Modellierung im Software Engineering. Christian Bartelt. SSE-Dissertation 4. Software Systems Engineering
Mb ÄTU Clausthal Christian Bartelt Kollaborative Modellierung im Software Engineering SSE-Dissertation 4 Software Systems Engineering Institut für Informatik Lehrstuhl von Prof. Dr. Andreas Rausch Inhaltsverzeichnis
MehrGUI-Entwicklung 2: Windows Presentation Foundation
GUI-Entwicklung 2: Windows Presentation Foundation Proseminar Objektorientiertes Programmieren mit.net und C# Sandra Müller Institut für Informatik Software & Systems Engineering Agenda 1. Die WPF 2. Einführung
MehrINNOVATOR 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
MehrMelde- und Veröffentlichungsplattform Portal (MVP Portal) Hochladen einer XML-Datei
Seite 1 Melde- und Veröffentlichungsplattform Portal (MVP Portal) Hochladen einer XML-Datei Seite 2 1 Inhalt Melde- und Veröffentlichungsplattform Portal... 1 (MVP Portal)... 1 Hochladen einer XML-Datei...
MehrModellgetriebene Entwicklungsprozesse in der Praxis - eine Bestandsaufnahme. Tillmann Schall, anaptecs GmbH
Modellgetriebene Entwicklungsprozesse in der Praxis - eine Bestandsaufnahme Tillmann Schall, anaptecs GmbH : Agenda Grundlagen modellgetriebener Entwicklungsprozesse Schritte zur Einführung Erfahrungen
MehrWerkzeugunterstützung mit V-Modell XT Projektassistent und V-Modell XT Editor
Das neue Werkzeugunterstützung mit Projektassistent und Editor Dr. Marc Sihling 4Soft GmbH Motivation Generelle Zielsetzung Die Verfügbarkeit bedarfsgerechter Werkzeuge hilft bei Einarbeitung, Auseinandersetzung
MehrEINFÜHRUNG IN DIE WIRTSCHAFTSINFORMATIK -ÜBUNGEN- Marina Tropmann-Frick mtr@is.informatik.uni-kiel.de www.is.informatik.uni-kiel.
EINFÜHRUNG IN DIE WIRTSCHAFTSINFORMATIK -ÜBUNGEN- Marina Tropmann-Frick mtr@is.informatik.uni-kiel.de www.is.informatik.uni-kiel.de/~mtr FRAGEN / ANMERKUNGEN Vorlesung Neue Übungsaufgaben MODELLIERUNG
MehrPraktikum Datenbanksysteme. Ho Ngoc Duc IFIS - Universität zu Lübeck 01.06.2005
Praktikum Datenbanksysteme Ho Ngoc Duc IFIS - Universität zu Lübeck 01.06.2005 Tomcat-Installation $JAVA_HOME (z.b. /home/dbp00/j2sdk1.4.2) $CATALINA_HOME (/home/dbp00/jakarta-tomcat-4) Skripte zum Start/Stop:
MehrModel Driven Architecture
Roland Petrasch Oliver Meimberg Model Driven Architecture Eine praxisorientierte Einführung in die MDA Mit Gastbeiträgen von Florian Fieber und Karsten Thoms dpunkt.verlag Inhaltsverzeichnis Vorwort 1
MehrEinführung in Generatives Programmieren. Bastian Molkenthin
Einführung in Generatives Programmieren Bastian Molkenthin Motivation Industrielle Entwicklung *!!*,(% % - #$% #!" + '( & )!* Softwareentwicklung Rückblick auf Objektorientierung Objektorientierte Softwareentwicklung
MehrRequirements Engineering I
Norbert Seyff Requirements Engineering I UML Unified Modeling Language! 2006-2012 Martin Glinz und Norbert Seyff. Alle Rechte vorbehalten. Speicherung und Wiedergabe für den persönlichen, nicht kommerziellen
MehrModellgetriebene Softwareentwicklung
Datum: 10. Juli 2009 Themendossier Modellgetriebene Softwareentwicklung Seite 1 Einführung in das Thema Die Disziplin des Software Engineerings befasst sich bereits seit vielen Jahren mit der Frage, wie
MehrVom Geschäftsprozess zum Workflow
Jakob Freund Klaus Götzer Vom Geschäftsprozess zum Workflow Ein Leitfaden für die Praxis HANSER Inhalt 1 Einleitung 1 1.1 Die Geschichte der Prozesse 1 1.2 Aktuelle Herausforderungen 2 1.3 Business Process
MehrGATE General Architecture for Text Engineering. Alexander Hein & Erik Dießler (VL Text Analytics - 08.05.2008)
GATE General Architecture for Text Engineering Alexander Hein & Erik Dießler (VL Text Analytics - 08.05.2008) Überblick GATE Die Idee Die Architektur Was noch - JAPE / DIFF / GUK ANNIE Einige Beispiele
MehrModellgetriebene Softwareentwicklung (Model Driven Software Development - MDSD) SS 2014
Modellgetriebene Softwareentwicklung (Model Driven Software Development - MDSD) SS 2014 Wahlpflichtfach (2 SWS) für Bachelor Andreas Schmidt Einführung/Organisation 1/19 Ziele der Vorlesung Vorstellung
Mehr