Abstract
The paper is devoted to the implementation of the paradigm of the object-oriented constraint programming (OOCP), which combines complementary ideas and principles of the object-oriented programming (OOP) and constraint logical programming (CLP). Although the idea looks attractive and there have been attempts to implement it with the use of logical and functional languages, its future outline is still not clear. In the paper, a survey of the existing technologies of the constraint programming is given, and a new systematic approach to the implementation of the object-oriented constraint programming based on the use of declarative data modeling languages is discussed. The advantages of the approach related to the expressiveness and generality of the constraint problem declarations are demonstrated on the example of the classical mathematical queen problem. A general algorithmic strategy of solving the constraint problems is also discussed.
Similar content being viewed by others
References
Dechter, R., Constraint Processing, San Francisco: Morgan Kaufmann, 2003.
Buscemia, M.G. and Montanarib, U., A Survey of Constraint-based Programming Paradigms, Computer Science Review, 2008, vol. 2, no. 3, pp. 137–141.
ISO 10303: 1994. Industrial Automation Systems and Integration-Product Data Representation and Exchange.
OMG Model Driven Architecture: How Systems will be Built. http://www.omg.org/mda.
W3C Semantic Web Activity. http://www.w3.org/2001/sw.
ISO 10303-11: 2004. Industrial Automation Systems and Integration: Product Data Representation and Exchange. Part 11: Description Methods: The EXPRESS Language Reference Manual, 2nd ed.
Cattel, R.G., Barry, D.K., Berler, M., et al., The Object Data Management Standard: ODMG 3.0, San Francisco: Morgan Kaufmann, 2000.
Unified Modeling Language, OMG Available Specification. Version 2.2. http://www.omg.org/spec/UML/2.2.
Object Constraint Language Specification. Version 2.0. http://www.omg.org/technology/documents/formal/ocl.htm.
OWL Web Ontology Language Guide. http://www.w3.org/TR/2004/REC-owl-guide-20040210.
List of STEP Application Protocols. http://www.step-tools.com/library/standard/step-2.html.
Energetics. The Energy Standards Resource Centre. http://www.energistics.org/posc/Default.asp.
BuildingSMART International Alliance for Interoperability. http://www.buildingsmart.com.
Catalog of UML Profile Specifications. http://www.omg.org/technology/documents/profile-catalog.htm.
Tsang, E., Foundations of Constraint Satisfaction, London: Academic, 1993.
Saraswat, V. and Lincoln, P., Higher-Order Linear Concurrent Constraint Programming, Tech. Report, Xerox PARC, Department of Computer Science, Stanford University, 1992.
ISO/IEC 13211-1:1995. Information Technology: Programming Languages: Prolog. Part 1: General Core.
Bing Liu and Yuen-Wah Ku, ConstraintLisp: An Object-Oriented Constraint Programming Language, ACM SIGPLAN Notices, 1992, vol. 27, no 11, pp. 17–26.
ANSI INCITS 226-1994 (R2004). Information Technology: Programming Language: Common Lisp.
Sutherland, I.E., Sketchpad: A Man-machine Graphical Communication System, Tech. Report no. 296, Lincoln Laboratory, Massachusetts Institute of Technology, 1963.
Borning, A., The Programming Language Aspects of ThingLab, a Constraint-Oriented Simulation Laboratory, ACM Trans. Programming Languages Systems, 1981, vol. 3, no. 4, pp. 353–387.
Mancini, T., Declarative Constraint Modelling and Specification-level Reasoning, PhD Thesis, Università degli Studi di Roma “La Sapienza,” Roma, Italy, 2005.
Colmerauer, A., An Introduction to Prolog III, Commun. ACM, 1990, vol. 33, no. 7, pp. 69–90.
CHIP V5. http://www.cosytec.com.
Beaulieu, A., Learning SQL, O’Reilly Media, 2009, 2nd ed.
Kuper, G. and Libkin, L., Constraint Databases, Berlin: Springer, 2000.
Tack, G., Constraint Propagation: Models, Techniques, Implementation, Doctoral Thesis, Saarland University, Germany, 2009.
Freeman-Benson, B.N., Maloney, J., and Borning, A., An Incremental Constraint Solver, Commun. ACM, 1990, vol. 33, no. 1, pp. 54–63.
Sannella, M., SkyBlue: A Multi-Way Local Propagation Constraint Solver for User Interface Construction, Proc. of the 1994 ACM Symp. on User Interface Software and Technology, 1994, pp. 137–146.
Borning, A., Marriott, K., Stuckey, P., and Xiao, Y., Solving Linear Arithmetic Constraints for User Interface Applications: Algorithm Details, Tech. Report 97-06-01, Department of Computer Science and Engineering University of Washington, 1997.
McAloon, K. and Tretkoff, C., 2LP: Linear Programming and Logic Programming, Proc. of PPCP’93, Newport, Rhode Island, 1993, pp. 178–189.
IBM ILOG CP: Features and Benefits. http://www-01.ibm.com/software/integration/optimization/cp1/about/?S-CMP=rnav.
Charme Reference Manual, AI Development Centre, Bull, France, 1990.
Michel, L. and Van Hentenryck, P., Helios: A Modeling Language for Global Optimization and its Implementation in Newton, Theoretical Comput. Sci., 1997, vol. 173, no. 1, pp. 3–48.
Van Hentenryck, P., Michel, L., and Benhamou, F., Newton: Constraint Programming over Nonlinear Constraints, Sci. Comput. Programming, 1998, vol. 30, no. 1–2, pp. 83–118.
Brand, P., Enhancing the AKL Compiler Using Global Analysis, Tech. Report, Deliverable D.WP2.1.3.M2 in the ESPRIT Project ParForce, 6707, 1994.
The Mozart Programming System. http://www.mozart-oz.org.
Hermenegildo, M., Some Challenges for Constraint Programming, Constraints, 1997, vol. 2, no. 1, pp. 63–69.
Shvetsov, I., Nesterenko, T., and Starovit, S., Technology of Active Objects, AAAI Tech. Report WS-97-05, Russian Research Institute of Artificial Intelligence & Institute of Informatics Systems, 1997.
Saraswat, V.A., Concurrent Constraint Programming, The MIT Press, 1993.
Araya, I., Neveu, B., and Trombettoni, G., Exploiting Common Subexpressions in Numerical CSPs, Lecture Notes in Computer Sciences, 2008, vol. 5202, pp. 342–357.
Sam-Haroud, D., Intervals in Constraint Programming: Some Trends and Open Issues, Small Workshop on Interval Methods, 2009.
Hendler, J., Kitano, H., and Nebel, B., Handbook of Constraint Programming, Amsterdam: Elsevier, B.V., 2006.
Granvilliers, L., Monfroy, E., and Benhamou, F., Symbolic-Interval Cooperation in Constraint Programming, Proc. of the 2001 Int. Symp. on Symbolic and Algebraic Computation, Canada, 2001, pp. 150–166.
Gotlieb, A., Denmat, T., and Botella, B., Constraint-based Test Data Generation in the Presence of Stackdirected Pointers, Proc. of the 20th IEEE/ACM Int. Conf. on Automated Software Engineering, Long Beach, USA, 2005, pp. 313–316.
Arkhipova, M.V., Automatic Test Generation for Semantic Translator Analyzers, Cand. Sci. (Phys.-Math.) Dissertation, Moscow: Inst. for System Programming, Russ. Acad. Sci., 2006.
Petrenko, A., Britvina, E., Groshev, S., Monakhov, A., and Petrenko, O., Model-based Testing, Otkrytye sistemy, 2003, no. 9. http://www.osp.ru/os/2003/09/183388.
Demakov, A.V., Zelenov, S.V., and Zelenova, S.A., Generation of Test Data of Complex Structure with Regard to Context Constraints, Trudy instituta sistemnogo programmirovaniya (Proceedings of the Institute for System Programming), Ivannikov, V.P., Ed., Moscow: Inst. for System Programming, Russ. Acad. Sci., 2006, pp. 83–96.
Petrenko, A.K., Specification Based Testing: Towards Practice, Lecture Notes in Computer Sciences, 2001, vol. 2244, pp. 287–300.
Zelenov, S.V. and Zelenova, S.A., Automatic Generation of Positive and Negative Tests for Testing Syntax Analysis Phase, Trudy instituta sistemnogo programmirovaniya (Proceedings of the Institute for System Programming), Ivannikov, V.P., Ed., Moscow: Inst. for System Programming, 2004, pp. 41–58.
Vasil’ev, F.P. and Ivanitskii, A.Yu., Lineinoe programmirovanie (Linear Programming), Moscow: Faktorial, 2003.
Khamisov, O.V., Numerical Solution of Special problems of Nonconvex Quadratic Programming, Diskretnyi analiz issledovanie operatsii, Ser. 1, vol. 12, no. 4, pp. 81–91.
Zangwill, W.I., Nonlinear Programming: A Unified Approach, Englewood Cliffs: N.J. Prentice-Hall, 1969.
Bratko, I., Algoritmy iskusstvennogo intellekta na yazyke PROLOG (Artificial Intelligence Algorithms in PROLOG), Moscow: Vil’yams, 2004.
Sterling, L. and Shapiro, E., The Art of Prolog, Cambridge, Mass.: The MIT Press, 1986.
Chetty, M. and Dabke, K.P., Symbolic Computations: An Overview and Application to Controller Design, Proc. of IEEE Sponsored Int. Conf. on Information, Decision and Control, Adelaide, 1999, pp. 451–456.
Marchuk, G.I., Metody vychislitel’noi matematiki (Computational Mathematics Methods), Moscow: Nauka, 1977.
Semenov, V.A. and Karaulov, A.A., Semantic-Based Decomposition of Long-Lived Transactions in Advanced Collaborative Environments, Proc. of the 6th Europ. Conf. on Product and Process Modeling, ECPPM, Valencia, 2006, pp. 223–232.
Semenov, V.A., Eroshkin, S.G., Karaulov, A.A., and Enkovich, I.V., Model-based Semantic Reconciliation of Application Data, Trudy instituta sistemnogo programmirovaniya (Proceedings of the Institute for System Programming), Ivannikov, V.P., Ed., Moscow: Inst. for System Programming, Russ. Acad. Sci., 2007, vol. 13, part 2, pp. 141–164.
Semenov, V.A., Collaborative Software Engineering Using Metamodel-Driven Approach, Proc. of the 16th IEEE Int. Workshops on Enabling Technologies: Infrastructure for Collaborative Enterprises, WET ICE 2007, IEEE Computer Society Conference Publishing Services, 2007, pp. 178–179.
Semenov, V.A., Semantics-Based Reconciliation of Divergent Replicas in Advanced Concurrent Engineering Environments, in Complex Systems Concurrent Engineering: Collaboration, Technology Innovation and Sustainability, London: Springer, 2007, pp. 557–564.
Author information
Authors and Affiliations
Corresponding author
Additional information
Original Russian Text © V.A. Semenov, K.V. Dragalov, D.V. Ilyin, S.V. Morozov, O.V. Sidyaka, 2010, published in Programmirovanie, 2010, Vol. 36, No. 5.
Rights and permissions
About this article
Cite this article
Semenov, V.A., Dragalov, K.V., Ilyin, D.V. et al. On complementary principles of object-oriented constraint programming. Program Comput Soft 36, 264–275 (2010). https://doi.org/10.1134/S0361768810050026
Received:
Published:
Issue Date:
DOI: https://doi.org/10.1134/S0361768810050026