A formal description of design patterns using OWL

Design patterns have been used successfully in the last decade to reuse and communicate object-oriented design. However, the documentation of pattern usage is often very poor. This motivates the use of tools which can detect and document design patterns found in software. A couple of approaches have been proposed in recent years. The approach introduced is based on a formal description of design patterns using the Web ontology language OWL. Software artefacts used to define design patterns in a formal and machine processable fashion are represented by uniform resource identifiers (URIs). This yields a description that is open and extensible, and facilitates the sharing of design among software engineers. We discuss the developed software design ontology, and how this approach relates to the meta-modelling architecture of the OMG. In the second part, an effective pattern scanner for the Java language is presented. This scanner is based on the ontology developed in part one and uses reflection and AST analysis to verify constraints. Various applications of this scanner are discussed.

[1]  Jing Dong,et al.  Visualizing design patterns with a UML profile , 2003, IEEE Symposium on Human Centric Computing Languages and Environments, 2003. Proceedings. 2003.

[2]  Dirk Beyer,et al.  CrocoPat 2.1 Introduction and Reference Manual , 2004, ArXiv.

[3]  Dirk Beyer,et al.  Simple and efficient relational querying of software structures , 2003, 10th Working Conference on Reverse Engineering, 2003. WCRE 2003. Proceedings..

[4]  Ralph Johnson,et al.  design patterns elements of reusable object oriented software , 2019 .

[5]  Amnon H. Eden,et al.  LePUS - A Declarative Pattern Specification Language , 2007 .

[6]  Mark Grand Patterns in Java: A Catalog of Reusable Design Patterns Illustrated with UML , 2002 .

[7]  Kent L. Beck Smalltalk best practice patterns , 1996 .

[8]  Paul Strooper Proceedings of the 2005 Australian Software Engineering Conference , 2004 .

[9]  Amnon H Eden A VISUAL FORMALISM FOR OBJECT-ORIENTED ARCHITECTURE , 2002 .

[10]  Lutz Prechelt,et al.  Design recovery by automated search for structural design patterns in object-oriented software , 1996, Proceedings of WCRE '96: 4rd Working Conference on Reverse Engineering.

[11]  Amnon H. Eden,et al.  A Theory of Object-Oriented Design , 2002, Inf. Syst. Frontiers.

[12]  John Grundy,et al.  Design pattern modelling and instantiation using DPML , 2002 .

[13]  Marshall Cline The pros and cons of adopting and applying design patterns in the real world , 1996, CACM.

[14]  James Coplien,et al.  Advanced C++ Programming Styles and Idioms , 1991, Proceedings. Technology of Object-Oriented Languages and Systems, TOOLS 25 (Cat. No.97TB100239).

[15]  David Chek Ling Ngo,et al.  Formal Specification of Design Patterns - A Balanced Approach , 2003, J. Object Technol..

[16]  Jens Dietrich,et al.  A Rule-Based System for eCommerce Applications , 2004, KES.

[17]  John B. Shoven,et al.  I , Edinburgh Medical and Surgical Journal.