Comments: The file is on hadar ContactPerson: tambay@cse.buffalo.edu ### Begin Citation ### Do not delete this line ### %R 2001-15 %U /projects/tambay/Drafts/FOOL2002/paper.ps %A Jayaraman, B. %A Tambay, P. %T Semantics and Applications of Constrained Objects %D October 12, 2001 %I Department of Computer Science and Engineering, SUNY Buffalo %K Constrained objects, Modeling, Object-oriented, Constraint Logic Programming, Semantics %Y Languages %X This paper describes a compositional approach to modeling complex systems. The building block, called a constrained object, is an object whose internal state is governed by a set of (declarative) constraints. Especially in the engineering domain, a constrained object models in a natural manner the internal state and invariants of an engineering artifact, e.g., a resistor in a circuit, a joint in a truss, a gear in a gear box, a heat exchanger in a chemical process plant, etc. When several constrained objects are aggregated to form a complex object, their internal states might further have to satisfy interface constraints. The resulting behavior of the system is obtained by a process of logical inference and constraint satisfaction. Our work extends previous research by providing a richer modeling language, with quantified and conditional constraints, as well as preferences. We show that the paradigm of constrained objects is superior to both a pure object-oriented language as well as a pure constraint language. We present several examples in this paper, and also describe the formal declarative and operational semantics of our language. The declarative semantics for constrained objects is given in terms of a set-theoetic approach, and the operational semantics makes use of top-down goal reduction, constraint solving, and pruning according to preferences.