Skip to main content
Log in

On complementary principles of object-oriented constraint programming

  • Published:
Programming and Computer Software Aims and scope Submit manuscript

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Dechter, R., Constraint Processing, San Francisco: Morgan Kaufmann, 2003.

    Google Scholar 

  2. Buscemia, M.G. and Montanarib, U., A Survey of Constraint-based Programming Paradigms, Computer Science Review, 2008, vol. 2, no. 3, pp. 137–141.

    Article  Google Scholar 

  3. ISO 10303: 1994. Industrial Automation Systems and Integration-Product Data Representation and Exchange.

  4. OMG Model Driven Architecture: How Systems will be Built. http://www.omg.org/mda.

  5. W3C Semantic Web Activity. http://www.w3.org/2001/sw.

  6. 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.

  7. Cattel, R.G., Barry, D.K., Berler, M., et al., The Object Data Management Standard: ODMG 3.0, San Francisco: Morgan Kaufmann, 2000.

    Google Scholar 

  8. Unified Modeling Language, OMG Available Specification. Version 2.2. http://www.omg.org/spec/UML/2.2.

  9. Object Constraint Language Specification. Version 2.0. http://www.omg.org/technology/documents/formal/ocl.htm.

  10. OWL Web Ontology Language Guide. http://www.w3.org/TR/2004/REC-owl-guide-20040210.

  11. List of STEP Application Protocols. http://www.step-tools.com/library/standard/step-2.html.

  12. Energetics. The Energy Standards Resource Centre. http://www.energistics.org/posc/Default.asp.

  13. BuildingSMART International Alliance for Interoperability. http://www.buildingsmart.com.

  14. Catalog of UML Profile Specifications. http://www.omg.org/technology/documents/profile-catalog.htm.

  15. Tsang, E., Foundations of Constraint Satisfaction, London: Academic, 1993.

    Google Scholar 

  16. Saraswat, V. and Lincoln, P., Higher-Order Linear Concurrent Constraint Programming, Tech. Report, Xerox PARC, Department of Computer Science, Stanford University, 1992.

  17. ISO/IEC 13211-1:1995. Information Technology: Programming Languages: Prolog. Part 1: General Core.

  18. Bing Liu and Yuen-Wah Ku, ConstraintLisp: An Object-Oriented Constraint Programming Language, ACM SIGPLAN Notices, 1992, vol. 27, no 11, pp. 17–26.

    Article  Google Scholar 

  19. ANSI INCITS 226-1994 (R2004). Information Technology: Programming Language: Common Lisp.

  20. Sutherland, I.E., Sketchpad: A Man-machine Graphical Communication System, Tech. Report no. 296, Lincoln Laboratory, Massachusetts Institute of Technology, 1963.

  21. Alice. http://www.ps.uni-saarland.de/alice/index.html.

  22. 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.

    Article  Google Scholar 

  23. Mancini, T., Declarative Constraint Modelling and Specification-level Reasoning, PhD Thesis, Università degli Studi di Roma “La Sapienza,” Roma, Italy, 2005.

    Google Scholar 

  24. Colmerauer, A., An Introduction to Prolog III, Commun. ACM, 1990, vol. 33, no. 7, pp. 69–90.

    Article  Google Scholar 

  25. CHIP V5. http://www.cosytec.com.

  26. Beaulieu, A., Learning SQL, O’Reilly Media, 2009, 2nd ed.

  27. Kuper, G. and Libkin, L., Constraint Databases, Berlin: Springer, 2000.

    MATH  Google Scholar 

  28. Tack, G., Constraint Propagation: Models, Techniques, Implementation, Doctoral Thesis, Saarland University, Germany, 2009.

    Google Scholar 

  29. Freeman-Benson, B.N., Maloney, J., and Borning, A., An Incremental Constraint Solver, Commun. ACM, 1990, vol. 33, no. 1, pp. 54–63.

    Article  Google Scholar 

  30. 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.

  31. 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.

  32. McAloon, K. and Tretkoff, C., 2LP: Linear Programming and Logic Programming, Proc. of PPCP’93, Newport, Rhode Island, 1993, pp. 178–189.

  33. IBM ILOG CP: Features and Benefits. http://www-01.ibm.com/software/integration/optimization/cp1/about/?S-CMP=rnav.

  34. Charme Reference Manual, AI Development Centre, Bull, France, 1990.

  35. 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.

    Article  MATH  Google Scholar 

  36. 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.

    Article  MATH  Google Scholar 

  37. Brand, P., Enhancing the AKL Compiler Using Global Analysis, Tech. Report, Deliverable D.WP2.1.3.M2 in the ESPRIT Project ParForce, 6707, 1994.

  38. The Mozart Programming System. http://www.mozart-oz.org.

  39. Hermenegildo, M., Some Challenges for Constraint Programming, Constraints, 1997, vol. 2, no. 1, pp. 63–69.

    Article  Google Scholar 

  40. 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.

  41. Saraswat, V.A., Concurrent Constraint Programming, The MIT Press, 1993.

  42. Araya, I., Neveu, B., and Trombettoni, G., Exploiting Common Subexpressions in Numerical CSPs, Lecture Notes in Computer Sciences, 2008, vol. 5202, pp. 342–357.

    Article  Google Scholar 

  43. Sam-Haroud, D., Intervals in Constraint Programming: Some Trends and Open Issues, Small Workshop on Interval Methods, 2009.

  44. Hendler, J., Kitano, H., and Nebel, B., Handbook of Constraint Programming, Amsterdam: Elsevier, B.V., 2006.

    Google Scholar 

  45. 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.

  46. 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.

    Chapter  Google Scholar 

  47. Arkhipova, M.V., Automatic Test Generation for Semantic Translator Analyzers, Cand. Sci. (Phys.-Math.) Dissertation, Moscow: Inst. for System Programming, Russ. Acad. Sci., 2006.

    Google Scholar 

  48. 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.

  49. 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.

    Google Scholar 

  50. Petrenko, A.K., Specification Based Testing: Towards Practice, Lecture Notes in Computer Sciences, 2001, vol. 2244, pp. 287–300.

    Article  MathSciNet  Google Scholar 

  51. 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.

    Google Scholar 

  52. Vasil’ev, F.P. and Ivanitskii, A.Yu., Lineinoe programmirovanie (Linear Programming), Moscow: Faktorial, 2003.

    Google Scholar 

  53. 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.

  54. Zangwill, W.I., Nonlinear Programming: A Unified Approach, Englewood Cliffs: N.J. Prentice-Hall, 1969.

    MATH  Google Scholar 

  55. Bratko, I., Algoritmy iskusstvennogo intellekta na yazyke PROLOG (Artificial Intelligence Algorithms in PROLOG), Moscow: Vil’yams, 2004.

    Google Scholar 

  56. Sterling, L. and Shapiro, E., The Art of Prolog, Cambridge, Mass.: The MIT Press, 1986.

    MATH  Google Scholar 

  57. 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.

  58. Marchuk, G.I., Metody vychislitel’noi matematiki (Computational Mathematics Methods), Moscow: Nauka, 1977.

    Google Scholar 

  59. 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.

  60. 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.

    Google Scholar 

  61. 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.

  62. 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.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to V. A. Semenov.

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

Reprints 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

Download citation

  • Received:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1134/S0361768810050026

Keywords

Navigation