Figure 5: Model evolution process.
the model is constructed.
• Explore steps generate design alternatives; gen-
eration can be by hand or with machine assis-
tance, based on the outcomes of design space ex-
ploration.
• Merge steps integrate and reconcile multiple
changes into one design alternative.
• Baseline steps designate a particular model as sig-
nificant in the development story. We might ex-
pect to see a full set of scenarios, scenario out-
comes, rationale and documentation associated
with such baselines.
Figure 5 illustrates, at an abstract level, an exam-
ple of co-model evolution along detail levels and al-
ternatives dimensions. It shows an extract of an imag-
inary model base in which each block stands for a co-
model. The arrows indicate different types of the re-
lationships between co-models in the structure, each
with different attributes.
The horizontal grey lines show decision points,
marked A to D in Figure 5. At each point, any deci-
sion to perform one of the actions above will be made,
based on the design requirements and simulation re-
sults. For instance, before point A is reached, the
original Co-model 1 is proposed. For documentation
or configuration considerations, Co-model 1 is desig-
nated as a baseline. Through evolution, more compo-
nents might be detailed out, such that the detail level
of Co-model 2 is greater than that of Co-model 1. Be-
tween points B and C, four alternatives are explored
based on the original model. Due to design space ex-
ploration, Co-model 6 may be considered not to ful-
fil certain design requirements as a result of applying
relevant cost functions to its co-simulation test out-
comes. As a result it can be designated a “dead end”.
Other models may be a satisfactory basis for further
exploration. In the example, Co-model 9 is ultimately
designated to be the next baseline.
The above approach is to manage the co-model
evolution life-cycle such that engineers can easily
maintain the entire development process by navigat-
ing the model evolution history. All these co-models
and their evolution process, the relations and the pur-
pose of making the design decisions based on the
models can be tracked.
Based on this approach, a readable document has
to be generated to the engineers to tell the story
of the co-model evolution process. Different detail
levels and different co-model alternatives should be
recorded and retrieved easily from the model base.
Changes and decisions have to be recorded as well.
Therefore, a tool prototype is developed as a proof-
of-concept of this evolution approach.
4.2 Model Development Log and Tool
Support
Development log files are valuable resources for de-
signing, implementing, testing and documentation
since developers can recall the process of the develop-
ment according to the logged information. The idea
of our logging mechanisms is to provide a graphical
representation of the model evolution process in order
to help understanding the development of especially
large and complex embedded control systems.
Figure 6 shows an example of the basic logging
mechanism. Engineers from different disciplinary do-
mains can develop their responsible models concur-
rently. All modelling information and the simula-
tion results can be stored in the model base. The
model management system can take care of the model
evolution process and the consistency checking. Ac-
cording to the development information stored in the
model base, an top-level overview of the model evo-
lution can then be generated in the “Development Log
Graph” window which is implemented as an Eclipse
plug-in, and shown in the right side of the figure.
All the blocks in the graph stand for co-models
of different levels of detail in the model base, in this
example, the water level control system model base.
The block in green indicates that the co-model is a
root model of the design alternative, also with a “root”
mark. By default, the root co-model is marked as “im-
portant status” and “co-simulation baseline” indicat-
ing the starting point of this design.
In this example, there are two design alternatives
in the entire development phase. The mark “E” on the
co-model block indicates a design alternative, which
is explored based on this design. The right-hand
side shows the development information of the co-
model, which appears when clicking on the co-model
block. For example, the revision number, author in-
formation, date of design, decision messages of mak-
SIMULTECH 2011 - 1st International Conference on Simulation and Modeling Methodologies, Technologies and
Applications
172