Monitoring Design Pattern Contracts
Jason O. Hallstrom, Neelam Soundarajan, Benjamin Tyler · 2004
Design patterns allow system designers to reuse well established solutions to commonly occurring problems. These solutions are usually described informally. While such descriptions are certainly useful, to ensure that designers precisely and unambiguously understand the requirements that must be met when applying a given pattern, we also need formal characterizations of these requirements. Further, system designers need tools for determining whether a system implemented using a given pattern satisfies the appropriate requirements. In [18], we described an approach to specifying design patterns using formal contracts. In this paper, we develop a monitoring approach for determining whether the pattern contracts used in developing a system are respected at runtime.