Skip to main content
Log in

Object-oriented description of graph data structures

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

Abstract

A solution method for problems of processing graph data structures is presented. This method is based on the use of the specialized language TreeDL and on its extendable compiler. The capabilities of the language and of the compiler exceed the existing solutions, which makes the proposed method more efficient than its analogs.

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. Cosling, J., Joy, B., Steele, G., and Bracha, G., The Java™ Language Specification, Addison-Wesley, 2005.

  2. Standard ECMA-334 C# Language Specification, 4th Edition, June 2006, http://www.ecma-international.org/publications/standards/Ecma-334.htm.

  3. Knut, D., The Art of Programming, Reading, Massachusetts: Addison-Wesley, 1997, vol. 1: Fundamental Algorithms.

    Google Scholar 

  4. Aho, A.V., Hopkroft, J.E., and Ullman, J.D., Data Structures and Algorithms, Reading, Mass.: Addison-Wesley, 1983.

    MATH  Google Scholar 

  5. Kas’yanov, V.N. and Evstigneev, V.A., Grafy v programmirovanii: obrabotka, vizualizatsiaya i primenenie (Graphs in Programming: Processing, Visualization, and Application), St. Petersburg: BHV, 2003.

    Google Scholar 

  6. Aho, A.V., Sethi, R., and Ullman, J.D., Compilers: Principles, Techniques, and Tools, Reading, Mass.: Addison-Wesley, 2006.

    Google Scholar 

  7. Slonneger, K. and Kurtz, B.L., Formal Syntax and Semantics of Programming Languages: A Laboratory-Based Approach, New-York: Addison-Wesley, 1995.

    MATH  Google Scholar 

  8. Serebryakov, V.A. and Galochkin, M.P., The Basics of Compiler Construction, Editorial URSS, 2001, http://www.citforum.ru/programming/theory/serebryakov/.

  9. Gamma, E., Helm, R., Johnson, R., and Vlassides, J., Design Patterns: Elements of Reusable Object-Oriented Software, Reading, Mass.: Addison-Wesley, 1995.

    Google Scholar 

  10. Domain-Specific Languages: An Annotated Bibliography, http://homepages.cwi.nl/:_arie/papers/dslib/.

  11. Booch, G., Object-Oriented Analysis and Design With Applications, Redwood City, Calif.: Benjamin/Cummings, 1994.

    Google Scholar 

  12. Meyer, B., Object-Oriented Software Construction, Upper Saddle River, N.J.: Prentice Hall, 1997.

    MATH  Google Scholar 

  13. Graham, I., Object-Oriented Methods: Principles & Practice, Harlow, England: Addison-Wesley, 2000.

    Google Scholar 

  14. Ernst, E., Family Polymorphism, Lect. Notes Comput. Sci. (Proc. ECOOP-2001), Heidelberg: Springer, 2001, http://portal.acm.org/citation.cfm?id=680013.

    Google Scholar 

  15. Bruce, K.B., Some Challenging Typing Issues in Object-Oriented Languages, Electronic Notes in Theoretical Computer Science, 2003, vol. 82, no. 8, http://citeseer.ist.psu.edu/bruce03some.html.

  16. Jolly, P., Drossopoulou, S., Anderson, C., and 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.

  17. Nystrom, N., Chong, S., and Myers, A.C., Scalable Extensibility via Nested Inheritance, Proc. of Conf. on Object-Oriented Programming Systems, Languages and Applications 2004, http://citeseer.ist.psu.edu/nystrom04scalable.html.

  18. Baumgartner, G., Jansche, M., Laufer, K., Half & Half: Multiple Dispatch and Retroactive Abstraction for Java™, Tech. Rep. OSU-CISRC-5/01-TR08, Ohio State University, 2002.

  19. Ingalls, D.H.H., A Simple Technique for Handling Multiple Polymorphism, Proc. of Conf. on Object-Oriented Programming Systems, Languages and Applications 1986, New-York: ACM, 1986, pp. 347–349, http://portal.acm.org/citation.cfm?id=28732.

    Chapter  Google Scholar 

  20. Visser, J., Visitor Combinationa nd Traversal Control, Proc. of Conf. on Object-Oriented Programming Systems, Languages and Applications 2001, New-York: ACM, 1986, pp. 270–282, http://portal.acm.org/citation.cfm?id=504302.

    Google Scholar 

  21. Mugridge, W.B., Hamer, J., and Hosking, J.G., Multi-Methods in a Statically-Typed Programming Language, Proc. of Conf. on Object-Oriented Programming Systems, Languages and Applications 1991, London: Springer, 1991, pp. 307–324, http://portal.acm.org/citation.cfm?id=679202.

    Google Scholar 

  22. Chambers, C. and Leavens, G.T., Typechecking and Modules for Multi-Methods, Proc. of Conf. on Object-Oriented Programming Systems, Languages and Applications 1994, ftp://ftp.cs.washington.edu/homes/chambers/mmtc.ps.Z.

  23. Millstein, T. and Chambers, C., Modular Statically Typed Multimethods, Lect. Notes Comput. Sci. (Proc. of the XIII European Conf. on Object-Oriented Programming, Lisbon, Portugal, June 14–18, 1999), Springer, 1999, no. 1628, pp. 279–303.

  24. Czarnecki, K. and Eisenecker, U., Generative Programming: Methods, Tools, and Applications, Boston: Addison-Wesley, 2000.

    Google Scholar 

  25. Herrington, J., Code Generation in Action, Manning Publications, 2003.

  26. Kuliamin, V.V., Tekhnologii programmirovaniya. Komponentnyi podkhod (Programming Technologies: Component-Based Approach), Moscow: BINOM, 2006.

    Google Scholar 

  27. Wang, D.C., Appel, A.W., Korn, J.L., and Serra, C.S., The Zephyr Abstract Syntax Description Language. USENIX: Proc. of Conf. on Domain-Specific Languages, October 15–17, 1997, Santa Barbara, California, Berkeley, CA., 1997, pp. 213–228.

  28. Van den Brand, M.G.J., Moreau, P.E., and Vinju, J.J., A Generator of Efficient Strongly Typed Abstract Syntax Trees in Java, IEE Proceedings-Software Engineering, 2005, vol. 152, no. 2, pp. 70–87.

    Article  Google Scholar 

  29. ANTLR—Another Tool for Language Recognition, http://www.antlr.org.

  30. Cocktail Toolbox, http://www.cocolab.com/en/cocktail.html.

  31. Weatherley, R., Treecc: An Aspect-Oriented Approach to Writing Compilers, Free Software Magazine, 2001, no. 2, http://www.southern-storm.com.au/treecc.html.

  32. Grosch, J., Puma—A Generator for the Transformation of Attributed Trees, Tech. Rep. 26, GMD, Karlsruhe, 1991, http://www.cocolab.com/en/cocktail.html#Puma.

  33. De Jong, H.A. and Olivier, P.A., Generation of Abstract Programming Interfaces from Syntax Definitions, J. Logic and Algebraic Programming, 2004, vol. 59, http://www.cwi.nl/themes/senl/twiki/pub/SEN1/Api-Gen/jlap.pdf.

  34. Van Reeuwijk, C., Tm: a Code Generator for Recursive Data Structures, Software —Practice and Experience, 1992, vol. 22, no. 10, http://www.cs.vu.nl/:_reeuwijk/software/Tm/spe92.ps.gz.

  35. W3C, Extensible Markup Language (XML), http://www.w3.org/XML.

  36. W3C, XSL Transformations (XSLT), http://www.w3.org/TR/xslt.

  37. XMLmind XML Editor, http://www.xmlmind.com/xmleditor/.

  38. http://relaxng.org.

  39. Fähndrich, M., Rustan, K., and Leino, M., Declaring and Checking Non-null Types in an Object-Oriented Language, Proc. of Conf. on Object-Oriented Programming Systems, Languages and Applications 2003, http://research.microsoft.com/:_leino/papers/krml109.pdf.

  40. Eclipse Platform, http://eclipse.org.

  41. Demakov, A., Satisfiable Subset of the Specification Language and Its Translation, Applications of System Programming: Issues of Cybemetics, Moscow, 1998, no. 4, pp. 17–28.

  42. Bourdonov, I.B., Demakov, A.V., Jarov, A.A., Kossatchev, A.S., Kuliamin, V.V., Petrenko, A.K., and Zelenov, S.V., Java Specification Extension for Automated Test Development, Lect. Notes Comput. Sci. (Proc. of PSI’01), 2001, vol. 2244, pp. 301–307.

    MathSciNet  Google Scholar 

  43. Demakov, A., Application of the Technology UniTesK to Testing .NET-Components, Proc. of Conf. Microsoft Technologies in Scientific Research and Higher Education, Moscow, 2003.

  44. Zelenov, S.V., Zelenova, S.A., Kossatchev, A.S., and Petrenko, A.K., Test Generation for Compilers and Other Formal Text Processors, Programmirovanie, 2003, vol. 29, no. 2, pp. 104–111 [Programming Comput. Software (Engl. Transl.), 2003, vol. 29, no. 2, pp. 104–111].

    MATH  Google Scholar 

  45. Kuliamin, V.V. and Petrenko, A.K., Applying Model-Based Testing in Different Contexts, Proc. of Seminar on Perspectives on Model Based Testing, Dagstuhl, Germany, 2004.

  46. Arkhipova, M., Generation of Tests for Semantic Analyzers, Preprint of Inst. System Programming, Russ. Acad. Sci., Moscow, 2005, no. 9.

  47. Demakov, A., The Language for Description of Abstract Syntax TreeDL and Its Use, Preprint of Inst. System Programming, Russ. Acad. Sci., Moscow, 2006, no. 17.

  48. Demakov, A., TreeDL: A Language of Describing Graph Data Structures and Operations over Them, Vychislitel’nye metody i programmirovanie, 2006, vol. 7.

  49. Project TreeDL, http://treedl.sourceforge.net.

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to A. V. Demakov.

Additional information

Original Russian Text © A.V. Demakov, 2007, published in Programmirovanie, 2007, Vol. 33, No. 5.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Demakov, A.V. Object-oriented description of graph data structures. Program Comput Soft 33, 261–271 (2007). https://doi.org/10.1134/S0361768807050027

Download citation

  • Received:

  • Issue Date:

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

Keywords

Navigation