package reduce_exec_time1 public with aadlv3; with Cheddar_Multicore_Properties; with Cheddar_Properties; thread tache features input: in event port; output : out event port; properties Dispatch_Protocol => Periodic; -- Deadline => 15ms; Period => 12ms; end tache; thread implementation tache.impl end tache.impl; process application end application; process implementation application.impl subcomponents T1: thread tache.impl { Compute_Execution_Time =>2ms .. 2ms; -- Priority =>9; }; T2: thread tache.impl { Compute_Execution_Time =>1ms..1ms; -- Priority => 8; }; T3: thread tache.impl { Compute_Execution_time =>1ms..1ms; -- Priority => 7; }; T4: thread tache.impl { Compute_Execution_Time =>1ms..1ms; -- Priority => 6; }; T5: thread tache.impl { Compute_Execution_Time =>3ms..3ms; -- Priority => 5; }; T6: thread tache.impl { Compute_Execution_Time =>3ms..3ms; -- Priority => 4; }; T7: thread tache.impl { Compute_Execution_Time =>3ms..3ms; -- Priority => 3; }; T8: thread tache.impl { Compute_Execution_Time =>3ms..3ms; -- Priority => 2; }; T9: thread tache.impl { Compute_Execution_Time =>8ms..8ms; -- Priority =>1; }; Connections C0: port T1.output -> T9.input; C1: port T4.output -> T5.input; C2: port T4.output -> T6.input; C3: port T4.output -> T7.input; C4: port T4.output -> T8.input; properties Timing => immediate applies to C0, C1, C2, C3, C4; end application.impl; -- POSIX_1003_Highest_Priority_First_Protocol processor cpu properties Scheduling_Protocol =>(EDF); Cheddar_Properties::Preemptive_Scheduler =>FALSE; end cpu; processor implementation cpu.impl end cpu.impl; system multi_core end multi_core; system implementation multi_core.impl subcomponents cpu1:processor cpu; cpu2:processor cpu; cpu3:processor cpu; properties aadlv3::System_Soc_Type => SoC_Processing_Unit; Cheddar_Multicore_Properties::SoC_Interconnection_Type => Crossbar; Cheddar_Multicore_Properties::Migrations_type => Time_Unit_Migration_Type; Cheddar_Multicore_Properties::Processors_type => Identical_Multicores_Type; end multi_core.impl; system reduce_exec end reduce_exec; system implementation reduce_exec.impl subcomponents process1:process application.impl; cpu_core:system multi_core.impl; properties Actual_Processor_Binding =>(reference (cpu_core)) applies to process1; Scheduling_Protocol => (EDF) applies to cpu_core; end reduce_exec.impl; end reduce_exec_time1;