Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/1086228.1086277acmconferencesArticle/Chapter ViewAbstractPublication PagesesweekConference Proceedingsconference-collections
Article

SHIM: a deterministic model for heterogeneous embedded systems

Published: 18 September 2005 Publication History

Abstract

Typical embedded hardware/software systems are implemented using a combination of C and an hdl such as Verilog. While each is well-behaved in isolation, combining the two gives a nondeterministic model whose ultimate behavior must be validated through expensive (cycle-accurate) simulation.We propose an alternative for describing such systems. Our shim (software/hardware integration medium) model, effectively Kahn networks with rendezvous communication, provides deterministic concurrency. We present the Tiny-shim language for such systems and its semantics, demonstrate how to implement it in hardware and software, and discuss how it can be used to model a real-world system.By providing a powerful, deterministic formalism for expressing systems, designing systems and verifying their correctness will become easier.

References

[1]
Felice Balarin, Paolo Giusto, Attila Jurecska, Claudio Passerone, Ellen Sentovich, Bassam Tabbara, Massimiliano Chiodo, Harry Hsieh, Luciano Lavagno, Alberto Sangiovanni-Vincentelli, and Kei Suzuki. Hardware-Software Co-Design of Embedded Systems: The POLIS Approach. Kluwer, Boston, Massachusetts, 1997.
[2]
Felice Balarin, Yosinori Watanabe, Harry Hsieh, Luciano Lavagno, Claudio Passerone, and Alberto Sangiovanni-Vincentelli. Metropolis: An integrated electronic system design environment. IEEE Computer, 36(4):45--52, April 2003.
[3]
Albert Benveniste, Paul Caspi, Stephen A. Edwards, Nicolas Halbwachs, Paul~Le Guernic, and Robert de~Simone. The synchronous languages 12 years later. Proceedings of the IEEE, 91(1):64--83, January 2003. Invited.
[4]
Gérard Berry. Esterel on hardware. Philosophical Transactions of the Royal Society of London. Series A, 339:87--103, April 1992. Issue 1652, Mechanized Reasoning and Hardware Design.
[5]
Gérard Berry and Georges Gonthier. The Esterel synchronous programming language: Design, semantics, implementation. Science of Computer Programming, 19(2):87--152, November 1992.
[6]
Gérard Berry and Ellen Sentovich. An implementation of constructive synchronous programs in POLIS. Formal Methods in System Design, 17(2):165--191, October 2000.
[7]
Shuvra S. Bhattacharyya, Ranier Leupers, and Peter Marwedel. Software synthesis and code generation for signal processing systems. IEEE Transactions on Circuits and Systems---II: Analog and Digital Signal Processing, 47(9):849--875, September 2000.
[8]
Joseph T. Buck, Soonhoi Ha, Edward A. Lee, and David G. Messerschmitt. Ptolemy: A framework for simulating and prototyping heterogeneous systems. International Journal of Computer Simulation, 4:155--182, April 1994.
[9]
Joseph Tobin Buck. Scheduling Dynamic Dataflow Graphs with Bounded Memory using the Token Flow Model. PhD thesis, University of California, Berkeley, 1993. Available as UCB/ERL M93/69.
[10]
Paul Caspi, Daniel Pilaud, Nicholas Halbwachs, and J. A. Plaice. LUSTRE: A declarative language for programming synchronous systems. In ACM Symposium on Principles of Programming Languages (POPL), Munich, January 1987. Association for Computing Machinery.
[11]
Massimiliano Chiodo, Paolo Giusto, Attila Jurecska, Luciano Lavagno, Harry Hsieh, and Alberto Sangiovanni-Vincentelli. A formal specification model for hardware/software codesign. In Proceeding of the International Workshop on Hardware-Software Codesign, Cambridge, Massachusetts, October 1993.
[12]
Ron Cytron, Jeanne Ferrante, Barry~K. Rosen, Mark~N. Wegman, and F. Kenneth Zadeck. Efficiently computing static single assignment form and the control dependence graph. ACM Transactions on Programming Languages and Systems, 13(4):451--490, October 1991.
[13]
Stephen A. Edwards, Tony Ma, and Robert Damiano. Using a hardware model checker to verify software. In Proceedings of the 4th International Conference on ASIC (ASICON), Shanghai, China, October 2001.
[14]
C. A. R. Hoare. Communicating Sequential Processes. Prentice Hall, Upper Saddle River, New Jersey, 1985.
[15]
Lilian Janin, Andrew Bardsley, and Doug~A. Edwards. Simulation and analysis of synthesised asynchronous circuits. International Journal of Simulation Systems, Science & Technology, 4(3--4):31--43, 2003.
[16]
Mark B. Josephs. Receptive process theory. Acta Informatica, 29(1):17--31, February 1992.
[17]
Mark B. Josephs. An analysis of determinacy using a trace-theoretic model of asynchronous circuits. In Proceedings of the Ninth International Symposium on Asynchronous Circuits and Systems (ASYNC), pages 121--130, Vancouver, BC, Canada, May 2003.
[18]
Gilles Kahn. The semantics of a simple language for parallel programming. In Information Processing 74: Proceedings of IFIP Congress 74, pages 471--475, Stockholm, Sweden, August 1974. North-Holland.
[19]
Richard M. Karp and Raymond E. Miller. Properties of a model for parallel computations: Determinacy, termination, and queueing. SIAM Journal on Applied Mathematics, 14(6):1390--1411, November 1966.
[20]
Paul Le Guernic, Thierry Gautier, Michel Le Borgne, and Claude Le Maire. Programming real-time applications with SIGNAL. Proceedings of the IEEE, 79(9):1321--1336, September 1991.
[21]
Edward A. Lee and David G. Messerschmitt. Static scheduling of synchronous data flow programs for digital signal processing. IEEE Transactions on Computers, C-36(1):24--35, January 1987.
[22]
Edward A. Lee and David G. Messerschmitt. Synchronous data flow. Proceedings of the IEEE, 75(9):1235--1245, September 1987.
[23]
Bill Lin. Efficient compilation of process-based concurrent programs without run-time scheduling. In Proceedings of Design, Automation, and Test in Europe (DATE), pages 211--217, Paris, France, February 1998.
[24]
Tadao Murata. Petri nets: Properties, analysis, and applications. Proceedings of the IEEE, 77(4):541--580, April 1989.
[25]
Thomas M. Parks. Bounded Scheduling of Process Networks. PhD thesis, University of California, Berkeley, 1995. Available as UCB/ERL M95/105.
[26]
Kees van Berkel. Handshake Circuits: An Asynchronous Architecture for VLSI Programming. Cambridge University Press, 1993.
[27]
Xiaohan Zhu and Bill Lin. Compositional software synthesis of communicating processes. In Proceedings of the IEEE International Conference on Computer Design (ICCD), pages 646--651, Austin, Texas, October 1999.

Cited By

View all
  • (2024)Design and Implementation of First-In-First-Out (FIFO) Buffer for Distributed Load Balancing SystemsSmart Trends in Computing and Communications10.1007/978-981-97-1329-5_2(11-21)Online publication date: 15-May-2024
  • (2020)A Deterministic Analysis Method of Embedded System Based on Event-driven2020 IEEE International Conference on Industrial Engineering and Engineering Management (IEEM)10.1109/IEEM45057.2020.9309908(407-413)Online publication date: 14-Dec-2020
  • (2018)An Improved LLF Scheduling for Reducing Maximum Heap Memory Consumption by Considering Laxity Time2018 International Symposium on Theoretical Aspects of Software Engineering (TASE)10.1109/TASE.2018.00027(144-149)Online publication date: Aug-2018
  • Show More Cited By

Recommendations

Reviews

S. Ramesh

This paper proposes a new model, software/hardware integration medium (SHIM), for describing embedded hardware/software systems. It is essentially the well-known Kahn's model of process networks, but with the following important restriction: unbuffered handshake communication between processes. Based on this model, a language called Tiny-SHIM is presented with syntax and semantics. A software and hardware implementation of the language is described, as is a real-world case study using the model. Although the model itself may not be new, the motivation to use it for the description of hardware/software systems appears to be quite novel. It is common in the domain of concurrent languages to provide features of nondeterminism to support asynchronous execution of processes. The unique feature of SHIM is that it supports asynchronous execution of processes, but with determinism. While the utility of the model is clear, it is hard to imagine SHIM as a design language for embedded software, as the level of abstraction provided by the model is rather low. Online Computing Reviews Service

Access critical reviews of Computing literature here

Become a reviewer for Computing Reviews.

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
EMSOFT '05: Proceedings of the 5th ACM international conference on Embedded software
September 2005
390 pages
ISBN:1595930914
DOI:10.1145/1086228
  • Conference Chair:
  • Wayne Wolf
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 18 September 2005

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. deterministic model of computation
  2. hardware synthesis
  3. hardware/software codesign
  4. software synthesis

Qualifiers

  • Article

Conference

EMSOFT05
Sponsor:

Acceptance Rates

Overall Acceptance Rate 60 of 203 submissions, 30%

Upcoming Conference

ESWEEK '24
Twentieth Embedded Systems Week
September 29 - October 4, 2024
Raleigh , NC , USA

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)15
  • Downloads (Last 6 weeks)2
Reflects downloads up to 03 Sep 2024

Other Metrics

Citations

Cited By

View all
  • (2024)Design and Implementation of First-In-First-Out (FIFO) Buffer for Distributed Load Balancing SystemsSmart Trends in Computing and Communications10.1007/978-981-97-1329-5_2(11-21)Online publication date: 15-May-2024
  • (2020)A Deterministic Analysis Method of Embedded System Based on Event-driven2020 IEEE International Conference on Industrial Engineering and Engineering Management (IEEM)10.1109/IEEM45057.2020.9309908(407-413)Online publication date: 14-Dec-2020
  • (2018)An Improved LLF Scheduling for Reducing Maximum Heap Memory Consumption by Considering Laxity Time2018 International Symposium on Theoretical Aspects of Software Engineering (TASE)10.1109/TASE.2018.00027(144-149)Online publication date: Aug-2018
  • (2016)Schedulability Analysis of Synchronous Digraph Real-Time Tasks2016 28th Euromicro Conference on Real-Time Systems (ECRTS)10.1109/ECRTS.2016.17(176-186)Online publication date: Jul-2016
  • (2013)Efficient software-based fault tolerance approach on multicore platformsProceedings of the Conference on Design, Automation and Test in Europe10.5555/2485288.2485510(921-926)Online publication date: 18-Mar-2013
  • (2013)DDOSACM SIGPLAN Notices10.1145/2499368.245117048:4(499-508)Online publication date: 16-Mar-2013
  • (2013)GPUDetACM SIGPLAN Notices10.1145/2499368.245111848:4(1-12)Online publication date: 16-Mar-2013
  • (2013)DDOSACM SIGARCH Computer Architecture News10.1145/2490301.245117041:1(499-508)Online publication date: 16-Mar-2013
  • (2013)GPUfsACM SIGARCH Computer Architecture News10.1145/2490301.245116941:1(485-498)Online publication date: 16-Mar-2013
  • (2013)ReQoSACM SIGARCH Computer Architecture News10.1145/2490301.245112641:1(89-100)Online publication date: 16-Mar-2013
  • Show More Cited By

View Options

Get Access

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media