Information Technology Reference
In-Depth Information
4.5.6.4 Data Flow Graphs. In data flow graphs (DFGs), systems are specified
using a directed graph where nodes (actors) represent inputs, outputs, and operations,
and edges represent data paths between nodes (Niemann, 1998). The main usage of
data flow is for modeling data flow dominated systems. Computations are executed
only where the operands are available. Communications between processes is done
via an unbounded FIFO buffering scheme (Cortes et al., 2002). Data flow models
support hierarchy because the nodes can (Gajski et al., 1997) represent complex
functions or another data flow (Niemann, 1998), (Edwards et al., 1997).
Several variations of DFGs have been proposed in the literature such as syn-
chronous data flow (SDF) and asynchronous data flow (ADF) (Agrawal, 2002). In
SDF, a fixed number of tokens is consumed, where in ADF, the number of tokens
consumed is variable. Lee et al. (1995) provided an overview of data flow models
and their variations.
4.5.6.5 Synchronous/Reactive Models. Synchronous modeling is based on
the synchrony hypothesis, which states that outputs are produced instantly in reaction
to inputs and there is no observable delay in the outputs (Watts, 1997). Synchronous
models are used for modeling reactive real-time systems. Cortes et al. (2002) men-
tion two styles for modeling reactive real-time systems: multiple clocked recurrent
systems (MCRS), which are suitable for data dominated real-time systems, and state
base formalisms, which are suitable for control dominated real-time systems. Syn-
chronous languages such as Esterel (Boussinot et al., 1991) is used for capturing the
synchronous/reactive MOC (Cortes et al., 2002).
4.5.6.6 Heterogeneous Models. Heterogeneous models combine features of
different models of computation. Two examples of heterogeneous models are
presented.
Programming languages (Gajski et al., 1997) provide a heterogonous model
that can support data, activity, and control modeling. Two types of programming
languages are available: imperative such as C and declarative languages such
as LISP and PROLOG. In imperative languages, statements are executed in
the same order specified in the specification. However, execution order is not
explicitly specified in declarative languages since the sequence of execution
is based on a set of logic rules or functions. The main disadvantage of using
programming languages for modeling is that most languages do not have special
constructs to specify a system's state (Niemann, 1998).
PSM is a merger between HCFSM and programming languages. A PSM model
uses a programming language to capture a state's actions (Gajski et al., 1997).
A PSM model supports hierarchy and concurrency inherited from HCFSM.
The Spec Charts language, which was designed as an extension to VHDL, is
capable of capturing the PSM model. The Spec C is another language capable
of capturing the PSM model. Spec C was designed as an extension to C (Vahid
& Givargis, 2001).
Search WWH ::




Custom Search