Download INSTITUT F¨UR INFORMATIK CASE Tools for Embedded Systems

Transcript
7.2. MODELING THE SYTEM
103
for the requirements elicitation, because they support the developer in the analysis of complex systems, and for its validation
and verification after the developing process.
• Then we have data type definitions (DTDs, see Section 7.4, "Model
of the Controller") which can be defined in J AVA or Q UEST F.
When starting a new model, the developer has the choice of
which programming language to use. If you take Java, a partial
set of basic types of the Java programming language is available
for typing, but user-definded types are not allowed. Therefore
the models are sometimes difficult to understand. QuestF as a
functional language allows such types besides Bool, Float and
Integer by means of data constructs, so that channels and ports
can have types which are self-explanatory. User-defined auxiliary functions can also be built in QuestF and even constants
can be defined. The concept of the DTD using Q UEST F is very
powerful and gives the experienced developer a very powerful
instrument at hand, to develop own data type and corresponding functions for the design of the model.
• At last A UTO F OCUS provides the concept of state transition diagrams (STDs, see Section 7.4, "Model of the Controller"), which
is similar to state charts diagrams, known from the UML modelling language. Each STD can be assigned to one or several
SSDs. In such diagrams there are different states which can be
initial, final, both or just regular states. Beginning with the initial
state another state can be reached with a transition. A transition
takes different arguments, which can be:
–
–
–
–
–
precondition
input port
output port
postcondition
priority
The input ports specified, define on the one hand data, wich
can be used in preconditions or written to an output port. On
the other hand the pure presence or absence of a value can be
checked as well. A transition can consider preconditions for the
input values or local variables stored in the appropriate SSD.
It also can define postconditions for the local variables which
means that those variables have to adopt new values. At last,
the priority of the transition is a instrument to make a STD deterministic, because it can be defined, which transition is used,
if there are multiple choices. This is very useful, if you have to
consider special cases.