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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
Notes
- 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
Lee, E.A., Messerschmitt, D.G.: Synchronous data flow. Proc. IEEE 75, 1235–1245 (1987)
Bilsen, G., Engels, N., Lauwereins, R., Peperstraete, J.: Cyclo-static dataflow. IEEE Trans. Signal Process. 44, 397–408 (1996)
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)
Bhattacharya, B., Bhattacharyya, S.: Parameterized dataflow modeling for DSP systems. IEEE Trans. Signal Process. 49, 2408–2421 (2001)
Jung, H., Lee, C., Kang, S., Kim, S., Oh, H., Ha, S.: Dynamic behavior specification and dynamic map** for real-time embedded systems: HOPES approach. ACM Trans. Embed. Comput. Syst. 13, 135:1–135:26 (2014)
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)
Hong, H., Oh, H., Ha, S.: Hierarchical dataflow modeling of iterative applications. In: Proceedings of Design Automation Conference, vol. 39 (2017)
Kahn, G.: The semantics of a simple language for parallel processing. In: Proceedings of the IFIP Congress (1974)
Harel, D., Naamad, A.: The STATEMATE semantics of statecharts. ACM Trans. Softw. Eng. Methodol. 5, 293–333 (1996)
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)
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)
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
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
Nikolov, H., et al.: Daedalus: toward composable multimedia MP-SoC design. In: Proceedings of Design Automation Conference, pp. 574–579 (2008)
Schor, L., Bacivarov, I., Rai, D., Yang, H., Kang, S.-H., Thiele, L.: Scenario-based design flow for map** streaming applications onto on-chip many-core systems. In: Proceedings of CASES, pp. 71–80 (2012)
Buck, J.T., Ha, S., Lee, E.A., Messerschmitt, D.G.: Ptolemy: a framework for simulating and prototy** heterogenous systems. Int. J. Comput. Simul. 4, 155–182 (1994)
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)
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)
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
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2018 Springer International Publishing AG, part of Springer Nature
About this chapter
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)