Type-theoretic design patterns

  • Authors:
  • Ondrej Rypacek;Roland Backhouse;Henrik Nilsson

  • Affiliations:
  • School of Computer Science and Information Technology;School of Computer Science and Information Technology;School of Computer Science and Information Technology

  • Venue:
  • Proceedings of the 2006 ACM SIGPLAN workshop on Generic programming
  • Year:
  • 2006

Quantified Score

Hi-index 0.00

Visualization

Abstract

The development of design patterns in object-oriented programming aims at capturing good software design in a reusable generic form. However, design patterns are not expressible in conventional object-oriented programming languages. To address this shortcoming, we need to model and understand design patterns precisely. We achieve this by identifying operators characterising the most fundamental design patterns in a way that enables the construction of object-oriented programs with provable structural and behavioural properties. We use dependent-type theory to define a simplified, functional model of object-oriented programming. Design patterns are modelled in this setting as operators on object signatures and implementations. We present examples of several basic design operators and design patterns modelled in this setting and show how properties of their composition can be proven.