Advertisement

Supporting the software development process with attributed NLC graph grammars

  • Simon M. Kaplan
  • Steven K. Goering
  • Roy H. Campbell
Part II Technical Contributions
Part of the Lecture Notes in Computer Science book series (LNCS, volume 291)

Abstract

An important research problem in software engineering is to find appropriate formalisms and tools to support the software development process. Efforts to build program development support tools have developed schemes that employ an internal data structure based on trees. Trees are inherently limited and also create long path lengths along which semantic information is forced to flow. We propose ANLC graph grammars as a formalism which can be used to generate tools based on graphs rather than tree structures. This paper defines ANLC grammars, illustrates the use of the formalism with an example and discusses the advantages of the use of graphs rather than trees in building program development tools.

Key Words

Attribute Graph Graph Editor Graph Grammar Neighbourhood Controlled Embedding Node Label Controlled Programming Environment Software Support Environment 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. [1]
    Wayne A. Babich. Software Configuration Management. Addison-Wesley, Reading, Mass., 1986.Google Scholar
  2. [2]
    Horst Bunke. Graph grammars as a generative tool in image understanding. In Hartmut Ehrig, Manfred Nagl, and Grzegorz Rozenberg, editors, Proceedings of the second International Workshop on Graph Grammars and their Application to Computer Science, LNCS 153, pages 8–19, Springer-Verlag, 1982.Google Scholar
  3. [3]
    Peter Pin-Shan Chen. The entity-relationship model-toward a unified view of data. ACM Transactions on Database Systems, 1(1):9–36, March 1976.CrossRefGoogle Scholar
  4. [4]
    Veronique Donzeau-Gouge, Gilles Kahn, Bernard Lang, and Bertrand Melese. Documents structure and modularity in mentor. In Proceedings of the ACM SIGPLAN/SIGSOFT Symposium on Practical Software Development Environments, pages 141–148, Pittsburgh, Pa, May 1984.Google Scholar
  5. [5]
    Gregor Engels and Wilhelm Schafer. Graph grammar engineering: a method used for the development of an integrated programming environment. In Hartmut Ehrig, Christiane Floyd, Maurice Nivat, and James Thatcher, editors, Proceedings of the International Joint Conference on Theory and Practice of Software Development (TAPSOFT), LNCS 186, pages 179–193, Springer-Verlag, 1985.Google Scholar
  6. [6]
    Herbert Gottler. Attributed graph grammars for graphics. In Hartmut Ehrig, Manfred Nagl, and Grzegorz Rozenberg, editors, Proceedings of the second International Workshop on Graph Grammars and their Application to Computer Science, LNCS 153, pages 130–142, Springer-Verlag, 1982.Google Scholar
  7. [7]
    R. Gunther. Management Methodology for Software Product Engineering. Wiley Interscience, New York, 1978.Google Scholar
  8. [8]
    D. Janssens and G. Rozenberg. Graph grammars with neighbourhood-controlled embeddings. Theoretical Computer Science, 21:55–74, 1982.CrossRefGoogle Scholar
  9. [9]
    D. Janssens and G. Rozenberg. On the structure of node-label-controlled graph languages. Information Sciences, 20:191–216, 1980.CrossRefGoogle Scholar
  10. [10]
    Dirk Janssens and Grzegorz Rozenberg. Graph grammars with node-label control and rewriting. In Hartmut Ehrig, Manfred Nagl, and Grzegorz Rozenberg, editors, Proceedings of the second International Workshop on Graph Grammars and their Application to Computer Science, LNCS 153, pages 186–205, Springer-Verlag, 1982.Google Scholar
  11. [11]
    Larry Jones and Janos Simon. Hierarchical design systems based on attribute grammars. In Proceedings of the Thirteenth ACM Symposium on Principles of Programming Languages (POPL), pages 58–69, St Petersburg, Fla, January 1986.Google Scholar
  12. [12]
    Simon M. Kaplan. Incremental Attribute Evaluation on Graphs (Revised Version). Technical Report UIUC-DCS-86-1309, University of Illinois at Urbana-Champaign, December 1986.Google Scholar
  13. [13]
    Donald E. Knuth. Semantics of context-free languages. Mathematical Systems Theory, 2(2):127–145, June 1968.CrossRefGoogle Scholar
  14. [14]
    M. Nagl, G. Engels, R. Gall, and W. Schafer. Software specification by graph grammars. In Hartmut Ehrig, Manfred Nagl, and Grzegorz Rozenberg, editors, Proceedings of the second International Workshop on Graph Grammars and their Application to Computer Science, LNCS 153, pages 267–287, Springer-Verlag, 1982.Google Scholar
  15. [15]
    David Notkin. The gandalf project. Journal of Systems and Software, 5(2):91–106, May 1985.Google Scholar
  16. [16]
    Thomas Reps. Generating Language-Based Environments. MIT Press, 1984.Google Scholar
  17. [17]
    J. Schofield. Editing as a Paradigm for User Interaction — A Thesis Proposal. Technical Report 81-11-01, Dept. of Computer Science, FR-35, University of Washington, November 1981.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1987

Authors and Affiliations

  • Simon M. Kaplan
    • 1
  • Steven K. Goering
    • 1
  • Roy H. Campbell
    • 1
  1. 1.Department of Computer ScienceUniversity of IllinoisUrbanaUSA

Personalised recommendations