Design patterns are usually described in terms of instances. Templates describe sentences of some language with a particular form, generate sentences upon instantiation, and can be used to describe those commonly occurring structures that make a pattern. This paper presents FTL, a language to express templates, and an approach to proof with templates. This enables reuse at the level of formal modelling and verification: patterns of models are captured once and their structure is explored for proof, so that patterns instances can be generated mechanically and proved results related with the pattern can be reused in any context. The paper uses templates to capture the Z promotion pattern and metaproof to prove properties of Z promotion. The proved properties are applicable directly to Z promotions built by template instantiation.
@inproceedings(SS-FM06, author = "Nuno Amalio and Susan Stepney and Fiona Polack", title = "A Formal Template Language enabling Metaproof", pages = "252--267", crossref = "FM06" ) @proceedings(FM06, title = "Proc. FM-06, McMaster University, Canada, August 2006", booktitle = "Proc. FM-06, McMaster University, Canada, August 2006", series = "LNCS", volume = 4085, publisher = "Springer", year = 2006 )