University of Leicester
Browse

Lem : Reusable engineering of real-world semantics

Download (283.84 kB)
conference contribution
posted on 2014-12-09, 10:33 authored by Dominic P. Mulligan, Kathryn E. Gray, Peter Sewell, Scott Owens, Tom Ridge
Recent years have seen remarkable successes in rigorous engineering: using mathematically rigorous semantic models (not just idealised calculi) of real-world processors, programming languages, protocols, and security mechanisms, for testing, proof, analysis, and design. Building these models is challenging, requiring experimentation, dialogue with vendors or standards bodies, and validation; their scale adds engineering issues akin to those of programming to the task of writing clear and usable mathematics. But language and tool support for specification is lacking. Proof assistants can be used but bring their own difficulties, and a model produced in one, perhaps requiring many person-years effort and maintained over an extended period, cannot be used by those familiar with another. We introduce Lem, a language for engineering reusable large-scale semantic models. The Lem design takes inspiration both from functional programming languages and from proof assistants, and Lem definitions are translatable into OCaml for testing, Coq, HOL4, and Isabelle/HOL for proof, and LaTeX and HTML for presentation. This requires a delicate balance of expressiveness, careful library design, and implementation of transformations - akin to compilation, but subject to the constraint of producing usable and human-readable code for each target. Lem's effectiveness is demonstrated by its use in practice. © 2014 ACM.

History

Citation

ICFP '14 Proceedings of the 19th ACM SIGPLAN international conference on Functional programming, 2014, pp. 175-188

Author affiliation

/Organisation/COLLEGE OF SCIENCE AND ENGINEERING/Department of Computer Science

Source

ICFP '14, 19th ACM SIGPLAN international conference on Functional programming, 2014

Version

  • AM (Accepted Manuscript)

Published in

ICFP '14 Proceedings of the 19th ACM SIGPLAN international conference on Functional programming

Publisher

Association for Computing Machinery (ACM)

isbn

978-1-4503-2873-9

Copyright date

2014

Available date

2014-12-09

Publisher version

http://dl.acm.org/citation.cfm?doid=2628136.2628143

Language

en

Usage metrics

    University of Leicester Publications

    Categories

    No categories selected

    Keywords

    Exports

    RefWorks
    BibTeX
    Ref. manager
    Endnote
    DataCite
    NLM
    DC