Formal Specification of Design Patterns and Their Instances

A design pattern is a description of a set of proven solutions to a recurring problem within a context. Patterns are typically described using conventional notation that lacks well-defined semantics. Therefore, reasoning about them requires formalization. We propose a Balanced Pattern Specification Language (BPSL) that uses both First Order Logic (FOL) and Temporal Logic of Actions (TLA) as formal basis in order to specify the structural as well as behavioral aspects of patterns. This paper will focus on how BPSL can be used to formally specify instances (specific solutions) of design patterns using the formulas of the original patterns with some substitutions (full and partial).