|
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. It 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
[BIB - BAI07] 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.
Chapter 1 Introduction
1.1 A definition of a model
1.2 A day in the life of a model
1.3 Types of model
1.4 Models of Computation
1.5 Simplification
1.5.1 Abstraction:
1.5.2 Structure:
1.6 Models and Languages
1.6.1 Imperative languages
1.6.2 Declarative languages
1.6.3 Functional
1.6.4 Non functional
1.6.5 Meta
1.6.6 Testbench
1.7 The desire for a new language
1.8 Big shoes to fill
1.8.1 Ptolemy simulator
1.8.2 SystemC
1.8.3 Function and interface
1.9 Taxonomy
1.9.1 Three new axes
1.9.2 Application to models and languages
1.9.3 Transformation of models
1.10 Definitions
1.11 References
|