Skip to main content

Predictable Space Behaviour in FSM-Hume

  • Conference paper
  • First Online:
Implementation of Functional Languages (IFL 2002)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 2670))

Included in the following conference series:

Abstract

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Subscribe and save

Springer+ Basic
$34.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Similar content being viewed by others

References

  1. K.R. Apt and E.-R. Olderog, Verification of Sequential and Concurrent Programs, 2nd Edition, Springer Verlag, 1997.

    Google Scholar 

  2. J. Armstrong, S.R. Virding, and M.C. Williams, Concurrent Programming in Erlang, Prentice-Hall, 1993.

    Google Scholar 

  3. L. Augustsson, Compiling Lazy Functional Languages, Part II, PhD Thesis, Dept. of Computer Science, Chalmers University of Technology, Göteborg, Sweden, 1987.

    Google Scholar 

  4. M. Barabanov, A Linux-based Real-Time Operating System, M.S. Thesis, Dept. of Comp. Sci., New Mexico Institute of Mining and Technology, June 97.

    Google Scholar 

  5. A. Burns and A. Wellings, Real-Time Systems and Programming Languages (Third Edition), Addison Wesley Longman, 2001, Chapter 17, pp. 653–684.

    Google Scholar 

  6. R. Burstall, “Inductively Defined Functions in Functional Programming Languages”, Dept. of Comp. Sci., Univ. of Edinburgh, ECS-LFCS-87-25, April, 1987.

    Google Scholar 

  7. D.H. Fijma and R.T. Udink, “A Case Study in Functional Real-Time Programming”, Dept. of Computer Science, Univ. of Twente, The Netherlands, Memoranda Informatica 91-62, 1991.

    Google Scholar 

  8. K. Hammond and G.J. Michaelson “An Abstract Machine Implementation for Embedded Systems Applications in Hume”, http://www.hume-lang.org/papers/HAM.ps, January 2003.

  9. K. Hammond and G.J. Michaelson “The Mine Drainage Control System in Hume”, http://www.hume-lang.org/examples/pump, January 2003.

  10. R.J.M. Hughes, L. Pareto, and A. Sabry. “Proving the Correctness of Reactive Systems Using Sized Types”, Proc. POPL’96 — ACM Symp. on Principles of Programming Languages, St. Petersburg Beach, FL, Jan. 1996.

    Google Scholar 

  11. R.J.M. Hughes and L. Pareto, “Recursion and Dynamic Data Structures in Bounded Space: Towards Embedded ML Programming’, Proc. 1999 ACM Intl. Conf. on Functional Programming (ICFP ”99), Paris, France, pp. 70–81, 1999.

    Google Scholar 

  12. J. McDermid, “Engineering Safety-Critical Systems”, I. Wand and R. Milner(eds), Computing Tomorrow: Future Research Directions in Computer Science, Cambridge University Press, 1996, pp. 217–245.

    Google Scholar 

  13. J.C. Peterson, P. Hudak and C. Elliot, “Lambda in Motion: Controlling Robots with Haskell”, First International Workshop. on Practical Aspects of Declarative Languages (PADL’ 99), San Antonio, Texas, January 1999, Springer-Verlag LNCS No. 1551, pp. 91–105.

    Google Scholar 

  14. S.L. Peyton Jones (ed.), L. Augustsson, B. Boutel, F.W. Burton, J.H. Fasel, A.D. Gordon, K. Hammond, R.J.M. Hughes, P. Hudak, T. Johnsson, M.P. Jones, J.C. Peterson, A. Reid, and P.L. Wadler, Report on the Non-Strict Functional Language, Haskell (Haskell98) Yale University, 1999.

    Google Scholar 

  15. S. L. Peyton Jones, “Implementing Lazy Functional Languages on Stock Hardware: the Spineless Tagless G-Machine”, J. Funct. Prog., 2(2): 127–202, 1992.

    Article  MATH  Google Scholar 

  16. A.J. Rebón Portillo, Kevin Hammond, H.-W. Loidl and P. Vasconcelos, “A Sized Time System for a Parallel Functional Language”, Proc. Intl. Workshop on Implementation of Functional Languages (IFL 2002), Madrid, Spain, Sept. 2002.

    Google Scholar 

  17. M. Tofte and J.-P. Talpin, “Region-based Memory Management”, Information and Control, 132(2), 1997, pp. 109–176.

    MATH  MathSciNet  Google Scholar 

  18. D.A. Turner, “Elementary Strong Functional Programming”, Proc. Symp. on Funct. Prog. Langs. in Education — FPLE’ 95, Springer-Verlag LNCS No. 1022, Dec. 1995.

    Google Scholar 

  19. M. Wallace and C. Runciman, “Extending a Functional Programming System for Embedded Applications”, Software: Practice & Experience, 25(1), January 1995.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2003 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Hammond, K., Michaelson, G. (2003). Predictable Space Behaviour in FSM-Hume. In: Peña, R., Arts, T. (eds) Implementation of Functional Languages. IFL 2002. Lecture Notes in Computer Science, vol 2670. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-44854-3_1

Download citation

  • DOI: https://doi.org/10.1007/3-540-44854-3_1

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-40190-2

  • Online ISBN: 978-3-540-44854-9

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics