Formal Semantics of Orc Based on TLA\(^+\)

  • Zhen YouEmail author
  • Jinyun Xue
  • Qimin Hu
  • Yi Hong
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 8979)


Concurrency is ubiquitous today. Orc provides four powerful combinators (parallel combinator, sequential combinator, pruning combinator and otherwise combinator), used to structured concurrent programming in a simple and hierarchical manner. In order to extend concurrent mechanism in our abstract sequential programming language, called Apla, we have already done some research about Orc. The paper takes a step towards this goal by presenting formal semantics of Orc based on TLA\(^+\) language. Compared with other semantics of Orc, our major concern is Orc expression’s next-state relation/action, which is ideal for expressing behavior of a sequence of states. And liveness properties of Orc expression are also elaborated by using TLA\(^+\) weak fairness. After analysis and comparison, our proposal could be simpler to illustrate specification of Orc program via the well known dining philosophers problem.


Concurrency Orc combinator Apla Formal semantics TLA\(^+\) 



The authors thanks Professor Jayadev Misra, inventor of Orc theory, for discussion about Orc combinators and his tutorial lessons in FACS2013.


  1. 1.
    Misra, J.: Structured Concurrent Programming (2013).
  2. 2.
    Misra, J., Cook, W.R.: Computation orchestration: a basis for wide-area computing. J. Softw. Syst. Model. 6(83), 83–110 (2007)CrossRefGoogle Scholar
  3. 3.
    Kitchin, D., Quark, A., Cook, W., Misra, J.: The Orc programming language. In: Lee, D., Lopes, A., Poetzsch-Heffter, A. (eds.) FMOODS 2009. LNCS, vol. 5522, pp. 1–25. Springer, Heidelberg (2009) CrossRefGoogle Scholar
  4. 4.
    Kitchin, D.: Orchestration and atomicity. Ph.D. dissertation, The University of Texas at Austin, August (2013)Google Scholar
  5. 5.
    Orc Language Project (2014).
  6. 6.
    Jayadev, M.: Structured orchestration of data and computation. In: Keynotespeeach in 10th International Symposium on Formal Aspects of Component Software, 28–30 October 2013, Nanchang, China (2013).
  7. 7.
    Ben-Ari, M.: Mathematical Logic for Computer Science, 2nd edn. Springer, New York (2001) CrossRefzbMATHGoogle Scholar
  8. 8.
    Pnueli, A.: The temporal logic of programs. In: Proceedings of the 18th Annual Symposium on the Foundations of Computer Science, pp. 46–57. IEEE (1977)Google Scholar
  9. 9.
    Lamport, L.: Specifying concurrent program modules. ACM Trans. Program. Lang. Syst. 5(2), 190–222 (1983)CrossRefzbMATHGoogle Scholar
  10. 10.
    Lamport, L.: The temporal logic of actions. Research report 79, digital equipment corporation, systems research center. To appear in transactions on programming language and systems (1991)Google Scholar
  11. 11.
    Lamport, L.: Specifying Systems: The TLA\(^+\) Language and Tools for Hardware and Software Engineers. Addison-Wesley, Reading (2003) Google Scholar
  12. 12.
    Lamport, L.: Verification and specification of concurrent programs. In: de Bakker, J.W., de Roever, W.-P., Rozenberg, G. (eds.) A Decade of Concurrency Reflections and Perspectives. LNCS, vol. 803, pp. 347–374. Springer, Heidelberg (1994) CrossRefGoogle Scholar
  13. 13.
    Jinyun, X.: An Abstract Programming Language Apla. Report of Jiangxi Normal University (2001)Google Scholar
  14. 14.
    Jinyun, X.: A unified approach for developing efficient algorithm of programs. J. Comput. Sci. Technol. 12(4), 314–329 (1997)CrossRefGoogle Scholar
  15. 15.
    Jinyun, X.: A practicable approach for formal development of algorithmic programs. In: Proceeding of the International Symposium on Future software Technology, Nanjing, China (1999)Google Scholar
  16. 16.
    Jinyun, X.: PAR method and its supporting platform. In: Proceeding of the 1st Asian Working Conference on Verified Software (AWCVS 2006), pp. 29–31 (2006)Google Scholar
  17. 17.
    Duan, Z., Tian, C.: A unified model checking approach with projection temporal logic. In: Liu, S., Araki, K. (eds.) ICFEM 2008. LNCS, vol. 5256, pp. 167–186. Springer, Heidelberg (2008) CrossRefGoogle Scholar
  18. 18.
    Duan, Z., Yang, X., Koutny, M.: Framed temporal logic programming. Sci. Comput. Program. 70(1), 31–61 (2008)CrossRefzbMATHMathSciNetGoogle Scholar
  19. 19.
    Tian, C., Duan, Z.: Expressiveness of propositional projection temporal logic with star. Theor. Comput. Sci. 412, 1729–1744 (2011)CrossRefzbMATHMathSciNetGoogle Scholar
  20. 20.
    Hoare, T., Menzel, G., Misra, J.: A tree semantics of an orchestration language. Lecture Notes for NATO summer school, Marktoberdorf (2004).
  21. 21.
    Kitchin, D.E., Cook, W.R., Misra, J.: A language for task orchestration and its semantic properties. In: Baier, C., Hermanns, H. (eds.) CONCUR 2006. LNCS, vol. 4137, pp. 477–491. Springer, Heidelberg (2006) Google Scholar
  22. 22.
    Rosario, Sidney, Kitchin, David E., Benveniste, Albert, Cook, William, Haar, Stefan, Jard, Claude: Event structure semantics of Orc. In: Dumas, Marlon, Heckel, Reiko (eds.) WS-FM 2007. LNCS, vol. 4937, pp. 154–168. Springer, Heidelberg (2008) CrossRefGoogle Scholar
  23. 23.
    Wehrman, I., Kitchin, D., Cook, W.R., Misra, J.: Timed semantics of orc. Theor. Comput. Sci. 402(2–3), 234–248 (2008)CrossRefzbMATHMathSciNetGoogle Scholar
  24. 24.
    Li, Q., Zhu, H., He, J.: A denotational semantical model for orc language. In: Cavalcanti, A., Deharbe, D., Gaudel, M.-C., Woodcock, J. (eds.) ICTAC 2010. LNCS, vol. 6255, pp. 106–120. Springer, Heidelberg (2010) CrossRefGoogle Scholar
  25. 25.
  26. 26.
    Dijkstra, E.W.: Hierarchical ordering of sequenial processes. In: Operating Systems Techniques. Academic Press, New York (1971)Google Scholar
  27. 27.
    Try Orc! A example of Dining Philosophers (2014).
  28. 28.
    Slimani, Y., Dahoy, E.H.: Logic Abstract Modules: A new TLA-based model for Specifying and Verifying Concurrent Programs. Department Informatique, Faculte del Scineces de Tunis (1998).
  29. 29.
    Palmer, R.L.: Formal anaysis for MPI-based high performance computing software. Doctoral Dissertation, The University of Utach (2007)Google Scholar

Copyright information

© Springer International Publishing Switzerland 2015

Authors and Affiliations

  1. 1.Provincial Key Laboratory for High-Performance Computing TechnologyJiangxi Normal UniversityNanchangChina
  2. 2.State International S&T Cooperation Base of Networked Supporting SoftwareJiangxi Normal UniversityNanchangChina
  3. 3.Department of Computer ScienceUniversity of LeicesterLeicesterUK

Personalised recommendations