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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
References
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
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
Woodcock, J., Cavalcanti, A.: A concurrent language for refinement. In: IWFM 2001: 5th Irish Workshop in Formal Methods, Dublin, Ireland, 16–17 July 2001
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
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
Nienaltowski, P.: Practical framework for contract-based concurrent object-oriented programming, Ph.D. thesis. ETH No. 17061 (2007)
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
Morandi, B., Nanz, S., Meyer, B.: Performance analysis of SCOOP programs. J. Syst. Softw. 85(11), 2519–2530 (2012)
Caltais, G., Meyer, B.: On the Verification of SCOOP Programs. Computer Science (2015)
Duan, Z.: Temporal Logic and Temporal Logic Programming. Science Press, Beijing (2005)
Duan, Z., Tian, C., Zhang, L.: A decision procedure for propositional projection temporal logic with infinite models. Acta Informatica 45(1), 43–78 (2008)
Tian, C., Duan, Z., Zhang, N.: An efficient approach for abstraction refinement in model checking. Theoret. Comput. Sci. 461, 76–85 (2012)
Chandy, K.M., Misra, J.: Parallel Program Design: a Foundation. Addison-Wesley Publishing Co., Boston (1988)
Misra, J.: A Discipline of Multiprogramming: A Programming Theory for Distributed Applications. Springer, New York (2001)
Misra, J., Cook, W.R.: Computation orchestration: a basis for wide-area computing. Softw. Syst. Model. 6(1), 10–1007 (2006)
Kitchin, D.: Orchestration and Atomicity, Ph.D. dissertation, The University of Texas at Austin, August 2013
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
Misra, J.: Structured Concurrent Programming (Pre-publication book), 4 December 2014
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
Xue, J.: A unified approach for developing efficient algorithm of programs. J. Comput. Sci. Technol. 12(4), 314–329 (1997)
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)
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)
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)
Gries, D., Xue, J.: The Hopcroft-Tarjan planarity algorithm, presentations and improvements. Technical report 88-906, Computer Science Department, Cornell University (1988)
Xie, W.: Implementation of Hopcroft-Tarjan planarity testing algorithm in Apla language. Technical report of Jiangxi Normal University (2009). (in Chinese)
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
Yang, B.: Implementation of bank management system in Apla language. Technical report of Jiangxi Normal University (2008). (in Chinese)
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)
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)
Dijkstra, E.W.: Hierarchical ordering of sequential processes. In: Operating Systems Techniques, Academic Press (1971)
Try Orc! A example of Dining Philosophers. http://orc.csres.edu/tryorc.shtml#tryorc/small-demos/philosopher.orc
Rist, R., Terwilliger R.: Object-Oriented Programming in EIFFEL (1993)
ECMA. Eiffel: Analysis, Design and Programming Language (Standard ECMA-367, 2nd Edn.) June 2006
Effielstudio: Eiffel Software Downloads. https://www.eiffel.org/downloads
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
Corresponding author
Editor information
Editors and Affiliations
Rights 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)