Opened 9 years ago

Last modified 17 months ago

#2891 new enhancement

Hierarchical editing of models

Reported by: casella Owned by: adeas31
Priority: blocker Milestone: 2.0.0
Component: OMEdit Version: trunk
Keywords: Cc:

Description

Consider this conceptual example model

model Car
  replaceable FrontSuspension frontSuspension;
  replaceable RearSuspension rearSuspension;
  ...
end Car;

model MyCar
  extends Car(frontSuspension(leftUpperLink(k = 2.4e4)));
end MyCar;

model CompareCars
  Car car1(frontSuspension(leftUpperLink(k = 2.4e4)));
  Car car2(frontSuspension(leftUpperLink(k = 3.6e4)));
  Car car3(redeclare CustomSuspension frontSuspension);
  Car car4(rearSuspension(wheel(omega(start = 200))));
end CompareCars;

First you build the car model using elements in a library having default values of all the parameters. Then, you want to customize it by changing one value (or one start attribute, or one replaceable class/component) in an inherited class, or to apply changes to different instances of the same model.

It should be possible to perform these activities from the GUI. For example, starting from the top level diagram of MyCar, one should be able to show the actual instance of the front suspension, and then change the parameter of the stiffness of the upper link using its parameter window. In the case of CompareCars, one first clicks on car1, then on frontSuspension, then changes the value of the k parameter; or, one clicks on car3, select the frontSuspension, and selects the redeclared class from a drop-down menu with all the choices possible based on the choices annotation. Of course these changes only affect MyCar or CompareCars, not the classes in the library from which Car and FrontSuspension where instantiated.

One should be able to navigate across the different levels of a specific model and apply modifers to parameters by (recursively) "opening" an instance of a model to see what's inside, and eventually using the parameter window of the corresponding components, or the redeclare feature for replaceable components that have an icon in the diagram view.

It would also be nice to be able to navigate this hierarchy on a tree view.

These features would be similar to the "Show component" and "Component browser" windows of Dymola. They are essential to handle models which do not have a flat structure from the GUI.

Change History (10)

comment:1 Changed 9 years ago by sjoelund.se

  • Milestone changed from 1.9.2 to 1.9.3

Milestone changed to 1.9.3 since 1.9.2 was released.

comment:2 Changed 9 years ago by sjoelund.se

  • Milestone changed from 1.9.3 to 1.9.4

Moved to new milestone 1.9.4

comment:3 Changed 8 years ago by sjoelund.se

  • Milestone changed from 1.9.4 to 1.9.5

Milestone pushed to 1.9.5

comment:4 Changed 8 years ago by sjoelund.se

  • Milestone changed from 1.9.5 to 1.10.0

Milestone renamed

comment:5 Changed 7 years ago by sjoelund.se

  • Milestone changed from 1.10.0 to 1.11.0

Ticket retargeted after milestone closed

comment:6 Changed 7 years ago by adeas31

  • Milestone changed from 1.11.0 to 1.12.0

Milestone changed to 1.12.0 since 1.11.0 was released.

comment:7 Changed 6 years ago by adeas31

  • Milestone changed from 1.12.0 to 1.13.0

comment:8 Changed 6 years ago by casella

  • Milestone changed from 1.13.0 to 1.14.0

comment:9 Changed 5 years ago by casella

  • Milestone changed from 1.14.0 to 2.0.0
  • Priority changed from high to blocker

Must-have feature for 2.0.0

Note: See TracTickets for help on using tickets.