Version 2 (modified by ingo, 6 years ago) (diff)


In ForSyDe a system is modelled as a hierarchical concurrent process network. Processes communicate with each other via signals. ForSyDe supports several Models of Computation (MoCs) and allows processes belonging to different models of computation to communicate via domain interfaces as illustrated in the following figure.

Plain svg version

Processes are created using the concept of process constructors. A process constructor takes side-effect-free functions and values as arguments and creates a process. The following figure illustrates the concept of process constructor by creating a process that implements a Moore finite-state machine within the synchronous MoC.

Plain svg version

The process constructor mooreSY defines the model of computation, the type of the process (FSM), and the process interface. The exact functionality of the process is defined by a function f that specifies the calculation of the next state, another function g that specifies the calculation of the output, and a value v that specifies the initial value of the Moore-FSM process.

The concept of process constructors separates 'communication' from 'computation', where communication is specified by the process constructors and computation by the supplied functions and values. Further the concept of process constructors leads to well-structured system models, where all processes belong to a well-defined MoC, and thus abstract analyzable models can be extracted from a ForSyDe system model. These analyzable models can then be used in later design phases for performance analysis, design space exploration, formal verification, or synthesis to software and hardware.