Module 5.8: Module conclusion
In Module 5, you learned that:
- Adding timing behavior to discrete event models turns them into hybrid models.
- Hybrid models can be used to more accurately model a system, provide more realistic simulation behavior, and validate a controlled system with greater fidelity.
- Hybrid models are supported for simulation, but not for synthesis.
- The CIF language does not define the unit of time, but CIF tools by default interpret time in seconds.
- Compared to the state space of a discrete event model, the state space of a hybrid model has states that additionally contain the current time, and has two types of transitions: event transitions and time transitions.
- Variable
timerepresents the absolute time that has passed, since the start of a simulation or execution of a model. - Variable
timestarts at zero and increases linearly as time passes. - Variable
timeis read-only, so it cannot be assigned a new value. - Continuous variables offer more flexibility than the
timevariable, as they measure relative time, can be initialized to any real-typed value, can change at different rates by specifying their derivative, and can be reset by means of assignments. - A timer is a continuous variable that has a derivative of one, either positive or negative.
- The derivative of a continuous variable can be specified with the declaration of the continuous variable, using a single equation in the same component, or using equations per location of the automaton in which it is declared.
- Comparing time-related values requires taking numeric imprecision into account, for instance by using
>=or<=instead of=. - The CIF simulator features a plot visualizer that can show a graph with the values of the variables of the model over time.
- In CIF, events are urgent, meaning that if any event is enabled, time may not progress.
- CIF features urgent locations. If any automaton is currently in an urgent location, time may not progress.
- In a hybrid model, there is a deadlock if no events are enabled and time may not progress.
- In a hybrid model, a timed livelock occurs if event transitions are always possible and thus time may never progress.
- A timed livelock often occurs in open models, that can be closed by adding the environment.
- A model can for instance be closed by simulating it or by using an SVG image and SVG input mappings.
- The
tauevent can be used on edges when it is not relevant what event is on the edge. - The
tauevent is neither controllable nor uncontrollable, and doesn't synchronize. - The
tauevent is not supported by synthesis. - Edges without an explicitly specified event are implicitly labeled with the
tauevent. - The CIF merger can be used to merge multiple partial CIF models together into a single CIF model.
- The
fmtfunction can be used to perform text formatting, which can be useful for instance to construct values for SVG output mappings.