Intel® CoFluent™ Studio: Functional or Application Model
Structures are base organizational elements in a functional model and include sub-structures or elementary components called functions and their communication links. Structures are hierarchical and can be refined into multiple sub-structure levels. Leaf structural elements are functions which are elementary components and have their own thread of execution and therefore can be assimilated to processes. All functions in a model execute independently, in full parallelism and asynchronously from each other. Each function communicates with its environment through input/output ports. A function can have different behaviors (internal descriptions) defined in separate configurations.
The behavior for each leaf function in the structural hierarchy is described in a macroscopic flow diagram mixing data and control processing. Operations are elementary (lowest granularity level) computation blocks made of pure sequential algorithms processing internal and environmental data (with no external synchronization). The behavior of a function is a composition of operations and inputs/outputs based on usual operators: sequence, alternative, concurrency, iteration and conditional execution. The behavioral model is represented according to two axes: vertical axis for the control flow (time ordering) and horizontal axis for the data flow (communications). Note that complex operations (called activities) can be refined into full behavioral descriptions.