The following DCharts features are not supported. They will be studied in future research:
--ext
is given on the
SCC command-line). The behavior of this Python code with actions
and guards is the same as the simulation in SVM. If C++ is chosen
instead, the actions and guards may also be included (with the
same --ext
parameter). The code must then be linked
to a Python run-time library. In an execution, the binary code
automatically loads the Python library, and executes the actions
and evaluates the guards. With this, the behavior of the model is
also preserved.
There are many other choices for the implementation of actions and guards. One possibility is to use languages that are independent of specific target-languages, such as action semantics [46] [47] and Modelica [48] [49]. Action semantics is not yet standardized. There is no mature library for it until now. Modelica is a powerful language capable of specifying non-causal equation sets. Actions ``a=b+c, d=a/2'' can thus be written as ``a=2*d, a-b-c=0''. The Modelica compiler symbolically and automatically determines the unknown variables and sorts the equations in an order in which all the equations can be solved sequentially. For example, suppose a and d are unknown before the actions are executed. Modelica changes the order of the equations and symbolically transforms them. As a result, a is solved with `` a=b+c'' first, and then d is solved with ``d=a/2''. Though, there is no non-commercial Modelica solver until now, its has a bright future as both an action language and a constraint language.
--ext
parameter must be explicitly given on the
command-line to invoke SCC.
--ext
parameter must be explicitly given on the
command-line to invoke SCC. Scheduling events in an execution
requires extra threads. This limits the portability and
predictability of the model.