Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
article

Synthesis of time-constrained multitasking embedded software

Published: 01 October 2006 Publication History

Abstract

In modern embedded systems, software development plays a vital role. Many key functions are being migrated to software, aiming at a shorter time to market and easier upgrades. Multitasking is increasingly common in embedded software, and many of these tasks incorporate real-time constraints. Although multitasking simplifies coding, it demands an operating system and imposes significant overhead on the system. The use of serializing compilers, such as the Phantom compiler, allows the synthesis of a monolithic code from a multitasking C application, eliminating the need for an operating system. In this article, we introduce the synthesis of multitasking applications that execute in a timely manner. We incorporate the notion of timing constraints into the Phantom compiler, and show that our approach is effective in meeting such constraints, allowing fine-grained concurrency among the tasks. As an additional case study, we present the implementation of a software-based modem and show that real-time applications such as the modem have guaranteed performance in the serialized code generated by the Phantom compiler.

References

[1]
Aycock, J. 2003. A brief history of just-in-time. ACM Comput. Surv. 35, 2 (June), 97--113.
[2]
Balarin, F., Chiodo, M., Giusto, P., Hsieh, H., Jurecska, A., Lavagno, L., Sangiovanni-Vincentelli, A., Sentovich, E., and Suzuki, K. 1999. Synthesis of software programs for embedded control applications. IEEE Trans. Comput. Aid. Des. Integrat. Circ. Sys. 18, 6 (June), 834--849.
[3]
Berry, G. and Gonthier, G. 1992. The Esterel synchronous programming language: Design, semantics, implementation. Sci. Comput. Programm. 19, 4, 87--152.
[4]
Besana, M. and Borgatti, M. 2003. Application mapping to a hardware platform through automated code generation targeting a RTOS: A design case study. In Proceedings of Design, Automation & Test in Europe (DATE).
[5]
BusyBox. 2005. Go online to http://www.busybox.net.
[6]
Cortadella, J., Kondratyev, A., Lavagno, L., Passerone, C., and Watanabe, Y. 2002. Quasi-static scheduling of independent tasks for reactive systems. In Proceedings of the 23rd International Conference on Application and Theory of Petri Nets (Adelaid, Australia, June 24--28). Lecture Notes in Computer Science, vol. 2360. Springer, Berlin, Germany.
[7]
Cortadella, J., Kondratyev, A., Massot, M., Moral, S., Passerone, C., Watanabe, Y., and Sangiovanni-Vincentelli, A. 2000. Task generation and compile-time scheduling for mixed data-control embedded software. In Proceedings of Design Automation Conference (DAC).
[8]
Cortés, L. A., Eles, P., and Peng, Z. 2004. Quasi-static scheduling for real-time systems with hard and soft tasks. In Proceedings of DATE. 1176--1181.
[9]
Cortés, L. A., Eles, P., and Peng, Z. 2005. Quasi-static scheduling for multiprocessor real-time systems with hard and soft tasks. In Proceedings of the International Conference on Real-Time and Embedded Computing Systems and Applications. 422--428.
[10]
Dean, A. 2004. Efficient real-time fine-grained concurrency on low-cost microcontrollers. IEEE Micro 24, 4 (July-Aug.), 10--22.
[11]
Edwards, S. 1999. Compiling esterel into sequential code. In Proceedings of CODES.
[12]
Edwards, S. 2002. An esterel compiler for large control-dominated systems. IEEE Trans. Comput.-Aid. Des. Integrat. Circ. Syst. 21, 2 (Feb.), 169--183.
[13]
Edwards, S. 2003. Tutorial: Compiling concurrent languages for sequential processors. ACM Trans. Des. Automat. Electron. Syst. 8, 2 (Apr.), 141--187.
[14]
Ermedahl, A., Stappert, F., and Engblom, J. 2005. Clustered worst-case execution-time calculation. IEEE Trans. Comput. 54, 9 (Sep.), 1104--1122.
[15]
Fisher, J., Faraboschi, P., and Young, C. 2002. Embedded Computing: A VLIW Approach to Architecture, Compilers, and Tools. Morgan Kauffman, San Francisco, CA.
[16]
Gauthier, L., Yoo, S., and Jerraya, A. 2001. Automatic generation and targeting of application-specific operating systems and embedded systems software. IEEE Trans. Comput.-Aid. Des. Integrat. Circ. Syst. 20, 11 (Nov.), 1293--1301.
[17]
Gerstlauer, A., Yu, H., and Gajski, D. 2003. RTOS modeling for system level design. In Proceedings of Design Automation & Test in Europe (DATE).
[18]
Goel, A., Abeni, L., Krasic, C., Snow, J., and Walpole, J. 2002. Supporting time-sensitive applications on a commodity OS. In Proceedings of the USENIX Symposium on Operating Systems Design and Implementation.
[19]
Gosling, J., Joy, B., and Steele, G. 1996. The Java Language Specification. Addison-Wesley, Reading, MA.
[20]
Herrera, F., Posadas, H., Sánchez, P., and Villar, E. 2003. Systematic embedded software generation from SystemC. In Proceedings of Design, Automation & Test in Europe (DATE).
[21]
Hsiung, P.-A., Lee, T.-Y., and Su, F.-S. 2002. Formal synthesis and code generation of real-time embedded software using time-extended quasi-static scheduling. In Proceedings of the Asia-Pacific Software Engineering Conference.
[22]
Intel Corp. 1997. Using the RDTSC instruction for performance monitoring. Intel Application Notes. Intel, Santa Clara, CA.
[23]
Karkowski, I. and Corporaal, H. 1998. Exploiting fine- and coarse-grain parallelism in embedded programs. In Proceedings of the International Conference on Parallel Architectures and Compilation Techniques.
[24]
Kirner, R. and Puschner, P. 2005. Classification of WCET analysis techniques. In Proceedings of the International Symposium on Object-Oriented Real-Time Distributed Computing (ISORC).
[25]
Labrosse, J. 2002. MicroC/OS-II: The Real Time Kernel. CMP Books, San Francisco, CA.
[26]
Lin, B. 1998. Efficient compilation of process-based concurrent programs without run-time scheduling. In Proceedings of DATE.
[27]
Measurement Computing, Inc. 2005. PCI-DAS4020/12 Specifications, Rev 1.2. Available online at http://www.mccdaq.com.
[28]
Microsoft Corporation. 2003. The C# 2.0 Specification. Available online at http://msdn.microsoft.com/vcsharp.
[29]
Moigne, R. L., Pasquier, O., and Calvez, J.-P. 2004. A generic RTOS model for real-time systems simulation with SystemC. In Proceedings of Design, Automation & Test in Europe (DATE).
[30]
Moreira, J., Schouten, D., and Polychronopoulos, C. 1995. The performance impact of granularity control and functional parallelism. In Proceedings of the Workshop on Languages and Compilers for Parallel Computing.
[31]
Nacul, A. and Givargis, T. 2004. Code partitioning for synthesis of embedded applications with Phantom. In Proceedings of ICCAD. 190--196.
[32]
Nacul, A. and Givargis, T. 2005a. Lightweight multitasking support for embedded systems using the Phantom serializing compiler. In Proceedings of DATE. 742--747.
[33]
Nacul, A. and Givargis, T. 2005b. Phantom compiler 0.8. Go online to http://www.ics.uci.edu/~nacul/phantom.
[34]
RedHat Inc. 2005. Embedded configurable operating system (ecos). Go online to sources. redhat.com/ecos.
[35]
Reisig, W. 1992. A Primer in Petri Net Design. Springer-Verlag, Berlin, Germany.
[36]
Schouten, D. 1995. Efficient scheduling of parallel tasks in a multiprogramming environment. Ph.D. dissertation. University of Illinois at Urbana-Champaign.
[37]
The Open SystemC Initiative. 2005. Go online to www.systemc.org.
[38]
Theiling, H., Ferdinand, C., and Wilhelm, R. 2000. Fast and precise WCET prediction by separated cache and path analyses. Int. J. Time-Crit. Comput. Syst. 18, 2 (May), 157--179.
[39]
Vercauteren, S., Lin, B., and Man, H. D. 1996. A strategy for real-time kernel support in application-specific HW/SW embedded architectures. In Proceedings of the Design Automation Conference (DAC).
[40]
Verdiere, V., Cros, S., Fabre, C., Guider, R., and Yovine, S. 2002. Speedup prediction for selective compilation of embedded Java programs. In Proceedings of EMSOFT.

Cited By

View all
  • (2010)Model-driven software synthesis for hard real-time applications with energy constraintsDesign Automation for Embedded Systems10.1007/s10617-011-9069-314:4(327-366)Online publication date: 1-Dec-2010
  • (2008)Software Synthesis for Hard Real-Time Embedded Systems with Energy ConstraintsProceedings of the 2008 20th International Symposium on Computer Architecture and High Performance Computing10.1109/SBAC-PAD.2008.14(115-122)Online publication date: 29-Oct-2008
  • (2007)The Java legacy interfaceProceedings of the 5th international workshop on Java technologies for real-time and embedded systems10.1145/1288940.1288968(187-195)Online publication date: 26-Sep-2007

Index Terms

  1. Synthesis of time-constrained multitasking embedded software

      Recommendations

      Comments

      Information & Contributors

      Information

      Published In

      cover image ACM Transactions on Design Automation of Electronic Systems
      ACM Transactions on Design Automation of Electronic Systems  Volume 11, Issue 4
      October 2006
      177 pages
      ISSN:1084-4309
      EISSN:1557-7309
      DOI:10.1145/1179461
      Issue’s Table of Contents

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Journal Family

      Publication History

      Published: 01 October 2006
      Published in TODAES Volume 11, Issue 4

      Permissions

      Request permissions for this article.

      Check for updates

      Author Tags

      1. Code serialization
      2. multitasking
      3. real-time embedded software
      4. software synthesis

      Qualifiers

      • Article

      Contributors

      Other Metrics

      Bibliometrics & Citations

      Bibliometrics

      Article Metrics

      • Downloads (Last 12 months)3
      • Downloads (Last 6 weeks)1
      Reflects downloads up to 28 Dec 2024

      Other Metrics

      Citations

      Cited By

      View all
      • (2010)Model-driven software synthesis for hard real-time applications with energy constraintsDesign Automation for Embedded Systems10.1007/s10617-011-9069-314:4(327-366)Online publication date: 1-Dec-2010
      • (2008)Software Synthesis for Hard Real-Time Embedded Systems with Energy ConstraintsProceedings of the 2008 20th International Symposium on Computer Architecture and High Performance Computing10.1109/SBAC-PAD.2008.14(115-122)Online publication date: 29-Oct-2008
      • (2007)The Java legacy interfaceProceedings of the 5th international workshop on Java technologies for real-time and embedded systems10.1145/1288940.1288968(187-195)Online publication date: 26-Sep-2007

      View Options

      Login options

      Full Access

      View options

      PDF

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader

      Media

      Figures

      Other

      Tables

      Share

      Share

      Share this Publication link

      Share on social media