Problems logging in
Siegfried Nolte M2M mit oAW
Wie macht man mit oAW (4.x) Model2Model- und ggf. Text2Model-Transformation?
Ist das Ergebnis ein Model in Ecore- oder EMF UML2-Format ?
Interessant wäre für mich die Erklärung auf der Basis von Modellen, die auch mit Modellierungstools darstellbar sind, z.B. Together oder MagicDraw. Also z.B.
* Überführung eines Klassendiagramms in ein ERM (Together) oder
* Überführung irgendeines UML2-Diagramms in ein anderes (MagicDraw).
Insbesondere MagicDraw wäre interessant, da ich gerade mit der MD/oAW-Integration beschäftigt bin.
Vielen Dank schon mal,
Siegfried
Marcel Donges
+15 more comments
Last comment:
Siegfried Nolte schrieb:

>Richtig ist natürlich auch, dass kein Layouter es so schön hinbekommt
>wie ich als Analytiker/Designer. Schließlich verwende ich viel Zeit
>darauf, Modelle "schön" zu machen. Das bedeutet aber auch - und damit
>jetzt der Tropfen Öl - nicht nur schön nach ästhetischen
>Gesichtspunkten, sondern nach qualitativen Gesichtspunkten.
Das kann ich nur bestätigen.
Allerdings will ich mich dann aufs Layout konzentrieren: Die notwendigen Relationen und Objekte muss dann aus dem Modell des Tools kommen und nicht aus einer textualen Beschreibung oder einen XLS Sheet.

>Ein
>Modell wird nicht dadurch schlecht, dass ein Layouter die Diagramme
>kaputtmacht durch starke Komplexität.
Wir setzen für manche Architekturarbeit den Enterprise Architect (Sparx Systems) ein, da kann man (natürlich) auch im Diagramm manche Assoziationen heraus löschen (d.h. graphisch werden sie nicht dargestellt), ohne dass sie aus dem Modell verschwinden (Ich liebe Modelle und "hasse" in diesem Zusammenhang PPT und Visio).
Was wir aber dann IMMER machen in derartigen Diagrammen ist eine Notiz, dass eben nicht alle Relationen dargestellt sind!

>Es mag sein, dass (graphische) Modellierung und Transformation von
>(graphischen) Modellen aus dem Grund noch etwas unbeliebt ist. Aber
>meistens werden nicht durch Transformation die Zielmodelle "kaputt
>gemacht", meistens sind die Quellen schon qualitativ bedenklich, z.B.
>mehr als 10 Klassen pro Komponente, oder mehr als eine
>"Bildschirmseite" Verhaltensdiagramm. Und es ist eigentlich gut, wenn
>einem im Rahmen einer Modelltransformation ein Layouter so etwas vor
>Augen führt.
Tja, manchmal lässt sich aber Komplexität nicht reduzieren, sonder nur die Darstellung vereinfachen: Bei unserem SOA Governance Tool (CentraSite) läuft man bei einer Impact Analyse der (SOA) Services oder Schnittstellen (also die Frage: Wie hängt ein bestimmtes Service von anderen Services, Modulen, Systemen, Applikationen - whatever - ab) praktisch immer Gefahr, dass man alle Elemente im Modell als "Ergebnis" bekommt. Wir unterstützen da entweder (i) die Einschränkung auf eine bestimmte Anzahl, respektive Tiefe, der Verfolgung von Abhängigkeitsbeziehungen oder (ii) eine hierarchische Darstellung (Blöcke, Module, Domänen, whatever).
MfG
-cfs
Karsten Thoms Neue Entwicklerplattform oaw-dev.de
oaw-dev.de ist eine deutschsprachige Plattform von und für openArchitectureWare Entwickler und Anwender. Es wird ein Angebot mit Referenzdokumentation, HowTo's, Tutorials, Developer Guides und News rund um das bekannte OpenSource Projekt bereitgestellt. oaw-dev.de wird ständig von den Mitgliedern erweitert und zu einer Know-How Plattform ausgebaut.
Ziel von oaw-dev.de ist die Erhöhung der Zugänglichkeit und Erleichterung des Einstiegs in die Entwicklung modellgetriebener Softwareprojekte mit openArchitectureWare.
Die Website befindet sich derzeit noch im Aufbau, wird aber in wenigen Tagen für die Öffentlichkeit zugänglich gemacht.
Karsten Thoms Lothar Behrens
+2 more comments
Last comment:
Lothar Behrens
Karsten Thoms schrieb:

>Hallo Herr Behrens,
>
>das sind ja gleich 3 Wünsche auf einmal ... ;-)
>
>Ich kann gut verstehen, dass oAW für Anfänger zunächst erschlagend
>wirkt, überdies wenn Eclipse als Umgebung noch nicht vertraut ist.
>Die Einstiegshürde wird so weit es geht durch die einschlägigen
>Tutorials im Reference Manual genommen. Ich kann nur wärmstens
>empfehlen, das "oAW Tutorial" im "Getting Started" Kapitel
>durchzuspielen:
>http://www.openarchitectureware.org/staticpages/index.php/documentation?menu=Documentation_
>
>Um die Installationshürde zu nehmen gibt es ein all-in-one Paket:
>http://oaw.itemis.com/openarchitectureware/language=en/2837/downloads
Ich habe mir die Windows Variante (eclipse-oaw-43-ganymede-win32.win32.x86.zip) heruntergeladen.
Das oAW Tutorial und das Getting Started bin ich durchgegangen - glaube ich. Ich kenne die Editoren der
ecore Dateien, die auch in dem uml2ecore Beispiel erstellt werden.

>
>

>>
>>Ich möchte in meinem Projekt eine Migration hin zu oAW ermöglichen,
>>um aus meinen einfachen Modellen zur Datenbankanwendungsentwicklung
>>(Prototyping) auch oAW nutzen zu können. Ziel dabei ist, auch oAW
>>Cartridges nutzen zu können. Dazu habe ich mir das Beispiel
>>oaw4.demo.util.uml2ecore geladen um die darin enthaltenen UML
>>Definitionen zu begutachten. Leider kann der grafische Editor nicht
>>geladen werden, da die Resource
>>/oaw4.demo.util.uml2ecore/src/UML_Standard_Profile.
>>UML_Standard_Profile.profile.uml2 nicht existiert.

>Die UML2Ecore Cartridge hat einzig die Aufgabe, aus UML
>Klassendiagrammen Ecore Modelle zu erstellen. Das ist nützlich, wenn
Ich habe vor, Ecore Modelle zu erstellen, die ich dann in einem oAW Projekt
nutzen kann. Mein Ziel ist es, nicht nur auf meine jetzige Lösung mit XSLT zur
Codegenerierung zu setzen. XSLT wird schnell unübersichtlich und fehleranfällig.
Dafür ist oAW mit seinen Mitteln der Checks oder Constraints da. Und dies ist ein Grund
es unterstützen zu wollen.

>man größere eigene Metamodelle erstellt, da die Bordmittel für die
>Ecore-Modellierung dann umständlich ist und man den Überblick
>verliert.
Mein Metamodell wächst mit den Möglichkeiten meines Prototypers. Zur Zeit ist mein
Metamodell nicht vorhanden. Ich schreibe reine XML Dateien ohne DTD.
Meine Integration würde so aussehen:
wxWrapper transformiert das interne XML Format über XSLT in XMI (2.1) für ein UML Werkzeug
Diese XMI Datei kann ich als entity.uml betrachten, da ich gesehen habe, dass ich diese auch
in BoUML importieren kann.
Uml2ecore übernimmt dann den Rest und voila - ich habe ein ecore Modell. Ich muss also nicht
einmal eine Transformation dafür anschubsen. Das mache ich ja nun in Eclipse.
Was ich machen kann, ist das Schreiben des ganzen uml2ecore Projekts für das Projekt das gerade
in Verwendung ist - oder eben nur die entity.uml ersetzen.
Soweit habe ich das verstanden.

>Cartridges sind nur dann sinnvoll, wenn sie genau das Problem hat,
>wofür die Cartridge gedacht ist. Aus ihrer Beschreibung würde ich
>entnehmen, dass sie etwas anderes vorhaben als wofür die Cartridge
>gedacht ist.
Genau da setzt mein Tool ja an. Es soll eine gewisse Grundmenge an Cartridges
enthalten um Grundlegende Prototypen in Quelltext Form in der Zielumgebung
erstellen zu können. Bisher sind dies meine XSLT Templates, welche ja gewisse
Einschränkungen haben :-)
Ich finde die Brücke von meinem Prototypdesign mit Datenbanken im Hintergrund
zu einer 'besseren' Möglichkeit im MDSD Umfeld, wie oAW, eine gute Sache, wenn
kleinere Projekte, die noch mit XSLT arbeiten oder nur meine Templates verwenden,
um nicht in einer Sackgasse zu landen.

>Der Nutzen von Cartridges überhaupt ist durchaus umstritten. In
>echten Projekten erstellt man maßgeschneiderte Cartridges für das
>Projekt. Die Wiederverwendung vorhandener Cartridges steht meist
>nicht im Vordergrund. Dennoch wächst auch die Verfügbarkeit von
Gewisse 'Grundcartridges' machen Sinn - wie z.B. die für Hibernate. Nur Hibernate
ist eben nicht alles in einer Software :-)
Ob diese in größeren Projekten einfach so angewendet werden können, sei dahingestellt.

>Cartridges. Allen voran auf der Fornax Plattform
>(http://www.fornax-platform.org), und es gibt auch eine Reihe von Catridges
>oder Projekten bei Sourceforge und Google Code.
>
Forenax kenne ich aus meinem Buch, das ich erwähnt habe.


>>
>>Ich habe den Standard workspace auf dieses Projekt gelegt, welches
>>auf meinem Desktop liegt.
>>
>>Ist dies ein Fehler im Projekt, oder mache ich in irgend einer
>>Konfiguration noch Fehler ?

>Am besten einmal genau das oAW Tutorial verfolgen und ggf. das UML2
>Tutorial.
Ich habe mir jetzt noch mal die fehlerhafte Profildatei angesehen. Beim Öffnen
bekomme ich eine MalformedByteSequenceException. Das ist wohl der Grund, warum ich das UML
Model nicht bearbeiten kann.

>

>>
>>Da ich oAW unterstützen möchte, suche ich nach geeigneten Beispielen,
>>wie ich aus C++ heraus eine Migration anschubsen kann. Dabei soll aus
>>meinem Modell (XML) über XSLT ein grundlegendes oAW Projekt angelegt
>>werden, welches dann auch gestartet werden soll (Eclipse), oder die
>>Transformation direkt durchgeführt werden soll. Eventuell sollten
>>auch noch Beispieltemplates generiert werden, die den Einstieg in oAW
>>erleichtern (auf der Grundlage des Modells, das der Nutzer meiner
>>Software macht). Dies würde die Chancen erhöhen, dass meine Software
>>als Einstieg in die Softwareentwicklung ala MDSD / MDA genutzt wird.

>Finde ich etwas umständlich. U.a. für solche Zwecke ist ja oAW da.
Halte ich jetzt auch nicht mehr für Nötig. die entity.uml ist ja im XMI 2.1 Format.
Dies kann ich indirekt erstellen (XSLT). Natürlich geht es auch direkt aus BoUML.
Dort kann ich auch XMI 2.1 exportieren.
Mein Anliegen ist es ja, aus meiner internen Datenstruktur (XML oder Datenbank)
auch in Richtung oAW gehen kann. Das ist ja möglich, dank meines XSLT Templates
zur Erstellung der XMI 2.1 Datei.

>Mit dem neuen XSD Adapter kann man XML Dateien als Eingabe direkt
>verwenden, sofern die Struktur durch ein XSD Schema definiert ist.
>Der Aufruf aus C++ heraus erfolgt über einen normalen Shell Aufruf
>des Java Kommandos mit der Übergabe des richtigen Classpath.
Jetzt ja überflüssig, ausser ich werfe den kompletten Generationsprozess an und erspare
dem Nutzer das Starten von Eclipse.
Eclipse ist dann nur noch zur Pflege der Templates / Cartridges da.

>

>>
>>Gibt es Beispiele, die in etwa diesen Anforderungen entsprechen, oder
>>Dokumentationen dazu ?

>Das Reference Manual ist die umfangreichste Dokumentation zu oAW. Die
>Sourcen der Fornax Cartridges sind vor allem für die Verarbeitung von
>UML2 Modellen eine gute Referenz. Die Templates sind aber schon recht
>umfangreich.
>
XPand und XTend sind mir aus dem Buch geläufig. Ist eben nur noch etwas
ungewöhnlich. Aber ist eben so bei einer neuen 'Programmiersprache'.
Ich denke, dass Fornax gut ist um einzusteigen. Ich bin ein gucker, also ran an die
Cartridge. Dann lerne ich am meisten.


>>
>>Ich verwende BoUML als UML modellierer und habe nicht geprüft, ob ich
>>dessen XMI Dateien in ECore Dateien transformieren kann. Um
>>herauszufinden, wie ich die Transformation machen muss suche ich nach
>>einem freien UML Tool, welches sozusagen ausserhalb von Eclipse läuft
>>und von oAW unterstützt wird.

>BoUML kenne ich nicht. Open Source UML Tools kann ich insgesamt nicht
>empfehlen, außer für kleine Projekte oder wenn man selbst Open Source
>entwickelt und das UML Tool gleich mit paketieren möchte. Dann
Ich bin damit sehr zufrieden. Bis jetzt habe ich nur Nachteile entdeckt, die sich
bei einer Arbeit im Team an einem Projekt ergeben. Eine Projektsynchronisation
ist zwar möglich, basiert aber auf Dateizeitstempel. Momentan reicht mir das aber.

>verwende ich meist Topcased UML und habe auch immer die Eclipse UML2
>End User Features installiert. In richtigen Projekten würde ich immer
>auf kommerzielle Werkzeuge setzen.
Topcased UML werde ich mir dann auch noch ansehen. Die Eclipse UML 2 Designer
habe ich jetzt ja schon nachinstalliert. Bin aber auf den ersten Blick nicht so davon
begeistert. Z.B. ist mir die Stereotypenauswahl nicht klar oder einfach zu unübersichtlich.
Naja, eben noch ein wenig damit herumspielen :-)

>

>>
>>Welche kann ich verwenden, um mit uml2ecore die Transformation
>>durchzuführen ?

>Topcased UML bspw.
>
Ich werde sehen, ob ich auch wirklich BoUML verwenden kann. S. o.


>>
>>Besser: Wie kann ich uml2ecore nutzen, denn ein Start als Anwendung
>>ist zwar möglich, aber ich bekomme eine weitere Eclipse Oberfläche
>>mit zu vielen Menüeinträgen für das was ich eigentlich machen möchte
>>(Transformieren als Tool) ?
>>
>>Ich habe ein Plugin oder ein Zusatzmenü erwartet, aber habe es nicht
>>gefunden :-(

>oAW wird über die .oaw Skripte ausgeführt. Diese werden über Run As /
>oAW Workflow ausgeführt.
>
Hehe, habe ich vor lauter UML *ansehen wollen* übersehen. Konnte mir das entity
Model ja in BoUML ansehen und sehe die Parallelen zu ecore.


>>
>>Mein Eindruck zu oAW oder besser Eclipse ist daher mehr als 'Als
>>Einsteiger umständlich zu bedienen' zu bewerten. Ich habe zwar das
>>Buch 'Modellgetriebene Softwareentwicklung - MDA und MDSD in der
>>Praxis' gelesen, aber so richtig umsetzen kann ich das nicht -
>>Eclipse ist sehr komplex - es kann zu viel :-)

>Das liegt an der Komplexität der Thematik an sich. Einfache
>Codegeneratoren lassen sich primitiv einfach mit oAW erstellen. Der
>oAW Project Wizard (File / new / project / openArchitectureWare /
>openArchitectureWare project) kann ein einfaches Projekt mit Ecore
>Metamodell, EMF Modell und Template anlegen, das man direkt ausführen
>kann.
>
Es stellt sich dann nur noch die Frage, wie weit ich mir den Übergang aus meiner Welt
in die Welt der oAW ansehe und was jeweils nötig ist, um den Quelltext der Zielumgebung
zu erstellen.
Was mich an oAW interessiert, sind die Protected Regions. Aber das ist auch je nach Problemstellung
zu lassen oder zu verwenden. Die Praxis wird's zeigen. Ich bin mir jedenfalls nicht sicher, was besser
ist. Code zu trennen oder einfacher zu lesender Code mit diesen Protected Regions.

>

>>
>>Daher mein Versuch einen leichteren Einstieg zu schaffen über ein
>>externes Tool. Meine Software ist Open Source und unter folgender
>>Adresse gestern aktualisiert worden:
>>http://sourceforge.net/projects/lbdmf
>>
>>Die Hauptanwendung ist dabei das Prototyping Werkzeug, welches selbst
>>ein Prototyp ist (wxWrapper)!
>>
>>Ist so ein Einstiegswerkzeug eine gute Idee, oder machen das schon zu
>>viele ?

>Tut mir leid, wenn ich gerade nicht die Zeit habe, mir das Produkt
>anzuschauen. Daher kann ich das jetzt nicht beurteilen.
Ich habe das auch nicht erwartet, nur erwähnt. Meine Idee bei dem Werkzeug zielt auch
mehr auf kleinere Projekte ab. Dort kommen dann solche Generatoren für einfache CRUD
Anwendungen zum Einsatz, wie wxWidgets, oder z.B. ein Generator für P4A einem PHP Framework.
Nur sollte sich das Projekt vergrößern, so sollte keine Sackgasse entstehen.
Deswegen die Idee der Migration zu oAW (ein Türöffner).
Ob ich dann wirklich ein Cartridge hinbekomme oder nur den Weg nicht verbaue, sei dahingestellt.

>

>>
>>Für Ihre Kommentare wäre ich sehr dankbar.
>>
>>Lothar Behrens

Ich hoffe jetzt alles verstanden zu haben. Wenigstens bin ich weitergekommen :-)
Vielen Dank
Lothar Behrens
Karsten Klein Neue Version des Java Beautifiers veröffentlicht
Hallo an alle Interessierten,
ich möchte dieses Forum nutzen um auf eine neue Version des hybrid labs Java Beautifiers aufmerksam zu machen.
Der Beautifier ist in der Lage voll-qualifizierte Klassennamen in Java Source Dateien durch die Kurzform und entsprechende import Anweisungen zu ersetzen. Mit diesem Feature kann die Lesbarkeit und damit die Wartbarkeit von Templates und generierten Sourcecode verbessert werden.
Durch die Benutzung des Beautifiers kann die Akzeptanz eines modelgetriebenen Ansatzes im Entwicklungsteam wesentlich erhöht werden. Der generierte Sourcecode muss schliesslich von allen Entwicklern gelesen werden können - nicht zuletzt beim Debuggen der Anwendung.
Der Beautifier wurde im speziellen für openArchitectureWare 4.1 entwickelt und ist damit leicht in die oAW workflows zu integriereren. Für weitere Details möchte ich auf http://www.hybridlabs.org verweisen.
Mit freuendlichen Grüßen,
Karsten Klein Thorsten Kamann
+3 more comments
Last comment:

Moderators

Moderator details

About the group: Model-Driven & Service-Oriented Architectures (MDA + SOA)

  • Founded: 01/12/2004
  • Members: 2.080
  • Visibility: open
  • Posts: 583
  • Comments: 380