Skip to main content

HOPES: Programming Platform Approach for Embedded Systems Design

  • Reference work entry
  • First Online:
Handbook of Hardware/Software Codesign

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.

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 699.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Hardcover Book
USD 949.99
Price excludes VAT (USA)
  • Durable hardcover 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

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

  1. Bhattacharya B, Bhattacharyya SS (2001) Parameterized dataflow modeling for DSP systems. IEEE Trans Signal Process 49(10):2408–2421. doi:10.1109/78.950795

    Article  MathSciNet  MATH  Google Scholar 

  2. 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

    Google Scholar 

  3. 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

    Google Scholar 

  4. Eidson J, Lee EA, Matic Slobodan SSA, Zou J (2012) Distributed real-time software for cyber-physical systems. Proc IEEE 100(1):45-59

    Article  Google Scholar 

  5. 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

    Article  Google Scholar 

  6. 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

    Google Scholar 

  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

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

    Article  Google Scholar 

  9. 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

    Article  Google Scholar 

  10. 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

    Google Scholar 

  11. 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

    Google Scholar 

  12. 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

    Article  Google Scholar 

  13. 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

    Google Scholar 

  14. 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

    Google Scholar 

  15. 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

    Google Scholar 

  16. 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

    Google Scholar 

  17. Lee EA, Messerschmitt DG (1987) Synchronous data flow. Proc IEEE 75(9):1235–1245

    Article  Google Scholar 

  18. 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

    Article  Google Scholar 

  19. 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

    Google Scholar 

  20. 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

    Article  Google Scholar 

  21. 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

    Google Scholar 

  22. 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

  23. 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

  24. 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

    Google Scholar 

  25. 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

    Google Scholar 

  26. 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

    Article  Google Scholar 

Download references

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

© 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

Publish with us

Policies and ethics