skip to main content
10.1145/1284480.1284565acmconferencesArticle/Chapter ViewAbstractPublication PagessbcciConference Proceedingsconference-collections
Article

Analysis of the use of declarative languages for enhanced embedded system software development

Authors Info & Claims
Published:03 September 2007Publication History

ABSTRACT

With the increased demand for programmability in embedded applications, the pressure for producing high performance software in a timely fashion has grown over the years. For this reason, declarative languages, as they provide more abstraction than traditional languages like Java, could be used to code embedded system applications. In this paper we present comparative results of the use of declarative languages to describe embedded applications. We designed the MP3*, an embedded application containing the IMDCT algorithm (an essential part of an MP3 player) together with an Address Book and Sokoban and Tic-tac-toe games. We coded all applications in Ocaml and Prolog to analyze the resulting abstraction and performance, and then compared them to the Java equivalent codes. For some applications, a comparison with a language that is especially oriented for embedded systems was also provided. The main objective of this study is the analysis of the abstraction level achieved with the shift from the imperative programming paradigm to the declarative paradigm, considering its impact in terms of performance and memory in the embedded systems domain.

References

  1. Nokia. The Road to Three Billion Subscribers: Nokia outlines strategy to reduce total cost of mobile phone ownership for consumers in new growth markets. Press Releases. June 02, 2005.Google ScholarGoogle Scholar
  2. Eurostat. GDP and main components-Current Prices. Retrieved August 19, 2005.Google ScholarGoogle Scholar
  3. VDC-Venture Development Corporation. The 2005 Embedded Software Strategic Market Intelligence Program. VIII: Embedded Systems market Statistics. Natick, MA, USA, 2006.Google ScholarGoogle Scholar
  4. Kan, S. H. Metrics and Models in Software Quality Engineering. Addison Wesley, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. CMP Media. 2006 State of Embedded Market Survey. April 2006.Google ScholarGoogle Scholar
  6. Shandle, J.; Martin, G. Making Embedded Software reusable for SoCs. EEDesing, {S.l.}, March 2002. Available at http://www.eedesign.com.Google ScholarGoogle Scholar
  7. Douglass, B. Real-Time Design Patterns: Robust Scalable Architecture for Real-Time Systems. Boston. Addison Wesley, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Berry, G.; Gonthier, G. The Esterel Synchronous Programming Language: Design, Semantics, Implementation. Science of computer programming, vol. 19, n. 2, 1992. Pp. 87--152. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Rockstrom, A.; Saracco, R. SDL-CCITT Specification and Description Language. IEEE Transactions on Communications, vol. 30, n. 6, June 1982.Google ScholarGoogle ScholarCross RefCross Ref
  10. Edwards, S. A. Languages for Digital Embedded Systems. Kluver Academic Publishers, 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Hudak, P. Conception, evolution, and application of functional programming languages. ACM Computing Surveys, vol. 21, n.3, September 1989. Pp. 359--411. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Fuchs, N. E. Specifications Are (Preferably) Executable. Software Engineering Journal, September 1992. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Sebesta, R. W. Concepts of Programming Languages. Addison Wesley, Boston, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Wallace, M.; Runciman, C. Extending a Functional Programming System for Embedded Applications. Software- Practice and Experience, vol. 25, n. 1, January 1995. Pp. 73--96. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Caspi, P. et al. LUSTRE: A Declarative Language for Programming Synchronous Systems. Symposium on Principles of Programming Languages, 1987. Pp. 178--188. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Armstrong, J. et al. Concurrent programming in Erlang. Prentice-Hall, 1993. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Brooks, C. et al. Heterogeneous Concurrent Modeling and Design in Java (Volume 1: Introduction to Ptolemy II). EECS Department, University of California, Berkeley, January 11, 2007.Google ScholarGoogle Scholar
  18. Okasaki, C. Functional Perl: Red-black trees in a functional setting. J. Functional Programming, vol. 9, n. 4, July 1999. Pp. 471--477. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. Giegerich, R, Kurtz, S. A comparison of imperative and purely functional suffix tree constructions. Science of Computer Programming, vol. 25, 1995. Pp. 187--218. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Stansifer, R. Imperative versus Functional. SIGPLAN Notices, vol. 25, n. 4, November 1989. Pp. 69--72. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Wadler, P. Why no one uses functional languages. ACM Sigplan, 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. Carro M. et al. High-level languages for small devices: a case study. Proceedings of the CASES 2006, Seoul, Korea, 2006. Pp. 271--281. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. Edwards, S. et al. Design of Embedded Systems: Formal Models, Validation, and Synthesis. Proceedings of the IEEE, vol. 85, n. 3, March 1997. Pp. 366--390.Google ScholarGoogle ScholarCross RefCross Ref
  24. Strom, O. et al. On the Utilization of Java Technology in Embedded Systems, Design Automation for Embedded Systems, vol. 8, n. 1, March 2003. Pp. 87--106.Google ScholarGoogle Scholar
  25. Nugroho, R. P. Java Sokoban. Jakarta, Indonesia, 1999. Available at http://javaboutique.internet.com/Sokoban(2006)Google ScholarGoogle Scholar

Index Terms

  1. Analysis of the use of declarative languages for enhanced embedded system software development

                Recommendations

                Comments

                Login options

                Check if you have access through your login credentials or your institution to get full access on this article.

                Sign in
                • Published in

                  cover image ACM Conferences
                  SBCCI '07: Proceedings of the 20th annual conference on Integrated circuits and systems design
                  September 2007
                  382 pages
                  ISBN:9781595938169
                  DOI:10.1145/1284480

                  Copyright © 2007 ACM

                  Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

                  Publisher

                  Association for Computing Machinery

                  New York, NY, United States

                  Publication History

                  • Published: 3 September 2007

                  Permissions

                  Request permissions about this article.

                  Request Permissions

                  Check for updates

                  Qualifiers

                  • Article

                  Acceptance Rates

                  Overall Acceptance Rate133of347submissions,38%

                PDF Format

                View or Download as a PDF file.

                PDF

                eReader

                View online with eReader.

                eReader