Correctness of Object Oriented Models by Extended Type Inference
Modelling and analysing data dependencies and consistency between classes and objects is a complex task. We show that dependently typed programming languages can handle this in a particularly simple, convenient and highly automated way. Dependent datatypes are used to implement (meta)models for classes and objects directly and concisely. Data dependencies and similar system constraints are specified within the language’s expressive type system. Verification and propagation of these constraints is handled by type inference, which can be enhanced by customised decision procedures or external solvers if needed. The approach thus supports the development of software models that are correct by construction.
KeywordsModel Transformation Class Diagram Class Graph Type Inference Object Graph
Unable to display preview. Download preview PDF.
- 1.Bertot, Y., Castéran, P.: Interactive Theorem Proving and Program Development. Texts in Theoretical Computer Science. Springer (2004)Google Scholar
- 3.Brucker, A.D., Wolff, B.: HOL-OCL: Experiences, Consequences and Design Choices. In: Jézéquel, J.-M., Hussmann, H., Cook, S. (eds.) UML 2002. LNCS, vol. 2460, pp. 196–211. Springer, Heidelberg (2002)Google Scholar
- 6.Kahl, W.: Dependently-typed formalisation of typed term graphs. In: Echahed, R. (ed.) TERMGRAPH 2011. EPTCS, pp. 38–53 (2011)Google Scholar
- 7.Knapp, A., Merz, S.: Model checking and code generation for UML state machines and collaborations. Tech. Rep. 2002-11, Institut für Informatik, Universität Augsburg (2002); in Proc. FM-TOOLS 2002Google Scholar