Research Specifications

Home \Towards a formal model of ...
Title
Towards a formal model of patterns and pattern languages
Type of Research Article
Keywords
Formal modeling, Revised and extended GEBNF, Design patterns, Patterns’ inter-relationships, Pattern languages
Abstract
Context: Software patterns are solutions to recurring design problems. Patterns behave socially in the forms of Pattern Languages (PLs) to resolve problems. In a simple statement, a PL is a network of related patterns which provides a step-by-step process to solve a given problem in a specific context. Despite the popularity of applying PLs in practice, lack of formal basis on the patterns' inter-relationships in general, and PLs in particular, makes development of supporting tools difficult. Objective: Based on the algebra of design patterns, we aimed at presenting a new formalism for patterns and PLs. Method: We revised and extended the Graphic extension of EBNF (GEBNF) and applied it to model Unified Modeling Language (UML) class and sequence diagrams which are required to model the popular design patterns. Also, we presented the formal semantics of commonly used patterns' inter-relationships which pave the way for presenting our PL formalism. To show the applicability of our presented formalism on patterns and PLs, we presented the formal model of the Broker PL as a case study. Results: Use of the presented formalism to model patterns and PLs will make them more expressive, readable, and understandable as well. Conclusion: We have proposed a formalism for defining a PL in a more accurate manner. This formalism facilitates formal verification of patterns and PLs, particularly when it is intended to build a tool for such verification.
Researchers Alireza Rouhi (First Researcher)، Bahman Zamani (Second Researcher)