Specification and generation of constraint satisfaction systems
Specification and generation of constraint satisfaction systems
POPL '87 Proceedings of the 14th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Constraint satisfaction in logic programming
Constraint satisfaction in logic programming
Contracts: specifying behavioral compositions in object-oriented systems
OOPSLA/ECOOP '90 Proceedings of the European conference on object-oriented programming on Object-oriented programming systems, languages, and applications
Eiffel: the language
Constraint patterns as a basis for object oriented programming
OOPSLA '92 conference proceedings on Object-oriented programming systems, languages, and applications
Constrained objects
Optimization and relaxation in constraint logic languages
POPL '96 Proceedings of the 23rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
The design and implementation of Kaleidoscope, a constraint imperative programming language
The design and implementation of Kaleidoscope, a constraint imperative programming language
Constraint programming in Oz (tutorial)
ILPS '97 Proceedings of the 1997 international symposium on Logic programming
Optimization and relaxation in logic languages
Optimization and relaxation in logic languages
The object constraint language: precise modeling with UML
The object constraint language: precise modeling with UML
The Unified Modeling Language reference manual
The Unified Modeling Language reference manual
The Programming Language Aspects of ThingLab, a Constraint-Oriented Simulation Laboratory
ACM Transactions on Programming Languages and Systems (TOPLAS)
Integrating Constraints with an Object-Oriented Language
ECOOP '92 Proceedings of the European Conference on Object-Oriented Programming
Constraints and Object Identity
ECOOP '94 Proceedings of the 8th European Conference on Object-Oriented Programming
Heuristic Methods for Over-Constrained Constraint Satisfaction Problems
Over-Constrained Systems
Partial constraint satisfaction
IJCAI'89 Proceedings of the 11th international joint conference on Artificial intelligence - Volume 1
Compositional Semantics for Diagrams Using Constrained Objects
DIAGRAMS '02 Proceedings of the Second International Conference on Diagrammatic Representation and Inference
Model-driven constraint programming
Proceedings of the 10th international ACM SIGPLAN conference on Principles and practice of declarative programming
The Design of the Zinc Modelling Language
Constraints
SPREADSPACES: Mathematically-Intelligent Graphical Spreadsheets
Concurrency, Graphs and Models
High-level modeling of component-based CSPs
SBIA'10 Proceedings of the 20th Brazilian conference on Advances in artificial intelligence
Controlling search in constrained-object models
IBERAMIA'10 Proceedings of the 12th Ibero-American conference on Advances in artificial intelligence
CP'06 Proceedings of the 12th international conference on Principles and Practice of Constraint Programming
PADL'07 Proceedings of the 9th international conference on Practical Aspects of Declarative Languages
Hi-index | 0.00 |
We present a novel programming language based on the concept of constrained objects for compositional and declarative modeling of engineering structures. A constrained object is an object whose internal state is governed by a set of (declarative) constraints. When several constrained objects are aggregated to form a complex object, their internal states might further have to satisfy interface constraints. The resultant behavior of the complex object is obtained by logical inference and constraint satisfaction. Our modeling paradigm supports constraints, including quantified and conditional constraints, as well as preferences. We show that, for the domain of engineering modeling, the paradigm of constrained objects is superior to both a pure object-oriented language as well as a pure constraint language. Our current prototype includes tools for authoring constrained-object class diagrams; a compiler that translates class diagrams to CLP(R) code; and domain-specific visual interfaces for building and testing constrained objects.