Skip to main content
Log in

SML-Sys: a functional framework with multiple models of computation for modeling heterogeneous system

  • Published:
Design Automation for Embedded Systems Aims and scope Submit manuscript

Abstract

System-on-Chip and other complex distributed hardware/software systems contain heterogeneous components. High-level modeling of such systems require frameworks that provide designers with the ability to express concepts of models of computation (MoC)s as modeling constructs. Many system-level modeling frameworks and corresponding modeling notations such as Ptolemy II and SystemC-H facilitate multi-MoC modeling but are based on imperative programming languages (C++, Java, etc). In such frameworks, the computation and communication aspects between the components of models get intertwined thereby hindering its amenability to formal analysis. In this work, we illustrate function-based semantic definitions of MoCs, which are formulated in a functional framework called SML-Sys. We illustrate through a number of examples how to create system models using this functional programming paradigm.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Berry G (1999) The constructive semantics of pure Esterel. Draft Version 3

  2. Bjesse P, Claessen K, Sheeran M, Singh S (1998) Lava: Hardware design in Haskell. In: Proceedings of ACM international conference of functional programming (ICFP), ACM SIGPLAN

  3. Bjuréus P, Jantsch A (2000) MASCOT: A specification and cosimulation method integrating data and control flow. In: Proceedings of design and test Europe (DATE) conference

  4. Bluespec. Bluespec’s website. http://www.bluespec.com/

  5. Davey B, Priestly H (1990) Introduction to lattices and order. Cambridge mathematical textbooks. Cambridge University Press, Cambridge

    MATH  Google Scholar 

  6. Dennis JB (1974) First version of a data flow procedure language. In: Programming symposium, proceedings colloque sur la programmation. Lecture notes in computer science vol 19, pp 362–376

  7. Guernic PL, Gautier T, Borgne ML, de Marie C (1991) Programming real-time applications with SIGNAL. Proc IEEE 79(9):1321–1335

    Article  Google Scholar 

  8. Patel HD, Shukla SK (2005) Towards a heterogeneous simulation kernel for system level models: A systemc kernel for synchronous data flow models. IEEE Trans Comput Aided Des 24(8):1261–1271

    Article  Google Scholar 

  9. Halbwachs N, Caspi P, Raymond P, Pilaud D (1991) The synchronous data flow programming language LUSTRE. Proc IEEE 79(9):1305–1320

    Article  Google Scholar 

  10. Hoare CAR (1978) Communicating sequential processes. Commun ACM 21(8):666–676

    Article  MATH  MathSciNet  Google Scholar 

  11. Jantsch A (2003) Modeling embedded systems and SOC’s concurrency and time in models of computation. Morgan Kaufmann, San Mateo

    Google Scholar 

  12. Jantsch A, Sander I, Wu W (2001) The usage of stochastic processes in embedded system specifications. In: Proceedings of 9th international symposium on hardware/software codesign

  13. Jones G, Sheeran M (1991) Relations and refinement in circuit design. In: Morgan C, Woodcock J (eds) Proceedings of the 3rd refinement workshop. Springer, Berlin

    Google Scholar 

  14. Kahn G (1974) The semantics of a simple language for parallel programming. In: Proceedings of the IFIP congress

  15. Lamport L (1978) Time, clocks and the ordering of events in a distributed system. Commun ACM 21(7):558–565

    Article  MATH  Google Scholar 

  16. Lee EA (1997) A denotational semantics for dataflow with firing. Technical Report UCB/ERL M97/3, Department of Electrical Engineering and Computer Science, University of California, Berkeley

  17. Lee EA, Parks TM (1995) Dataflow process networks. Proc IEEE 83(5):773–801

    Article  Google Scholar 

  18. Lee EA, Sangiovanni-Vincentelli AL (1996) Comparing models of computation. In: Proceedings of the international conference on computer-aided design (ICCAD), pp 234–241

  19. Lee EA, Sangiovanni-Vincentelli AL (1998) A Framework for Comparing Models of Computation. IEEE Trans Comput Aided Des Integr Circuits Syst 17:1217–1229

    Article  Google Scholar 

  20. Li Y, Leeser M (2000) HML, a novel hardware description language and its translation to VHDL. IEEE Trans Very Large Scale Integr (VLSI) Syst 8(1):1–8

    Article  Google Scholar 

  21. Luk W, Wu T (1994) Toward a declarative framework for hardware-software. In: Proceedings of 3rd international workshop hardware/software co-design, pp 181–188

  22. Matthews J, Cook B, Launchbury J (1998) Microprocessor specification in HAWK. In: Proceedings of IEEE international conference of computer languages, pp 90–101

  23. Milner R (1989) Communication and concurrency. International series in computer science. Prentice Hall, New York

    MATH  Google Scholar 

  24. Milner R, Tofte M, Harper R, MacQueen D (1997) The definition of standard ML-revised. In: Cambridge MA. MIT Press, Cambridge

    Google Scholar 

  25. Modeling a digital equalizer (2005) http://fermat.ece.vt.edu/EWD/Digital_Equalizer.htm

  26. Modeling a power state machine (2005) http://fermat.ece.vt.edu/EWD/Power_State_Machine.htm

  27. OSCI. SystemC website. http://www.systemc.org/

  28. Patel H, Shukla S (2004) SystemC kernel extensions for heterogeneous system modeling—A framework for multi-MoC modeling & simulation. Kluwer Academic, Dordrecht

    Google Scholar 

  29. Ptolemy Group. Ptolemy II website. http://ptolemy.eecs.berkeley.edu/ptolemyII/

  30. Sander I, Jantsch A (2004) System modeling and transformational design refinement in ForSyDe. IEEE Trans Comput-Aided Des Integr Circuits Syst 23(1):17–32

    Article  Google Scholar 

  31. Schmidt DA (1988) Denotational semantics: A methodology for language development. McGraw-Hill, New York

    Google Scholar 

  32. Sharp R, Mycroft A (2001) A higher level language for hardware synthesis. In: Proceedings of the 11th advanced research working conference on correct hardware design verification methods (CHARME)

  33. Stoy JE (1989) Denotational semantics, 5th edn. MIT Press, Cambridge

    Google Scholar 

  34. SystemVerilog. System Verilog website. http://www.systemverilog.org/

  35. Taha W, Hudak P, Wan Z (2001) Real-time FRP. In: Proceedings of international conference on functional programming (ICFP)

  36. Taha W, Hudak P, Wan Z (2002) Event-driven FRP. In: Proceedings of the 4th international symposium on practical aspects of declarative languages (PADL)

  37. Talpin J-P, Shukla SK (2005) Automated clock inference for stream function-based system level specifications. In: HLDVT ’05: proceedings of the high-level design validation and test workshop, 2005. On Tenth IEEE international. IEEE Computer Society, Washington pp 63–70

    Chapter  Google Scholar 

  38. Thompson S (1999) Haskell—the craft of functional programming, 2nd edn. Addison–Wesley, Reading

    Google Scholar 

  39. UCI. SpecC website. http://www.ics.uci.edu/~specc/

  40. Verilog. Verilog website http://www.verilog.org/

  41. VHDL. VHDL website. http://www.vhdl.org/

  42. Wan Z (2000) Functional reactive programming from first principles. In: Proceedings of programming language design and implementation (PLDI)

  43. Wu W, Sander I, Jantsch A (2000) Transformational system design based on a formal computational model and skeletons. In: Proceedings of the forum on specification and design languages conference (FDL)

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Deepak A. Mathaikutty.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Mathaikutty, D.A., Patel, H.D., Shukla, S.K. et al. SML-Sys: a functional framework with multiple models of computation for modeling heterogeneous system. Des Autom Embed Syst 12, 1–30 (2008). https://doi.org/10.1007/s10617-008-9012-4

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10617-008-9012-4

Keywords

Navigation