Design for Proof: An Approach to the Design of Domain-Specific Languages
Stuart O. Anderson, Konstantinos Tourlas · Formal Aspects of Computing · 1998
Abstract. We propose that the domain of a Domain-Specific Language (DSL) can be characterised by: 1. the class of environments in which systems developed in the language are expected to operate; and 2. the class of properties which such systems are expected to possess. The design of DSLs should therefore include the development of a proof system that eases the task of proving the properties in the class identified for the anticipated operating environments. We develop these ideas in the context of industrial computing systems by presenting a semantics and proof system for a language based on IEC 1131-3, the international standard programming language for programmable controllers. Of particular significance in this example is the use of a diagrammatic representation and the development of a proof system for a class of invariance properties that requires only local knowledge of the structure of diagrams.