Abstract
We present a generalized committed choice construct for concurrent programs that interact with a shared store. The generalized committed choice (GCC) allows multiple computations from different alternatives to occur concurrently and later commit to one of them. GCC generalizes the traditional committed choice in Dijkstra’s Guarded Command Language to handle don’t know non-determinism and also allows for speculative computation. The main contribution of the paper is to introduce the GCC programming construct and the associated semantics framework for formalizing GCC. We give some experimental results which show that the power of GCC can be made practical.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Bonner, A.J., Kifer, M.: Transaction logic programming. In: Intl. Conf. on Logic Programming (1993)
Bonner, A.J., Kifer, M.: Concurrency and communication in transaction logic. In: Joint Intl. Conf. and Symp. on Logic Programming (1996)
Dayal, U., Hsu, M., Ladin, R.: Organizing long-running activities with triggers and transactions. ACM SIGMOD Conf. on Management of Data (1990)
Donnelly, K., Fluet, M.: Transactional events. In: Proceedings of ICFP (2006)
Dijkstra, E.W.: A Discipline of Programming. Prentice-Hall, Englewood Cliffs (1976)
Garcia-Molina, H., Salem, K.: Sagas. In: ACM SIGMOD Conf. on Management of Data (1987)
Gupta, G., Pontelli, E., Ali, K.A.M., Carlsson, M., Hermenegildo, M.V.: Parallel execution of prolog programs: a survey. ACM Trans. on Programming Languages and Systems 23(4), 472–602 (2001)
Harris, T., Marlow, S., Jones, S.P., Herlihy, M.: Composable memory transactions. In: ACM SIGPLAN Symp. on Principles and Practice of Parallel Programming, ACM Press, New York (2005)
Hoare, C.: Communicating Sequential Processes. Prentice-Hall, Englewood Cliffs (1985)
Hull, M.E.C.: Occam - a programming language for multiprocessor systems. Comput. Lang. 12(1), 27–37 (1987)
Jaffar, J., Yap, R.H., Zhu, K.Q.: Coordination of many agents. In: Intl. Conf. on Logic Programming (2005)
Jaffar, J., Yap, R.H.C., Zhu, K.Q.: Indexing for dynamic abstract regions. In: Intl. Conf. on Data Engineering (2006)
Milner, R., Parrow, J., Walker, D.: A calculus of mobile processes, part I/II. J, of Information and Computation 100, 1–77 (1992)
Nelson, G.: A generalization of dijkstra’s calculus. ACM Trans. on Programming Languages and Systems 11(4), 517–561 (1989)
Ramakrishnan, R., Gehrke, J.: Database Management Systems. McGraw-Hill, New York (2002)
Saraswat, V.A.: Concurrent Constraint Programming. MIT Press, Cambridge (1993)
Shapiro, E.Y., Takeuchi, A.: Object oriented programming in concurrent prolog. New Generation Comput. 1(1), 25–48 (1983)
Smolka, G.: The Oz programming model. Computer Science Today, pp. 324–343 (1995)
Ueda, K.: Guarded horn clauses. In: Intl. Conf. on Logic Programming (1986)
Vlahavas, I., Bassiliades, N.: Parallel, Object-Oriented, and Active Knowledge-Base Systems. Kluwer Academic Publishers, Dordrecht (1998)
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 2007 Springer Berlin Heidelberg
About this paper
Cite this paper
Jaffar, J., Yap, R.H.C., Zhu, K.Q. (2007). Generalized Committed Choice. In: Murphy, A.L., Vitek, J. (eds) Coordination Models and Languages. COORDINATION 2007. Lecture Notes in Computer Science, vol 4467. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-72794-1_11
Download citation
DOI: https://doi.org/10.1007/978-3-540-72794-1_11
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-72793-4
Online ISBN: 978-3-540-72794-1
eBook Packages: Computer ScienceComputer Science (R0)