Constrained objects for modeling complex systems
Bharat Jayaraman, Pallavi Y. Tambay · 2004
This dissertation investigates the theory, design, implementation and application of a programming language and modeling environment based on the concept of constrained objects. A constrained object is an object whose attributes are governed by declarative constraints, and may be associated with a visual representation. When such objects are aggregated to form a complex object, their internal attributes might further have to satisfy interface constraints. The resultant state of a complex object is deduced by satisfying the internal and interface constraints of the constituent objects. The paradigm of constrained objects provides a principled approach to modeling complex systems and is amenable to efficient and interactive execution. We focus on complex systems that are an assembly of interconnected, interdependent components whose behavior may be governed by laws, or constraints. Such systems occur in different domains such as engineering, biological sciences, ecology, etc. Constrained objects provide a compositional specification of the structure, a declarative specification of the behavior and a diagrammatic visualization of complex systems. We describe a principled approach to the design of a constrained object programming language built on rigorous semantic foundations. Our proposed language, Cob, provides a rich set of modeling features, including declarative constraints, such as symbolic, arithmetic, quantified and conditional constraints. We define set-theoretic semantics of constrained objects based upon a translation to constraint logic programs (CLP), which facilitate a novel implementation of constrained objects. However, due to the limitations of CLP, such an implementation cannot handle conditional constraints and may give poor performance for large-scale models. We overcome these limitations by using novel partial evaluation techniques that also facilitate the handling of non-linear constraints, and the development of novel techniques for interactive execution of Cob models and fault detection in over-constrained structures. For constrained object models having more than one solution, preferences can be stated for optimization, and their semantics are based upon a translation to preference logic programs (PLP). We also investigate different forms of relaxation of preferences to obtain suboptimal solutions and propose a scheme for the operational semantics of relaxation that accounts for recursively defined PLP predicates.