Repairing software style using graph grammars
نویسندگان
چکیده
Often, software architects impose a particular style on the software systems they design. For large software systems, they would like to ensure that the design continues to conform to this style during the maintenance phase of the software-life cycle. We will assume that the architectural design of a software system is available; for instance, it may have been extracted from the source code of the system using a parser. We will also assume we have a set of stylistic constraints given by the architect. For example, the architect may want to ensure that if a module X is allowed to use a procedure in a module Y, then module Y needs to export that procedure. We define the Style Repair Problem as follows: If the current architectural design does not satisfy a set of stylistic constraints, how can we repair it so that it does? We choose to represent architectural designs as directed graphs; hence, repairing the style of these designs is equivalent to repairing the graph. We show how graph grammars can be used to automatically repair styles, and we show how this provides insight into the problem of style maintenance.
منابع مشابه
Modeling Railway Control Systems Using Graph Grammars: A Case Study
In this report, we develop a railway control system. We are mainly concerned with the software architecture of the control system and its dynamic evolution; we do not discuss here the implementation details of the components forming the control system. The software architecture is characterized by a hierarchy of controllers whose leaves are local controllers connected in a network that mimics t...
متن کاملModelling Dynamic Software Architectures using Typed Graph Grammars
Several recent research efforts have focused on the dynamic aspects of software architectures providing suitable models and techniques for handling the run-time modification of the structure of a system. A large number of heterogeneous proposals for addressing dynamic architectures at many different levels of abstraction have been provided, such as programmable, ad-hoc, self-healing and self-re...
متن کاملModelling Dynamic Software Architectures using Typed Graph Grammars 1 Roberto
Several recent research efforts have focused on the dynamic aspects of software architectures providing suitable models and techniques for handling the run-time modification of the structure of a system. A large number of heterogeneous proposals for addressing dynamic architectures at many different levels of abstraction have been provided, such as programmable, ad-hoc, self-healing and self-re...
متن کاملPreRkTAG: Prediction of RNA Knotted Structures Using Tree Adjoining Grammars
Background: RNA molecules play many important regulatory, catalytic and structural <span style="font-variant: normal; font-style: norma...
متن کاملMatrix Graph Grammars
This book objective is to develop an algebraization of graph grammars. Equivalently, we study graph dynamics. From the point of view of a computer scientist, graph grammars are a natural generalization of Chomsky grammars for which a purely algebraic approach does not exist up to now. A Chomsky (or string) grammar is, roughly speaking, a precise description of a formal language (which in essenc...
متن کامل