A Concurrent Temporal Programming Model with Atomic Blocks
Atomic blocks, a high-level language construct that allows programmers to explicitly specify the atomicity of operations without worrying about the implementations, are a promising approach that simplifies concurrent programming. On the other hand, temporal logic is a successful model in logic programming and concurrency verification, but none of existing temporal programming models supports concurrent programming with atomic blocks yet.
In this paper, we propose a temporal programming model (α PTL) which extends the projection temporal logic (PTL) to support concurrent programming with atomic blocks. The novel construct that formulates atomic execution of code blocks, which we call atomic interval formulas, is always interpreted over two consecutive states, with the internal states of the block being abstracted away. We show that the framing mechanism in interval temporal logic also works in the new model, which consequently supports our development of an executive language. The language supports concurrency by introducing a loose interleaving semantics which tracks only the mutual exclusion between atomic blocks. We demonstrate the usage of α PTL by modeling practical concurrent programs.
KeywordsTemporal Logic Logic Programming Latency Assignment Concurrent Program State Formula
Unable to display preview. Download preview PDF.
- 5.Duan, Z., Zhang, N.: A complete axiomatization of propositional projection temporal logic. In: TASE 2008, pp. 271–278. IEEE Computer Science (2008)Google Scholar
- 6.Harris, T.L., Fraser, K.: Language support for lightweight transactions, pp. 388–402 (2003)Google Scholar
- 8.Ma, Y., Duan, Z., Wang, X., Yang, X.: An interpreter for framed tempura and its application. In: Proc. 1st Joint IEEE/IFIP Symp. on Theoretical Aspects of Soft. Eng. (TASE 2007), pp. 251–260 (2007)Google Scholar
- 10.Moszkowski, B.C.: Executing temporal logic programs. Cambridge University Press (1986)Google Scholar
- 13.Schellhorn, G., Tofan, B., Ernst, G., Reif, W.: Interleaved programs and rely-guarantee reasoning with itl. In: Proc. TIME 2011, pp. 99–106. IEEE Computer Science (2011)Google Scholar
- 14.Tang, C.: A temporal logic language oriented toward software engineering – introduction to XYZ system (I). Chinese Journal of Advanced Software Research 1, 1–27 (1994)Google Scholar
- 17.Yang, N., Adam, W., Adl-Tabatabai, Bach, M., Berkowits, S.: Design and implementation of transactional constructs for C/C++. In: Proceedings OOPSLA 2008, pp. 195–212 (September 2008)Google Scholar
- 19.Zyulkyarov, F., Harris, T., Unsal, O.S., Cristal, A., Valeroh, M.: Debugging programs that use atomic blocks and transactional memory. In: Proc. PPoPP 2010, pp. 57–66 (2010)Google Scholar