Time in SCCharts
Abstract
Synchronous languages, such as the recently proposed SCCharts language, have been designed for the rigorous specification of real-time systems. Their sound semantics, which build on an abstraction from physical execution time, make these languages appealing, in particular for safety-critical systems. However, they traditionally lack built-in support for physical time. This makes it rather cumbersome to express things like timeouts or periodic executions within the language.
We here propose several mechanisms to reconcile the synchronous paradigm with physical time. Specifically, we propose extensions to the SCCharts language to express clocks and execution periods within the model. We draw on several sources, in particular timed automata, the Clock Constraint Specification Language, and the recently proposed concept of dynamic ticks. We illustrate how these extensions can be mapped to the SCChart language core, with minimal requirements on the runtime system, and we argue that the same concepts could be applied to other synchronous languages such as Esterel, Lustre, or SCADE.
Keywords
Safety-critical systems
Timed automata
Determinism
Multirate timed automata
Synchronous languages
Dynamic ticks
Sequential constructiveness
Clocks
Timing specification
Timing constraints
Clock constraint specification language
Timeouts
Periodic executions
Physical execution time
Multiform notion of time
Time-triggered
Event-triggered
Time-event-triggered
Initialize-update-read protocol
SCCharts
Real-time systems
KIELER
Reactive systems
Model-based engineering