Hume: A Domain-Specific Language for Real-Time Embedded Systems
Conference paper
Abstract
This paper describes Hume: a novel domain-specific language whose purpose is to explore the expressibility/costability spectrum in resource-constrained systems, such as real-time embedded or control systems. Hume provides a number of high level features including higher-order functions, polymorphic types, arbitrary but sized user-defined data structures, asynchronous processes, lightweight exception handling, automatic memory management and domain-specific metaprogramming features, whilst seeking to guarantee strong space/time behaviour and maintaining overall determinacy.
Keywords
Abstract Machine Exception Handler Functional Language Java Virtual Machine Hume Design
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
Preview
Unable to display preview. Download preview PDF.
References
- 1.Amey, P.: Correctness by Construction: Better can also be Cheaper. CrossTalk: the Journal of Defense Software Engineering, 24–28 (March 2002)Google Scholar
- 2.Apt, K.R., Olderog, E.-R.: Verification of Sequential and Concurrent Programs, 2nd edn. Springer, Heidelberg (1997)zbMATHGoogle Scholar
- 3.Armstrong, J., Virding, S.R., Williams, M.C.: Concurrent Programming in Erlang. Prentice-Hall, Englewood Cliffs (1993)zbMATHGoogle Scholar
- 4.Barabanov, M.: A Linux-based Real-Time Operating System, M.S. Thesis, Dept. of Comp. Sci., New Mexico Institute of Mining and Technology (June 1997)Google Scholar
- 5.Barnes, J.: High Integrity Ada: the Spark Approach. Addison-Wesley, Reading (1997)zbMATHGoogle Scholar
- 6.Bollela, G., et al.: The Real-Time Specification for Java. Addison-Wesley, Reading (2000)Google Scholar
- 7.Brosgol, B., Dobbing, B.: Real-Time Convergence of Ada and Java. In: Proc. ACM SIGAda Annual Intl. Conf., Bloomington MN, September-October 2001, pp. 11–26 (2001)Google Scholar
- 8.Burns, A., Wellings, A.: Real-Time Systems and Programming Languages, 3rd edn., vol. Ch. 17, pp. 653–684. Addison Wesley Longman, Amsterdam (2001)Google Scholar
- 9.Claessen, K., Sheeran, M.: A Tutorial on Lava: a Hardware Description and Verification System., Tech. Rept., Chalmers Univ. of Tech., Sweden (August 2000)Google Scholar
- 10.Burstall, R.: Inductively Defined Functions in Functional Programming Languages, Dept. of Comp. Sci., Univ. of Edinburgh, ECS-LFCS-87-25 (April 1987)Google Scholar
- 11.Hammond, K.: Hume: a Bounded Time Concurrent Language. In: Proc. IEEE Conf. on Electronics and Control Systems (ICECS ’2K), Kaslik, Lebanon, December 2000, pp. 407–411 (2000)Google Scholar
- 12.Hammond, K.: The Dynamic Properties of Hume: a Functionally-Based Concurrent Language with Bounded Time and Space Behaviour. In: Mohnen, M., Koopman, P. (eds.) IFL 2000. LNCS, vol. 2011, pp. 122–139. Springer, Heidelberg (2001)Google Scholar
- 13.Hammond, K., Michaelson, G.J.: The Mine Drainage Control System in Hume (January 2003), http://www.hume-lang.org/examples/pump
- 14.Hammond, K., Michaelson, G.J.: Predictable Space Behaviour in FSM-Hume. In: Peña, R., Arts, T. (eds.) IFL 2002. LNCS, vol. 2670. Springer, Heidelberg (2003)CrossRefGoogle Scholar
- 15.Hawkins, J., Abdallah, A.: An Overview of Systematic Development of Parallel Systems for Reconfigurable Hardware. In: Monien, B., Feldmann, R.L. (eds.) Euro-Par 2002. LNCS, vol. 2400, pp. 615–619. Springer, Heidelberg (2002)CrossRefGoogle Scholar
- 16.Hofmann, M.: A Type System for Bounded Space and Functional In-Place Update. In: Smolka, G. (ed.) ESOP 2000. LNCS, vol. 1782, p. 165. Springer, Heidelberg (2000)CrossRefGoogle Scholar
- 17.Hughes, R.J.M., Pareto, L., Sabry, A.: Proving the Correctness of Reactive Systems Using Sized Types. In: Proc. POPL 1996 — ACM Symp. on Principles of Programming Languages, St. Petersburg Beach, FL (January 1996)Google Scholar
- 18.Hughes, R.J.M., Pareto, L.: Recursion and Dynamic Data Structures in Bounded Space: Towards Embedded ML Programming. In: Proc. 1999 ACM Intl. Conf. on Functional Programming (ICFP 1999), Paris, France, pp. 70–81 (1999)Google Scholar
- 19.Lindholm, T., Yellin, F.: The Java Virtual Machine Specification, 2nd edn. Addison-Wesley, Reading (April 1999)Google Scholar
- 20.McDermid, J.: Engineering Safety-Critical Systems. In: Wand, I., Milner, R. (eds.) Computing Tomorrow: Future Research Directions in Computer Science, pp. 217–245. Cambridge University Press, Cambridge (1996)CrossRefGoogle Scholar
- 21.Matthews, J.L., Launchbury, J., Cook, B.: Microprocessor Specification in Hawk. In: Proc. Intl. Conf. on Computer Science, Chicago (1998)Google Scholar
- 22.Peyton Jones, S.L. (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
- 23.Rebón Portillo, A.J., Hammond, K., Loidl, H.-W., Vasconcelos, P.: Automatic Size and Time Inference. In: Peña, R., Arts, T. (eds.) IFL 2002. LNCS, vol. 2670, Springer, Heidelberg (2003) (to appear)CrossRefGoogle Scholar
- 24.Sayeed, T., Shaylor, N., Taivalsaari, A.: Connected, Limited Device Configuration (CLDC) for the J2ME Platform and the K Virtual Machine (KVM). In: Proc. JavaOne – Sun’s Worldwide 2000 Java Developers Conf., San Francisco (June 2000)Google Scholar
- 25.Shaylor, N.: A Just-In-Time Compiler for Memory Constrained Low-Power Devices. In: Proc. 2nd Usenix Symposium on Java Virtual Machine Research and Technlog (JVM 2002), San Francisco (August 2002)Google Scholar
- 26.Tofte, M., Talpin, J.-P.: Region-based Memory Management. Information and Control 132(2), 109–176 (1997)zbMATHMathSciNetGoogle Scholar
- 27.Turner, D.A.: Elementary Strong Functional Programming. In: Hartel, P.H., Plasmeijer, R. (eds.) FPLE 1995. LNCS, vol. 1022. Springer, Heidelberg (1995)Google Scholar
- 28.Unnikrishnan, L., Stoller, S.D., Liu, Y.A.: Automatic Accurate Stack Sapce and Heap-Space Analysis for High-Level Languages., Technical Report TR-538, Dept. of Comp. Sci., Indiana University (2000)Google Scholar
- 29.Wallace, M., Runciman, C.: Extending a Functional Programming System for Embedded Applications. Software: Practice & Experience 25(1) (January 1995)Google Scholar
- 30.Wan, Z., Taha, W., Hudak, P.: Real-Time FRP. In: Proc. Intl Conf. on Funct. Prog. — ICFP 2001, Firenze, Italy (2001)Google Scholar
Copyright information
© Springer-Verlag Berlin Heidelberg 2003