In this introductory chapter we will present the fundamentals of models, starting with an understanding about the importance of models and how they can change over time. We will discuss why multiple models may exist at the same time and why a single abstraction is not always the ideal situation. We will explore the basic building blocks of languages (models of computation) and show how language syntaxes can be developed from them. We will briefly talk about the kinds of models that exist, their purposes, and the relationships that may exist between them. The chapter will also expand on the model taxonomy that was developed in the book ESL Design and Verification  and use it to show how many of the common functional models fit into the taxonomy and where the existing languages have problems that may need to be addressed in future languages. The chapter concludes with a set of definitions for many of the terms used throughout this book.
KeywordsUnify Modeling Language Formal Verification Functional Language Declarative Language Execution Semantic
- 1.Brian Bailey, Grant Martin, Andrew Piziali. ESL Design and Verification: A Prescription for Electronic System Level Methodology. Morgan Kaufmann Elsevier 2007.Google Scholar
- 2.Bran Selic. “Models, Software Models and UML”, Chapter 1 of UML for Real: Design of Embedded Real-Time Systems, edited by Luciano Lavagno, Grant Martin and Bran Selic, Kluwer (now Springer), 2003.
- 3.Definition of model, consulted 22 May, 2009: http://en.wikipedia.org/wiki/Model
- 4.Definition of computer model, consulted 22 May, 2009: http://en.wikipedia.org/wiki/Computer_model
- 5.http://celebrating200years.noaa.gov/foundations/numerical_wx_pred/S1Chart06.html Consulted October 7th 2008.
- 6.http://www.sciencedaily.com/videos/2008/0507-perfect_weather_predictions.htm Consulted October 7th 2008
- 7.Stewart Robinson. Issues in Conceptual Modelling for Simulation: Setting A Research Agenda. Proceedings of the 2006 OR Society Simulation Workshop.Google Scholar
- 8.Axel Jantsch, Modeling Embedded Systems and SoC’s: Concurrency and Time in Models of Computation, Elsevier Morgan Kaufmann, 2004.Google Scholar
- 9.Abhinav Agarval, Man Cheuk Ng, Arvind. Comparison of High Level Design Methodologies for Algorithmic IPs: Bluespec and C-based Synthesis, MIT Computer Science and Artificial Intelligence Laboratory (CSAIL)Google Scholar
- 10.Property Specification Language Reference Manual http://www.eda.org/vfv/docs/PSL-v1.1.pdf
- 11.Srikanth Vijayaraghavan, Meyyappan Ramanathan. A Practical Guide for SystemVerilog Assertions, Springer 2005.Google Scholar
- 12.Grady Booch, James Rumbaugh, Ivar Jacobson. The Unified Modeling Language User Guide, 2nd Edition, Addison-Wesley, 2005.Google Scholar
- 13.James Rumbaugh, Ivar Jacobson, Grady Booch. The Unified Modeling Language Reference Manual, 2nd Edition, Addison-Wesley, 2005.Google Scholar
- 14.Martin Fowler. UML Distilled: A Brief Guide to the Standard Object Modeling Language, 3rd Edition, Addison-Wesley, 2004.Google Scholar
- 15.Sanford Friedenthal, Alan Moore, Rick Steiner. A Practical Guide to SysML: The Systems Modeling Language, Elsevier Morgan Kaufmann, 2008.Google Scholar
- 17.Grant Martin, Wolfgang Müller (Ed.), UML for SOC Design, Springer, 2005.Google Scholar
- 18.Perry Alexander. System Level Design with Rosetta, Elsevier Morgan Kaufmann, 2006.Google Scholar
- 20.Ptolemy Group, Ptolemy II, Website: http://ptolemy.eecs.berkeley.edu/ptolemyII/
- 21.Louis Scheffer, Luciano Lavagno, Grant Martin, Electronic Design Automation for Integrated Circuits Handbook, vol. EDA for IC System Design and Testing, Taylor & Francis/CRC Press, Boca Raton, FL, 2006, pp. 3.9–3.10, 9.34–9.36.Google Scholar
- 22.Thorsten Grötker, Stan Liao, Grant Martin, Stuart Swan. System Design with SystemC. Kluwer 2002.Google Scholar
- 23.Hiren D. Patel, Sandeep K. Shukla. SystemC kernel extensions for Heterogeneous System Modeling. Kluwer 2004.Google Scholar
- 24.Fernando Herrera, Eugenio Villar. A Framework for Embedded System Specification under Different Models of Computation in SystemC. Design Automation Conference 2006.Google Scholar