Tool support for design patterns using specification with reference attributed grammars
(2000)- Abstract
- 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... (More)
- 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. (Less)
Please use this url to cite or link to this publication:
https://lup.lub.lu.se/record/526451
- author
- Cornils, Aino and Hedin, Görel LU
- organization
- publishing date
- 2000
- type
- Chapter in Book/Report/Conference proceeding
- publication status
- published
- subject
- host publication
- Third Workshop on Attribute Grammars and their Applications WAGA'00
- publisher
- INRIA Rocquencourt France
- language
- English
- LU publication?
- yes
- id
- f5f80925-06ef-43c3-93b8-06f5f3158e2f (old id 526451)
- date added to LUP
- 2016-04-04 11:14:06
- date last changed
- 2021-05-06 20:39:29
@inproceedings{f5f80925-06ef-43c3-93b8-06f5f3158e2f, abstract = {{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.}}, author = {{Cornils, Aino and Hedin, Görel}}, booktitle = {{Third Workshop on Attribute Grammars and their Applications WAGA'00}}, language = {{eng}}, publisher = {{INRIA Rocquencourt France}}, title = {{Tool support for design patterns using specification with reference attributed grammars}}, year = {{2000}}, }