Write a Blog >>
Thu 22 Jun 2017 16:40 - 17:05 at Auditorium, Vertex Building - Calculi and Semantics Chair(s): Colin Gordon

Puppet is a popular declarative framework for specifying and managing complex system configurations. The Puppet framework includes a domain-specific language with several advanced features inspired by object-oriented programming, including user-defined resource types, `classes’ with a form of inheritance, and dependency management. Like most real-world languages, the language has evolved in an ad hoc fashion, resulting in a design with numerous features, some of which are complex, hard to understand, and difficult to use correctly.

We present an operational semantics for $\mu$Puppet, a representative subset of the Puppet language that covers the distinctive features of Puppet, while excluding features that are either deprecated or work-in-progress. Formalizing the semantics sheds light on difficult parts of the language, identifies opportunities for future improvements, and provides a foundation for future analysis or debugging techniques, such as static typechecking or provenance tracking. Our semantics leads straightforwardly to a reference implementation in Haskell. We also discuss some of Puppet’s idiosyncrasies, particularly its handling of classes and scope, and present an initial corpus of test cases supported by our formal semantics.

Thu 22 Jun

Displayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change

15:50 - 17:30
Calculi and SemanticsECOOP Research Papers at Auditorium, Vertex Building
Chair(s): Colin Gordon Drexel University
15:50
25m
Talk
Modelling homogeneous generative meta-programming
ECOOP Research Papers
Martin Berger , Laurence Tratt King's College London, Christian Urban King's College London
Link to publication Media Attached
16:15
25m
Talk
Mixing Metaphors: Actors as Channels and Channels as Actors
ECOOP Research Papers
Simon Fowler The University of Edinburgh, Sam Lindley University of Edinburgh, UK, Philip Wadler University of Edinburgh, UK
Link to publication Pre-print Media Attached
16:40
25m
Talk
μPuppet: A Declarative Subset of the Puppet Configuration Language
ECOOP Research Papers
Weili Fu University of Edinburgh, Roly Perera University of Edinburgh, UK / University of Glasgow, UK, Paul Anderson University of Edinburgh, James Cheney University of Edinburgh, UK
Link to publication Media Attached
17:05
25m
Talk
Strong Normalization for Dependent Object Types (DOT)
ECOOP Research Papers
Fei Wang , Tiark Rompf Purdue University
Link to publication Media Attached