A Semantic Representation for Domain-Specific Patterns

Design patterns are a valuable mechanism to capture and disseminate best practice in software design. The oft-cited definition of an Alexandrian pattern, “a solution to a problem in a context”, stimulates the definition of patterns from knowledge and expertise in any domain. Indeed, their application has spread from the object-oriented community, who first adopted them, through different software areas including human-computer interaction, virtual environments, ubiquitous computing, hypermedia and web engineering. This kind of patterns that describe successful solutions to recurring design problems in terms of a specific domain of application are known as domain-specific patterns. The increasing number of available design patterns is making difficult to find the most appropriate one given a specific problem since this task requires mastery on existing design patterns. Hence, there is a need to introduce a formalism to describe them accurately and to allow a rigorous reasoning process to assist users to retrieve those patterns that solve their problems. With this purpose, we propose a semantic representation for domain-specific patterns based on the domain knowledge for which they were written and for which an ontology-based approach is applied. This representation is used as an underlying armature for complementing the informal textual pattern description by means of semantic annotations. The combination of the literary pattern representation with its formal representation counterpart could assist an intelligent search engine that supports users not just for retrieval purposes but also for the discovery useful design solutions improving, therefore, their ability to develop quality software.

[1]  Jan O. Borchers A pattern approach to interaction design , 2001, DIS '00.

[2]  Gustavo Rossi,et al.  Design patterns for object-oriented hypermedia applications , 1996 .

[3]  Thomas R. Gruber,et al.  A translation approach to portable ontology specifications , 1993, Knowl. Acquis..

[4]  Donald D. Cowan,et al.  Towards a unified catalog of hypermedia design patterns , 2000, Proceedings of the 33rd Annual Hawaii International Conference on System Sciences.

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

[6]  Amnon H. Eden,et al.  Precise specification and automatic application of design patterns , 1997, Proceedings 12th IEEE International Conference Automated Software Engineering.

[7]  David L. Hicks In Search of a User Base: Where Are the B's? , 2002, Metainformatics.

[8]  Max Jacobson,et al.  A Pattern Language: Towns, Buildings, Construction , 1981 .

[9]  Franca Garzotto,et al.  "Modeling-by-Patterns" of Web Applications , 1999, ER.

[10]  Jérôme Euzenat,et al.  Eight Questions about Semantic Web Annotations , 2002, IEEE Intell. Syst..

[11]  Jason McC. Smith,et al.  Elemental Design Patterns: A Link Between Architecture and Object Semantics , 2002 .

[12]  Thomas R. Gruber,et al.  A Translation Approach to Portable Ontologies , 1993 .

[13]  Douglas C. Engelbart,et al.  Augmenting human intellect: a conceptual framework , 1962 .

[14]  Markus Schumacher,et al.  Security Engineering with Patterns: Origins, Theoretical Models, and New Applications , 2003 .

[15]  A. Cornils,et al.  Tool Support for Design Patterns based on Reference Attribute Grammars , 2000 .

[16]  Bonnie Lee Appleton Patterns and Software: Essential Concepts and Terminology , 1997 .

[17]  Asunción Gómez-Pérez,et al.  Ontology Specification Languages for the Semantic Web , 2002, IEEE Intell. Syst..

[18]  D. C. Englebart,et al.  Augmenting human intellect: a conceptual framework , 1962 .

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