Seminar Aktuelle Themen der Informatik

Größe: px
Ab Seite anzeigen:

Download "Seminar Aktuelle Themen der Informatik"

Transkript

1 Fachhochschule Furtwangen Studiengang (Computer Networking) Seminar Aktuelle Themen der Informatik Thema: Model Driven Architecture Sommersemester 2006 am: vorgelegt von: Daniel Wehrle Oskar-Bier-Str Friedenweiler MDA by Daniel Wehrle 1/17

2 Inhaltsverzeichnis 1.MDA Gründe für Modelgetriebene Entwicklung MDA in der Theorie Was genau ist MDA Konzept der MDA Business Logik Erstellung in MDA Refactoring, Reverse Engeneering Wann macht generieren Sinn Weitere MDA Hilfs-Werkzeuge Tools Arten von Tools ArcStyler OpenArchitectureWare AndroMDA Zusammenfassung der Vor- und Nachteile von MDA Vorteile: Nachteile: Zukunft von MDA MDA by Daniel Wehrle 2/17

3 1. MDA 1.1. Gründe für Modelgetriebene Entwicklung In dem modernen Softwareentwicklungsprozess kommen in den letzten Jahren zunehmend Ingenieursmäßige Konzepte und Vorgehensweisen zum Einsatz. Dadurch ist auch das Design von Software zum Gegenstand der Kommunikation geworden. Um dieses vornehmlich in grafischen Modellen beschreiben zu können, wurde die Unified Modeling Languge (UML) entwickelt. Dennoch werden heute noch viele Projekte ohne oder mit geringem Einsatz an grafischer Notation für das Design durchgeführt. Dies liegt zum Teil am Entstehen eines Buches, beim Übergang von der grafischen Modellierung hin zur Implementierung im Code. Auch werden nach diesem Übergang zumeist alle Änderungen nur noch im Code festgehalten. Mit der Model Driven Architecture hat die OMG einen viel beachteten Ansatz vorgestellt, um dieses Problem zu lösen und Modelle über den gesamten Entwicklungsprozess hinweg nutzbar zu machen.[1] In dem IEEE Artikel [2] wird die bisherige Softwareentwicklung damit verglichen, als ob ein Chip-Entwickler, nachdem er das Layout erstellt hat, dieses wegwerfen würde, um dem Waverproduzenten dieses mündlich zu erklären, damit dieser die Waver negative aufgrund des Berichtes erstellen kann. Dabei ist die Model Driven Architecture sicher nicht der erste UML zum Code Ansatz, so gab es den Round-trip-Engineering Ansatz bereits vor MDA, welcher ebenfalls Abbildungsvorschriften, um vom Modell zum Quelltext zu gelangen einsetzt. Auch gab es schon Anfang der 90er diverse Codegeneratoren für spezielle Hersteller Frameworks. Diese hatten jedoch alle die Gemeinsamkeit, dass die Generierung sowie Transformierung nicht standardisiert war, und nur für ein spezielles Framework, mit einer speziellen Middleware eingesetzt werden konnte. Somit waren diese auf die beiden Hauptmotivationen der MDA nicht ausgelegt. Diese sind laut der Object Managment Group (OMG), welche die Model Driven Architecture standardisiert, Interoperabilität und Portabilität. ([3] S. 14) Herstellerunabhängigkeit und damit Interoperabilität soll durch die Standardisierung von Modellen und Transformationen erreicht werden. Auch soll eine Unabhängigkeit von den zugrundeliegenden Plattformen (Portabilität) erreicht werden. Einen der wichtigsten daraus hervorgehenden Vorteile verspricht man sich von einer verbesserten Wiederverwendung von Komponenten. Durch die MDA können diese unabhängig von der Plattform modelliert und somit auch entwickelt werden. Bisher war es bei einem Plattformwechsel beinahe unmöglich, die Applikation oder Teile der Applikation wiederzuverwenden, da der Code auch immer plattformspezifische Information enthält. Ein Austausch der Programmiersprache erschien noch unmöglicher, da die Anwendung nur in der entsprechenden Sprache ausgedrückt vorlag. Da MDA eine Wiederverwendung des Domain Modell ermöglichen soll, stellt dies zukünftig auch ein geringeres Problem dar. ([4] S. 7 ff.) MDA by Daniel Wehrle 3/17

4 Für den Anwender bedeutet dies einen höheren Investitionsschutz, durch die Wiederverwendbarkeit des von der Plattform unabhängigen Entwurf, welcher einfach für eine neue Zielplattform generiert werden kann. Da so bei einem Plattformwechsel das von der Plattform unabhängige Modell nicht verloren geht, sondern daraus ein Großteil des Codes für die neue Plattform generiert werden kann. So sagte der OMG-Chef Soley auf der OOP 2004 in München, dass MDA eine Reaktion auf den anhaltenden Wandel der Softwareinfrastruktur sei (Corba, Java,.Net, XML, Web-Services etc.), welche sich mit herkömmlichen Mitteln nicht mehr bewerkstelligen lassen. ([5] S. 18 f.) Generell lassen sich auch neue Verfahren in der Softwareentwicklung leicht mittels MDA in bestehende Projekte integrieren. So können zusätzliche Dateien oder Statements für neue Entwicklungskonzepte leicht zusätzlich in einen bestehenden Code generiert werden, ohne die benötigten Änderungen von Hand vornehmen zu müssen. Zum Beispiel kann so die Service Oriented Architecture oder die Aspekt Orientierte Programmierung mittels des Generators in das bestehende Projekt mit integriert werden, ohne alle Klassen und Konfigurationen einzeln anpassen zu müssen. Solle dies einmal nicht den erhofften Nutzen bringen, kann es über das Verwenden des alten Generators auch genau so einfach wieder entfernt werden. Abbildung 1: Die Probleme der Wiederverwendung MDA by Daniel Wehrle 4/17

5 1.2. MDA in der Theorie Was genau ist MDA MDA ist eine Standardisierungsinitziative der Object Managment Group (OMG), welche auf der Idee beruht, dass Modellierung eine bessere Weise ist, um Anwendungen zu entwickeln. Außerdem ist sie ein Zertifikat für Produkte, welche diesen Standard umsetzen und eine Reihe von Techniken und Technologien, die mit diesem Standard verbunden sind. ([4] S. XX) MDA basiert auf Standards wie der Unified Modeling Language (UML) und der XML Metadata Interchange (XMI). Vieles von ihr ist jedoch noch Zukunftsmusik, der grundsätzliche Ansatz über das Architekturdesign zur konkreten Implementierung zu kommen, findet jedoch in den ersten Projekten Anklang. ([5] S. 18 f.) Es existieren auch andere Abkürzungen wie MDD (Model Driven Design), DDD (Domain Driven Design) oder MDSD (Model Driven Software Development). Hierbei handelt es sich um ähnliche Konzepte wie bei der MDA, welche sich jedoch zumeist nicht an die Spezifikation von der OMG halten. Meist dient nicht nur UML als Grundlage für die Generierung, sondern es kommen auch herstellerspezifische Erweiterungen oder eigens für die Tools entwickelte Modelle und Meta Modelle zum Einsatz. [6] Und [3] Konzept der MDA In der Model Driven Architecture wird zwischen Modellen mit verschiedenen Detailierungsgraden unterschieden: CIM (Computation Independent Model) für die umgangssprachliche Beschreibung der Anwendung. PIM (Platform Independent Model), von der Zielplattform unabhängiges Model der Anwendung. PSM (Platform Specific Model), Model welches auch Informationen speziell für die Zielplattform beinhaltet. Quellcode, die Zielplattform MDA by Daniel Wehrle 5/17

6 Abbildung 2: Vom CIM zum Code Das CIM findet dabei in der Literatur nicht immer Erwähnung, da es sich hierbei nur um Entwürfe handelt, welche für die Codegenerierung nicht oder nicht direkt verwendet werden können. Dies sind zum Beispiel Use Cases oder andere Dokumente welche die Benutzererwarungen in einem sehr sprachlichen Stil erfassen. Das Plattform Independent Model hingegen ist das Zentrale Model in der MDA, da es das von der Zielplattform unabhängige Design repräsentiert. Dadurch wird eine Wiederverwendung des PIMs für eine andere Plattform ermöglicht. Das Plattform Specific Model soll durch die Nutzung von automatisierten Abbildungen aus dem PIM gewonnen werden. Dies soll ein Verlassen der Werkzeugumgebung verhindern und das Model mit dem Quelltext synchron halten. Im Endeffekt steht im PSM das gesamte Wissen über die Zielplattform zur Verfügung. Jedoch reichen dazu die im PIM gegeben Informationen nicht aus, so dass das generierte PSM noch verfeinert werden muss. Da Regeln für die Transformation vom PIM zum PSM schwer zu definieren sind, und das Reverse Engineering noch nicht standardisiert ist, verzichten so gut wie alle MDA Werkzeuge auf die explizite Erzeugung eines PSM Modells. [1] Oftmals werden deshalb auch plattformspezifische Merkmale über Annotationen an die Modellelemente im PIM geheftet, welche dann von den entsprechenden Generatoren verarbeitet werden. Dem Transformationsschritt vom PIM zum PSM kommt dabei jedoch eine entscheidende Bedeutung zu. Die Qualität der Transformation beeinflusst direkt die Qualität des Endproduktes. Daher fällt ein wesentlicher Teil des Programmieraufwandes innerhalb eines durch MDA unterstützten Projektes für die Erstellung und Anpassung des MDA by Daniel Wehrle 6/17

7 Generators an. Dieser zusätzliche Aufwand macht sich aber zumeist nur langfristig bezahlt, wenn man mehrere Projekte auf der gleichen Basis abwickelt und so den einmal erstellten Generator wiederverwenden kann. [6] Abbildung 3: Design Phasen MDA Durch diese Aufteilung wird der Abstraktionsgedanke in der Softwareentwicklung konsequent weiter geführt. Beispielsweise stellte des C++ Code eine höhere Abstraktion als Assembler dar, bei dem sich die Plattform (in diesem Fall der Prozessor) einfach durch den Austausch des C++ Compilers wechseln lässt. Durch MDA geht man einen Schritt weiter und entwickelt zunächst ein Modell anstelle von Code, welches zunächst von der Hardware- und Softwareumgebung unabhängig ist (Platform Independent Model) und als Vorlage für die Codegenerierung dient. [7] Einige gehen sogar so weit und erzeugen aus dem Modell direkt die entsprechenden ausführbaren Dateien. Das Problem stellt in diesem Fall zumeist die Erzeugung der Business Logik dar. Darunter versteht man die Teile des Programmes, welche sich nicht in dem abstrakten UML Modell festhalten lassen, sondern für das jeweilige Projekt sehr individuelle Eigenschaften aufweisen. In der zunehmenden Abstrahierung sehen viele eine Lösung für die immer komplexer werdenden Softwareprojekte, bei denen heute schon bis zu 100 Entwickler keine Seltenheit mehr sind. Da dieser Trend sich auch weiter fortsetzen wird, könnte eine weitere Abstrahierung dank MDA ein Weg sein, um die Erstellung von lauffähigen Programmen auch weiterhin zu gewährleisten. [6] MDA by Daniel Wehrle 7/17

8 Abbildung 4: Höhere Abstraktion geht mit der zeitlichen Entwicklung von Programmiersprachen einher Business Logik Erstellung in MDA Die Geschäftslogik wird direkt in den Operationen oder den dynamischen Diagrammen (State-, Activity- und Collaborationdigrammen) hinterlegt. Innerhalb des Modells kann diese in den Operationen mittels einer herstellerspezifische Action Sementic Language (ASL) oder über programmiersprachenspezifischen Syntax erfolgen. Es gibt jedoch auch die Möglichkeit, den Buisnesscode nicht im Modell, sondern im geschützten Bereich des Codes zu hinterlegen. [7] Beim Umgang mit manuell erzeugten Erweiterungen an den generierten Artefakten, gibt es unterschiedliche Ansätze. Bei einigen Tools muss man von den generierten Klassen ableiten oder delegieren, häufig werden auch geschützte Bereiche, meist als protected areas bezeichnet, eingesetzt Refactoring, Reverse Engeneering Das Erstellen von Artefakten aus einem Modell wird als Forward Engineering (FE) bezeichnet. Wenn Änderungen zurück ins Modell übernommen werden, so bezeichnet man dies als Reverse Engeneering (RE). Wird beides zusammen verwendet, spricht man von Roundtrip Engeneering (RTE). Da der Entwickler zumeist nicht alle Tätigkeiten im Modell durchführen kann, sollte RE unterstützt werden, damit er nicht immer gezwungen ist, Änderungen zuerst im Modell durchzuführen. Leider sind solche Rückabbildungsvorschriften sehr schwer zu finden und zu definieren, insbesondere wenn man nicht jede unnötige Kleinigkeit mit ins Modell aufnehmen MDA by Daniel Wehrle 8/17

9 will. Deshalb wird das Reverse Engeneering von den wenigsten Tools unterstützt. Auch hat noch kein Hersteller einen Weg gefunden, dem Benutzer die Möglichkeit zu geben, diese Vorschriften selbst anzupassen Wann macht generieren Sinn Generierung von Artefakten mach dann Sinn, wenn die Entwicklung innerhalb eines Projektes durch einen festen Prozess vorgegeben ist, bei welchem zunächst ein UML Modell erstellt wird und dann darauf aufbauend die Software entwickelt wird. In diesem Fall bietet die Generierung der daraus erzeugbaren Artefakte erhebliche Vorteile. Diese müssen nicht mehr von Hand implementiert werden, außerdem werden Abbildungsfehler werden ebenfalls vermieden. Probleme können nun auftreten, wenn die weiteren Änderungen lediglich im Code stattfinden. So macht in diesem Fall eine weitere Verwendung von MDA keinen Sinn, insbesondere wenn das MDA Tool kein Reverse Engineering unterstützt. Wenn der Entwicklungsprozess jedoch so angelegt ist, dass eine Änderung zuerst im Code erfolgt, dann stellt auch das Fehlen von Reverse Engeneering Methoden kein Problem dar. Dies hängt jedoch auch von der Einstellung der Mitarbeiter ab, ob diese bereit sind, Änderungen zuerst im Modell vorzunehmen, um sie dann generativ in den Code zu übernehmen. Nicht zuletzt wird hierbei jedoch auch bei jeder Abwandlung des Modells ein Perspektivenwechsel innerhalb der Entwicklung notwendig. Wenn der generierte Code jedoch zumindest so abgewandelt werden kann, dass Änderungen durch eine neue Generierung nicht verloren gehen, dann kann zumindest eine spätere Verfeinerung des Modells ermöglicht werden. Jedoch kann es auch sein, dass bei der Generierung entstandene Metainformationen in den Artefakten von der Entwicklungsumgebung überschrieben oder gelöscht werden, und somit für den Generator verloren gehen. Dies kann zum Beispiel bei der Kennzeichnung geschützter Bereiche auftreten, und die Verwendung von diesen innerhalb bestimmter Dateien verhindern. Da sich durch die Model Driven Architecture der Entwicklungsschwerpunkt von dem Sourcecode in das UML Modell verlagert, ist es notwendig, dass sich das Team in UML sehr gut zurecht findet Weitere MDA Hilfs-Werkzeuge Um sicherzustellen, dass ein Modell sich auch in ein anderes Modell bzw. Code übersetzen lässt, ist in der Model Driven Architecture die Modellverifizierung vorgesehen. Hierbei kann es sich um statische, syntaktische und semantische Prüfungen handeln, manche Tools ermöglichen auch die Erweiterung der Verifikation über Scriptsprachen oder spezielle Modellierungen. Wenn möglich soll die Generierung nicht statisch erfolgen sondern erweitert werden können, damit der Generator an die individuellen Projektanforderungen angepasst werden kann. Wie und ob diese Erweiterungen möglich sind, hängt von den einzelnen Tools ab. Einige bieten eine eigene Modellierungssprache um Generatoren zu entwickeln, andere setzen hier auf Skriptsprachen oder Templates. Einige Tools gehen MDA by Daniel Wehrle 9/17

10 auch davon aus, dass die Information über die Abbildung von Elementen in einen Code innerhalb des MetaModells anzusiedeln sind. Diese bieten deshalb die Möglichkeit einer Erweiterung oder Änderung des Metamodells an. Einige Tools ermöglichen das Erstellen eines Modell Reports, welcher zur Dokumentation der Entwicklung sowie der Generierung dienen kann.[7] 1.3. Tools Arten von Tools Generell kann man drei verschiedenen Arten von MDA Tools unterscheiden: Vollständige MDA Engeens X-UML Tools/Engeens Codegeneratoren Die Gruppe der Vollständigen MDA Tools beinhaltet immer ein UML Tool und einen Generator. Zumeist sind auch Generatoren sowohl für Model 2 Code als auch für Model 2 Model enthalten. Auch unterstützen diese Tools oftmals Roundtrip Engeneering. Manche von diesen Tools sind bereits vollständig in eine IDE integriert um dem Benutzer eine möglichst einheitliche Entwicklungsoberfläche zu bieten und ein ständiges Springen von einer zur anderen Anwendung zu ersparen. Beispiele dafür sind: Ameos von Aonix Real-Time Studio von Artisan Rapsody von I-Logix TAU von Telelogic Rational Software Architect von IBM Optimal J von Compuware Together von Borland ArcStyler von Interactive Objects MetaEdit+ von MetaCase ObjectIF von MicroTool Innovator von MID X-UML Tools führen das Modell zumeist direkt in einer Virtuallen XML-Maschine aus oder generieren direkt den ausführbaren Bytecode. Deshalb besitzen sie zumeist eine eigene ASL Syntax, um die Businesslogik zu spezifizieren. Beispiele hierfür sind: iuml von Kennedy Carter Cassandra xuml von KnowGravity OpenMDX von Omex Codegeneratoren sind meist recht einfach gestrickte Open Source Tools, welche das Verwenden von verschiedenen Template oder Scripten zur Generierung aus verschiedenen UML Tools ermöglichen. Dazu wird zumeist ein XMI Importer zum Import der Modelle bereit gestellt, auf welchem eine vom User spezifizierte Model 2 Code Transformation abläuft. Dies Tools verzichten zumeist vollkommen auf die MDA by Daniel Wehrle 10/17

11 Erstellung eines PSMs, der Code wird von dem Generator direkt in den Sourcecode umgewandelt. Beispiele hierfür sind: Open ArchitektureWare von b + m Informatik (open source) SmartGenerator von BITPlan XCoder von dem Xcoder-Project (open source) Iqgen von InnoQ AndroMDA (open source) ArcStyler Der ArcStyler ist eine Softwareentwicklungsplattform für die automatisierte Generierung von Softwareartefakten aus UML-Modellen, basierend auf der Model Driven Architecture. Er wird von der Firma Interactive Objects Software GmbH in Freiburg entwickelt. Der ArcStyler ist in Java geschrieben, um Plattformunabhängigkeit zu erreichen. Leider wurde dadurch eine hohe Anforderung an den Arbeitsspeicher, sowie die Prozessorleistung notwendig. Auch muss man zumeist lange auf das Laden und Generieren von Modellen warten. Der ArcStylers ist auf den gesamten Lebenszyklus eines Enterprise Softwaresystems fokussiert: Von Analyse, Entwurf, Entwicklung bis hin zur Verteilung und den Tests. Als UML-Modellierungswerkzeug ist Magic Draw der Firma No Magic integriert. Die interne Struktur des ArcStylers wird durch Abbildung 3 grob skizziert. Der ArcStyler besteht aus 3 Modulen, diese sind: Abbildung 5: Interner Aufbau des ArcStyler Ein Modell Repository, welches den Zugriff auf das Modell über MOF oder UML erlaubt. Dem integrierten Modellierungstool, Magic Draw von No Magic. Einer MDA Engine, welche das Einbetten einer MDA-Cartridge ermöglicht. Die konkrete Generierung übernimmt dann diese eingebettete MDA-Cartridge. MDA by Daniel Wehrle 11/17

12 Verbunden werden diese durch den Tool Adapter Standard (TAS). Die Entwicklung von eigenen MDA-Cartridges wird durch die Cartridge Architecture (CARAT) ermöglicht. CARAT wird zur Modellierung von MDA-Cartridges und der anschließenden automatischen Generierung der Implementierung der MDACartridges aus den Modellen eingesetzt. Somit wird auch für die Erstellung von Transformationen der MDA-Ansatz verwendet und es können Konzepte wie Wiederverwendung und Spezialisierung von MDA-Cartridges genutzt werden. Die Cartridges selber werden nach Jpython generiert. In den generierten Dateien muss noch die konkrete Syntax ergänzt werden um die Generierung der Artefakte zu ermöglichen. Der ArcStyler ist von Haus aus mit folgenden Cartridges ausgestattet: Java EJB 1.1 / 2.0 IBM WebSphere, BEA WebLodig, JBoss C#.Net Java Accessors Auf die explizite Generierung eines PSM wird verzichtet, die plattformspezifischen Informationen werden mittels Marksets im Modell hinterlegt. Diese werden als UML Tagged Values gespeichert. Diese Informationen werden bei der Generierung für eine spezielle Plattform zur Generierung genutzt. Der ArcStyler ist eines der ersten Tools, welches einen Prototyp für die Query View Transformation besitzt. Hierbei handelt es sich um einen noch nicht vollständig spezifizierten und verabschiedeten OMG Standard für die Modell zu Modell Generierung OpenArchitectureWare OpenArchitectureWare ist ebenfalls ein Framework, zur Modell getriebenen Entwicklung. Dabei existieren keine vorgefertigten Cartridges (zur Erzeugung von beispielsweise C# Code) Applikationen, sondern nur das reine Framework zur Generierung von Applikationen mittels einem vorhandenen Metamodell. Die Cartridges müssen entweder gekauft oder selbst entwickelt werden. Der Ursprung des Projektes ist eine Entwicklung der b+m Informatik AG, welche den Open ArchitectureWare auch weiterhin kommerziell vermarktet. Deshalb stellt b+m auf ihren Web-Seiten weitere Artikel rund um das Open ArchitectureWare Framework zu Verfügung. An der Projektentwicklung nehmen sowohl Entwickler aus dem reinen Open- Source Bereich, als auch Entwickler von b+m teil. Das Open ArchitectureWare Framework arbeitet mit dem Ansatz, dass zu einem Modell immer ein Metamodell existiert. Ziel ist es dabei mittels des validen Metamodells, Code zu generieren. Der Ansatz ist vergleichbar mit dem Ansatz den UML verfolgt. Das UML Modell selber definiert sich als Metamodell, während das eigentliche Applikationsmodell ein Modell ist. Deshalb findet der größte Teil der Generierung in dem Metamodell statt, da dieses die Abbildungsregeln des repräsentierten Elements in den Source Code kennt und schreibt. MDA by Daniel Wehrle 12/17

13 Als Eingabedaten verwendet der Generator ein Modell. Dieses wird von einem Parser geparst; der daraus entstehende Parserbaum wird dann vom Metamodellinstantiator unter Verwendung des konfigurierbaren Metamodells instantiiert. Das Eingabeformat ist dabei austauschbar, da verschiedene Parser im Generator verwendet werden können. Bei Open ArchitectureWare kommt dabei XMI zum Einsatz, welches zur Beschreibung von UML Modellen in Textform und zum Diagrammaustausch verwendet werden kann. Nach der Instantiierung des Metamodells kann, basierend auf der Metamodellinstanz, die eigentliche Codegenerierung stattfinden. Als Benutzer des Open ArchitectureWare Frameworks muss man nun das UML Metamodell an seine eigenen Bedürfnisse anpassen. Dies geschieht zum Beispiel mittels Stereotypen und Tagging. Wird später ein Modell geparst, werden die aufgetretenen Stereotypen (also aus dem UML Metamodell verfeinerte Klassen) gegen das entsprechende Element im Metamodell zu instantiieren versuchen. Damit die richtige Klasse instantiiert wird, gibt es eine Metamap Tabelle, die die entsprechenden Stereotypen bestimmten Klassen zuordnet. Diese Konfiguration ist in einer XML Datei enthalten und kann innerhalb von dieser angepasst werden. Gibt es für ein bestimmten Stereotyp keine Klasse, wird die nächst höhere Klasse im Vererbungsbaum instantiiert (z.b. Class statt BesondereClass, wenn BesondereClass Stereotyp ist und Class erweitert). Der Codegenerierungsprozess selber benutzt Templates um den Code zu erzeugen. Als Templateengine wird dabei XPand benutzt. Diese wurde von b+m im Zuge von Open ArchitectureWare entwickelt. Ein Template besteht grundsätzlich aus zwei Aspekten: Dem Code, der über die Metamodellinstanz iteriert, sowie dem zu generierenden Quellcode, gegebenenfalls mit Zugriff auf Attribute des Metamodells. Der OpenArchitectureWare ist vollständig in Eclipse integriert. Dazu existieren mehrere Plug ins um zum Beispiel die benötigten Templates anpassen zu können. Die Generierung selbst wird mittels Apache ANT gesteuert und ausgeführt. Aufgrund der ANT Eclipse Plug ins ist ein Verlassen der IDE dazu nicht notwendig AndroMDA Bei AndroMDA handelt es sich um ein in Java entwickeltes MDA-Tool, welches als Open-Source-Projekt unter der BSD-Lizenz veröffentlicht wird. Die Dokumentation erfolgt ausschließlich über die offizielle Homepage. Zusätzlich existieren wie bei OpenArchitectureWare kostenpflichtige Beratungs- und Schulungsangebote von den Entwickler bereitgestellt. Das Projekt beschäftigt sich bisher nur mit der Entwicklung eines Generatorkerns, eine integrierte Entwicklungsumgebung oder ein integriertes Modellierungstool existieren nicht. Kernkomponente von AndroMDA ist ein Template-basierter Generator, der aus UML- Modellen Quellcode für beliebige Plattformen und Programmiersprachen generiert. Hierzu werden ebenfalls UML-Modelle mittels XMI eingelesen. Die Anpassung der Codegenerierung an eine spezifische Plattform erfolgt mittels Cartridges, aus JAR-Archive, welche Java-Klassen enthalten, die Metafacades darstellen, sowie Templates, die als Schablonen für den zu generierenden Quellcode dienen. MDA by Daniel Wehrle 13/17

14 AndroMDA kommt dabei als Plugin in das Projekt Build Management Tools Maven daher. Als Alternative kann auch das nicht vollständig unterstützte Apache Ant benutzt werden. Die Standard Java XML Parsing Technologie wird zum Einlesen der XMI Modelle verwendet. Die Template Engine Velocity stellen hingegen das Kernstück der Code Erzeugung dar, der Code wird deshalb aus Velocity Templates generiert. AndroMDA verfolgt das Konzept, manuelle Ergänzungen nicht direkt im Generat vorzunehmen. Stattdessen soll von jeder generierten Klasse eine Klasse mit manuellem Code abgeleitet werden (dafür wird einmalig eine Vorlage generiert), um den manuellen Code zu isolieren und zu schützen Zusammenfassung der Vor- und Nachteile von MDA Vorteile: Verbesserung des Entwicklungsprozesses. Kein Bruch in einem Entwicklungsprozess, da diese von der Erstellung einer Spezifikation über ein Modells hin zum Code erfolgt. Die automatisch Generierung von Code direkt aus dem Modell, beschleunigt die Entwicklung von Softwareprojekten. Reduktion der Fehler in der Entwicklung. Der generiertete Code weist keine Fehler auf. Redundanzen innerhalb von Artefakten werden (z.b. zwischen den Deploymentdiscriptoren und den Klassen) durch Modell und Generierung immer synchron gehalten. Investitionsschutz: Durch stark erhöhte Wiederverwendbarkeit durch die Unabhängigkeit von der Plattform (Middleware, Betriebssystem, Hardware) Nachteile: Noch nicht ausgereifte Technologie Durch die ungenügende Spezifizierung von XMI ist eine Übertragung des Modells von einem zum nächsten zumeist nur schwer möglich. Während der Implementierungsphase muss zumeist ständig zwischen Modell und Code hin und her geschaltet werden, um Änderungen vorzunehmen. Dies wird sich erst verbessern, wenn die MDA Tools vollständig in die Entwicklungsumgebung integriert werden. Einige Diagramme und Modell-Elemente, welche für MDA gebraucht werden, sind in UML 1.x noch nicht vorhanden. Da UML 2.0 jedoch von den wenigsten Tools unterstützt wird, können aktuell wichtige Abbildungen im Modell noch nicht vorgenommen werden. Probleme durch fehlendes Round Trip Engeneering MDA by Daniel Wehrle 14/17

15 Der bereits implementierte Sourcecode kann verlorengehen, wenn man das System ummodelliert oder Teile neu designt werden. Ein MDA Projekt muss zumeist als solches gestartet werden, bei einer späteren Umstellung gehen zumeist Teile des Source Codes verloren. Vergrößerung des initialen Projektaufwandes durch: Vergrößerung des Lernaufwandes, um mit der Model Driven Architecture umgehen zu können. Die nötige Entwicklungszeit, um speziell für das Projekt eine Cartridge zu erstellen, kommt zur eigentlichen Entwicklungszeit hinzu Zukunft von MDA Mit der Freigabe von UML 2.0 und einer immer breiter werdenden Unterstützung von der neuen Spezifikation, werden auch die Möglichkeiten zur Code Generierung immer besser. Auch werden die Entwicklungsprozesse immer weiter verbessert, so dass in naher Zukunft fast immer zuerst ein Modell und daraus der Code erstellt wird, was einen Einsatz der MDA stark vereinfachen wird. Experten schätzen sogar, dass in nicht mehr all zu weit entfernter Zukunft die UML / MDA Tools die heutigen Programmiersprachen komplett ablösen und ersetzen werden. So wie bereits Tools im Chip- und Elektronik-Entwicklungs-Umfeld existieren, direkt die Softwareentwicklung übernehmen werden. Siehe hierzu [2] Um dieses Ziel zu erreichen, wird derzeit hart an Mitteln zur Realisierung von Modell zu Modell Transformation gearbeitet, sowie an Techniken zum Round-Trip-Engeneering geforscht und entwickelt. MDA by Daniel Wehrle 15/17

16 Literaturverzeichnis [1] Sturm, Thorsten; Bogner, Marko, Softwareentwicklung auf Basis der Model Driven Architecture, 2003, HMD Praxis der Wirtschaftsinformatik, 231 [2] Uhl, Axel, MDA is ready fort Prime Time, 2003, IEEE Computer Society, 3/2003 [3] Völler, Markus; Stahl, Thomas, Modellgetriebene Softwareentwicklung, 2005, 1. Auflage, dpunkt, Heidelberg [4] Mellor, Stephen J.; Scott, Kendall; Uhl, Axel; Weise, Dirk, MDA Distilled, 2004, 1. Auflage, Addison-Wesley, Bosten [5] Unbekannt, MDA, neuer Ansatz soll Entwicklung effektiver machen, 2004, Computer Woche, 5/2004 [6] Zockoll, Guido, Angetrieben, MDA: Schon da gewesen oder wirklich neu?, 2005, ix, 8/2005 [7] Merkle, Bernhard, Designermodelle, MDA: Überblick über die Tool-Landschaft, 2005, ix, 5/2005 MDA by Daniel Wehrle 16/17

17 Abbildungsverzeichnis Abbildung 1: Die Probleme der Wiederverwendung... 4 Abbildung 2: Vom CIM zum Code... 6 Abbildung 3: Design Phasen MDA...7 Abbildung 4: Höhere Abstraktion geht mit der zeitlichen Entwicklung von Programmiersprachen einher...8 Abbildung 5: Interner Aufbau des ArcStyler MDA by Daniel Wehrle 17/17

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

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

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

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

Model Driven Architecture (MDA)

Model Driven Architecture (MDA) Model Driven Architecture (MDA) Vortrag im Fach Software Engineering II BA Mannheim / Fachrichtung Angewandte Informatik Torsten Hopp Gliederung Einleitung Motivation Grundzüge der MDA Ziele & Potenziale

Mehr

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

Systemdenken und Gestaltungsmethodik System-Modellierung

Systemdenken 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

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

Generative Prozessmodelle Patrick Otto MDD Konferenz 22.03.2009

Generative 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

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

Downloadfehler in DEHSt-VPSMail. Workaround zum Umgang mit einem Downloadfehler

Downloadfehler in DEHSt-VPSMail. Workaround zum Umgang mit einem Downloadfehler Downloadfehler in DEHSt-VPSMail Workaround zum Umgang mit einem Downloadfehler Downloadfehler bremen online services GmbH & Co. KG Seite 2 Inhaltsverzeichnis Vorwort...3 1 Fehlermeldung...4 2 Fehlerbeseitigung...5

Mehr

10 Erweiterung und Portierung

10 Erweiterung und Portierung 10.1 Überblick In vielen Fällen werden Compiler nicht vollständig neu geschrieben, sondern von einem Rechnersystem auf ein anderes portiert. Das spart viel Arbeit, ist aber immer noch eine sehr anspruchsvolle

Mehr

Version smarter mobile(zu finden unter Einstellungen, Siehe Bild) : Gerät/Typ(z.B. Panasonic Toughbook, Ipad Air, Handy Samsung S1):

Version smarter mobile(zu finden unter Einstellungen, Siehe Bild) : Gerät/Typ(z.B. Panasonic Toughbook, Ipad Air, Handy Samsung S1): Supportanfrage ESN Bitte füllen Sie zu jeder Supportanfrage diese Vorlage aus. Sie helfen uns damit, Ihre Anfrage kompetent und schnell beantworten zu können. Verwenden Sie für jedes einzelne Thema jeweils

Mehr

EINFÜ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. 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

Mehr

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

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

Mehr

Ein mobiler Electronic Program Guide

Ein mobiler Electronic Program Guide Whitepaper Telekommunikation Ein mobiler Electronic Program Guide Ein iphone Prototyp auf Basis von Web-Technologien 2011 SYRACOM AG 1 Einleitung Apps Anwendungen für mobile Geräte sind derzeit in aller

Mehr

Model Driven Architecture

Model Driven Architecture Model Driven Architecture Wilhelm Stephan Universität Hamburg Fakultät für Mathematik, Informatik und Naturwissenschaften Seminar Softwareentwicklung in der Wissenschaft Betreuer: Julian Kunkel SommerSemester

Mehr

Ein Blick voraus. des Autors von C++: Bjarne Stroustrup. 04.06.2005 Conrad Kobsch

Ein Blick voraus. des Autors von C++: Bjarne Stroustrup. 04.06.2005 Conrad Kobsch Ein Blick voraus des Autors von C++: Bjarne Stroustrup 04.06.2005 Conrad Kobsch Inhalt Einleitung Rückblick Nur eine Übergangslösung? Was würde C++ effektiver machen? Quelle 2 Einleitung Wo steht C++,

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

Grundlagen Software Engineering

Grundlagen 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

Mehr

Was ist EMF? Wie wird EMF eingesetzt? Was ist ecore? Das Generatormodell Fazit

Was ist EMF? Wie wird EMF eingesetzt? Was ist ecore? Das Generatormodell Fazit Was ist EMF? Wie wird EMF eingesetzt? Was ist ecore? Das Generatormodell Fazit EMF ist ein eigenständiges Eclipse-Projekt (Eclipse Modeling Framework Project) EMF ist ein Modellierungsframework und Tool

Mehr

Generatives Programmieren

Generatives Programmieren Generatives Programmieren Seminar Produktlinien WS03/04 Tammo van Lessen 08.01.2004 Outline Einleitung Generatoren Generatives Programmieren Fazit Einleitung Industrielle Entwicklung 1826 Austauschbare

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

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

Wie Sie mit Mastern arbeiten

Wie Sie mit Mastern arbeiten Wie Sie mit Mastern arbeiten Was ist ein Master? Einer der großen Vorteile von EDV besteht darin, dass Ihnen der Rechner Arbeit abnimmt. Diesen Vorteil sollten sie nutzen, wo immer es geht. In PowerPoint

Mehr

Mandant in den einzelnen Anwendungen löschen

Mandant in den einzelnen Anwendungen löschen Mandant in den einzelnen Anwendungen löschen Bereich: ALLGEMEIN - Info für Anwender Nr. 6056 Inhaltsverzeichnis 1. Allgemein 2. FIBU/ANLAG/ZAHLUNG/BILANZ/LOHN/BELEGTRANSFER 3. DMS 4. STEUERN 5. FRISTEN

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

VL2: Softwareprojekt - Anforderungsanalyse. Inhalt. 1. Struktur eines Softwareprojektes

VL2: Softwareprojekt - Anforderungsanalyse. Inhalt. 1. Struktur eines Softwareprojektes Dozent: G.Döben-Henisch (Version vom 16.April 2005) PPmP VL2 VL2: Softwareprojekt - Anforderungsanalyse Inhalt 1. Struktur eines Softwareprojektes 2. Anforderungsanalyse 1. Struktur eines Softwareprojektes

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

Produktvorstellung: CMS System / dynamische Webseiten. 1. Vorwort

Produktvorstellung: CMS System / dynamische Webseiten. 1. Vorwort ALEX IT-Service Ihr IT Servicepartner»ALEX-IT Service«16341 Panketal an unsere Kundschaft Ihr Zeichen, Ihre Nachricht Unser Zeichen Telefon, Name Datum CMS 13.01.2010 Produktvorstellung: CMS System / dynamische

Mehr

Informationssystemanalyse Problemstellung 2 1. Trotz aller Methoden, Techniken usw. zeigen Untersuchungen sehr negative Ergebnisse:

Informationssystemanalyse Problemstellung 2 1. Trotz aller Methoden, Techniken usw. zeigen Untersuchungen sehr negative Ergebnisse: Informationssystemanalyse Problemstellung 2 1 Problemstellung Trotz aller Methoden, Techniken usw. zeigen Untersuchungen sehr negative Ergebnisse: große Software-Systeme werden im Schnitt ein Jahr zu spät

Mehr

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

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

Mehr

PHP - Projekt Personalverwaltung. Erstellt von James Schüpbach

PHP - Projekt Personalverwaltung. Erstellt von James Schüpbach - Projekt Personalverwaltung Erstellt von Inhaltsverzeichnis 1Planung...3 1.1Datenbankstruktur...3 1.2Klassenkonzept...4 2Realisierung...5 2.1Verwendete Techniken...5 2.2Vorgehensweise...5 2.3Probleme...6

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

TTS - TinyTimeSystem. Unterrichtsprojekt BIBI

TTS - TinyTimeSystem. Unterrichtsprojekt BIBI TTS - TinyTimeSystem Unterrichtsprojekt BIBI Mathias Metzler, Philipp Winder, Viktor Sohm 28.01.2008 TinyTimeSystem Inhaltsverzeichnis Problemstellung... 2 Lösungsvorschlag... 2 Punkte die unser Tool erfüllen

Mehr

Robot Karol für Delphi

Robot Karol für Delphi Robot Karol für Delphi Reinhard Nitzsche, OSZ Handel I Version 0.1 vom 24. Januar 2003 Zusammenfassung Nach der Einführung in die (variablenfreie) Programmierung mit Robot Karol von Freiberger und Krško

Mehr

Bedienungsanleitung: Onlineverifizierung von qualifiziert signierten PDF-Dateien

Bedienungsanleitung: Onlineverifizierung von qualifiziert signierten PDF-Dateien Sie haben von der VR DISKONTBANK GmbH ein signiertes PDF-Dokument (i.d.r. eine Zentralregulierungsliste mit dem Status einer offiziellen Rechnung) erhalten und möchten nun die Signatur verifizieren, um

Mehr

Gästeverwaltung. Gästestammdaten. Gäste verwalten. Hotelsoftware für Klein- und Mittelbetriebe

Gästeverwaltung. Gästestammdaten. Gäste verwalten. Hotelsoftware für Klein- und Mittelbetriebe Gästeverwaltung Hotelsoftware für Klein- und Mittelbetriebe Gästestammdaten Gäste verwalten Gästeverwaltung für Windows ermöglicht Ihnen die komfortable Erfassung Ihrer Gästestammdaten und stellt diese

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

Dokumentation. Schnittstelle IKISS Bayerischer Behördenwegweiser. Stand: 2008-10-21

Dokumentation. Schnittstelle IKISS Bayerischer Behördenwegweiser. Stand: 2008-10-21 Dokumentation Schnittstelle IKISS Bayerischer Behördenwegweiser Stand: 2008-10-21 Copyright 2008 Advantic Systemhaus GmbH. Alle Rechte vorbehalten. Dokumentationsmaterial, das von der Advantic Systemhaus

Mehr

Matrix42. Use Case - Sicherung und Rücksicherung persönlicher Einstellungen über Personal Backup. Version 1.0.0. 23. September 2015 - 1 -

Matrix42. Use Case - Sicherung und Rücksicherung persönlicher Einstellungen über Personal Backup. Version 1.0.0. 23. September 2015 - 1 - Matrix42 Use Case - Sicherung und Rücksicherung persönlicher Version 1.0.0 23. September 2015-1 - Inhaltsverzeichnis 1 Einleitung 3 1.1 Beschreibung 3 1.2 Vorbereitung 3 1.3 Ziel 3 2 Use Case 4-2 - 1 Einleitung

Mehr

MORE Profile. Pass- und Lizenzverwaltungssystem. Stand: 19.02.2014 MORE Projects GmbH

MORE Profile. Pass- und Lizenzverwaltungssystem. Stand: 19.02.2014 MORE Projects GmbH MORE Profile Pass- und Lizenzverwaltungssystem erstellt von: Thorsten Schumann erreichbar unter: thorsten.schumann@more-projects.de Stand: MORE Projects GmbH Einführung Die in More Profile integrierte

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

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

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

Barcodedatei importieren

Barcodedatei importieren Barcodedatei importieren Inhaltsverzeichnis 1 Schnittstelle Barcodedatei importieren... 2 1.1 Funktion... 2 1.2 Konfiguration... 2 1.2.1 Lizenz... 2 1.2.2 Einstellungen... 2 1.2.3 Vorarbeiten... 3 1.2.3.1

Mehr

Comparing Software Factories and Software Product Lines

Comparing Software Factories and Software Product Lines Comparing Software Factories and Software Product Lines Martin Kleine kleine.martin@gmx.de Betreuer: Andreas Wuebbeke Agenda Motivation Zentrale Konzepte Software Produktlinien Software Factories Vergleich

Mehr

ecaros2 - Accountmanager

ecaros2 - Accountmanager ecaros2 - Accountmanager procar informatik AG 1 Stand: FS 09/2012 Inhaltsverzeichnis 1 Aufruf des ecaros2-accountmanager...3 2 Bedienung Accountmanager...4 procar informatik AG 2 Stand: FS 09/2012 1 Aufruf

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

Anton Ochsenkühn. amac BUCH VERLAG. Ecxel 2016. für Mac. amac-buch Verlag

Anton Ochsenkühn. amac BUCH VERLAG. Ecxel 2016. für Mac. amac-buch Verlag Anton Ochsenkühn amac BUCH VERLAG Ecxel 2016 für Mac amac-buch Verlag 2 Word-Dokumentenkatalog! Zudem können unterhalb von Neu noch Zuletzt verwendet eingeblendet werden. Damit hat der Anwender einen sehr

Mehr

Free your work. Free your work. Wir wollen Ihnen die Freiheit geben, sich auf Ihr Geschäft zu konzentrieren.

Free your work. Free your work. Wir wollen Ihnen die Freiheit geben, sich auf Ihr Geschäft zu konzentrieren. Free your work. Free your work. Wir wollen Ihnen die Freiheit geben, sich auf Ihr Geschäft zu konzentrieren. 1 Automatische Verifikation von Anforderungen Dr. Guido Dischinger guido.dischinger@liantis.com

Mehr

Diplomarbeit. Konzeption und Implementierung einer automatisierten Testumgebung. Thomas Wehrspann. 10. Dezember 2008

Diplomarbeit. Konzeption und Implementierung einer automatisierten Testumgebung. Thomas Wehrspann. 10. Dezember 2008 Konzeption und Implementierung einer automatisierten Testumgebung, 10. Dezember 2008 1 Gliederung Einleitung Softwaretests Beispiel Konzeption Zusammenfassung 2 Einleitung Komplexität von Softwaresystemen

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

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

Projektmanagement in der Spieleentwicklung

Projektmanagement in der Spieleentwicklung Projektmanagement in der Spieleentwicklung Inhalt 1. Warum brauche ich ein Projekt-Management? 2. Die Charaktere des Projektmanagement - Mastermind - Producer - Projektleiter 3. Schnittstellen definieren

Mehr

Vorgetragen von. Sanaz Mostowfi Anna Polovets Mandy Neumann

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

Mehr

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

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

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

Albert HAYR Linux, IT and Open Source Expert and Solution Architect. Open Source professionell einsetzen

Albert HAYR Linux, IT and Open Source Expert and Solution Architect. Open Source professionell einsetzen Open Source professionell einsetzen 1 Mein Background Ich bin überzeugt von Open Source. Ich verwende fast nur Open Source privat und beruflich. Ich arbeite seit mehr als 10 Jahren mit Linux und Open Source.

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

Agile Vorgehensmodelle in der Softwareentwicklung: Scrum

Agile Vorgehensmodelle in der Softwareentwicklung: Scrum C A R L V O N O S S I E T Z K Y Agile Vorgehensmodelle in der Softwareentwicklung: Scrum Johannes Diemke Vortrag im Rahmen der Projektgruppe Oldenburger Robot Soccer Team im Wintersemester 2009/2010 Was

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

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

Modellgetriebene Entwicklungsprozesse in der Praxis - eine Bestandsaufnahme. Tillmann Schall, anaptecs GmbH

Modellgetriebene Entwicklungsprozesse in der Praxis - eine Bestandsaufnahme. Tillmann Schall, anaptecs GmbH Modellgetriebene Entwicklungsprozesse in der Praxis - eine Bestandsaufnahme Tillmann Schall, anaptecs GmbH : Agenda Grundlagen modellgetriebener Entwicklungsprozesse Schritte zur Einführung Erfahrungen

Mehr

1. Einführung 2. 2. Erstellung einer Teillieferung 2. 3. Erstellung einer Teilrechnung 6

1. Einführung 2. 2. Erstellung einer Teillieferung 2. 3. Erstellung einer Teilrechnung 6 Inhalt 1. Einführung 2 2. Erstellung einer Teillieferung 2 3. Erstellung einer Teilrechnung 6 4. Erstellung einer Sammellieferung/ Mehrere Aufträge zu einem Lieferschein zusammenfassen 11 5. Besonderheiten

Mehr

euro-bis Import von Bestellungen aus Buch- und Aboauskunft Stand 22.02.2007

euro-bis Import von Bestellungen aus Buch- und Aboauskunft Stand 22.02.2007 euro-bis Import von Bestellungen aus Buch- und Aboauskunft Stand 22.02.2007 INHALTSVERZEICHNIS Konfiguration... 3 Buch- und Aboauskunft... 3 euro-bis... 3 Aufträge einlesen... 5 Kundendaten prüfen... 6

Mehr

Dokumentation Schedulingverfahren

Dokumentation Schedulingverfahren Dokumentation Schedulingverfahren von Norbert Galuschek Gordian Maugg Alexander Hahn Rebekka Weissinger June 23, 2011 1 Contents 1 Aufgabe 3 2 Vorgehensweise 4 2.1 Warum Android.......................

Mehr

Evaluation of Database Design and Reverse Engineering Tools for a Large Software System

Evaluation of Database Design and Reverse Engineering Tools for a Large Software System Evaluation of Database Design and Reverse Engineering Tools for a Large Software System Anne Thomas TU Dresden Dr. B. Demuth Pre Press GmbH (Dresden) T. Reuter Gliederung Einleitung Vorgehensweise Kontext

Mehr

Gutes Leben was ist das?

Gutes Leben was ist das? Lukas Bayer Jahrgangsstufe 12 Im Hirschgarten 1 67435 Neustadt Kurfürst-Ruprecht-Gymnasium Landwehrstraße22 67433 Neustadt a. d. Weinstraße Gutes Leben was ist das? Gutes Leben für alle was genau ist das

Mehr

Scanning- Reservationslösung Gemeinden Benutzerhandbuch

Scanning- Reservationslösung Gemeinden Benutzerhandbuch Scanning- Reservationslösung Gemeinden Benutzerhandbuch Scan Center Version 1.1-02.02.2009 1 von 15 Inhaltsverzeichnis 1 Beschreibung der Applikation...3 1.1 Benutzerverwaltung...3 1.2 Importmodul...3

Mehr

GEONET Anleitung für Web-Autoren

GEONET Anleitung für Web-Autoren GEONET Anleitung für Web-Autoren Alfred Wassermann Universität Bayreuth Alfred.Wassermann@uni-bayreuth.de 5. Mai 1999 Inhaltsverzeichnis 1 Technische Voraussetzungen 1 2 JAVA-Programme in HTML-Seiten verwenden

Mehr

Auktionen erstellen und verwalten mit dem GV Büro System und der Justiz Auktion

Auktionen erstellen und verwalten mit dem GV Büro System und der Justiz Auktion Auktionen erstellen und verwalten mit dem GV Büro System und der Justiz Auktion Workshop Software GmbH Siemensstr. 21 47533 Kleve 02821 / 731 20 02821 / 731 299 www.workshop-software.de Verfasser: SK info@workshop-software.de

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

Das System sollte den Benutzer immer auf dem Laufenden halten, indem es angemessenes Feedback in einer angemessenen Zeit liefert.

Das System sollte den Benutzer immer auf dem Laufenden halten, indem es angemessenes Feedback in einer angemessenen Zeit liefert. Usability Heuristiken Karima Tefifha Proseminar: "Software Engineering Kernkonzepte: Usability" 28.06.2012 Prof. Dr. Kurt Schneider Leibniz Universität Hannover Die ProSeminar-Ausarbeitung beschäftigt

Mehr

Gruppenrichtlinien und Softwareverteilung

Gruppenrichtlinien und Softwareverteilung Gruppenrichtlinien und Softwareverteilung Ergänzungen zur Musterlösung Bitte lesen Sie zuerst die gesamte Anleitung durch! Vorbemerkung: Die Begriffe OU (Organizational Unit) und Raum werden in der folgenden

Mehr

So geht s Schritt-für-Schritt-Anleitung

So geht s Schritt-für-Schritt-Anleitung So geht s Schritt-für-Schritt-Anleitung Software WISO Mein Verein Thema Fällige Rechnungen erzeugen und Verbuchung der Zahlungen (Beitragslauf) Version/Datum V 15.00.06.100 Zuerst sind die Voraussetzungen

Mehr

Was macht Layer2 eigentlich? Erfahren Sie hier ein wenig mehr über uns.

Was macht Layer2 eigentlich? Erfahren Sie hier ein wenig mehr über uns. Was macht Layer2 eigentlich? Erfahren Sie hier ein wenig mehr über uns. Seit über 24 Jahren... unterstützen und beraten wir unsere Kunden und Partner erfolgreich bei ihren IT-Projekten. Unsere Kernkompetenz

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

Inventur. Bemerkung. / Inventur

Inventur. Bemerkung. / Inventur Inventur Die beliebige Aufteilung des Artikelstamms nach Artikeln, Lieferanten, Warengruppen, Lagerorten, etc. ermöglicht es Ihnen, Ihre Inventur in mehreren Abschnitten durchzuführen. Bemerkung Zwischen

Mehr

ActiveCharts. Verknüpfung von Modellen und Code bei der modellgetriebenen Softwareentwicklung mit UML 2.0

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

Mehr

Process4.biz Release 5.2.2 Features Übersicht. Repository. Das Schützen von Diagrammen wurde optimiert (check-in, check-out)

Process4.biz Release 5.2.2 Features Übersicht. Repository. Das Schützen von Diagrammen wurde optimiert (check-in, check-out) Process4.biz Release 5.2.2 Features Übersicht Repository Das Schützen von Diagrammen wurde optimiert (check-in, check-out) Diagramme können gegen die Bearbeitung von anderen p4b-benutzern und gegen die

Mehr

Was leistet ein Content Management System?

Was leistet ein Content Management System? Produkte Oliver SUCKER 13.10.2002 18:45 Inhaltsverzeichnis I Was leistet ein Content Management System? 1 1 Trennung von Layout, Programmierung und Inhalten 2 2 Rechtevergabe, Personalisierung 2 2.1 Abbildung

Mehr

Primzahlen und RSA-Verschlüsselung

Primzahlen und RSA-Verschlüsselung Primzahlen und RSA-Verschlüsselung Michael Fütterer und Jonathan Zachhuber 1 Einiges zu Primzahlen Ein paar Definitionen: Wir bezeichnen mit Z die Menge der positiven und negativen ganzen Zahlen, also

Mehr

Informationen zum neuen Studmail häufige Fragen

Informationen zum neuen Studmail häufige Fragen 1 Stand: 15.01.2013 Informationen zum neuen Studmail häufige Fragen (Dokument wird bei Bedarf laufend erweitert) Problem: Einloggen funktioniert, aber der Browser lädt dann ewig und zeigt nichts an Lösung:

Mehr

Sechster ProSTEP Benchmark Teil 2: PDM Data Exchange

Sechster ProSTEP Benchmark Teil 2: PDM Data Exchange Sechster ProSTEP Benchmark Teil 2: PDM Data Exchange Erster Benchmark für den PDM-Datenaustausch im STEP-Format Der Austausch von CAD-Modellen mit Hilfe des neutralen Datenaustauschformats entsprechend

Mehr

i n g e n i e u r b ü r o f ü r s o f t w a r e t e c h n o l o g i e w w w. v o e l t e r. d e Metamodellbasierte Codegenerierung in Java

i n g e n i e u r b ü r o f ü r s o f t w a r e t e c h n o l o g i e w w w. v o e l t e r. d e 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,

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

Wie man Registrationen und Styles von Style/Registration Floppy Disketten auf die TYROS-Festplatte kopieren kann.

Wie man Registrationen und Styles von Style/Registration Floppy Disketten auf die TYROS-Festplatte kopieren kann. Wie man Registrationen und Styles von Style/Registration Floppy Disketten auf die TYROS-Festplatte kopieren kann. Einleitung Es kommt vor, dass im Handel Disketten angeboten werden, die Styles und Registrationen

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

ONLINE-AKADEMIE. "Diplomierter NLP Anwender für Schule und Unterricht" Ziele

ONLINE-AKADEMIE. Diplomierter NLP Anwender für Schule und Unterricht Ziele ONLINE-AKADEMIE Ziele Wenn man von Menschen hört, die etwas Großartiges in ihrem Leben geleistet haben, erfahren wir oft, dass diese ihr Ziel über Jahre verfolgt haben oder diesen Wunsch schon bereits

Mehr

Datensicherung. Beschreibung der Datensicherung

Datensicherung. Beschreibung der Datensicherung Datensicherung Mit dem Datensicherungsprogramm können Sie Ihre persönlichen Daten problemlos Sichern. Es ist möglich eine komplette Datensicherung durchzuführen, aber auch nur die neuen und geänderten

Mehr

Präventionsforum+ Erfahrungsaustausch. HANDOUT GRUPPEN-ADMINISTRATOREN Anlage zum Endnutzer-Handbuch. Stand: 11.09.2014 Änderungen vorbehalten

Präventionsforum+ Erfahrungsaustausch. HANDOUT GRUPPEN-ADMINISTRATOREN Anlage zum Endnutzer-Handbuch. Stand: 11.09.2014 Änderungen vorbehalten Präventionsforum+ Erfahrungsaustausch HANDOUT GRUPPEN-ADMINISTRATOREN Anlage zum Endnutzer-Handbuch Stand: 11.09.2014 Änderungen vorbehalten Anlage zum Endnutzer-Handbuch Handout Gruppen-Administratoren

Mehr

ECDL Europäischer Computer Führerschein. Jan Götzelmann. 1. Ausgabe, Juni 2014 ISBN 978-3-86249-544-3

ECDL Europäischer Computer Führerschein. Jan Götzelmann. 1. Ausgabe, Juni 2014 ISBN 978-3-86249-544-3 ECDL Europäischer Computer Führerschein Jan Götzelmann 1. Ausgabe, Juni 2014 Modul Präsentation Advanced (mit Windows 8.1 und PowerPoint 2013) Syllabus 2.0 ISBN 978-3-86249-544-3 ECDLAM6-13-2 3 ECDL -

Mehr

Drucken aus der Anwendung

Drucken aus der Anwendung Drucken aus der Anwendung Drucken aus der Anwendung Nicht jeder Großformatdruck benötigt die volle Funktionsvielfalt von PosterJet - häufig sind es Standarddrucke wie Flussdiagramme und Organigramme die

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

Feiertage in Marvin hinterlegen

Feiertage in Marvin hinterlegen von 6 Goecom GmbH & Co KG Marvin How to's Feiertage in Marvin hinterlegen Feiertage spielen in Marvin an einer Reihe von Stellen eine nicht unerhebliche Rolle. Daher ist es wichtig, zum Einen zu hinterlegen,

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

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

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

Mehr