Tool support for design patterns using specification with reference attributed grammars
Publikation/Tidskrift/Serie: Third Workshop on Attribute Grammars and their Applications WAGA'00
Förlag: INRIA Rocquencourt France
Design patterns are abstract descriptions of solutions to often recurring problems. They are a means to communicate experience in design. Over the past years, along with the increase in popularity of object-oriented design patterns, some problems with the use of them have been identified. One of these lies in documenting software systems using design patterns. Experience has shown that both in the initial design, and especially in later code revisions, it is all too easy for code and documentation to diverge, rendering the documentation misleading and the code inconsistent. In this paper we present a flexible and extensible tool which enables designers to use design patterns in a safe and easy way and which semi-automatically documents and maintains the documentation of a software system. The system is implemented using reference attributed grammars (RAGs) which are capable of describing non-local dependencies. Both the programming language and the design patterns are specified using RAGs, and reference attributes are used for connecting design pattern instances to the corresponding elements in the program code.
- Computer Science