Exploiting Purely Functional Programming to Obtain Bounded Resource Behaviour:  The Hume Approach

Kevin Hammond

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Abstract

This chapter describes Hume: a functionally-based language for programming with bounded resource usage, including time and space properties. The purpose of the Hume language design is to explore the expressibility/costability spectrum in resource-constrained systems, such as real-time embedded or control systems. It is unusual in being based on a, combination of lambda-calculus and finite state machine notions, rather than the more usual propositional logic, or flat finite-state-machine models. The use of a strict, purely functional programming notation allows the construction of a strong cost model for expressions, which can then be embedded into a simple cost model for processes.

In this chapter, we introduce Hume, describe the Hume Abstract Machine implementation, and show how a high-level cost model can be constructed that relates costs from the abstract machine to Hume source programs. We illustrate our approach with an example adapted from the literature: a simple vending machine controller.

Original languageEnglish
Title of host publicationCentral European Functional Programming School. First Summer School, CEFP 2005, Budapest, Hungary, July 4-15, 2005, Revised Selected Lectures
EditorsZ Horvath
PublisherSpringer
Pages100-134
ISBN (Print)3-540-46843-9
DOIs
Publication statusPublished - 2006

Publication series

NameLecture Notes in Computer Science
Volume4164
ISSN (Print)0302-9743

Keywords

  • LANGUAGE
  • SYSTEMS

Fingerprint

Dive into the research topics of 'Exploiting Purely Functional Programming to Obtain Bounded Resource Behaviour:  The Hume Approach'. Together they form a unique fingerprint.

Cite this