package prod_cons public data shared end shared; data implementation shared.impl properties Concurrency_Control_Protocol => PCP; end shared.impl; thread writer features fe : requires data access shared.impl; end writer; thread reader features fe : requires data access shared.impl; end reader; thread implementation reader.impl end reader.impl; thread implementation writer.impl end writer.impl; process application end application; process implementation application.impl subcomponents P1 : thread writer.impl; P2 : thread writer.impl; P3 : thread writer.impl; C1 : thread reader.impl; C2 : thread reader.impl; B : data shared.impl; connections cx1 : data access B -> P1.fe; cx2 : data access B -> P2.fe; cx3 : data access B -> P3.fe; properties Dispatch_Protocol => Periodic applies to P1; Deadline => 40 ms applies to P1; Period => 40 ms applies to P1; Compute_Execution_Time => 1 ms .. 5 ms applies to P1; Priority => 1 applies to P1; Dispatch_Protocol => Periodic applies to P2; Deadline => 20 ms applies to P2; Period => 20 ms applies to P2; Compute_Execution_Time => 1 ms .. 4 ms applies to P2; Priority => 2 applies to P2; Dispatch_Protocol => Periodic applies to P3; Deadline => 20 ms applies to P3; Period => 20 ms applies to P3; Compute_Execution_Time => 1 ms .. 2 ms applies to P3; Priority => 3 applies to P3; Dispatch_Protocol => Periodic applies to C1; Deadline => 40 ms applies to C1; Period => 40 ms applies to C1; Compute_Execution_Time => 1 ms .. 3 ms applies to C1; Priority => 4 applies to C1; Dispatch_Protocol => Periodic applies to C2; Deadline => 40 ms applies to C2; Period => 40 ms applies to C2; Compute_Execution_Time => 1 ms .. 2 ms applies to C2; Priority => 5 applies to C2; end application.impl; processor cpu properties Scheduling_Protocol=>POSIX_1003_HIGHEST_PRIORITY_FIRST_PROTOCOL; end cpu; system smpl end smpl; system implementation smpl.impl subcomponents process1 : process application.impl; cpu1 : processor cpu; properties Actual_Processor_Binding => (reference(cpu1)) applies to process1; end smpl.impl; end prod_cons;