Section: Research Program

Modelling Time

The elegant abstraction offered by the "synchronous hypothesis" (The synchronous languages 12 years later. A. Benveniste, et al. Proceedings of IEEE, 91(1), 2003.) has translated in famous leitmotivs like "computation takes no time" and "communication is instantaneous" and contributed to the impact and commercial success of Esterel Studio (Esterel Studio, Sinfora. http://www.synfora.com/products/esterelStudio.html .) and SCADE (Scade System, ANSYS. http://www.esterel-technologies.com/products/scade-system ).

Meanwhile, proposals and standards have appeared to push the technical boundaries of synchronous concurrency, in order to address a larger spectrum of concerns related to modern, heterogeneous, many-core architectures. The challenge becomes more largely about representing time in system design, alongside with many, so called, non-functional properties: cost, power, heat, speed, throughput.

One reference for the purpose of modelling timed hardware behaviour is PSL (IEEE Standard for Property Specification Language. IEEE, 2005. http://dx.doi.org/10.1109/IEEESTD.2005.97780 .). PSL is a formal specification language based on Kleene algebras that was originally designed to model regular hardware signal traces. The duality between automata and this formalism also makes it suitable to express requirements, formal properties and abstraction of program behaviours. It is widely used for modelling and verification of hardware systems.

A more recent reference of broader spectrum is CCSL (CCSL: specifying clock constraints with UML/MARTE, OMG, 2008. http://www.omgmarte.org/node/66 .), the clock constraints specification language of UML Marte. CCSL's core specification formalism is based on the Signal MoCC, it is synchronous and multi-clocked. Yet, CCSL supports extensions to model multi-rate, multi-periodic systems, that are adequate to represent hardware clocks, as well as asynchronous and continuous extensions (although largely unexploited in the related work). Another well-developed model is that of Ptolemy (Ptolemy, UC Berkeley. http://ptolemy.eecs.berkeley.edu .), which represents time as a first-class citizen alongside data carried by streams in the modelled system. It relates to the notion of PRET (Precision Timed Computation in Cyber-Physical Systems. E. A. Lee and S. A. Edwards, 2007. http://ptolemy.eecs.berkeley.edu/publications/papers/07/PRET .), (precision time machine) to support real-time simulation.

In the meantime, and from a totally different perspective, type theory has made considerable advances since the avent of effect systems (Polymorphic effect systems. J. M. Lucassen , D. K. Gifford. Principles of Programming Languages. ACM, 1988.) to formally represent formal properties alongside with values. Hybrid types (Hybrid type checking. K.W. Knowles and C. Flanagan. ACM Transactions on Programming languages and systems, 32(2). ACM, 2010) (linked to interface and contract theories), refinement types (Abstract Refinement Types. N. Vazou, P. Rondon, and R. Jhala. European Symposium on Programming. Springer, 2013.), value-dependant types, allow formal program properties, logical or temporal, to flow alongside with data-types during program analysis and verification. While a combination of all the above is yet unexplored, it offers an exciting venue for contributing in either/both of these fields with new theoretical developments on modelling time using principles of type theory.