Dirk Riehle's Industry and Research Publications

Category: 2. Building Products

  • End-user programming with application wikis

    End-user programming with application wikis

    Title: End-User Programming with Application Wikis: A Panel with Ludovic Dubost, Stewart Nickolas, and Peter Thoeny Author: Dirk Riehle Abstract: Wikis empower users to collaborate with each other using prose. Users imprint data structures and processes onto wiki pages using social and technical conventions. Application wikis enhance wiki engines with lightweight programming features that aid…

  • 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…