Formalising design patterns

  • Authors:
  • K. Lano;J. C. Bicarregui;S. Goldsack

  • Affiliations:
  • Dept. of Computing, Imperial College, London;On Secondment from Information Systems Dept., Rutherford Appleton Laboratory;Dept. of Computing, Imperial College, London

  • Venue:
  • 1FACS'96 Proceedings of the 1st BCS-FACS conference on Northern Formal Methods
  • Year:
  • 1996

Quantified Score

Hi-index 0.00

Visualization

Abstract

This paper views design patterns [5] as a transformation from a "before" system consisting of a set of classes (often a single unstructured class) into an "after" system consisting of a collection of classes organised by the pattern. To prove that these transformations are formal refinements, we adopt a version of the Object Calculus [4] as a semantic framework. We make explicit the conditions under which these transformations are formally correct. We give some additional design pattern transformations which have been termed "annealing" in the VDM++ world, which include the introduction of concurrent execution into an initially sequential system. We show that these design patterns can be classified on the basis of a small set of fundamental transformations which are reflected in the techniques used in the proof of their correctness.