Extending a functional programming system for embedded applications
Software—Practice & Experience
Proving the correctness of reactive systems using sized types
POPL '96 Proceedings of the 23rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Engineering safety-critical systems
Computing tomorrow
Region-based memory management
Information and Computation
Verification of sequential and concurrent programs (2nd ed.)
Verification of sequential and concurrent programs (2nd ed.)
Recursion and dynamic data-structures in bounded space: towards embedded ML programming
Proceedings of the fourth ACM SIGPLAN international conference on Functional programming
Real-Time Systems and Programming Languages: ADA 95, Real-Time Java, and Real-Time POSIX
Real-Time Systems and Programming Languages: ADA 95, Real-Time Java, and Real-Time POSIX
ERLANG for Concurrent Programming
ERLANG for Concurrent Programming
Elementary Strong Functional Programming
FPLE '95 Proceedings of the First International Symposium on Functional Programming Languages in Education
Hume: a domain-specific language for real-time embedded systems
Proceedings of the 2nd international conference on Generative programming and component engineering
FSM-Hume: programming resource-limited systems using bounded automata
Proceedings of the 2004 ACM symposium on Applied computing
Towards formally verifiable resource bounds for real-time embedded systems
ACM SIGBED Review - Special issues on workshop on innovative techniques for certification of embedded systems
Proceedings of the 2007 ACM symposium on Applied computing
Low-level programming in Hume: an exploration of the HW-Hume level
IFL'06 Proceedings of the 18th international conference on Implementation and application of functional languages
Worst-case execution times for a purely functional language
IFL'06 Proceedings of the 18th international conference on Implementation and application of functional languages
Hi-index | 0.00 |
The purpose of the Hume language design is to explore the expressibility/decidability spectrum in resource-constrained systems, such as real-time embedded or control systems. It is unusual in being based on a combination of λ-calculus and finite state machine notions, rather than the more usual propositional logic, or flat finite-state-machine models. It provides a number of high level features including polymorphic types, arbitrary but sized user-defined data structures and automatic memory management, whilst seeking to guarantee strong space/time behaviour and maintaining overall determinacy. A key issue is predictable space behaviour. This paper describes a simple model for calculating stack and heap costs in FSM-Hume, a limited subset of full Hume. This cost model is evaluated against an example taken from the research literature: a simple mine drainage control system. Empirical results suggest that our model is a good predictor of stack and heap usage, and that this can lead to good bounded memory utilisation.