Skip to main content

Orchestration Combinators in Apla+ Language

  • Conference paper
  • First Online:
Structured Object-Oriented Formal Language and Method (SOFL+MSVL 2016)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 10189))

  • 407 Accesses

Abstract

Concurrency has been rapidly gaining a concern for mainstream software development, caused by widespread adoption of multicore processing architectures and cloud computing. This paper elaborates an abstract concurrent mechanism by introducing Bundle and Orchestration Combinators, which conservatively absorbed some features of Orc calculus and Orc language designed by J. Misra et al. This concurrent mechanism would be merged into our abstract sequential programming language Apla, then it evolved into a unified sequential and concurrent language Apla+. A typical concurrent dining philosophers problem are designed by using Apla+ language. Finally, we present some comparison between our work and other related concurrent programming or modelling language.

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

Access this chapter

Subscribe and save

Springer+ Basic
$34.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Similar content being viewed by others

References

  1. George, C.: The RAISE specification language a tutorial. In: Prehn, S., Toetenel, H. (eds.) VDM 1991. LNCS, vol. 552, pp. 238–319. Springer, Heidelberg (1991). doi:10.1007/BFb0019998

    Chapter  Google Scholar 

  2. Zhao, Y., Bao, T., Han, L., Liu, S., Chen, Q.: A formal framework for domain software analysis based on raise specification language. In: Li, S., Jin, Q., Jiang, X., Park, James J.(Jong Hyuk) (eds.) Frontier and Future Development of Information Technology in Medicine and Education. LNEE, vol. 269, pp. 2699–2705. Springer, Dordrecht (2014). doi:10.1007/978-94-007-7618-0_339

    Chapter  Google Scholar 

  3. Woodcock, J., Cavalcanti, A.: A concurrent language for refinement. In: IWFM 2001: 5th Irish Workshop in Formal Methods, Dublin, Ireland, 16–17 July 2001

    Google Scholar 

  4. Sampaio, A., Woodcock, J., Cavalcanti, A.: Refinement in circus. In: Eriksson, L.-H., Lindsay, P.A. (eds.) FME 2002. LNCS, vol. 2391, pp. 451–470. Springer, Heidelberg (2002). doi:10.1007/3-540-45614-7_26

    Chapter  Google Scholar 

  5. Miyazawa, A., Cavalcanti, A.: SCJ-Circus: a refinement-oriented formal notation for safety-critical Java. In: Refinement Workshop 2015 (Refine 2015) EPTCS, vol. 209, pp. 71–86 (2016). doi:10.4204/EPTCS.209.6

  6. Nienaltowski, P.: Practical framework for contract-based concurrent object-oriented programming, Ph.D. thesis. ETH No. 17061 (2007)

    Google Scholar 

  7. Morandi, B., Bauer, Sebastian S., Meyer, B.: SCOOP – A contract-based concurrent object-oriented programming model. In: Müller, P. (ed.) LASER 2007-2008. LNCS, vol. 6029, pp. 41–90. Springer, Heidelberg (2010). doi:10.1007/978-3-642-13010-6_3

    Chapter  Google Scholar 

  8. Morandi, B., Nanz, S., Meyer, B.: Performance analysis of SCOOP programs. J. Syst. Softw. 85(11), 2519–2530 (2012)

    Article  Google Scholar 

  9. Caltais, G., Meyer, B.: On the Verification of SCOOP Programs. Computer Science (2015)

    Google Scholar 

  10. Duan, Z.: Temporal Logic and Temporal Logic Programming. Science Press, Beijing (2005)

    Google Scholar 

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

    Article  MathSciNet  MATH  Google Scholar 

  12. Tian, C., Duan, Z., Zhang, N.: An efficient approach for abstraction refinement in model checking. Theoret. Comput. Sci. 461, 76–85 (2012)

    Article  MathSciNet  MATH  Google Scholar 

  13. Chandy, K.M., Misra, J.: Parallel Program Design: a Foundation. Addison-Wesley Publishing Co., Boston (1988)

    MATH  Google Scholar 

  14. Misra, J.: A Discipline of Multiprogramming: A Programming Theory for Distributed Applications. Springer, New York (2001)

    Book  MATH  Google Scholar 

  15. Misra, J., Cook, W.R.: Computation orchestration: a basis for wide-area computing. Softw. Syst. Model. 6(1), 10–1007 (2006)

    Google Scholar 

  16. Kitchin, D.: Orchestration and Atomicity, Ph.D. dissertation, The University of Texas at Austin, August 2013

    Google Scholar 

  17. Kitchin, D., Quark, A., Cook, W., Misra, J.: The orc programming language. In: Lee, D., Lopes, A., Poetzsch-Heffter, A. (eds.) FMOODS/FORTE -2009. LNCS, vol. 5522, pp. 1–25. Springer, Heidelberg (2009). doi:10.1007/978-3-642-02138-1_1

    Chapter  Google Scholar 

  18. Misra, J.: Structured Concurrent Programming (Pre-publication book), 4 December 2014

    Google Scholar 

  19. You, Z., Xue, J., Hu, Q., Hong, Y.: Formal semantics of orc based on TLA+. In: Liu, S., Duan, Z. (eds.) SOFL+MSVL 2014. LNCS, vol. 8979, pp. 147–163. Springer, Cham (2015). doi:10.1007/978-3-319-17404-4_10

    Google Scholar 

  20. Xue, J.: A unified approach for developing efficient algorithm of programs. J. Comput. Sci. Technol. 12(4), 314–329 (1997)

    Article  Google Scholar 

  21. Xue, J.: PAR method and its supporting platform. In: Proceedings of the 1st Asian Working Conference on Verified Software (AWCVS 2006), pp. 29−31 (2006)

    Google Scholar 

  22. Xue, J.: Abstract programming language Apla in PAR method and PAR platform. Technical report. Key Laboratory of high performance computing technology, Jiangxi Normal University (2015). (in Chinese)

    Google Scholar 

  23. Xue, J., Davis R.: A simple program whose derivation and proof is also. In: Proceedings of the International Conference on Formal Engineering Methods, ICFEM 1997, pp. 132–139 (1997)

    Google Scholar 

  24. Gries, D., Xue, J.: The Hopcroft-Tarjan planarity algorithm, presentations and improvements. Technical report 88-906, Computer Science Department, Cornell University (1988)

    Google Scholar 

  25. Xie, W.: Implementation of Hopcroft-Tarjan planarity testing algorithm in Apla language. Technical report of Jiangxi Normal University (2009). (in Chinese)

    Google Scholar 

  26. Xue, J., Yang, B., Zuo, Z.: A linear in-situ algorithm for the power of cyclic permutation. In: Preparata, Franco P., Wu, X., Yin, J. (eds.) FAW 2008. LNCS, vol. 5059, pp. 113–123. Springer, Heidelberg (2008). doi:10.1007/978-3-540-69311-6_14

    Chapter  Google Scholar 

  27. Yang, B.: Implementation of bank management system in Apla language. Technical report of Jiangxi Normal University (2008). (in Chinese)

    Google Scholar 

  28. Wu, G.: The Application and Research of PAR Platform in Software Outsourcing Services. MS. thesis. Nanchang: Jiangxi Normal University (2013). (in Chinese with English abstract)

    Google Scholar 

  29. Zhu, X.: Research on Implementation of Several New Software Technologies in Apla-Java Generation System. MS. thesis. Nanchang: Jiangxi Normal University (2016). (in Chinese with English abstract)

    Google Scholar 

  30. Dijkstra, E.W.: Hierarchical ordering of sequential processes. In: Operating Systems Techniques, Academic Press (1971)

    Google Scholar 

  31. Try Orc! A example of Dining Philosophers. http://orc.csres.edu/tryorc.shtml#tryorc/small-demos/philosopher.orc

  32. Rist, R., Terwilliger R.: Object-Oriented Programming in EIFFEL (1993)

    Google Scholar 

  33. ECMA. Eiffel: Analysis, Design and Programming Language (Standard ECMA-367, 2nd Edn.) June 2006

    Google Scholar 

  34. Effielstudio: Eiffel Software Downloads. https://www.eiffel.org/downloads

Download references

Acknowledgement

This work was financially supported in part by the National Nature Science Foundation of China (Grant No. 61462041, 61462039, 61472167, 61662036) and the Science and Technology Research Project of Jiangxi Province Educational Department (Grant No. 160329). The authors thanks Professor Jayadev Misra, inventor of Orc calculus and Orc language, for discussion about Orc combinators and his tutorial lessons of FACS2013 in Nanchang, China.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Zhen You .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2017 Springer International Publishing AG

About this paper

Cite this paper

You, Z., Xue, J. (2017). Orchestration Combinators in Apla+ Language. In: Liu, S., Duan, Z., Tian, C., Nagoya, F. (eds) Structured Object-Oriented Formal Language and Method. SOFL+MSVL 2016. Lecture Notes in Computer Science(), vol 10189. Springer, Cham. https://doi.org/10.1007/978-3-319-57708-1_1

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-57708-1_1

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-57707-4

  • Online ISBN: 978-3-319-57708-1

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics