Software Engineering for Smart Data Analytics & Smart Data Analytics for Software Engineering

User Tools

Site Tools

DPDX logo

DPDX - A Common Exchange Format for DPD Tools

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.

Why a common exchange format?

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.

DPDX Specification

The DPDX format, its motivation, underlying concepts, metamodel and XML implementation are currently described in the following two papers:

  • DPDX - A Common Exchange Format for Design Pattern Detection Tools (conference submission, 10 pages, 323K), bibtex
  • A Common Exchange Format for Design Pattern Detection Tools (techreport, 17 pages, 474K), bibtex

The above concepts are reflected in the following XML Schema Definition and sample XML file:

DPDX Resources

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:

Contributors and how to become one

dpdx/start.txt · Last modified: 2018/05/09 01:59 (external edit)

SEWiki, © 2019