Causal-Block Diagrams

The description of a complex system in terms of constituent components and their interaction is one of the most natural and intuitive ways of decomposition. Causal Block Diagram (CBD) models combine subsystem blocks in a network of relationships between input signals and output signals. Popular modeling and simulation tools such as Matlab/Simulink © implement different variants from the family of Causal Block Diagram formalisms. This chapter gives an overview of modeling and simulation of systems with software and physical components using Causal Block Diagrams. It describes the syntax and both declarative and operational semantics of CBDs incrementally. Starting from simple algebraic models (no notion of time), we introduce, first a discrete notion of time (leading to discretetime CBDs) and subsequently, a continuous notion of time (leading to continuous-time CBDs). Each new variant builds on the previous ones. Because of the heavy dependency of CBDs on numerical techniques, we give an intuitive introduction to this important field, pointing out main solutions as well as pitfalls. After reading this chapter, the reader will be able to judge when to use the CBD formalism and how to use it, as well as the main issues often encountered with the description of physical systems and the implementation of CBD simulators.