Title: Software development in a costing-by-construction framework

Proposer: Hans-Wolfgang Loidl

Suggested supervisors: Hans-Wolfgang Loidl

Goal: Apply the costing-by-construction framework to implement an embedded systems application in Hume and to match given resource constraints

Description:

The Hume programming language [1] provides a model of high-level, embedded systems programming with predictable resource consumption. It comprises a toolset consisting of an interpreter, an abstract machine compiler with backends for several platforms, and a static analysis for predicting heap, stack and time consumption. These tools currently exist as separate programs to be used from the command line.

The goal of this project is to apply the costing-by-construction framework to implement an embedded systems application in Hume and to match given resource constraints. The application simulates a cooling device, as might be found in a laptop, that reacts to temperature input and drives a fan to keep the working temperature within a pre-defined range. An initial Hume implementation should be developed, using a costing-by-construction approach. Following this approach, the code should be structured in such a way that given resource constraints are met. If it turns out that these constraints cannot be met at all, the underlying algorithmic reason has to be clearly identified. The final report should critically reflect on the software development process, the role of the available tools and the suitability of Hume for implementing this application.

Resources required: Hume tools

Degree of difficulty: Moderate

Background needed: Functional Programming

References:


Last modified: Tue Jan 18 19:54:36 2011