Modeling Design Patterns for Semi-Automatic Reuse in System Design

Design patterns provide reusable solutions for recurring design problems. They constitute an important tool for improving software quality. However, correct usage of design patterns depends to a large extent on the designer. Design patterns often include models that describe the suggested solutions, while other aspects of the patterns are neglected or described informally only in text. Furthermore, design pattern solutions are usually described in an object-oriented fashion that is too close to the implementation, masking the essence of and motivation behind a particular design pattern. We suggest an approach to modeling the different aspects of design patterns and semi-automatically utilizing these models to improve software design. Evaluating our approach on commonly used design patterns and a case study of an automatic application for composing, taking, checking, and grading analysis and design exams, we found that the suggested approach successfully locates the main design problems modeled by the selected design patterns.

[1]  Barbara Dinter,et al.  Situational Method Engineering to Support Process-Oriented Information Logistics: Identification of Development Situations , 2012, J. Database Manag..

[2]  Walter Zimmer,et al.  Relationships between design patterns , 1995 .

[3]  Michael Philippsen,et al.  Two Controlled Experiments Assessing the Usefulness of Design Pattern Documentation in Program Maintenance , 2002, IEEE Trans. Software Eng..

[4]  Pnina Soffer,et al.  Structural Equivalence in Model-Based Reuse : Overcoming Differences in Abstraction Level , 2003 .

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

[6]  Shirley Ann Becker,et al.  The Dissemination of Good Practices in Database Development Work , 1998, J. Database Manag..

[7]  Eva Blomqvist Fully Automatic Construction of Enterprise Ontologies Using Design Patterns: Initial Method and First Experiences , 2005, OTM Conferences.

[8]  Daniel Pak-Kong Lun,et al.  Precise modeling of design patterns in UML , 2004, Proceedings. 26th International Conference on Software Engineering.

[9]  Hyoung-Joo Kim,et al.  Design and Implementation of a Three-Step Intensional Query Processing Scheme , 1991 .

[10]  Yi Zhao,et al.  Antecedents of the Closeness of Human-Avatar Relationships in a Virtual World , 2010, J. Database Manag..

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

[12]  Kang Zhang,et al.  Visualizing Design Patterns in Their Applications and Compositions , 2007, IEEE Transactions on Software Engineering.

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

[14]  Michael Hahsler A Quantitative Study of the Application of Design Patterns in Java , 2003 .

[15]  Hany H. Ammar,et al.  Pattern-Oriented Analysis and Design: Composing Patterns to Design Software Systems , 2003 .

[16]  Frank Buschmann,et al.  A system of patterns , 1995 .

[17]  Zhang Kang,et al.  Visualizing Design Patterns in Their Applications and Compositions , 2007 .

[18]  Zongmin Ma,et al.  Advanced Database Query Systems: Techniques, Applications and Technologies , 2011 .

[19]  Alok Gupta,et al.  Replicating Online Yankee Auctions to Analyze Auctioneers' and Bidders' Strategies , 2003, Inf. Syst. Res..

[20]  Pnina Soffer Refinement Equivalence in Model-Based Reuse: Overcoming Differences in Abstraction Level , 2005, J. Database Manag..

[21]  Jean-Marc Jézéquel,et al.  Precise Modeling of Design Patterns , 2000, UML.

[22]  Dinesh Batra,et al.  Conceptual Data Modeling Patterns: Representation and Validation , 2005, J. Database Manag..

[23]  Sandeep Purao,et al.  Improving Analysis Pattern Reuse in Conceptual Design: Augmenting Automated Processes with Supervised Learning , 2003, Inf. Syst. Res..

[24]  John S. Erickson Database Technologies: Concepts, Methodologies, Tools, and Applications (4 Volumes) , 2009, Database Technologies: Concepts, Methodologies, Tools, and Applications.

[25]  Stefan Koch,et al.  ERP System Acquisition: A Process Model and Results from an Austrian Survey , 2003 .

[26]  Paulo S. C. Alencar,et al.  Composing pattern-based components and verifying correctness , 2007, J. Syst. Softw..

[27]  Robert B. France,et al.  A UML-based language for specifying domain-specific patterns , 2004, J. Vis. Lang. Comput..

[28]  F TichyWalter,et al.  Two Controlled Experiments Assessing the Usefulness of Design Pattern Documentation in Program Maintenance , 2002 .

[29]  Anneke Kleppe,et al.  The object constraint language: precise modeling with UML , 1998 .

[30]  Shahrul Azman Mohd. Noah,et al.  The Difficulties of Using Design Patterns among Novices: An Exploratory Study , 2007, 2007 International Conference on Computational Science and its Applications (ICCSA 2007).

[31]  Peter Wendorff Assessment of Design Patterns during Software Reengineering: Lessons Learned from a Large Commercial Project , 2001, CSMR.

[32]  Stuart Kent,et al.  Precise Visual Specification of Design Patterns , 1998, ECOOP.

[33]  Iris Reinhartz-Berger,et al.  Enhancing UML Models: A Domain Analysis Approach , 2008, J. Database Manag..

[34]  Robert B. France,et al.  A UML-based pattern specification technique , 2004, IEEE Transactions on Software Engineering.

[35]  Dov Dori,et al.  Domain Modeling with Object-Process Methodology , 2006, ICEIS.

[36]  L J D'Errico Patterns from practice. , 1984, Journal of the American Dental Association.

[37]  B. F. Castro Buschmann, Frank; Meunier, Regine; Rohnert, Hans; Sommerlad, Peter; Stal, Michael. Pattern-oriented software architecture: a system of patterns, John Wiley & Sons Ltd, 1996 , 1997 .

[38]  Douglas C. Schmidt,et al.  Experience Using Design Patterns to Develop Reuseable Object-Oriented Communication Software , 1998 .

[39]  Dov Dori,et al.  Object-process methodology - a holistic systems paradigm , 2013 .

[40]  Dov Dori,et al.  A Reflective Meta-Model of Object-Process Methodology: The System Modeling Building Blocks , 2005 .

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

[42]  Simon Pickin,et al.  Describing AI Analysis Patterns with UML , 2000, UML.

[43]  Michael Hahsler,et al.  A Quantitative Study of the Adoption of Design Patterns by Open Source Software Developers , 2005 .

[44]  Douglas C. Schmidt,et al.  Using design patterns to develop reusable object-oriented communication software , 1995, CACM.

[45]  B. J. Ferro Castro,et al.  Pattern-Oriented Software Architecture: A System of Patterns , 2009 .

[46]  Tadeusz Pankowski Pattern-Based Schema Mapping and Query Answering in Peer-to-Peer XML Data Integration System , 2011 .

[47]  James Noble,et al.  Classifying relationships between object-oriented design patterns , 1998, Proceedings 1998 Australian Software Engineering Conference (Cat. No.98EX233).