The DPDX initiative is dedicated to the development of a common exchange format for results of design pattern detection tools, public provision of related resourced and implementation of the format in the tools of the contributing partners.
Tools for design pattern detection (DPD) can significantly ease program comprehension, helping programmers understand the design and intention of certain parts of a system's implementation. Many tools have been proposed in the past. However, the many different output formats used by the tools make it difficult to compare their results and to improve their accuracy and performance through data fusion1). In addition, all the output formats have been shown to have several limitations in both their forms and contents.
Consequently, we develop DPDX, a rich common exchange format for DPD tools, to overcome previous limitations. DPDX provides the basis for an open federation of tools that perform comparison, fusion, visualisation, and–or validation of DPD results. In the process of building the format, we also clarify some central notions of design patterns that lacked a common, generally accepted definitions, and thus provide a sound common foundation and terminology for DPD.
The DPDX format, its motivation, underlying concepts, metamodel and XML implementation are currently described in the following two papers:
The above concepts are reflected in the following XML Schema Definition and sample XML file:
The following XSLT-based converter illustrates a possible online visualisation of DPDX files that lets you easily navigate through detected design pattern candidates and view their related source code: