Specifying software the Magnolia way

Magne Haveraaen

(University of Bergen)

Magnolia is an experimental programming language with a module system built upon the theory of institutions. Institution theory identifies signatures (declarations), concepts (axiomatic specifications), programs (models), and satisfactions (relating programs to concepts) as the units of modularity. Module reuse follows from signature morphisms (transformations of declarations). Magnolia implementations are programs parameterised by signatures (generic programming). An extension of the satisfaction relates implementations to concepts. Data abstraction is achieved by explicit internalisation of data invariants and congruences.

The presentation will cover the basic features, or lack thereof, of Magnolia, and the ensuing implications for software development, software security and reliability.
Thursday 10th December 2015, 14:00
Room 504
Department of Computer Science