Executing temporal logic programs
Executing temporal logic programs
Journal of Symbolic Computation
ACM Transactions on Programming Languages and Systems (TOPLAS)
Nonblocking algorithms and preemption-safe locking on multiprogrammed shared memory multiprocessors
Journal of Parallel and Distributed Computing
The Temporal Semantics of Concurrent Programs
Proceedings of the International Sympoisum on Semantics of Concurrent Computation
Language support for lightweight transactions
OOPSLA '03 Proceedings of the 18th annual ACM SIGPLAN conference on Object-oriented programing, systems, languages, and applications
A framed temporal logic programming language
Journal of Computer Science and Technology
An Interpreter for Framed Tempura and Its Application
TASE '07 Proceedings of the First Joint IEEE/IFIP Symposium on Theoretical Aspects of Software Engineering
A Complete Axiomatization of Propositional Projection Temporal Logic
TASE '08 Proceedings of the 2008 2nd IFIP/IEEE International Symposium on Theoretical Aspects of Software Engineering
Design and implementation of transactional constructs for C/C++
Proceedings of the 23rd ACM SIGPLAN conference on Object-oriented programming systems languages and applications
Debugging programs that use atomic blocks and transactional memory
Proceedings of the 15th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming
Model checking propositional projection temporal logic based on SPIN
ICFEM'07 Proceedings of the formal engineering methods 9th international conference on Formal methods and software engineering
Verifying linearisability with potential linearisation points
FM'11 Proceedings of the 17th international conference on Formal methods
Interleaved Programs and Rely-Guarantee Reasoning with ITL
TIME '11 Proceedings of the 2011 Eighteenth International Symposium on Temporal Representation and Reasoning
Semantics of framed temporal logic programs
ICLP'05 Proceedings of the 21st international conference on Logic Programming
Branching-time logic programming: the language Cactus and its applications
Computer Languages
A marriage of rely/guarantee and separation logic
CONCUR'07 Proceedings of the 18th international conference on Concurrency Theory
Hi-index | 0.00 |
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.