Preview

Труды Института системного программирования РАН

Расширенный поиск

Объектно-ориентированное программирование в ограничениях: новый подход на основе декларативных языков моделирования данных

Аннотация

Объектно-ориентированное программирование в ограничениях (OOCP) сочетает две ортогональные, но комплементарные парадигмы программирования, а именно: объектно-ориентированное программирование (OOP) и логическое программирование в ограничениях (CLP). Несмотря на привлекательность идеи синтеза парадигм и известные попытки реализации, до сих пор не существует единого понимания, какие конструктивные очертания она может приобрести при дальнейшей проработке и развитии. Ключевыми вопросами при этом остаются выразительность описания прикладной задачи в ограничениях и ее алгоритмическая разрешимость. В настоящей работе предлагается и обсуждается новый системный подход к реализации OOCP на основе использования декларативных языков моделирования данных.

Об авторах

В. А. Семенов
ИСП РАН
Россия


Д. В. Ильин
ИСП РАН
Россия


С. В. Морозов
ИСП РАН
Россия


О. В. Сидяка
ИСП РАН
Россия


Список литературы

1. Dechter R. Constraint processing. Morgan Kaufmann, San Francisco, 2003.

2. M. G. Buscemia, U. Montanarib. A survey of constraint-based programming paradigms. // Computer Science Review, Vol. 2, Issue 3, Dec. 2008, pp. 137–141.

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. Edition 2.

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

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.steptools.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. E. Tsang. Foundations of constraint satisfaction. Academic Press Limited, London & San-Diego, 1993.

16. V. Saraswat, P. Lincoln. Higher-Order Linear Concurrent Constraint Programming. Technical 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, Yuen-Wah Ku. ConstraintLisp: An Object-Oriented Constraint Programming Language. // ACM SIGPLAN Notices, Vol. 27, No. 11, 1992, pp. 17–26.

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

20. I.E. Sutherland. Sketchpad: A man-machine graphical communication system. Technical Report No. 296, Lincoln Laboratory, Massachusetts Institute of Technology, 1963.

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

22. A. Borning. The Programming Language Aspects of ThingLab, a Constraint-Oriented Simulation Laboratory. // ACM Transactions on Programming Languages and Systems, Vol. 3, No. 4, 1981, pp. 353–387.

23. T. Mancini. Declarative constraint modelling and specification-level reasoning. PhD Thesis, Università degli Studi di Roma “La Sapienza”, Roma, Italy, March 2005.

24. A. Colmerauer. An introduction to Prolog III. // Communications of the ACM, Vol. 33, No. 7, 1990, pp. 69–90.

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

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

27. G. Kuper, L. Libkin. Constraint Databases. Springer-Verlag, Berlin, 2000.

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

29. Freeman-Benson B.N., Maloney J., Borning A. An Incremental Constraint Solver. // Communication of the ACM, Vol. 33, No. 1, 1990, pp. 54–63.

30. M. Sannella. SkyBlue: A Multi-Way Local Propagation Constraint Solver for User Interface Construction. // Proceedings of the 1994 ACM Symposium on User Interface Software and Technology, 1994, pp. 137–146.

31. A. Borning, K. Marriott, P. Stuckey, Y. Xiao. Solving Linear Arithmetic Constraints for User Interface Applications: Algorithm Details. Technical Report 97-06-01, Department of Computer Science and Engineering University of Washington, 1997.

32. K. McAloon, C. Tretkoff. 2LP: Linear Programming and Logic Programming. // Proceedings 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. L. Michel, P. Van Hentenryck. Helios: A modeling language for global optimization and its implementation in Newton. // Theoretical Computer Science, Vol. 173, No. 1, 1997, pp. 3–48.

36. P. Van Hentenryck, L. Michel, F. Benhamou. Newton — constraint programming over nonlinear constraints. // Science of Computer Programming, Vol. 30, No. 1–2, 1998, pp. 83–118.

37. P. Brand. Enhancing the AKL compiler using global analysis. Technical 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. M. Hermenegildo. Some Challenges for Constraint Programming // Constraints, Vol. 2, No. 1, 1997, pp. 63–69.

40. I. Shvetsov, T. Nesterenko, S. Starovit. Technology of Active Objects. AAAI Technical Report WS-97-05, Russian Research Institute of Artificial Intelligence & Institute of Informatics Systems, 1997.

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

42. A. Gotlieb, T. Denmat, B. Botella. Constraint-based test data generation in the presence of stack-directed pointers. // Proceedings of the 20th IEEE/ACM International Conference on Automated Software Engineering, Long Beach, CA, USA, 2005, pp. 313–316.

43. М.В. Архипова. Автоматическая генерация тестов для семантических анализаторов трансляторов. Автореферат диссертации на соискание ученой степени кандидата физико-математических наук. Москва, ИСП РАН, 2006.

44. А. Петренко, Е. Бритвина, С. Грошев, А. Монахов, О. Петренко. Тестирование на основе моделей. // Открытые системы, № 9, 2003, http://www.osp.ru/os/2003/09/183388.

45. А.В. Демаков, С.В. Зеленов, С.А. Зеленова. Генерация тестовых данных сложной структуры с учетом контекстных ограничений. // Труды Института системного программирования: т. 9. / Под ред. В.П. Иванникова — М.: ИСП РАН, 2006, с. 83–96.

46. A.K. Petrenko. Specification Based Testing: Towards Practice. // LNCS-2244, 2001, p.p. 287–300.

47. С.В. Зеленов, С.А. Зеленова. Автоматическая генерация позитивных и негативных тестов для тестирования фазы синтаксического анализа. // Труды Института системного программирования: т. 8, ч. 1. / Под ред. В.П. Иванникова — М.: ИСП РАН, 2004, c. 41–58.

48. Васильев Ф.П., Иваницкий А.Ю. Линейное программирование. — М.: Факториал Пресс, 2003.

49. О.В. Хамисов. Численное решение специальных задач невыпуклого квадратичного программирования. // Дискретный анализ и исследование операций, сер. 1, т. 12, № 4, 2005, с. 81–91.

50. У. И. Зангвилл. Нелинейное программирование. Единый Подход. — М.: Советское радио, 1973.

51. И. Братко. Алгоритмы искусственного интеллекта на языке PROLOG. — М.: Вильямс, 2004.

52. Л. Стерлинг, Э. Шапиро. Искусство программирования на языке Пролог. — М.: Мир, 1990.

53. M. Chetty, K.P. Dabke. Symbolic computations: an overview and application to controllerdesign. // Proceedings of IEEE sponsored international conference on Information, Decision and Control, Adelaide, 8th-10th February, 1999, pp.451–456.

54. Марчук Г.И. Методы вычислительной математики. — М.: Наука, 1977.

55. Semenov V.A., Karaulov A.A. Semantic-Based Decomposition of Long-Lived Transactions in Advanced Collaborative Environments. // Proceedings of 6 European Conference on Product and Process Modeling, ECPPM 2006, Spain, Valencia, September 11–15, 2006, pp. 223–232.

56. Семенов В.А., Ерошкин С.Г., Караулов А.А., Энкович И.В. Семантическая реконсиляция прикладных данных на основе моделей. // Труды Института системного программирования: т. 13, ч. 2. / Под ред. В.П. Иванникова — М.: ИСП РАН, 2007, с. 141–164.

57. Semenov V.A. Collaborative Software Engineering Using Metamodel-Driven Approach. // Proceedings 16th IEEE International Workshops on Enabling Technologies: Infrastructure for Collaborative Enterprises, WET ICE 2007, IEEE Computer Society Conference Publishing Services, 2007, pp. 178–179.

58. Semenov V.A. Semantics-Based Reconciliation of Divergent Replicas in Advanced Concurrent Engineering Environments. // Complex Systems Concurrent Engineering: Collaboration, Technology Innovation and Sustainability, Springer-Verlag, London, 2007, pp. 557–564.


Рецензия

Для цитирования:


Семенов В.А., Ильин Д.В., Морозов С.В., Сидяка О.В. Объектно-ориентированное программирование в ограничениях: новый подход на основе декларативных языков моделирования данных. Труды Института системного программирования РАН. 2010;19.

For citation:


Semenov V.A., Ilyin D.V., Morozov S.V., Sidyaka O.V. Object-oriented constraint-based programming: a new paradigm using declarative data modeling languages. Proceedings of the Institute for System Programming of the RAS (Proceedings of ISP RAS). 2010;19. (In Russ.)



Creative Commons License
Контент доступен под лицензией Creative Commons Attribution 4.0 License.


ISSN 2079-8156 (Print)
ISSN 2220-6426 (Online)