Summary
The priority inversion checker interprets a higher priority property as lower priority. However, the description for Thread_Properties::Priority says "A larger value represents a higher priority."
Steps to Reproduce
- Load the model below in OSATE
- Instantiate
S.i
- On the instance model run Analyses -> Timing -> Check Rate Monotonic Priority Assignment
- There are errors reported even though threads with lower period have higher priority
package Issue1365
public
system S
end S;
system implementation S.i
subcomponents
cpu: processor CPU;
p: process P.i;
properties
Actual_Processor_Binding => (reference (cpu));
end S.i;
processor CPU
end CPU;
process P
end P;
process implementation P.i
subcomponents
t1: thread T {
Priority => 3;
Period => 10ms;
};
t2: thread T {
Priority => 2;
Period => 20ms;
};
t3: thread T {
Priority => 1;
Period => 40ms;
};
end P.i;
thread T
properties
Dispatch_Protocol => Periodic;
end T;
end Issue1365;
Environment
- OSATE Version:
- Operating System:
Summary
The priority inversion checker interprets a higher priority property as lower priority. However, the description for
Thread_Properties::Prioritysays "A larger value represents a higher priority."Steps to Reproduce
S.iEnvironment