TDL (Time Definition Language) was created within the MoDECS project as a successor of the Giotto language for time triggered deterministic computation. Its hard real-time properties makes it ideal for use in automation and control engineering.
We will present the concepts and a runtime infrastructure for distributed TDL execution (bus scheduling and distributed E-machine). The key concept is transparent distribution, i.e. there is no difference observable between local and distributed excution of modules. A sample case study will be presented as a proof of concept.
The following source code is an example of TDL usage for a basic counter. The application contains one task and has only one mode of operation.
module counter { const z = 0; // a constant for easy initialization actuator int a := z uses set_act; // use external function set_act task inc [wcet = 1ms] { output int o := z; // initialized with 0 at startup uses inc_func(o); // use external function inc_func with parameter o } start mode main [period = 1000ms] { task [1] inc(); actuator [1] a := inc.o; // set actuator with output of task } }
Copyright © 2004 MoDECS Team