package Period_increase_EDF public with aadlv3; with Cheddar_Multicore_Properties; with Cheddar_Properties; thread tache1 properties Dispatch_Protocol => Periodic; Compute_Execution_Time =>1ms..1ms; Deadline =>4ms; Period =>4ms; Priority =>3; end tache1; thread implementation tache1.impl end tache1.impl; thread tache2 properties Dispatch_Protocol =>Periodic; Compute_Execution_Time =>1ms..1ms; Deadline =>5ms; Period =>5ms; Priority =>2; end tache2; thread implementation tache2.impl end tache2.impl; thread tache3 properties Dispatch_Protocol => Periodic; Compute_Execution_Time =>18ms..18ms; Deadline => 20ms; Period => 20ms; Priority =>1; end tache3; thread implementation tache3.impl end tache3.impl; process application end application; process implementation application.impl subcomponents T1:thread tache1.impl; T2:thread tache2.impl; T3:thread tache3.impl; end application.impl; processor cpu properties Scheduling_Protocol=>(EDF); Cheddar_Properties::Preemptive_Scheduler => true; 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; 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 multiproc end multiproc; system implementation multiproc.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 multiproc.impl; end Period_increase_EDF;