next up previous contents index
Next: 2.3 Algorithms Up: 2.2 Overview of Abstract Previous: 2.2.7 Ports and Connections   Contents   Index


2.2.8 Actions and Guards

There is no strict definition of actions in the semantics of DCharts 1.0. As a loose definition, an action is a statement in an action language, which modifies the variables of the model, outputs events, or interacts with other parts of the system that are not modeled with DCharts. An implementation of DCharts may support an action language that is specific to it. For example, because SVM is implemented in Python and Python is an interpreted language, Python is chosen as the action language for SVM. Other DCharts implementations may use different action languages.

An action language must satisfy the following rules:

The case of constraint language is similar. A constraint language is used to express guards of transitions. A guard is a side-effect-free statement that can be evaluated to either $true$ or $false$ at the time when the simulator or executor decides whether a transition is enabled. (In particular, for a timed transition with a guard, the guard is evaluated after the scheduled amount of time instead of at the time when the transition is scheduled.)

A constraint language must satisfy the following rules:

The above are the minimal requirements for DCharts actions and guards. Later versions of DCharts may explicitly define an action language and a constraint language, or specify more requirements for them.


next up previous contents index
Next: 2.3 Algorithms Up: 2.2 Overview of Abstract Previous: 2.2.7 Ports and Connections   Contents   Index
Thomas Huining Feng 2004-04-28