Sept. 11, 2000 to Sept. 15, 2000
R. Ramirez , Sch. of Comput., Nat. Univ. of Singapore, Singapore
A.E. Santosa , Sch. of Comput., Nat. Univ. of Singapore, Singapore
R.H.C. Yap , 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
R. Ramirez, A.E. Santosa, R.H.C. Yap, "Concurrent Programming Made Easy", ICECCS, 2000, Engineering of Complex Computer Systems, IEEE International Conference on, Engineering of Complex Computer Systems, IEEE International Conference on 2000, pp. 0151, doi:10.1109/ICECCS.2000.873939