Springer Nature is making SARS-CoV-2 and COVID-19 research free. View research | View latest news | Sign up for updates

Real-Time Embedded Software Design for Mobile and Ubiquitous Systems

Abstract

Currently available application frameworks that target at the automatic design of real-time embedded software are poor in integrating functional and non-functional requirements for mobile and ubiquitous systems. In this work, we present the internal architecture and design flow of a newly proposed framework called Verifiable Embedded Real-Time Application Framework (VERTAF), which integrates three techniques namely software component-based reuse, formal synthesis, and formal verification. The proposed architecture for VERTAF is component-based which allows plug-and-play for the scheduler and the verifier. The architecture is also easily extensible because reusable hardware and software design components can be added. Application examples developed using VERTAF demonstrate significantly reduced relative design effort, which shows how high-level reuse of software components combined with automatic synthesis and verification increases design productivity.

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

Figure 1
Figure 2
Figure 3
Figure 4
Figure 5
Figure 6
Figure 7
Figure 8
Figure 9
Figure 10
Figure 11

References

  1. 1.

    Alur, R., & Dill, D. (1994). Automata for modeling real-time systems. Theoretical Computer Science, 126(2), 183–236 (April).

  2. 2.

    Amnell, T., Fersman, E., Mokrushin, L., Petterson, P., & Yi, W. (2003). TIMES: a tool for schedulability analysis and code generation of real-time systems. In Proceedings of the 1st international workshop on formal modeling and analysis of timed systems (September).

  3. 3.

    Brinkschulte, U., Bechina, A., Keith, B., Picioroaga, F., & Schneider, E. (2002). A middleware architecture for ubiquitous computing systems with real-time needs. In Proceedings of the IAR workshop. Institute for Automation and Robotic Research, France (November).

  4. 4.

    Clarke, E. M., Grumberg, O., & Peled, D. A. (1999). Model checking. Cambridge: MIT.

  5. 5.

    de Niz, D., & Rajkumar, R. (2003). Time weaver: A software-through-models framework for embedded real-time systems. In Proceedings of the international workshop on languages, compilers, and tools for embedded systems (pp. 133–143) (June).

  6. 6.

    Douglass, B. P. (1999). Doing hard time: Developing real-time systems with UML, objects, frameworks, and patterns. Redwood City: Addison Wesley (November).

  7. 7.

    Estevez-Ayres, I., Garcia-Vails, M., & Basanta-Val, P. (2005). Static composition of service-based real-time applications. In Proceedings of the 3rd IEEE workshop on software technologies for future embedded and ubiquitous systems (pp. 11–15). Silver Spring: IEEE Computer Society (May).

  8. 8.

    Henzinger, T. A., Qadeer, S., & Rajamani, S. K. (2000). Decomposing refinement proofs using assume-guarantee reasoning. In Proceedings of the IEEE/ACM international conference on computer-aided design (ICCAD’00) (pp. 245–252).

  9. 9.

    Hsiung, P. A. (2000). Embedded software verification in hardware-software codesign. Journal of Systems Architecture—the Euromicro Journal, 46(15), 1435–1450 (November).

  10. 10.

    Hsiung, P. A., & Cheng, S. Y. (2003). Automating formal modular verification of asynchronous real-time embedded systems. In Proceedings of the 16th international conference on VLSI design, (VLSI’2003) (pp. 249–254). Silver Spring: IEEE Computer Society (January).

  11. 11.

    Hsiung, P. A., & Lin, C. Y. (2003). Synthesis of real-time embedded software with local and global deadlines. In Proceedings of the 1st ACM/IEEE/IFIP international conference on hardware-software codesign and system synthesis (pp. 114–119). New York: ACM (October).

  12. 12.

    Hsiung, P. A. Lin, C. Y., & Lee, T. Y. (2003). Quasi-dynamic scheduling for the synthesis of real-time embedded software with local and global deadlines. In Proceedings of the 9th international conference on real-time and embedded computing systems and applications (RTCSA’2003) (February).

  13. 13.

    Ishikawa, H., Ogata, Y., Adachi, K., & Nakajima, T. (2003). Requirements for a component framework of future ubiquitous computing. In Proceedings of the IEEE workshop on software technologies for future embedded systems (pp. 9–12). Silver Spring: IEEE Computer Society (May).

  14. 14.

    Kwak, J.-Y., Sul, D.-M., Ahn, S.-H., & Kim, D.-H. (2003). An embedded software architecture for connected multimedia services in ubiquitous network environment. In Proceedings of the IEEE workshop on software technologies for future embedded systems (pp. 61–64). Silver Spring: IEEE Computer Society (May).

  15. 15.

    Liu, C., & Layland, J. (1973). Scheduling algorithms for multiprogramming in a hard-real time environment. Journal of the Association for Computing Machinery, 20, 46–61 (January).

  16. 16.

    Fayad, M., & Schmidt, D. (1997). Object-oriented application frameworks. Communications of the ACM, Special Issue on Object-Oriented Application Frameworks, 40, 32–38 (October).

  17. 17.

    Niemelä, E., & Latvakoski, J. (2004). Survey of requirements and solutions for ubiquitous software. In Proceedings of the 3rd international conference on mobile and ubiquitous multimedia (pp. 71–78). New York: ACM (October).

  18. 18.

    Rumbaugh, J., Booch, G., & Jacobson, I. (1999). The UML reference guide. Don Mills: Addison Wesley Longman.

  19. 19.

    Sakamura, K., & Koshizuka, N. (2002). T-Engine: The open, real-time embedded-systems platform. IEEE Micro, 22(6), 48–57 (December).

  20. 20.

    Samek, M. (2002). Practical statecharts in C/C++ quantum programming for embedded systems. San Francisco: CMP Books.

  21. 21.

    Shen, T. Y. (2003). Assume-guarantee based formal verification of hierarchical software designs. Master’s thesis, Dept. of CSIE, National Chung Cheng University (July).

  22. 22.

    Su, F. S., & Hsiung, P. A. (2002). Extended quasi-static scheduling for formal synthesis and code generation of embedded software. In Proceedings of the 10th IEEE/ACM international symposium on hardware/software codesign (CODES’02) (pp. 211–216). New York: ACM (May).

  23. 23.

    Szyperski, C. (2002). Component software: Beyond object-oriented programming. Reading: Addison-Wesley.

  24. 24.

    Wang, F., & Hsiung, P. A. (2002). Efficient and user-friendly verification. IEEE Transactions on Computers, 51(1), 61–83 (January).

  25. 25.

    Yau, S. S., & Karim, F. (2001). Context-sensitive middleware for real-time software in ubiquitous computing environments. In Proceedings of the 4th international symposium on object-oriented real-time distributed computing (ISORC) (pp. 163–170). Silver Spring: IEEE Computer Society, (May).

  26. 26.

    Zulkernine, M., & Seviora, R. E. (2001). Assume-guarantee supervisor for concurrent systems. In Proceedings of the 15th international parallel and distributed processing symposium (pp. 1552–1560) (April).

Download references

Author information

Correspondence to Pao-Ann Hsiung.

Rights and permissions

Reprints and Permissions

About this article

Cite this article

Hsiung, P., Lin, S. & Lin, C. Real-Time Embedded Software Design for Mobile and Ubiquitous Systems. J Sign Process Syst Sign Image Video Technol 59, 13–32 (2010). https://doi.org/10.1007/s11265-008-0268-5

Download citation

Keywords

  • Application framework
  • Code generation
  • Real-time embedded software
  • Formal synthesis
  • Formal verification
  • Scheduling
  • Software components
  • UML modeling