﻿id	summary	reporter	owner	description	type	status	priority	milestone	component	version	resolution	keywords	cc
2891	Hierarchical editing of models	Francesco Casella	Adeel Asghar	"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.
"	enhancement	new	blocker	2.0.0	OMEdit	trunk			
