Practical Causality Handling for Synchronous Languages
Steven Smytha, Alexander Schulz-Rosengartenb and Reinhard von Hanxledenc
Department of Computer Science, Kiel University, Kiel, Germany
assm@informatik.uni-kiel.de
bals@informatik.uni-kiel.de
crvh@informatik.uni-kiel.de
ABSTRACT
A key to the synchronous principle of reconciling concurrency with determinism is to establish at compile time that a program is causal, which means that there exists a schedule that obeys the rules put down by the language. In practice it can be rather cumbersome for the developer to cure causality problems. To facilitate causality handling, we propose, first, to enrich the scheduling regime of the language to also consider explicit scheduling directives that can be used by either the modeler or model-to-model transformations. Secondly, we propose to enhance programming environments with dedicated causality views to guide the developer in finding causality issues. Our proposals should be applicable for synchronous languages; we here illustrate them for the SCCharts language and its open source development platform KIELER.
Keywords: Model-based design, Scheduling, Synchronous languages, Modeling pragmatics, SCCharts.