timing definition language tdl - irit · © 2010, chrona.com modeling with the timing definition...
TRANSCRIPT
![Page 1: Timing Definition Language TDL - IRIT · © 2010, chrona.com Modeling with the Timing Definition Language (TDL) 3 TDL in a nut shell](https://reader036.vdocuments.site/reader036/viewer/2022062505/5e9b3c1057bb8463ab7e4be3/html5/thumbnails/1.jpg)
Timing Definition Language TDL
Wolfgang Pree Founder chrona.com
![Page 2: Timing Definition Language TDL - IRIT · © 2010, chrona.com Modeling with the Timing Definition Language (TDL) 3 TDL in a nut shell](https://reader036.vdocuments.site/reader036/viewer/2022062505/5e9b3c1057bb8463ab7e4be3/html5/thumbnails/2.jpg)
© 2010, chrona.com 2 Modeling with the Timing Definition Language (TDL)
Overview Timing Definition Language (TDL) in a nut shell TDL development process TDL tools Benefits of TDL
![Page 3: Timing Definition Language TDL - IRIT · © 2010, chrona.com Modeling with the Timing Definition Language (TDL) 3 TDL in a nut shell](https://reader036.vdocuments.site/reader036/viewer/2022062505/5e9b3c1057bb8463ab7e4be3/html5/thumbnails/3.jpg)
© 2010, chrona.com 3 Modeling with the Timing Definition Language (TDL)
TDL in a nut shell
![Page 4: Timing Definition Language TDL - IRIT · © 2010, chrona.com Modeling with the Timing Definition Language (TDL) 3 TDL in a nut shell](https://reader036.vdocuments.site/reader036/viewer/2022062505/5e9b3c1057bb8463ab7e4be3/html5/thumbnails/4.jpg)
© 2010, chrona.com 4 Modeling with the Timing Definition Language (TDL)
What is TDL? A high-level textual notation for defining the timing behavior of
a real-time application.
TDL covers all aspects that are required to model safety-critical software as found, for example, in cars, airplanes, Unmanned Aerial Vehicles (UAVs), automation systems
seamless integration of time-triggered (synchronous) and event-triggered (asynchronous) activities
TDL’s specification is public; could form the basis of an open standard
![Page 5: Timing Definition Language TDL - IRIT · © 2010, chrona.com Modeling with the Timing Definition Language (TDL) 3 TDL in a nut shell](https://reader036.vdocuments.site/reader036/viewer/2022062505/5e9b3c1057bb8463ab7e4be3/html5/thumbnails/5.jpg)
© 2010, chrona.com 5 Modeling with the Timing Definition Language (TDL)
TDL is conceptually based on Giotto
Giotto project: 2000 – 2003, University of California, Berkeley
TDL = Giotto concepts
+ Syntax
+ Component Architecture
+ Tool Chain
+ Extensions
![Page 6: Timing Definition Language TDL - IRIT · © 2010, chrona.com Modeling with the Timing Definition Language (TDL) 3 TDL in a nut shell](https://reader036.vdocuments.site/reader036/viewer/2022062505/5e9b3c1057bb8463ab7e4be3/html5/thumbnails/6.jpg)
© 2010, chrona.com 6 Modeling with the Timing Definition Language (TDL)
TDL programming model: multi-rate, multi-mode systems (I)
![Page 7: Timing Definition Language TDL - IRIT · © 2010, chrona.com Modeling with the Timing Definition Language (TDL) 3 TDL in a nut shell](https://reader036.vdocuments.site/reader036/viewer/2022062505/5e9b3c1057bb8463ab7e4be3/html5/thumbnails/7.jpg)
© 2010, chrona.com 7 Modeling with the Timing Definition Language (TDL)
TDL programming model: multi-rate, multi-mode systems (II)
LET-semantics
![Page 8: Timing Definition Language TDL - IRIT · © 2010, chrona.com Modeling with the Timing Definition Language (TDL) 3 TDL in a nut shell](https://reader036.vdocuments.site/reader036/viewer/2022062505/5e9b3c1057bb8463ab7e4be3/html5/thumbnails/8.jpg)
© 2010, chrona.com 8 Modeling with the Timing Definition Language (TDL)
Logical Execution Time (LET) abstraction
ET <= WCET <= LET
results are internally available at ‘stop (ET)’
results are externally visible at ‘terminate’
spare time between ‘stop’ and ‘terminate’
time task invocation
Logical Execution Time (LET)
Logical
Physical
start stop (ET)
suspend resume
release terminate
stop (WCET)
![Page 9: Timing Definition Language TDL - IRIT · © 2010, chrona.com Modeling with the Timing Definition Language (TDL) 3 TDL in a nut shell](https://reader036.vdocuments.site/reader036/viewer/2022062505/5e9b3c1057bb8463ab7e4be3/html5/thumbnails/9.jpg)
© 2010, chrona.com 9 Modeling with the Timing Definition Language (TDL)
LET advantages
observable (logical) timing is identical on all platforms
allows for simulation allows for composition allows for distribution
![Page 10: Timing Definition Language TDL - IRIT · © 2010, chrona.com Modeling with the Timing Definition Language (TDL) 3 TDL in a nut shell](https://reader036.vdocuments.site/reader036/viewer/2022062505/5e9b3c1057bb8463ab7e4be3/html5/thumbnails/10.jpg)
© 2010, chrona.com 10 Modeling with the Timing Definition Language (TDL)
Periodic execution in TDL modes
Every mode has a fixed period. A task t has a frequency f within a mode. The mode period is filled with f task invocations. The LET of a task invocation is modePeriod / f.
time task t invocation 1 Logical
task t invocation 2
Mode Period Mode Start Mode End
![Page 11: Timing Definition Language TDL - IRIT · © 2010, chrona.com Modeling with the Timing Definition Language (TDL) 3 TDL in a nut shell](https://reader036.vdocuments.site/reader036/viewer/2022062505/5e9b3c1057bb8463ab7e4be3/html5/thumbnails/11.jpg)
© 2010, chrona.com 11 Modeling with the Timing Definition Language (TDL)
TDL module: modes, sensors and actuators form a unit
![Page 12: Timing Definition Language TDL - IRIT · © 2010, chrona.com Modeling with the Timing Definition Language (TDL) 3 TDL in a nut shell](https://reader036.vdocuments.site/reader036/viewer/2022062505/5e9b3c1057bb8463ab7e4be3/html5/thumbnails/12.jpg)
© 2010, chrona.com 12 Modeling with the Timing Definition Language (TDL)
Example: Receiver imports from Sender module
module Sender module Receiver
![Page 13: Timing Definition Language TDL - IRIT · © 2010, chrona.com Modeling with the Timing Definition Language (TDL) 3 TDL in a nut shell](https://reader036.vdocuments.site/reader036/viewer/2022062505/5e9b3c1057bb8463ab7e4be3/html5/thumbnails/13.jpg)
© 2010, chrona.com 13 Modeling with the Timing Definition Language (TDL)
module Sender module Receiver
Example: Receiver imports from Sender module
public
![Page 14: Timing Definition Language TDL - IRIT · © 2010, chrona.com Modeling with the Timing Definition Language (TDL) 3 TDL in a nut shell](https://reader036.vdocuments.site/reader036/viewer/2022062505/5e9b3c1057bb8463ab7e4be3/html5/thumbnails/14.jpg)
© 2010, chrona.com 14 Modeling with the Timing Definition Language (TDL)
module Sender module Receiver
Example: Receiver imports from Sender module
public
private
![Page 15: Timing Definition Language TDL - IRIT · © 2010, chrona.com Modeling with the Timing Definition Language (TDL) 3 TDL in a nut shell](https://reader036.vdocuments.site/reader036/viewer/2022062505/5e9b3c1057bb8463ab7e4be3/html5/thumbnails/15.jpg)
© 2010, chrona.com 15 Modeling with the Timing Definition Language (TDL)
TDL syntax by example module Sender {
sensor boolean s1 uses getS1; actuator int a1 uses setA1;
public task inc { output int o := 10; uses incImpl(o); }
start mode main [period=5ms] { task [freq=1] inc(); // LET = 5ms / 1 = 5ms actuator [freq=1] a1 := inc.o; // update every 5ms mode [freq=1] if exitMain(s1) then freeze; }
mode freeze [period=1000ms] {} }
s1 inc [5ms] a1 Sender (mode main)
![Page 16: Timing Definition Language TDL - IRIT · © 2010, chrona.com Modeling with the Timing Definition Language (TDL) 3 TDL in a nut shell](https://reader036.vdocuments.site/reader036/viewer/2022062505/5e9b3c1057bb8463ab7e4be3/html5/thumbnails/16.jpg)
© 2010, chrona.com 16 Modeling with the Timing Definition Language (TDL)
Module import module Receiver {
import Sender; … task clientTask { input int i1; … } mode main [period=10ms] { task [freq=1] clientTask(Sender.inc.o); // LET = 10ms / 1 = 10ms … } }
s1 a1 Sender
clientTask [10ms] a1
Receiver inc [5ms]
20 ms
![Page 17: Timing Definition Language TDL - IRIT · © 2010, chrona.com Modeling with the Timing Definition Language (TDL) 3 TDL in a nut shell](https://reader036.vdocuments.site/reader036/viewer/2022062505/5e9b3c1057bb8463ab7e4be3/html5/thumbnails/17.jpg)
© 2010, chrona.com 17 Modeling with the Timing Definition Language (TDL)
LET-behavior (independent of component deployment)
t Sender inc inc
Receiver clientTask
inc inc
10 ms
5 ms
communication of inc’s output to clientTask
clientTask
![Page 18: Timing Definition Language TDL - IRIT · © 2010, chrona.com Modeling with the Timing Definition Language (TDL) 3 TDL in a nut shell](https://reader036.vdocuments.site/reader036/viewer/2022062505/5e9b3c1057bb8463ab7e4be3/html5/thumbnails/18.jpg)
© 2010, chrona.com 18 Modeling with the Timing Definition Language (TDL)
TDL execution
![Page 19: Timing Definition Language TDL - IRIT · © 2010, chrona.com Modeling with the Timing Definition Language (TDL) 3 TDL in a nut shell](https://reader036.vdocuments.site/reader036/viewer/2022062505/5e9b3c1057bb8463ab7e4be3/html5/thumbnails/19.jpg)
© 2010, chrona.com 19 Modeling with the Timing Definition Language (TDL)
TDL run-time environment
based on a virtual machine, called TDL:Machine executes virtual instruction set, called E-code
(embedded code) E-code is executed at logical time instants synchronized logical time for all components E-code generated by TDL compiler from TDL
source covers one mode period contains one E-code block per logical time instant
![Page 20: Timing Definition Language TDL - IRIT · © 2010, chrona.com Modeling with the Timing Definition Language (TDL) 3 TDL in a nut shell](https://reader036.vdocuments.site/reader036/viewer/2022062505/5e9b3c1057bb8463ab7e4be3/html5/thumbnails/20.jpg)
© 2010, chrona.com 20 Modeling with the Timing Definition Language (TDL)
one TDL:Machine per node
TDL:Machine single node
![Page 21: Timing Definition Language TDL - IRIT · © 2010, chrona.com Modeling with the Timing Definition Language (TDL) 3 TDL in a nut shell](https://reader036.vdocuments.site/reader036/viewer/2022062505/5e9b3c1057bb8463ab7e4be3/html5/thumbnails/21.jpg)
© 2010, chrona.com 21 Modeling with the Timing Definition Language (TDL)
one TDL:Machine per node
TDL:Machine node1
TDL:Machine node2
TDL:Machine node3
![Page 22: Timing Definition Language TDL - IRIT · © 2010, chrona.com Modeling with the Timing Definition Language (TDL) 3 TDL in a nut shell](https://reader036.vdocuments.site/reader036/viewer/2022062505/5e9b3c1057bb8463ab7e4be3/html5/thumbnails/22.jpg)
© 2010, chrona.com 22 Modeling with the Timing Definition Language (TDL)
Some additional TDL constructs
![Page 23: Timing Definition Language TDL - IRIT · © 2010, chrona.com Modeling with the Timing Definition Language (TDL) 3 TDL in a nut shell](https://reader036.vdocuments.site/reader036/viewer/2022062505/5e9b3c1057bb8463ab7e4be3/html5/thumbnails/23.jpg)
© 2010, chrona.com 23 Modeling with the Timing Definition Language (TDL)
TDL slot selection
f = 6
time Logical
Mode Period Mode Start Mode End
slot 1 slot 2 slot 3 slot 4 slot 5 slot 6
![Page 24: Timing Definition Language TDL - IRIT · © 2010, chrona.com Modeling with the Timing Definition Language (TDL) 3 TDL in a nut shell](https://reader036.vdocuments.site/reader036/viewer/2022062505/5e9b3c1057bb8463ab7e4be3/html5/thumbnails/24.jpg)
© 2010, chrona.com 24 Modeling with the Timing Definition Language (TDL)
f = 6 task invocation 1 covers slots 1 – 2 task invocation 2 covers slots 4 – 5
time Logical
Mode Period Mode Start Mode End
task invoc. 1 task invoc. 2
slot 1 slot 2 slot 3 slot 4 slot 5 slot 6
TDL slot selection
![Page 25: Timing Definition Language TDL - IRIT · © 2010, chrona.com Modeling with the Timing Definition Language (TDL) 3 TDL in a nut shell](https://reader036.vdocuments.site/reader036/viewer/2022062505/5e9b3c1057bb8463ab7e4be3/html5/thumbnails/25.jpg)
© 2010, chrona.com 25 Modeling with the Timing Definition Language (TDL)
TDL slot selection allows the specification of ... an arbitrary repetition pattern the LET more explicitly gaps task invocation sequences optional task invocations
![Page 26: Timing Definition Language TDL - IRIT · © 2010, chrona.com Modeling with the Timing Definition Language (TDL) 3 TDL in a nut shell](https://reader036.vdocuments.site/reader036/viewer/2022062505/5e9b3c1057bb8463ab7e4be3/html5/thumbnails/26.jpg)
© 2010, chrona.com 26 Modeling with the Timing Definition Language (TDL)
Physical layer / E-code blocks
time Logical
Mode Period Mode Start Mode End
task invoc. 1 task invoc. 2
slot 1 slot 2 slot 3 slot 4 slot 5 slot 6
E-Code block follows fixed pattern: 1. task terminations 2. actuator updates 3. mode switches 4. task releases
E-code block
E-code block
E-code block
E-code block
Physical
![Page 27: Timing Definition Language TDL - IRIT · © 2010, chrona.com Modeling with the Timing Definition Language (TDL) 3 TDL in a nut shell](https://reader036.vdocuments.site/reader036/viewer/2022062505/5e9b3c1057bb8463ab7e4be3/html5/thumbnails/27.jpg)
© 2010, chrona.com 27 Modeling with the Timing Definition Language (TDL)
Adding asynchronous activities
time Logical
Mode Period Mode Start Mode End
task invoc. 1 task invoc. 2
slot 1 slot 2 slot 3 slot 4 slot 5 slot 6
Priority levels black: highest priority (E-code)
E-code block
E-code block
E-code block
E-code block
Physical
![Page 28: Timing Definition Language TDL - IRIT · © 2010, chrona.com Modeling with the Timing Definition Language (TDL) 3 TDL in a nut shell](https://reader036.vdocuments.site/reader036/viewer/2022062505/5e9b3c1057bb8463ab7e4be3/html5/thumbnails/28.jpg)
© 2010, chrona.com 28 Modeling with the Timing Definition Language (TDL)
time Logical
Mode Period Mode Start Mode End
task invoc. 1 task invoc. 2
slot 1 slot 2 slot 3 slot 4 slot 5 slot 6
Priority levels black: highest priority (E-code) red: lower priority (synchronous tasks)
E-code block
E-code block
E-code block
E-code block
Physical
Adding asynchronous activities
![Page 29: Timing Definition Language TDL - IRIT · © 2010, chrona.com Modeling with the Timing Definition Language (TDL) 3 TDL in a nut shell](https://reader036.vdocuments.site/reader036/viewer/2022062505/5e9b3c1057bb8463ab7e4be3/html5/thumbnails/29.jpg)
© 2010, chrona.com 29 Modeling with the Timing Definition Language (TDL)
time Logical
Mode Period Mode Start Mode End
task invoc. 1 task invoc. 2
slot 1 slot 2 slot 3 slot 4 slot 5 slot 6
Priority levels black: highest priority (E-code) red: lower priority (synchronous tasks) blue: lowest priority (asynchronous activities)
E-code block
E-code block
E-code block
E-code block
Physical
Adding asynchronous activities
![Page 30: Timing Definition Language TDL - IRIT · © 2010, chrona.com Modeling with the Timing Definition Language (TDL) 3 TDL in a nut shell](https://reader036.vdocuments.site/reader036/viewer/2022062505/5e9b3c1057bb8463ab7e4be3/html5/thumbnails/30.jpg)
© 2010, chrona.com 30 Modeling with the Timing Definition Language (TDL)
Asynchronous activities rationale
event-driven background tasks may be long running not time critical could be implemented at platform level, but: platform-specific unsynchronized data-flow to/from E-machine
support added toTDL Goal: avoid complex synchronization constructs
and the danger of deadlocks and priority inversions
![Page 31: Timing Definition Language TDL - IRIT · © 2010, chrona.com Modeling with the Timing Definition Language (TDL) 3 TDL in a nut shell](https://reader036.vdocuments.site/reader036/viewer/2022062505/5e9b3c1057bb8463ab7e4be3/html5/thumbnails/31.jpg)
© 2010, chrona.com 31 Modeling with the Timing Definition Language (TDL)
Kinds of asynchronous activities
task invocation similar to synchronous task invocations except
for timing input ports are read just before physical
execution output ports are visible just after physical
execution data flow is synchronized with E-machine
actuator updates similar to synchronous actuator updates except
for timing data flow is synchronized with E-machine
![Page 32: Timing Definition Language TDL - IRIT · © 2010, chrona.com Modeling with the Timing Definition Language (TDL) 3 TDL in a nut shell](https://reader036.vdocuments.site/reader036/viewer/2022062505/5e9b3c1057bb8463ab7e4be3/html5/thumbnails/32.jpg)
© 2010, chrona.com 32 Modeling with the Timing Definition Language (TDL)
Trigger Events
hardware and software interrupts periodic asynchronous timers port updates
Use a registry for later execution of the async activities.
Parameter passing occurs at execution time.
Registry functions as a priority queue.
![Page 33: Timing Definition Language TDL - IRIT · © 2010, chrona.com Modeling with the Timing Definition Language (TDL) 3 TDL in a nut shell](https://reader036.vdocuments.site/reader036/viewer/2022062505/5e9b3c1057bb8463ab7e4be3/html5/thumbnails/33.jpg)
© 2010, chrona.com 33 Modeling with the Timing Definition Language (TDL)
Threads and critical regions hardware interrupts, timer: highest priority
synchronous activities (E-machine): high priority
asynchronous activities: lowest priority
registered events enqueue()
dequeue()
on interrupt, on timer
on port update
on port update
ports
critical region thread
![Page 34: Timing Definition Language TDL - IRIT · © 2010, chrona.com Modeling with the Timing Definition Language (TDL) 3 TDL in a nut shell](https://reader036.vdocuments.site/reader036/viewer/2022062505/5e9b3c1057bb8463ab7e4be3/html5/thumbnails/34.jpg)
© 2010, chrona.com 34 Modeling with the Timing Definition Language (TDL)
Synchronization requirements
Async activities don‘t preempt anything. E-machine may preempt async activities. Hardware interrupts (incl. timers) may preempt
everything incl. other hardware interrupts. We need a very robust thread safe registry. We need a very efficient enqueue operation for serving hardware interrupts quickly for efficient synchronous port update triggers
dequeue is done asynchronously and may be slower.
![Page 35: Timing Definition Language TDL - IRIT · © 2010, chrona.com Modeling with the Timing Definition Language (TDL) 3 TDL in a nut shell](https://reader036.vdocuments.site/reader036/viewer/2022062505/5e9b3c1057bb8463ab7e4be3/html5/thumbnails/35.jpg)
© 2010, chrona.com 35 Modeling with the Timing Definition Language (TDL)
Transparent distribution
![Page 36: Timing Definition Language TDL - IRIT · © 2010, chrona.com Modeling with the Timing Definition Language (TDL) 3 TDL in a nut shell](https://reader036.vdocuments.site/reader036/viewer/2022062505/5e9b3c1057bb8463ab7e4be3/html5/thumbnails/36.jpg)
© 2010, chrona.com 36 Modeling with the Timing Definition Language (TDL)
TDL module-to-node-assignment (example)
Sender ECU1
ECU2 Receiver
FlexRay bus
![Page 37: Timing Definition Language TDL - IRIT · © 2010, chrona.com Modeling with the Timing Definition Language (TDL) 3 TDL in a nut shell](https://reader036.vdocuments.site/reader036/viewer/2022062505/5e9b3c1057bb8463ab7e4be3/html5/thumbnails/37.jpg)
© 2010, chrona.com 37 Modeling with the Timing Definition Language (TDL)
Transparent distribution of TDL components:
Firstly, at runtime a set of TDL components behaves exactly the same, no matter if all components are executed on a single node or if they are distributed across multiple nodes. The logical timing is always preserved, only the physical timing, which is not observable from the outside, may be changed.
Secondly, for the developer of a TDL component, it does not matter where the component itself and any imported component are executed.
![Page 38: Timing Definition Language TDL - IRIT · © 2010, chrona.com Modeling with the Timing Definition Language (TDL) 3 TDL in a nut shell](https://reader036.vdocuments.site/reader036/viewer/2022062505/5e9b3c1057bb8463ab7e4be3/html5/thumbnails/38.jpg)
© 2010, chrona.com 38 Modeling with the Timing Definition Language (TDL)
sample physical execution times on ECU1/ECU2
t Sender inc inc
Receiver clientTask
inc inc
10 ms
5 ms
clientTask
ECU1
ECU2
![Page 39: Timing Definition Language TDL - IRIT · © 2010, chrona.com Modeling with the Timing Definition Language (TDL) 3 TDL in a nut shell](https://reader036.vdocuments.site/reader036/viewer/2022062505/5e9b3c1057bb8463ab7e4be3/html5/thumbnails/39.jpg)
© 2010, chrona.com 39 Modeling with the Timing Definition Language (TDL)
Constraints for automatic schedule generation
Sender inc inc
Receiver clientTask
inc inc
10 ms
5 ms
clientTask
ECU1
ECU2
communication window
communication window
t
stop (WCET)
stop (WCET)
![Page 40: Timing Definition Language TDL - IRIT · © 2010, chrona.com Modeling with the Timing Definition Language (TDL) 3 TDL in a nut shell](https://reader036.vdocuments.site/reader036/viewer/2022062505/5e9b3c1057bb8463ab7e4be3/html5/thumbnails/40.jpg)
© 2010, chrona.com 40 Modeling with the Timing Definition Language (TDL)
Bus schedule generation
Sender inc inc
Receiver clientTask
inc inc
10 ms
5 ms
clientTask
ECU1
ECU2
communication window
communication window
local buffer
local buffer
t
FlexRay bus
![Page 41: Timing Definition Language TDL - IRIT · © 2010, chrona.com Modeling with the Timing Definition Language (TDL) 3 TDL in a nut shell](https://reader036.vdocuments.site/reader036/viewer/2022062505/5e9b3c1057bb8463ab7e4be3/html5/thumbnails/41.jpg)
© 2010, chrona.com 41 Modeling with the Timing Definition Language (TDL)
Chrona’s VisualDistributor maps TDL modules to nodes
![Page 42: Timing Definition Language TDL - IRIT · © 2010, chrona.com Modeling with the Timing Definition Language (TDL) 3 TDL in a nut shell](https://reader036.vdocuments.site/reader036/viewer/2022062505/5e9b3c1057bb8463ab7e4be3/html5/thumbnails/42.jpg)
© 2010, chrona.com 42 Modeling with the Timing Definition Language (TDL)
TDL-based development process
![Page 43: Timing Definition Language TDL - IRIT · © 2010, chrona.com Modeling with the Timing Definition Language (TDL) 3 TDL in a nut shell](https://reader036.vdocuments.site/reader036/viewer/2022062505/5e9b3c1057bb8463ab7e4be3/html5/thumbnails/43.jpg)
© 2010, chrona.com 43 Modeling with the Timing Definition Language (TDL)
Chrona tools in the V model
requirements
functional model
application code test
verification + timing
Chrona VisualCreator in Matlab®/Simulink®
Chrona VisualDistributor generiert for platform 2
generated for platform 1
. . .
C
![Page 44: Timing Definition Language TDL - IRIT · © 2010, chrona.com Modeling with the Timing Definition Language (TDL) 3 TDL in a nut shell](https://reader036.vdocuments.site/reader036/viewer/2022062505/5e9b3c1057bb8463ab7e4be3/html5/thumbnails/44.jpg)
© 2010, chrona.com 44 Modeling with the Timing Definition Language (TDL)
TDL tools
![Page 45: Timing Definition Language TDL - IRIT · © 2010, chrona.com Modeling with the Timing Definition Language (TDL) 3 TDL in a nut shell](https://reader036.vdocuments.site/reader036/viewer/2022062505/5e9b3c1057bb8463ab7e4be3/html5/thumbnails/45.jpg)
© 2010, chrona.com 45 Modeling with the Timing Definition Language (TDL)
TDL tools
Chrona TDL-Compiler Chrona VisualCreator Chrona VisualDistributor Chrona VisualAnalyzer
requires Java 1.5 or later optional integration with MATLAB/Simulink from
The MathWorks
Chrona TDL-Machine (alias E-Machine) platform-specific, typically in C
![Page 46: Timing Definition Language TDL - IRIT · © 2010, chrona.com Modeling with the Timing Definition Language (TDL) 3 TDL in a nut shell](https://reader036.vdocuments.site/reader036/viewer/2022062505/5e9b3c1057bb8463ab7e4be3/html5/thumbnails/46.jpg)
© 2010, chrona.com 46 Modeling with the Timing Definition Language (TDL)
TDL tool chain
.tdl TDL:Compiler TDL:Machine* .ecode
functionality code
* Simulink, OSEK, dSpace, ARM, AES, INtime, RTLinux, ...
![Page 47: Timing Definition Language TDL - IRIT · © 2010, chrona.com Modeling with the Timing Definition Language (TDL) 3 TDL in a nut shell](https://reader036.vdocuments.site/reader036/viewer/2022062505/5e9b3c1057bb8463ab7e4be3/html5/thumbnails/47.jpg)
© 2010, chrona.com 47 Modeling with the Timing Definition Language (TDL)
TDL tool chain
.tdl TDL:Compiler TDL:Machine* .ecode
functionality code
* Simulink, OSEK, dSpace, ARM, AES, INtime, RTLinux, ...
platform specific
AST
platform specific
Platform plugin*
![Page 48: Timing Definition Language TDL - IRIT · © 2010, chrona.com Modeling with the Timing Definition Language (TDL) 3 TDL in a nut shell](https://reader036.vdocuments.site/reader036/viewer/2022062505/5e9b3c1057bb8463ab7e4be3/html5/thumbnails/48.jpg)
© 2010, chrona.com 48 Modeling with the Timing Definition Language (TDL)
Chrona VisualCreator
TDL tool chain
.tdl TDL:Compiler TDL:Machine .ecode
functionality code
platform specific
AST
platform specific
Platform plugin*
![Page 49: Timing Definition Language TDL - IRIT · © 2010, chrona.com Modeling with the Timing Definition Language (TDL) 3 TDL in a nut shell](https://reader036.vdocuments.site/reader036/viewer/2022062505/5e9b3c1057bb8463ab7e4be3/html5/thumbnails/49.jpg)
© 2010, chrona.com 49 Modeling with the Timing Definition Language (TDL)
Chrona VisualDistributor
Chrona VisualCreator
TDL tool chain
.tdl TDL:Compiler TDL:Machine .ecode
functionality code
platform specific
AST
platform specific
Platform plugin*
![Page 50: Timing Definition Language TDL - IRIT · © 2010, chrona.com Modeling with the Timing Definition Language (TDL) 3 TDL in a nut shell](https://reader036.vdocuments.site/reader036/viewer/2022062505/5e9b3c1057bb8463ab7e4be3/html5/thumbnails/50.jpg)
© 2010, chrona.com 50 Modeling with the Timing Definition Language (TDL)
Chrona VisualAnalyzer: communication
analysis
TDL tool chain
TDL:Machine node1
TDL:Machine node2
TDL:Machine node3
![Page 51: Timing Definition Language TDL - IRIT · © 2010, chrona.com Modeling with the Timing Definition Language (TDL) 3 TDL in a nut shell](https://reader036.vdocuments.site/reader036/viewer/2022062505/5e9b3c1057bb8463ab7e4be3/html5/thumbnails/51.jpg)
© 2010, chrona.com 51 Modeling with the Timing Definition Language (TDL)
Status quo ready
TDL:VisualCreator (stand-alone or in Matlab®/Simulink®) TDL:VisualDistributor (extensible via plugins; currently a plugin for
FlexRay is available as product, together with plug-ins for various cluster nodes such as the MicroAutoBox, and Renesas–AES) The TDL:VisualDistributor is available as stand-alone tool or in Matlab®/Simulink® and provides the following features: Communication Schedule Generator TDL:CommViewer automatic generation of all node-, OS- and cluster-specific files
TDL:Compiler TDL:Machine for Simulink, mabx, AES, ARM, INtime, OSEK, RT-Linux seamless integration of asynchronous events with TDL multiple slot selection (decoupling of LET and period; eg, for event
modeling) harnessing existing FlexRay communication schedules (via FIBEX) for
their incremental extension TDL:VisualAnalyzer (recording and debugging tool)
work in progress ‘intelligent’ FlexRay parameter configuration editor TDL:Machine for further platforms (NEC, etc.)
![Page 52: Timing Definition Language TDL - IRIT · © 2010, chrona.com Modeling with the Timing Definition Language (TDL) 3 TDL in a nut shell](https://reader036.vdocuments.site/reader036/viewer/2022062505/5e9b3c1057bb8463ab7e4be3/html5/thumbnails/52.jpg)
© 2010, chrona.com 52 Modeling with the Timing Definition Language (TDL)
TDL advantages
![Page 53: Timing Definition Language TDL - IRIT · © 2010, chrona.com Modeling with the Timing Definition Language (TDL) 3 TDL in a nut shell](https://reader036.vdocuments.site/reader036/viewer/2022062505/5e9b3c1057bb8463ab7e4be3/html5/thumbnails/53.jpg)
© 2010, chrona.com 53 Modeling with the Timing Definition Language (TDL)
The TDL way:
develop once
3 dSpace mabx
TT Ethernet
deploy on any platform
Component C
. . . ARM
FlexRay-based communication
(TT) CAN ...
single node
![Page 54: Timing Definition Language TDL - IRIT · © 2010, chrona.com Modeling with the Timing Definition Language (TDL) 3 TDL in a nut shell](https://reader036.vdocuments.site/reader036/viewer/2022062505/5e9b3c1057bb8463ab7e4be3/html5/thumbnails/54.jpg)
© 2010, chrona.com 54 Modeling with the Timing Definition Language (TDL)
State-of-the-art: variant for each platform
3 dSpace mabx
C-a 2 DeComSys
Renesas
C-b
. . .
C-c
. . .
![Page 55: Timing Definition Language TDL - IRIT · © 2010, chrona.com Modeling with the Timing Definition Language (TDL) 3 TDL in a nut shell](https://reader036.vdocuments.site/reader036/viewer/2022062505/5e9b3c1057bb8463ab7e4be3/html5/thumbnails/55.jpg)
© 2010, chrona.com 55 Modeling with the Timing Definition Language (TDL)
TDL advantages
transparent distribution: developers do not have to consider the target platform (processor, OS, communication bus, etc.), which could be a single node or a distributed system
time and value determinism: same inputs imply corresponding same outputs significantly improved reliability simulation = behavior on execution platform
![Page 56: Timing Definition Language TDL - IRIT · © 2010, chrona.com Modeling with the Timing Definition Language (TDL) 3 TDL in a nut shell](https://reader036.vdocuments.site/reader036/viewer/2022062505/5e9b3c1057bb8463ab7e4be3/html5/thumbnails/56.jpg)
© 2010, chrona.com 56 Modeling with the Timing Definition Language (TDL)
embedded software developers have to deal with 3 dimensions
functionality
![Page 57: Timing Definition Language TDL - IRIT · © 2010, chrona.com Modeling with the Timing Definition Language (TDL) 3 TDL in a nut shell](https://reader036.vdocuments.site/reader036/viewer/2022062505/5e9b3c1057bb8463ab7e4be3/html5/thumbnails/57.jpg)
© 2010, chrona.com 57 Modeling with the Timing Definition Language (TDL)
developers have to deal with 3 dimensions
functionality
timing
![Page 58: Timing Definition Language TDL - IRIT · © 2010, chrona.com Modeling with the Timing Definition Language (TDL) 3 TDL in a nut shell](https://reader036.vdocuments.site/reader036/viewer/2022062505/5e9b3c1057bb8463ab7e4be3/html5/thumbnails/58.jpg)
© 2010, chrona.com 58 Modeling with the Timing Definition Language (TDL)
developers have to deal with 3 dimensions
functionality
timing
platform
![Page 59: Timing Definition Language TDL - IRIT · © 2010, chrona.com Modeling with the Timing Definition Language (TDL) 3 TDL in a nut shell](https://reader036.vdocuments.site/reader036/viewer/2022062505/5e9b3c1057bb8463ab7e4be3/html5/thumbnails/59.jpg)
© 2010, chrona.com 59 Modeling with the Timing Definition Language (TDL)
TDL reduces this to 2 dimensions
functionality
timing
platform
![Page 60: Timing Definition Language TDL - IRIT · © 2010, chrona.com Modeling with the Timing Definition Language (TDL) 3 TDL in a nut shell](https://reader036.vdocuments.site/reader036/viewer/2022062505/5e9b3c1057bb8463ab7e4be3/html5/thumbnails/60.jpg)
© 2010, chrona.com 60 Modeling with the Timing Definition Language (TDL)
TDL reduces this to 2 dimensions
functionality
timing
platform
significantly simplified
![Page 61: Timing Definition Language TDL - IRIT · © 2010, chrona.com Modeling with the Timing Definition Language (TDL) 3 TDL in a nut shell](https://reader036.vdocuments.site/reader036/viewer/2022062505/5e9b3c1057bb8463ab7e4be3/html5/thumbnails/61.jpg)
© 2010, chrona.com 61 Modeling with the Timing Definition Language (TDL)
TDL allows your developers to focus on the functionality
functionality
timing
platform
![Page 62: Timing Definition Language TDL - IRIT · © 2010, chrona.com Modeling with the Timing Definition Language (TDL) 3 TDL in a nut shell](https://reader036.vdocuments.site/reader036/viewer/2022062505/5e9b3c1057bb8463ab7e4be3/html5/thumbnails/62.jpg)
© 2010, chrona.com 62 Modeling with the Timing Definition Language (TDL)
TDL allows your developers to focus on the functionality
functionality
timing
platform
3D → 1,5D
![Page 63: Timing Definition Language TDL - IRIT · © 2010, chrona.com Modeling with the Timing Definition Language (TDL) 3 TDL in a nut shell](https://reader036.vdocuments.site/reader036/viewer/2022062505/5e9b3c1057bb8463ab7e4be3/html5/thumbnails/63.jpg)
© 2010, chrona.com 63 Modeling with the Timing Definition Language (TDL)
TDL leads to enormous gains in efficiency and quality
eg, FlexRay development reduced by a factor of 20 1 person year => 2 person weeks
deterministic system: simulation and executable on platform always
exhibit equivalent (observable) behavior time and value determinism guaranteed
flexibility to change topology, even platform automatic code generators take care of the details
![Page 64: Timing Definition Language TDL - IRIT · © 2010, chrona.com Modeling with the Timing Definition Language (TDL) 3 TDL in a nut shell](https://reader036.vdocuments.site/reader036/viewer/2022062505/5e9b3c1057bb8463ab7e4be3/html5/thumbnails/64.jpg)
© 2010, chrona.com 64 Modeling with the Timing Definition Language (TDL)
Thank you for your attention!