Dirk Riehle's Industry and Research Publications

Category: 2. Building Products

  • Bringing open source best practices into corporations using a software forge

    Bringing open source best practices into corporations using a software forge

    The pre-publication version of this paper has been superseded by the final copy-edited version.

  • Design pattern density and design maturity

    Design pattern density and design maturity

    JUnit is a widely-adopted unit testing framework for Java, developed by Kent Beck and Erich Gamma. In their discussion of JUnit 3.8’s design, the authors state: Notice how TestCase, the central abstraction in the framework, is involved in four patterns. Pictures of mature object designs show this same ‘pattern density’. The star of the design…

  • Object-oriented software design documentation

    Object-oriented software design documentation

    Software researchers need case studies to validate new tools and methods of object-oriented software design. A good thing to do is to standardize on a set of open source frameworks and libraries that are known and available to everyone. Basically, a benchmark set for new tools and methods in object-oriented software design. JUnit and JHotDraw…

  • JUnit 3.8 documented using collaborations [Technical Report]

    JUnit 3.8 documented using collaborations [Technical Report]

    Author: Dirk Riehle Abstract: This paper describes the design of the unit testing framework JUnit v3.8. The documentation technique employed is an enhanced version of collaboration-based design, also known as role modeling. In collaboration-based design, objects are viewed as playing multiple roles in different contexts, and different contexts are viewed as task specific collaborations. The…

  • Towards end-user programming with wikis [WEUSE 2008]

    Towards end-user programming with wikis [WEUSE 2008]

    Abstract: When business software fails to provide the desired functionality, users typically turn to spreadsheets to perform simple but general computational tasks. However, spreadsheets enforce a view of the world that consists mostly of tables and numbers rather than the domain concepts users have in mind. We are using wikis as a platform for empowering…