TREEDL: язык описания графовых структур данных и операций над ними
Ключевые слова:
графы программ
объектно-ориентированные языки программирования
структура графа
инструментальные средства
базы данных
объектные модели
Аннотация
Рассматриваются методы представления и обработки графов в программах на объектно-ориентированных языках программирования. Анализируются основные возможности специализированного языка описания структуры графов и его инструментальной поддержки. Описывается язык TreeDL, обладающий такими возможностями. Предлагаемое решение сравнивается с другими средствами описания структуры графов.
Раздел
Раздел 2. Программирование
Библиографические ссылки
- Кнут Д. Искусство программирования. 1. Основные алгоритмы. М.: Вильямс, 2000.
- Ахо А., Хопкрофт Дж., Ульман Дж. Структуры данных и алгоритмы. М.: Вильямс, 2001.
- Касьянов В.Н., Евстигнеев В.А. Графы в программировании: обработка, визуализация и применение. СПб.: БХВ- Петербург, 2003.
- Емеличев В.А., Мельников О.И., Сарванов В.И., Тышкевич Р.И. Лекции по теории графов. М.: Наука, 1990.
- Дистель Р. Теория графов. Новосибирск: Изд-во ИМ СО РАН, 2002.
- Gosling J., Joy B., Steele G., Bracha G. The Java愦灭;circTM language specification. Reading: Addison-Wesley, 2005.
- Standard ECMA-334 C# Language Specification. Third edition. June 2005 // (http://www.ecma-international.org/ publications/standards/Ecma-334.htm).
- Буч Г. Объектно-ориентированный анализ и проектирование с примерами приложений на С++. М.: Бином, 2001.
- Мейер Б. Объектно-ориентированное конструирование программных систем. М.: Интуит.ру, 2005.
- Грэхем И. Объектно-ориентированные методы. Принципы и практика. М.: Вильямс, 2004.
- Влиссидес Дж., Джонсон Р., Хелм Р., Гамма Э. Приемы объектно-ориентированного проектирования. Паттерны проектирования. СПб.: Питер, 2003.
- Ingalls D.H. H. A simple technique for handling multiple polymorphism // Proc. of the ACM Conference on Object- Oriented Programming Systems, Languages and Applications (OOPSLA’86). Portland, 1986 // (http://portal.acm.org/citation.cfm?id=28732).
- Visser J. Visitor combination and traversal control // OOPSLA’01. Tampa, 2001 // (http://portal.acm.org/citation.cfm?id=504302).
- Fahndrich M.K., Leino R.M. Declaring and checking non-null types in an object-oriented language // OOPSLA’03. Anaheim: 2003 (http://research.microsoft.com/ leino/papers/krml109.pdf).
- Birka A., Ernst M.D. A practical type system and language for reference immutability // OOPSLA’04. Vancouver, 愦灭;percent British Columbia, Canada, 2004 (http://www.sct.ethz.ch/teaching/ws2004/semspecver/papers/ernst-ref-immutability- oopsla2004.pdf).
- Tschantz M.S., Ernst M.D. Javari: Adding reference immutability to Java // OOPSLA’05. San Diego, 2005 // 愦灭;percent California, USA, 2005 // (http://pag.csail.mit.edu/ mernst/pubs/ref-immutability-oopsla2005.pdf).
- Mugridge W.B., Hamer J., Hosking J.G. Multimethods in a statically-typed programming language // OOPSLA’91. New York, 愦灭;percentNY, 1991 (http://portal.acm.org/citation.cfm?id=679202).
- Chambers C., Leavens G.T. Typechecking and modules for multimethods // OOPSLA’94. Portland, 1994 // (ftp://ftp.cs.washington.edu/homes/chambers/mmtc.ps.Z).
- Millstein T., Chambers C. Modular statically typed multimethods // ECOOP’99. Lisbon, 1999 // 愦灭;percentPortugal, 1999 (http://www.ifs.uni-linz.ac.at/ ecoop/cd/papers/1628/16280279.pdf).
- Gabriel R.P., DeMichiel L. The Common Lisp Object System: An overview // ECOOP’87. Paris, 1987.
- Chambers C. Object-oriented multimethods in Cecil // ECOOP’92. Utrecht, 1992 // 愦灭;percentThe Netherlands, 1992. // (ftp://ftp.cs.washington.edu/homes/chambers/cecil-oo-mm.ps.Z).
- The MultiJava Project (http://multijava.sourceforge.net).
- The Nice programming language (http://nice.sourceforge.net).
- Ernst E. Family polymorphism // 愦灭;percentIn Jorgen Lindskov Knudsen, editor, ECOOP 2001-Object-Oriented Programming. Heidelberg: Springer-Verlag, 2001. 303-326 (http://portal.acm.org/citation.cfm?id=680013).
- Bruce K.B. Some challenging typing issues in object-oriented languages // Electronic Notes in Theoretical Computer Science, 2003 愦灭;percentT. 82(8). (http://citeseer.ist.psu.edu/bruce03some.html).
- Jolly P., Drossopoulou S., Anderson C., Ostermann K. Simple dependent types: Concord (FTfJP accepted version). April 2004 // (http://myitcv.org.uk/papers/concord04.html, http://citeseer.ist.psu.edu/article/jolly04simple.html).
- Nystrom N., Chong S., Myers A.C. Scalable extensibility via nested inheritance // OOPSLA’04. Vancouver, 2004 愦灭;percent British Columbia, Canada, 2004. (http://citeseer.ist.psu.edu/nystrom04scalable.html).
- Фаулер М. Рефакторинг: улучшение существующего кода. СПб.: Символ-плюс, 2005.
- Eclipse platform (http://eclipse.org).
- Walters H.R., Kamperman J.F. Th., Dinesh T.B. An extensible language for the generation of parallel data manipulation and control packages. Report CS-R9575. CWI SMC. Amsterdam, 1995 // (http://www.cwi.nl/ftp/CWIreports/AP/CS- R9575.ps.Z).
- Системы автоматизации производства и их интеграция. Представление данных об изделии и обмен этими данными. Часть 11. Методы описания. Справочное руководство по языку EXPRESS / Государственный стандарт РФ ГОСТ РИСО 10303-11-2000.
- ANTLR: ANother Tool for Language Recognition (http://www.antlr.org).
- Weatherley R. Treecc: An aspect-oriented approach to writing compilers // Free Software Magazine. Issue 2. 2001. (http://www.southern-storm.com.au/treecc.html).
- Демаков А. Исполнимое подмножество языка спецификации и его трансляция // Приложения системного программирования: Вопросы кибернетики. Научный совет по комплексной проблеме «Кибернетика» РАН. М., 1998. Вып. 4. 17-28.
- Bourdonov I.B., Demakov A.V., Jarov A.A., Kossatchev A.S., Kuliamin V.V., Petrenko A.K., Zelenov S.V. Java specification extension for automated test development // Proc. of PSI’01. Berlin: Springer-Verlag, 2001. 301-307.
- Демаков А. Применение технологии UniTesK для тестирования NET-компонентов // Труды конференции «Технологии Microsoft в научных исследованиях и высшем образовании». М., 2003.
- Зеленов С.В., Зеленова С.А., Косачев А.С., Петренко А.К. Генерация тестов для компиляторов и других текстовых процессоров // Программирование. 29, № 2. 2003. 59-69.
- Kuliamin V., Petrenko A.K. Applying model based testing in different contexts // Proc. of Seminar on Perspectives on Model Based Testing. Dagstuhl, 2004. 愦灭;percent Germany, September 2004.
- Архипова М. Генерация тестов для семантических анализаторов. Препринт ИСП РАН № 9. M., 2005.
- Демаков А. Язык описания абстрактного синтаксиса TreeDL и его использование. Препринт ИСП РАН № 17. M., 2006.
- Проект TreeDL (http://treedl.sourceforge.net).