Abstract
Hope Of Parallel Embedded Software (HOPES) is a design environment for embedded systems supporting all design steps from behavior specification to code synthesis, including static performance estimation, design space exploration, and HW/SW cosimulation. Distinguished from other design environments, it introduces a novel concept of “programming platform” called Common Intermediate Code (CIC), which can be understood as a generic execution model of heterogeneous multi-processor architecture. In the CIC model, each application is specified by a multi-mode Synchronous Data Flow (SDF) graph, called MTM-SDF. Each mode of operation is specified by an SDF graph and mode transition is expressed by an Finite-State Machine (FSM) model. It enables a designer to estimate the performance and resource demand by constructing static schedules of the application with varying number of allocated processing elements at each mode. At the top level, a process network model is used to express concurrent execution of multiple applications. A special process, called control task, is introduced to specify the system-level dynamism through an FSM model inside. With a given CIC model and a set of candidate target architectures, HOPES performs design space exploration to choose the best HW/SW platform, assuming that a hybrid mapping policy is used to map the applications to the processing elements. HOPES synthesizes the target code automatically from the CIC model with the mapping information. The overall design flow is verified by the design of two real-life examples.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Abbreviations
- API:
-
Application Programming Interface
- BDF:
-
Boolean Data Flow
- CIC:
-
Common Intermediate Code
- FSM:
-
Finite-State Machine
- GA:
-
Genetic Algorithm
- GUI:
-
Graphical User Interface
- KPN:
-
Kahn Process Network
- MTM:
-
Mode Transition Machine
- NoC:
-
Network-on-Chip
- OS:
-
Operating System
- PIM:
-
Platform Independent Model
- PSDF:
-
Parameterized Synchronous Data Flow
- QoS:
-
Quality of Service
- SADF:
-
Scenario-Aware Data Flow
- SDF:
-
Synchronous Data Flow
- SMP:
-
Symmetric Multi-Processing
- SysteMoC:
-
SystemC Models of Computation
- WCRT:
-
Worst-Case Response Time
References
Bhattacharya B, Bhattacharyya SS (2001) Parameterized dataflow modeling for DSP systems. IEEE Trans Signal Process 49(10):2408–2421. doi:10.1109/78.950795
Buck JT (1993) Scheduling dynamic dataflow graphs with bounded memory using the token flow model. Technical report, Department of EECS, UC Berkeley, Berkeley. Technical report UCB/ERL 93/69, Ph.D dissertation
Buck JT, Ha S, Lee EA, Messerschmitt DG (1994) Ptolemy: a framework for simulating and prototyping heterogenous systems. Int J Comput Simul 4(2):155–182
Eidson J, Lee EA, Matic Slobodan SSA, Zou J (2012) Distributed real-time software for cyber-physical systems. Proc IEEE 100(1):45-59
Girault A, Lee B, Lee E (1999) Hierarchical finite state machines with multiple concurrency models. IEEE Trans Comput Aided Des Integr Circuits Syst 18(6):742–760
Goossens S, Akesson B, Koedam M, Nejad AB, Nelson A, Goossens K (2013) The CompSOC design flow for virtual execution platforms. In: Proceedings of the 10th FPGAworld conference. ACM, p 7
Ha S, Kim S, Lee C, Yi Y, Kwon S, Joo YP (2008) Peace: a hardware-software codesign environment for multimedia embedded systems. ACM Trans Des Autom Electron Syst 12(3):24:1–24:25. doi:10.1145/1255456.1255461
Harel D, Naamad A (1996) The STATEMATE semantics of statecharts. ACM Trans Softw Eng Methodol (TOSEM) 5(4):293–333
Haubelt C, Falk J, Keinert J, Schlichter T, Streubühr M, Deyhle A, Hadert A, Teich J (2007) A SystemC-based design methodology for digital signal processing systems. EURASIP J Embed Syst 2007(1):1–22. doi:10.1155/2007/47580
Jung H, Lee C, Kang SH, Kim S, Oh H, Ha S (2014) Dynamic behavior specification and dynamic mapping for real-time embedded systems: HOPES approach. ACM Trans Embed Comput Syst (TECS) 13:135:1–135:26
Jung H, Oh H, Ha S (2017) Multiprocessor scheduling of a multi-mode dataflow graph considering mode transition delay. ACM Trans. Des. Autom. Electron. Syst. (TODAES) 22, 2, Article 37
Kangas T, Kukkala P, Orsila H, Salminen E, Hännikäinen M, Hämäläinen TD, Riihimäki J, Kuusilinna K (2006) Uml-based multiprocessor soc design framework. ACM Trans Embed Comput Syst 5(2):281–320. doi:10.1145/1151074.1151077
Kienhuis B, Deprettere E, Vissers K, Wolf PVD (1997) An approach for quantitative analysis of application-specific dataflow architectures. In: Proceedings of the IEEE international conference on application-specific systems, architectures and processors, pp 338–349. doi:10.1109/ASAP.1997.606839
Kim J, Oh H, Choi J, Ha H, Ha S (2013) A novel analytical method for worst case response time estimation of distributed embedded systems. In: Proceedings of the design automation conference (DAC), Austin, pp 1–10
Kwon S, Kim Y, Jeun WC, Ha S, Paek Y (2008) A retargetable parallel programming framework for MPSoC. ACM Trans Des Autom Electron Syst (TODAES) 13:39:1–39:18
Lee C, Kim H, Park H, Kim S, Oh H, Ha S (2010) A task remapping technique for reliable multi-core embedded systems. In: Proceedings of the international conference on hardware/software codesign and system synthesis (CODES+ISSS), Scottsdale, pp 307–316
Lee EA, Messerschmitt DG (1987) Synchronous data flow. Proc IEEE 75(9):1235–1245
Man KF, Tang KS, Kwong S (1996) Genetic algorithms: concepts and applications [in engineering design]. IEEE Trans Ind Electron 43(5):519–534. doi:10.1109/41.538609
Nikolov H, Thompson M, Stefanov T, Pimentel A, Polstra S, Bose R, Zissulescu C, Deprettere E (2008) Daedalus: toward composable multimedia MP-SoC design. In: Proceedings of the design automation conference, pp 574–579
Park Hw, Jung H, Oh H, Ha S (2011) Library support in an actor-based parallel programming platform. IEEE Trans Ind Inf 7:340–353
Schor L, Bacivarov I, Rai D, Yang H, Kang SH, Thiele L (2012) Scenario-based design flow for mapping streaming applications onto on-chip many-core systems. In: Proceedings of the international conference on compilers architecture and synthesis for embedded systems (CASES), pp 71–80
Stuijk S, Geilen M, Theelen BD, Basten T (2011) Scenario-Aware dataflow: modeling, analysis and implementation of dynamic applications. In: Proceedings of the international conference on embedded computer systems: architectures, modeling, and simulation, ICSAMOS’11. IEEE Computer Society, pp 404–411. doi:10.1109/SAMOS.2011.6045491
Theelen BD, Geilen M, Basten T, Voeten J, Gheorghita SV, Stuijk S (2006) A Scenario-aware data flow model for combined long-run average and worst-case performance analysis. In: Proceedings of international conference on formal methods and models for co-design, MEMOCODE’06. IEEE Computer Society, pp 185–194. doi:10.1109/MEMCOD.2006.1695924
Thiele L, Bacivarov I, Haid W, Huang K (2007) Mapping applications to tiled multiprocessor embedded systems. In: International conference on application of concurrency to system design, pp 29–40. doi:10.1109/ACSD.2007.53
Thiele L, Strehl K, Ziegenbein D, Ernst R, Teich J (1999) FunState–an internal design representation for codesign. In: White JK, Sentovich E (eds) ICCAD. IEEE, pp 558–565
Yun D, Kim S, Ha S (2012) A parallel simulation technique for multicore embedded systems and its performance analysis. IEEE Trans Comput Aided Des Integr Circuits Syst (TCAD) 31:121–131
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2017 Springer Science+Business Media Dordrecht
About this entry
Cite this entry
Ha, S., Jung, H. (2017). HOPES: Programming Platform Approach for Embedded Systems Design. In: Ha, S., Teich, J. (eds) Handbook of Hardware/Software Codesign. Springer, Dordrecht. https://doi.org/10.1007/978-94-017-7267-9_1
Download citation
DOI: https://doi.org/10.1007/978-94-017-7267-9_1
Published:
Publisher Name: Springer, Dordrecht
Print ISBN: 978-94-017-7266-2
Online ISBN: 978-94-017-7267-9
eBook Packages: EngineeringReference Module Computer Science and Engineering