2004 · 112 citations · 6 references
ComputingComputer ScienceDesign AutomationProgramming LanguagesSoftware EngineeringAbstract Syntax TreesSoftware ArchitectureSoftware DesignSoftware ModelingArchitecture PatternsDesign Pattern RepresentationDesign PatternsPattern DesignPatternsStructural Patterns
Design patterns are micro architectures that have proved to be reliable, easy-to implement and robust. There is a need in science and industry for recognizing these patterns. We present a new method for discovering design patterns in the source code. This method provides a precise specification of how the patterns work by describing basic structural information like inheritance, composition, aggregation and association, and as an indispensable part, by defining call delegation, object creation and operation overriding. We introduce a new XML-based language, the Design Pattern Markup Language (DPML), which provides an easy way for the users to modify pattern descriptions to suit their needs, or even to define their own patterns or just classes in certain relations they wish to find. We tested our method on four open-source systems, and found it effective in discovering design pattern instances.
6
Columbus - reverse engineering tool and schema for C++
Rudolf Ferenć, Árpád Beszédes, Mikko Tarkiainen et al. · 2003 · 186 citations
Data exchange with the columbus schema for c++
Rudolf Ferenć, Árpád Beszédes · 2003 · 42 citations