Propagators and concurrent constraints

Abstract
A constraint is a numeric or geometric relationship between objects. Constraints have a declarative nature and are a natural way for describing relationships between objects. Combining constraint systems and object-oriented programming (OOP) appears hard. All existing systems implicitly compromise the encapsulation principle of OOP. Also, the constraint resolving mechanism is typically centralized, thereby restricting parallel execution of a constraint program. This paper proposes a mechanism that provides for constraints in the concurrent (parallel) object-oriented Procol environment. Constraints are implemented using propagators. Propagators are triggered by messages that are sent to objects. Propagator constraints are solved by local propagation of known state, intuitively allowing for parallel execution of a Procol constraint program.

This publication has 10 references indexed in Scilit: