Innovator - tcl - Diagramme in Code umsetzen

RuFFnEcK

Erfahrenes Mitglied
nAbend zusammen,

Wollte mal ne kleine Diskussion anregen ;)
ich weiß nicht ob jemand von euch Innovator kennt?
Ich kannte es bis vor kurzem auch nicht, jedenfalls
kann man damit sehr gut UML 2.0 konforme Diagramme erstellen.
Das heißt sämtliche Diagramme wie Sequenz-, Kollaborations- und Aktivitätsdiagramme.
Diese Diagramme beschreiben die Zustände der Software doch eigentlich sehr gut bis eigentlich perfekt...
Müsste es daher nicht möglich sein aus diesen Diagrammen,
die ja dann in Datenform vorliegen Quellcode zu generieren?
Nehmen wir beispielsweise C++, könnte man nicht mit Hilfe von Tcl-Skripten, auf denen Innovator aufbaut, C++ oder C Quellcode generieren?
TCL ist eine Skript Sprache mit der man vollen Zugriff auf die Daten hat über bereitgestellte dlls.
Könnte man nicht, oder gibt es nicht gar schon Skripte mit denen man vielleicht schon Code generieren kann?
Ich mein das wäre eine hammer Sache! Wieviele Firmen die für ihre Produkte ständig Software anpassen oder neu schreiben müssen wären überglücklich mit solchen Skripten!
Dann könnt man noch einfacherer Software erstellen und sich nicht mehr um einen großteil der bisherigen Arbeit kümmern :D
Was meint ihr denn?
Datenbankstrukturen damit zu erstellen, wäre doch eine Leichtigkeit mit UML^^
Mich würd mal eure Meinung interessieren.

Grüße
RuFF ;-)
 
Hallo,

die Codegenrierung von UML Diagrammen gibt es schon.
Ich weiß nicht ob das der Innovator kann. Umbrello für Linux kann es :)

http://uml.sourceforge.net/feature.php

Wir mussten vorletztes Semester im Praktikum zur Softwareengineering Vorlesung
mit Innovator arbeiten und ich finde dieses Tool ergonomisch, sagen wir mal, recht
bescheiden, d.h. es gibt bessre Tools.

Gruß

RedWing
 
Zuletzt bearbeitet:
Hallo!

Den Entwicklungsansatz den du gerade beschreibst gibt es seit Ewigkeiten unter dem Namen MDA (Model Driven Architecture). Dabei wird ein Modell (beispielsweise ein UML Meta Model eines Systems, liegt in der Regel im XMI-(XML Metadata Interchange) Format vor) als sogenanntes PIM (Platform Independent Model) bezeichnet. Das PIM ist wie der Name schon sagt, ein von einer konkreten Implementierung unabhängiges Modell der Anwendung. Über einen Transformationsprozess kann dann dass UML Meta-Model (PIM) analysiert werden. Mit dem Ergebnis der Analyse lässt sich dann ein Codegenerator füttern, welcher das sogenannte PSM (Platform Specific Model) generiert. Das PSM ist eine konkrete Implementierung des Modellierten Systems in Form einer Programmiersprache Java, C#, Python, whatever...
Diese Form der Softwareentwicklung kann dem Entwickler an mancher Stelle gehörig viel Arbeit ersparen, ist jedoch auch nicht allmächtig, so dass man vielmals auch selber Hand anlegen muss.

Ein Beispiel für ein MDA Framework wäre http://andromda.org/

Gruss Tom
 
Hallo zusammen,

@RedWing

Hab mir heut direkt mal Suse 10.0 in der UNI geholt und zieh mir dann Umbrella.
Bin mal gespannt in wie weit und wie gut das damit geht...
Kann man in Umbrella vielleicht vorliegende Diagramme in einem bestimmten Format importieren?
Und was gibt es denn an besseren Windows Tools als Innovator?
Ich hab mit Innovator noch nicht gearbeitet, aber werde mich mal damit beschäftigen...


@Thomas Darimont

Es gibt ihn zwar lange, aber irgendwie hab ich das Gefühl dass da nicht viel mit gemacht wird...
Hab in der Uni vielleicht mal gehört dass es das gibt, aber nur am Rande...
Ist eigentlich schade, wenn man weiß wofür man es gut einsetzen kann aknn es einem in der Tat ne Menge arbeit sparen.
Und wird das denn auch wirklich genutzt oder gibt es das bisher auch nur am Rande?
Ich hab mir mal die v3.1 von andromeda gezogen, aber noch keine zeit gehabt mal rein zu schaun...
Mit dem Tool ist es möglich Diagramme zu erstellen und in Code um zu setzen?
Kann es auch importieren?

Danke euch für eure Antworten ;)

Weiß jemand ob es für Innovator Tcl Skripte gibt um daraus Quellcode zu generieren?

Grüße RuFF
 
Hallo!

Mit dem Tool ist es möglich Diagramme zu erstellen und in Code um zu setzen?
Kann es auch importieren?
Da siehst du etwas falsch. AndromMDA ist "nur" die Transformationskomponente (Modelanalysator und Codegenerator) in einem MDD Prozess. Sprich Andromda bietet Moeglichkeiten dein in ein XMI-Format exportiertes UML-Meta Model zu analysieren und das Ergebnis gegen einen Codegenerator mit verschiedenen Templates laufen zu lassen.
Die UML Modelle (und das exportieren dieser nach XMI) musst du schon mit einem anderen tool, wie beispielsweise MagicDraw ( http://www.magicdraw.com/ -> Community Edition -> Umsonst, kann aber alles was man braucht ;) erledigen.

Gruss Tom
 
@umbrello

Die Dateien muessen im schon erwaehnten xmi Format vorliegen um sie in Umbrello importieren zu koennen.
C++ Header- und Quelldateien koennen direkt importiert werden. Fuer andere Sprachen gibt es diverse Tools
die deinen Code nach xmi konvertieren koennen...
http://uml.sourceforge.net/developers.php

Gruss

RedWing
 
Zuletzt bearbeitet:
Erstmal thx für die ganzen Hinweise ;)
Werde mich am Weekend mal damit befassen.
Aber sagt mal was haltet hier denn von dem Ansatz der modellierten
Programmierung?
Die Klassendefinitionen klar kann ich mir vorstellen, und Zugriffsmethoden auf Datenelemente auch.
Konstruktordefinitionen und Copy Konstruktoren usw.
Aber in weit kann man noch Code generieren?
Habt ihr das selbst schon genutzt?
Wenn ja wobei? Oder gehört das gar schon zu eurer standard Technik?

Grüße
RuFF
 
Moin RuFF!

Ich würd mir nicht allzu viel Gedanken darüber machen. :rolleyes:
Wenn das gang und gebe währ,
würde das doch ne menge Entwickler überflüssig machen, findest Du nicht? ;) :D
Des Weiteren kann ich mir das auch schwer vorstellen das man eine Individualsoftware,
aus fertigen Routinen zusammen pusseln kann.
Es währe ja eine gigantische Logik erforderlich, wenn überhaupt möglich,
die in der Lage sein muss alles dynamisch zu verknüpfen.

Ich denke sowas wird man wohl, wenn überhaupt,
eher im Zeitalter der intelligenten Computersysteme antreffen...

MfG,
cosmo
 
Der Innovator hat eine Java-Api welche über den Code-Generator OAW angesprochen werden kann. Funktioniert ganz gut, wir machen das auf der Arbeit
 

Neue Beiträge

Zurück