Engineering of Complex Computer Systems, IEEE International Conference on (2000)
Sept. 11, 2000 to Sept. 15, 2000
A.E. Santosa , Sch. of Comput., Nat. Univ. of Singapore, Singapore
R.H.C. Yap , Sch. of Comput., Nat. Univ. of Singapore, Singapore
R. Ramirez , Sch. of Comput., Nat. Univ. of Singapore, Singapore
Abstract: The task of programming concurrent systems is substantially more difficult than the task of programming sequential systems with respect to both correctness and efficiency. In this paper we describe a constraint-based methodology for writing concurrent applications. A system is modeled as: (a) a set of processes containing a sequence of "markers" denoting the processes points of interest; and (b) a constraint store. Process synchronization is specified by incrementally adding constraints on the markers execution order into the constraint store. The constraint store contains a declarative specification based on a temporal constraint logic program. The store, thus, acts as a coordination entity which on the one hand encapsulates the system synchronization requirements, and on the other hand, provides a declarative specification of the system concurrency issues. This provide great advantages in writing concurrent programs and manipulating them while preserving correctness.
parallel programming; concurrent systems; constraint-based methodology; concurrent applications; concurrent programming; temporal constraint logic program; system concurrency; declarative specification
A.E. Santosa, R.H.C. Yap, R. Ramirez, "Concurrent Programming Made Easy", Engineering of Complex Computer Systems, IEEE International Conference on, vol. 00, no. , pp. 0151, 2000, doi:10.1109/ICECCS.2000.873939