package shared_resource_speed public with Cheddar_Properties; data ressource end ressource; data implementation ressource.impl properties Concurrency_Control_Protocol =>None_Specified; end ressource.impl; thread T1 features fe: requires data access ressource.impl; properties Dispatch_Protocol => Periodic; Cheddar_Properties::Dispatch_Absolute_Time => 2ms; Compute_Execution_Time=>4ms..4ms; Deadline => 7ms; Period => 23ms; Priority =>2; end T1; thread implementation T1.impl end T1.impl; thread T2 features fe: requires data access ressource.impl; properties Dispatch_Protocol => Periodic; Cheddar_Properties::Dispatch_Absolute_Time => 0ms; -- Cheddar_Properties::Bound_On_Data_Blocking_Time =>2ms; Compute_Execution_Time=>4ms..4ms; Deadline => 23ms; Period => 23ms; Priority =>1; end T2; thread implementation T2.impl end T2.impl; process appli end appli; process implementation appli.impl subcomponents J1:thread T1.impl; J2:thread T2.impl; d:data ressource.impl; connections cx1: data access d ->J1.fe; cx2: data access d ->J2.fe; end appli.impl; processor cpu properties Scheduling_Protocol =>(POSIX_1003_HIGHEST_PRIORITY_FIRST_PROTOCOL); Cheddar_Properties::preemptive_scheduler => true; end cpu; system reduce_resource end reduce_resource; system implementation reduce_resource.impl subcomponents process1: process appli.impl; cpu1: processor cpu; properties Actual_Processor_Binding =>(reference (cpu1)) applies to process1; end reduce_resource.impl; end shared_resource_speed;