PACKAGE exo5 PUBLIC DATA my_data END my_data; THREAD a_thread FEATURES input : IN DATA PORT my_data; output : OUT DATA PORT my_data; PROPERTIES Period => 100 ms; Deadline => 100 ms; Dispatch_Protocol => Periodic; END a_thread; PROCESS my_process FEATURES input1 : IN DATA PORT my_data; input2 : IN DATA PORT my_data; input3 : IN DATA PORT my_data; input4 : IN DATA PORT my_data; output : OUT DATA PORT my_data; END my_process; PROCESSOR cpu PROPERTIES Scheduling_Protocol=>HPF; END cpu; SYSTEM dataflow END dataflow; PROCESS IMPLEMENTATION my_process.source_impl SUBCOMPONENTS T1 : THREAD a_thread { Compute_Execution_Time => 3 ms .. 20 ms; Priority => 10;}; T2 : THREAD a_thread { Compute_Execution_Time => 3 ms .. 20 ms; Priority => 20; }; T3 : THREAD a_thread { Compute_Execution_Time => 3 ms .. 20 ms; Priority => 30;}; T4 : THREAD a_thread { Compute_Execution_Time => 3 ms .. 10 ms; Priority => 40; }; T5 : THREAD a_thread { Compute_Execution_Time => 3 ms .. 10 ms; Priority => 10; }; T6 : THREAD a_thread { Compute_Execution_Time => 3 ms .. 50 ms; Priority => 20;}; T7 : THREAD a_thread { Compute_Execution_Time => 3 ms .. 40 ms; Priority => 30;}; CONNECTIONS C0 : PORT input1 -> T1.input; C1 : PORT input2 -> T2.input; C2 : PORT input3 -> T3.input; C3 : PORT input4 -> T5.input; C4 : PORT T1.output -> T4.input; C5 : PORT T2.output -> T4.input; C6 : PORT T3.output -> T4.input; C7 : PORT T4.output -> T6.input; C8 : PORT T5.output -> T6.input; C9 : PORT T6.output -> T7.input; C10: PORT T7.output -> output; PROPERTIES Timing => immediate applies to C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10; END my_process.source_impl; SYSTEM IMPLEMENTATION dataflow.impl SUBCOMPONENTS process1 : PROCESS my_process.source_impl; my_platform1 : PROCESSOR cpu; PROPERTIES Actual_Processor_Binding => ( reference(my_platform1) ) applies to process1; END dataflow.impl; END exo5;