Editing the graph of models and transformations
-----------------------------------------------

         Key: AND-7
         URL: http://jira.andromda.org/browse/AND-7
     Project: Android
        Type: New Feature
  Components: Model-to-Model Configuration Editor  
    Reporter: Matthias Bohlen
 Assigned to: Peter Friese 


A graph of models and transformations between the models should be edited in a 
graphical editor. It is an directed, acyclic graph. The nodes are models or 
transformations, the edges connect them. Edges are always directed. When an 
edge goes from a model to a transformation, it means that the model is an input 
model for that transformation. When an edge goes from a transformation to a 
model, it means that the model is an output model of that transformation.

Transformations can have m (m >= 1) input models and n (n >= 1) output models 
at the same time.

A model should look like a UML package icon with a small triangle in the upper 
right corner (see how a model looks like in MagicDraw, for example). A 
transformation should look like something "active", for example, a gear wheel 
or transmission. I leave that to you.

Graphical icons should be movable and resizable by the user.

The graphical editor should operate on simple JavaBeans which represent the 
edited things. The should be a Model bean and a Transformation bean 
(getter/setter stuff ommitted):

public class Model 
{
    String name;
    String metamodelName;
    Properties properties;
    GraphicalInformation gInfo;
}

public class Transformation
{
    String name;
    Collection inputModels;   // contains references to Model
    Collection outputModels;  // contains references to Model
    Properties properties;
    GraphicalInformation gInfo;
}

Inside the model icon on the screen, name and metamodelName should be presented 
as 
"name : metamodelName". The transformation icon on the screen should have its 
name under the gear wheel. The names and metamodel names should be editable 
in-place.

The JavaBeans will later be serialized and deserialized in XML, the XML will 
part of a larger XML schema which describes a complete context, e.g. a 
cartridge descriptor. Because the exact format of that XML schema is currently 
unknown, I'd like to stick to the JavaBeans for the moment.

Associated with the graphical editor, there should be a properties view which 
allows the user to edit arbitrary properties of models and transformations. 
Properties are name/value-pairs. Values are of type String. The properties view 
also contains the name and the metamodel name and allows those to be edited as 
well.

When a transformation graph is saved, closed and opened, it should look like 
before.

It is still to be defined what "GraphicalInformation" means. I think of all 
that information you need to save and restore the drawing in its original form, 
e.g. icon position, icon size, connection points to the edges, etc. I leave 
that to you.

The whole diagram should be printable within Eclipse. The user should also be 
able to copy the diagram to the clipboard (WMF format) and paste it into MS 
Word or MS PPT for documentation purposes.





-------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
for problems?  Stop!  Download the new AJAX search engine that makes
searching your log files as easy as surfing the  web.  DOWNLOAD SPLUNK!
http://ads.osdn.com/?ad_id=7637&alloc_id=16865&op=click

Reply via email to