Opened 10 years ago

Last modified 2 years ago

#2891 new enhancement

Hierarchical editing of models

Reported by: Francesco Casella Owned by: Adeel Asghar
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 by Martin Sjölund, 10 years ago

Milestone: 1.9.21.9.3

Milestone changed to 1.9.3 since 1.9.2 was released.

comment:2 by Martin Sjölund, 9 years ago

Milestone: 1.9.31.9.4

Moved to new milestone 1.9.4

comment:3 by Martin Sjölund, 9 years ago

Milestone: 1.9.41.9.5

Milestone pushed to 1.9.5

comment:4 by Martin Sjölund, 9 years ago

Milestone: 1.9.51.10.0

Milestone renamed

comment:5 by Martin Sjölund, 8 years ago

Milestone: 1.10.01.11.0

Ticket retargeted after milestone closed

comment:6 by Adeel Asghar, 8 years ago

Milestone: 1.11.01.12.0

Milestone changed to 1.12.0 since 1.11.0 was released.

comment:7 by Adeel Asghar, 7 years ago

Milestone: 1.12.01.13.0

comment:8 by Francesco Casella, 6 years ago

Milestone: 1.13.01.14.0

comment:9 by Francesco Casella, 6 years ago

Milestone: 1.14.02.0.0
Priority: highblocker

Must-have feature for 2.0.0

Note: See TracTickets for help on using tickets.