Skip to main content
Log in

A temporal programming model with atomic blocks based on projection temporal logic

  • Research Article
  • Published:
Frontiers of Computer Science Aims and scope Submit manuscript

Abstract

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 projection 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 and verifying both the fine-grained and coarse-grained concurrency.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Institutional subscriptions

Similar content being viewed by others

References

  1. Herlihy M, Shavit N. The Art of Multiprocessor Programming. Elsevier, 2009

    Google Scholar 

  2. Vafeiadis V, Parkinson M J A. Marriage of rely/guarantee and separation logic. In: Proceedings of the 18th International Conference on Concurrency Theory. 2007, 4703: 256–271

    MathSciNet  Google Scholar 

  3. Zyulkyarov F, Harris T, Unsal O S, Cristal A, Valeroh M. Debugging programs that use atomic blocks and transactional memory. In: Proceedings of the 15th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming. 2010, 57–66

    Google Scholar 

  4. Harris T, Fraser K. Language support for lightweight transactions. In: Proceedings of the 18th Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages and Applications. 2003, 388–402

    Google Scholar 

  5. Ni Y, Welc A, Adl-Tabatabai A, Bach M, Berkowits S, Cownie J, Geva R, Kozhukow S, Narayanaswamy R. Design and implementation of transactional constructs for C/C++. In: Proceedings of the 23rd Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages and Applications. 2008, 195–212

    Google Scholar 

  6. Pnueli A. The temporal logic of programs. In: Proceedings of the 18th IEEE Annual Symposium on Foundations of Computer Science. 1977, 46–57

    Google Scholar 

  7. Abadi M, Manna Z. Temporal logic programming. Journal of Symbolic Computation, 1989, 8(1–3): 277–295

    Article  MATH  MathSciNet  Google Scholar 

  8. Lamport L. The temporal logic of actions. ACM Transactions on Programming Languages Systems, 1994, 16(3): 872–923

    Article  Google Scholar 

  9. Rondogiannis P, Gergatsoulis M, Panayiotopoulos T. Branching-time logic programming: the language cactus and its applications. Computer Language, 1998, 24(3): 155–178

    Article  MATH  Google Scholar 

  10. Moszkowski B C. Executing Temporal Logic Programs. Cambridge University Press, 1986

    Google Scholar 

  11. Duan Z, Yang X, Koutny M. Semantics of framed temporal logic programs. In: Proceedings of the 21st International Conference on Logic Programming. 2005, 3668: 356–370

    Google Scholar 

  12. Duan Z, Koutny M. A framed temporal logic programming language. Journal of Computer Science and Technology, 2004, 19(1): 341–351

    Article  MathSciNet  Google Scholar 

  13. Yang X, Zhang Y, Fu M, Feng X. A concurrent temporal programming model with atomic blocks. In: Proceedings of the 14th International Conference on Formal Engineering Methods. 2012, 7635: 22–37

    Google Scholar 

  14. Yang X, Duan Z. Operational semantics of framed tempura. Journal of Logic and Algebraic Programming, 2008, 78(1): 22–51

    Article  MATH  MathSciNet  Google Scholar 

  15. Zhang N, Duan Z, Tian C. A cylinder computation model for manycore parallel computing. Theoretical Computer Science, 2013, 497: 68–83

    Article  MATH  MathSciNet  Google Scholar 

  16. Tian C, Duan Z. Complexity of propositional projection temporal logic with Star. Mathematical Structures in Computer Science, 2009, 19(1): 73–100

    Article  MATH  MathSciNet  Google Scholar 

  17. Bidoit. N. Negation in rule-based data base languages: a survey. Theoretical Computer Science, 1991, 78(1): 3–83

    Article  MATH  MathSciNet  Google Scholar 

  18. Duan Z, Tian C, Zhang L. A decision procedure for propositional projection temporal logic with infinite models. Acta Informatica, 2008, 45: 43–78

    Article  MATH  MathSciNet  Google Scholar 

  19. Duan Z, Zhang N, Koutny M. A complete proof system for propositional projection temporal logic. Theoretical Computer Science, 2013, 497: 84–107

    Article  MATH  MathSciNet  Google Scholar 

  20. Vafeiadis V. Modular Fine-Grained Concurrency Verification. Cambridge University, 2008

    Google Scholar 

  21. Tang C S. A temporal logic language oriented toward software engineering — introduction to XYZ system (I). Chinese Journal of Advanced Software Research, 1994, 1: 1–27

    Google Scholar 

  22. Schellhorn G, Tofan B, Ernst G, Reif W. Interleaved programs and rely-guarantee reasoning with ITL. In: Proceedings of 18th International Symposium on Temporal Representation and Reasoning. 2011, 99–106

    Google Scholar 

  23. Derrick J, Schellhorn G, Wehrheim H. Verifying linearisability with potential linearisation points. In: Proceedings of the 17th International Symposium on Formal Methods, 2011, 6664, 327–337

    MathSciNet  Google Scholar 

  24. Knijnenburg P, Kok J. The semantics of the combination of atomized statements and parallel choice. Formal Aspects of Computing, 1997, 9: 518–536

    Article  MATH  Google Scholar 

  25. Best E, Randell B. A formal model of atomicity in asyn chronous systems. Acta Informatica, 1981, 16: 93–124

    Article  MATH  Google Scholar 

  26. Michael M M, Scott M L. Nonblocking algorithms and preemptionsafe locking on multiprogrammed shared memory multiprocessors. Journal of Parallel and Distributed Computing, 1998, 51(1): 1–26

    Article  MATH  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Xiaoxiao Yang.

Additional information

Xiaoxiao Yang got her PhD degree from Xidian University in 2009. She is now an assistant professor in State Key Laboratory of Computer Science, Institute of Software, Chinese Academy of Sciences. Her main research interests are in the areas of concurrent theory, temporal logic, logic programming, software modeling, and verification.

Yu Zhang got his PhD degree from école Normale Supérieure de Cachan, France in 2005 and has been an associate research professor of Institute of Software, Chinese Academy of Sciences since 2009. His research interests include formal methods, concurrent systems, information security, and programming languages.

Ming Fu got his PhD degree from University of Science and Technology of China in 2009. He is currently a postdoctoral researcher in USTC-Yale Joint Research Center for high-confidence software, University of Science and Technology of China. His main research interests lie in the areas of formal methods, concurrent program verification, and concurrency theory.

Xinyu Feng got his PhD degree from Yale University in 2007. He is now a professor in computer science at University of Science and Technology of China. His research interests are in the area of formal program verification. In particular, he is interested in developing theories, programming languages and tools to build formally certified system software, with rigorous guarantees of safety and correctness.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Yang, X., Zhang, Y., Fu, M. et al. A temporal programming model with atomic blocks based on projection temporal logic. Front. Comput. Sci. 8, 958–976 (2014). https://doi.org/10.1007/s11704-014-3342-0

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11704-014-3342-0

Keywords

Navigation