Skip to main content

Trading Off Complexity for Expressiveness in Programming Languages for Embedded Devices: Visions and Experiences

  • Conference paper
Advanced Communication and Networking (ACN 2011)

Part of the book series: Communications in Computer and Information Science ((CCIS,volume 199))

Included in the following conference series:

Abstract

When programming resource-scarce embedded smart devices the designer requires both the low-level system programming features of a language such as C and higher level capability typical of a language like Java. The choice of a particular language often implies trade offs between conflicting design goals such as performance, costs, time-to-market, and overheads. The large variety of languages, virtual machines, and translators provides the designer with a dense trade off space, ranging from minimalistic to rich full-fledged approaches, but once a choice is made it is often difficult and tricky for the designer to revise it. In this work we propose a different approach based on the principles of language-oriented programming. A system of light-weighted and modular extensions is proposed as a method to adaptively reshape the target programming language as needed, adding only those application layer features that match the current design goals. By doing so complexity is made transparent, but not hidden: While the programmer can benefit from higher level constructs, the designer and the deployer can deal with modular building blocks each characterized by a certain algorithmic complexity and therefore each accountable for a given share of the overhead. As a result the designer is provided with finer control on the amount of computing resources that are consumed by the run-time executive of the chosen programming language.

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

Access this chapter

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.

References

  1. Coady, Y., et al.: Using aspectc to improve the modularity of path-specific customization in operating system code. In: Proc. of FSE-9, pp. 88–98 (2001)

    Google Scholar 

  2. Cristian, F.: Understanding fault-tolerant distributed systems. Communications of the ACM 34(2), 56–78 (1991)

    Article  Google Scholar 

  3. De Florio, V.: A Fault-Tolerance Linguistic Structure for Distributed Applications. PhD thesis, Dept. of Elec. Eng., Univ. of Leuven, Belgium (October 2000)

    Google Scholar 

  4. De Florio, V.: Cost-effective software reliability through autonomic tuning of system resources. In: Proc. of the Applied Reliability Symposium, Europe (April 2010)

    Google Scholar 

  5. De Florio, V.: Software assumptions failure tolerance: Role, strategies, and visions. In: Casimiro, A., de Lemos, R., Gacek, C. (eds.) Architecting Dependable Systems VII. LNCS, vol. 6420, pp. 249–272. Springer, Heidelberg (2010), doi:10.1007/978-3-642-17245-8_11

    Chapter  Google Scholar 

  6. De Florio, V., Blondia, C.: Reflective and refractive variables: A model for effective and maintainable adaptive-and-dependable software. In: Proc. of SEAA 2007, Lübeck, Germany (August 2007)

    Google Scholar 

  7. De Florio, V., Blondia, C.: A survey of linguistic structures for application-level fault-tolerance. ACM Computing Surveys 2 (April 2008)

    Google Scholar 

  8. De Florio, V., Blondia, C.: Design tool to express failure detection protocols. IET Software 4(2), 119–133 (2010)

    Article  Google Scholar 

  9. De Florio, V., Donatelli, S., Dondossola, G.: Flexible development of dependability services: An experience derived from energy automation systems. In: Proc. of ECBS 2002, Lund, Sweden. IEEE Comp. Soc. Press, Los Alamitos (2002)

    Google Scholar 

  10. De Win, B., Goovaerts, T., Joosen, W., Philippaerts, P., Piessens, F., Younan, Y.: Chapter Security Middleware for Mobile Applications. In: Middleware for Network Eccentric and Mobile Applications, pp. 265–284. Springer, Heidelberg (2009)

    Chapter  Google Scholar 

  11. Deconinck, G., et al.: Stable memory in substation automation: a case study. In: Proc. of FTCS-28, Munich, Germany, pp. 452–457 (June 1998)

    Google Scholar 

  12. Deconinck, G., et al.: Integrating recovery strategies into a primary substation automation system. In: Proc. of DSN 2003 (2003)

    Google Scholar 

  13. Deconinck, G., et al.: A software library, a control backbone and user-specified recovery strategies to enhance the dependability of embedded systems. In: Proc. of Euromicro 1999, Milan, Italy, vol. 2, pp. 98–104 (September 1999)

    Google Scholar 

  14. Deconinck, G., et al.: Industrial embedded HPC applications. Supercomputer 13(3–4), 23–44 (1997)

    Google Scholar 

  15. Dividend, I.: Toyota’s Electromagnetic Interference Troubles: Just the Tip of the Iceberg (February 2010), http://seekingalpha.com/article/187021-toyota-s-electromagnetic-interference-troubles-just-the-tip-of-the-iceberg

  16. Dmitriev, S.: Language oriented programming: The next programming paradigm. OnBoard (November 2004)

    Google Scholar 

  17. Fowler, M.: Language workbenches: The killer-app for domain specific languages (2005), http://www.martinfowler.com/articles/languageWorkbench.html

  18. Kernighan, B.W., Ritchie, D.M.: The C Programming Language, 2nd edn. Prentice-Hall, Englewood Cliffs (1988)

    MATH  Google Scholar 

  19. Kohler, E., Morris, R., Chen, B., Jannotti, J., Kaashoek, M.F.: The click modular router. ACM Transactions on Computer Systems 18(3), 263–297 (2000)

    Article  Google Scholar 

  20. Leeman, M., et al.: Automated dynamic memory data type implementation exploration and optimization. In: Proc. of ISVLSI 2003, Washington, DC (2003)

    Google Scholar 

  21. Lesk, M.E., Schmidt, E.: Lex – a Lexical Analyzer Generator. Technical report, Bell Laboratories, CS Technical Report No. 39 (1975)

    Google Scholar 

  22. Leveson, N.G.: Safeware: Systems Safety and Computers. Addison, London (1995)

    Google Scholar 

  23. Levine, J., et al.: Lex & YACC, 2nd edn. O’ Reilly, Sebastopol (1992)

    Google Scholar 

  24. Lippert, M., Videira Lopes, C.: A study on exception detection and handling using aspect-oriented programming. In: Proc. of ICSE 2000, Limmerick, Ireland (June 2000)

    Google Scholar 

  25. Lohmann, D., Spinczyk, O.: Developing embedded software product lines with aspectc++. In: OOPSLA 2006, New York, NY, pp. 740–742 (2006)

    Google Scholar 

  26. Nagy, I.A., van, R.E., van der, D.P.: An overview of mirjam and weavec. In: Ideals: Evolvability of Software-Intensive High-Tech Systems, pp. 69–86. Embedded Systems Institute, Eindhoven (2007)

    Google Scholar 

  27. Perry, T.S., Geppert, L.: Do portable electronics endanger flight? The evidence mounts. IEEE Spectrum 33(9), 26–33 (1996)

    Article  Google Scholar 

  28. Simonyi, C.: Is programming a form of encryption? (2005), http://blog.intentsoft.com/intentional_software/2005/04/dummy_post_1.html

  29. Sun, H., De Florio, V., Gui, N., Blondia, C.: Adaptation strategies for performance failure avoidance. In: Proc. of SSIRI 2009, Shanghai (July 2009)

    Google Scholar 

  30. Taylor, D.J.: at al. Redundancy in data structures: Improving software fault tolerance. IEEE Trans. on Soft. Eng. 6(6), 585–594 (1980)

    Article  MATH  Google Scholar 

  31. Tekla, P.: Toyota’s Troubles Put EMI Back Into The Spotlight (February 2010), http://spectrum.ieee.org/tech-talk/green-tech/advanced-cars/toyotas-troubles-put-emi-back-into-the-spotlight

  32. Tiobe. TIOBE Programming Community Index for (July 7 2010), http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html

  33. Ward, M.P.: Language-oriented programming. Software—Concepts and Tools 15(4), 147–161 (1994)

    Google Scholar 

  34. Weiss, C.: Consultants Point to Electromagnetic Interference In Toyota Problems, (March 2010), http://motorcrave.com/consultants-point-to-electromagnetic-interference-in-toyota-problems/5927

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2011 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

De Florio, V., Blondia, C. (2011). Trading Off Complexity for Expressiveness in Programming Languages for Embedded Devices: Visions and Experiences. In: Kim, Th., Adeli, H., Robles, R.J., Balitanas, M. (eds) Advanced Communication and Networking. ACN 2011. Communications in Computer and Information Science, vol 199. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-23312-8_20

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-23312-8_20

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-23311-1

  • Online ISBN: 978-3-642-23312-8

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics