Skip to main content

Embedded Software Design Methodology Based on Formal Models of Computation

  • Chapter
  • First Online:
Principles of Modeling

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 10760))

  • 1954 Accesses

Abstract

The current practice of embedded software design resorts to test or simulation to verify the correctness of the design, which is very time-consuming and incapable of covering all cases. Existent software engineering techniques are not concerned about real-time performance and resource requirements that embedded systems should satisfy for correct operation. In this work, we propose a new methodology to design dependable software for embedded systems. The key idea of the proposed methodology is to define a universal execution model (UEM) of heterogeneous multiprocessor embedded systems and to design the software based on the UEM that hides the underlying system architecture from the programmer. UEM puts restrictions on how to communicate and synchronize tasks that conventional operating systems deal with. We define the UEM by extending well-known formal models such as Synchronous Dataflow (SDF) and finite state machine (FSM). There are several benefits to use formal models for software design. First, we can detect critical design errors such as deadlock and buffer overflow by static analysis of formal models. Second, we can estimate the resource requirement and real-time performance at compile time. Last, not the least, we can synthesize the target code from the UEM automatically minimizing the manual coding efforts. By preserving the semantics of the UEM, the synthesized code will be correct by construction. The key challenge lies in the expression capability of the proposed UEM. Preliminary experiments with several non-trivial applications prove the viability of the proposed methodology.

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 EPUB and 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

Notes

  1. 1.

    The term universal is not based on any formal proof but on our goal to make the model independent of underlying hardware platforms.

References

  1. Lee, E.A., Messerschmitt, D.G.: Synchronous data flow. Proc. IEEE 75, 1235–1245 (1987)

    Article  Google Scholar 

  2. Bilsen, G., Engels, N., Lauwereins, R., Peperstraete, J.: Cyclo-static dataflow. IEEE Trans. Signal Process. 44, 397–408 (1996)

    Article  Google Scholar 

  3. Stuijk, S., Geilen, M., Theelen, B.D., Basten, T.: Scenario-aware dataflow: modeling, analysis and implementation of dynamic applications. In: Proceedings of International Conference on Embedded Computer Systems: Architecture, Modeling, and Simulation, vol. 72, pp. 404–411 (2011)

    Google Scholar 

  4. Bhattacharya, B., Bhattacharyya, S.: Parameterized dataflow modeling for DSP systems. IEEE Trans. Signal Process. 49, 2408–2421 (2001)

    Article  MathSciNet  Google Scholar 

  5. Jung, H., Lee, C., Kang, S., Kim, S., Oh, H., Ha, S.: Dynamic behavior specification and dynamic mapping for real-time embedded systems: HOPES approach. ACM Trans. Embed. Comput. Syst. 13, 135:1–135:26 (2014)

    Google Scholar 

  6. Park, H., Jung, H., Oh, H., Ha, S.: Library support in an actor-based parallel programming platform. IEEE Trans. Ind. Inform. 7, 340–353 (2011)

    Article  Google Scholar 

  7. Hong, H., Oh, H., Ha, S.: Hierarchical dataflow modeling of iterative applications. In: Proceedings of Design Automation Conference, vol. 39 (2017)

    Google Scholar 

  8. Kahn, G.: The semantics of a simple language for parallel processing. In: Proceedings of the IFIP Congress (1974)

    Google Scholar 

  9. Harel, D., Naamad, A.: The STATEMATE semantics of statecharts. ACM Trans. Softw. Eng. Methodol. 5, 293–333 (1996)

    Article  Google Scholar 

  10. Shin, T., Oh, H., Ha, S.: Minimizing buffer requirements for throughput constrained parallel execution of synchronous dataflow graph. In: Proceedings of Asia and South Pacific Design Automation Conference (2012)

    Google Scholar 

  11. Oh, H., Ha, S.: Memory-optimized software synthesis from dataflow program graphs with large size data samples. EURASIP J. Appl. Signal Process. 2003, 514–529 (2003)

    MATH  Google Scholar 

  12. Ha, S., Jung, H.: HOPES: programming platform approach for embedded systems design. In: Ha, S., Teich, J., et al. (eds.) Handbook of Hardware/Software Codesign, pp. 951–981. Springer, Dordrecht (2017). https://doi.org/10.1007/978-94-017-7267-9_1

    Chapter  Google Scholar 

  13. Pelz, G., Oehler, P., Fourgeau, E., Grimm, C.: Automotive system design and AUTOSAR. In: Boulet, P. (ed.) Advances in Design and Specification Languages for SoCs, pp. 293–305. Springer, Boston (2005). https://doi.org/10.1007/0-387-26151-6_21

    Chapter  Google Scholar 

  14. Nikolov, H., et al.: Daedalus: toward composable multimedia MP-SoC design. In: Proceedings of Design Automation Conference, pp. 574–579 (2008)

    Google Scholar 

  15. Schor, L., Bacivarov, I., Rai, D., Yang, H., Kang, S.-H., Thiele, L.: Scenario-based design flow for mapping streaming applications onto on-chip many-core systems. In: Proceedings of CASES, pp. 71–80 (2012)

    Google Scholar 

  16. Buck, J.T., Ha, S., Lee, E.A., Messerschmitt, D.G.: Ptolemy: a framework for simulating and prototyping heterogenous systems. Int. J. Comput. Simul. 4, 155–182 (1994)

    Google Scholar 

  17. Ha, S., Kim, S., Lee, C., Yi, Y., Kwon, S., Joo, Y.: PeaCE: a hardware-software codesign environment for multimedia embedded systems. ACM Trans. Des. Autom. Electron. Syst. 12, 24:1–24:25 (2007)

    Article  Google Scholar 

  18. Kwon, S., Kim, Y., Jeun, W., Ha, S., Paek, Y.: A retargetable parallel programming framework for MPSoC. ACM Trans. Des. Autom. Electron. Syst. 13, 39:1–39:18 (2008)

    Article  Google Scholar 

Download references

Acknowledgments

This research was supported by the National Research Foundation of Korea (NRF) grant funded by the Korea government (MSIP) (No. NRF-2016R1A2B3012662). The ICT at Seoul National University provided research facilities for this study.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Soonhoi Ha .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2018 Springer International Publishing AG, part of Springer Nature

About this chapter

Check for updates. Verify currency and authenticity via CrossMark

Cite this chapter

Ha, S., Jeong, E. (2018). Embedded Software Design Methodology Based on Formal Models of Computation. In: Lohstroh, M., Derler, P., Sirjani, M. (eds) Principles of Modeling. Lecture Notes in Computer Science(), vol 10760. Springer, Cham. https://doi.org/10.1007/978-3-319-95246-8_18

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-95246-8_18

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-95245-1

  • Online ISBN: 978-3-319-95246-8

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics