6533b828fe1ef96bd12882af

RESEARCH PRODUCT

Graph grammar engineering: A software specification method

Gregor EngelsWilhelm SchäferClaus Lewerentz

subject

Software visualizationbusiness.industryComputer scienceProgramming languageSearch-based software engineeringSoftware developmentSoftware requirements specificationcomputer.software_genreSoftware sizingSoftware constructionSoftware designbusinesscomputerSoftware verification

description

Graphs as conceptual data models are accepted and used in a wide range of different problem areas. Giving some examples we outline common aspects for modeling complex structures by graphs. We present a formal frame-work based on graph grammars to specify graph classes and the corresponding graph manipulations. We show that such a specification can be written in a systematic, engineering-like manner. This is achieved by an extension of the known programmed, attributed graph grammars. Node-set operators are introduced to facilitate graph queries. Concepts like abstraction, decomposition, refinement, parameterization, and integration have been adopted from software engineering to yield a comprehensive specification method. This method has successfully been applied to specify the central data structures in a software development environment project.

https://doi.org/10.1007/3-540-18771-5_53