Principles of Multi-Level Simulation
- 55 Downloads
The task of specifying and simulating a wide range of systems over the complete design cycle is an inappropriate one for a single computer language. This is because there are two fundamentally different kinds of information that need to be expressed. The first is structure, which is declarative in nature. That is, structure can naturally be expressed by a series of declarations with little or no context or order dependencies. (E.g. J touches B, B touches C, F touches C, etc.). The other kind of information is behavioral, which is basically imperative. That is, each behavioral operation has side effects that change the world around it. Although there have been many attempts at describing behavior in a declarative way, they have been only partially successful. In particular, when describing complex behavior, an ordering of the statements becomes important: the language breaks down into describing a set of objects declaratively, where each of these objects is itself imperative. For example, PROLOG is sometimes described as a declarative language, but non-trivial PROLOG programs depend heavily on the order of evaluation, not just to enhance performance, but for their semantics as well [HIL85]. Conversely, some systems, such as VHDL, include structure information within the behavior description language.
Unable to display preview. Download preview PDF.