This file documents the gRMA resource editor. The gRMA resource editor provides an interface to specifying the details of a single resource in a real time system.
NOTE: The gRMA system is capable of specifying a system which the current analyzer cannot produce results for. This is due to gRMA being in an early state of development. Please consider contributing to the project to address gaps as you find them.
This field specifies the name of the resource.
This field allows you to specify the protocol governing the access to this resource.
Interupt Masking (IMP)
This models the use of non-preemtable critical sections. As the name suggests, this is usually implemented by ``masking'' all interrupts before using the resource, preventing preemption, and ``unmasking'' them when the resource is free. The schedulability penalties are quite high for this policy, but it is easy to implement and analyze.
Prioprity Inheritence (PIP)
Using this policy, when a higher priority task wants to use a resource locked by a lower priority task, the lower priority task ``inherits'' the higher priority task's priority for the duration of the resource use.
Highest Locker
Using this policy, a priority is assigned to each resource based on the highest priority of all tasks that use this resource. When a task locks the resource, its priority is raised to one higher than the resource priority - thus garaunteeing that the task will finish with the resource before another task can attempt to lock it.
Priority Ceiling (PCP)
Like Highest Locker, but has a more complicated implementation. An operating system variable is maintained as the highest priority of all locked resources. Unless a task holds the lock that set the current highest priority, it can only lock a resource if its priority is higher than the current highest priority. If a task is prevented from locking a resource, the task holding the lock inherits the priority of the blocked task.
FIFO
Resource contention is resolved via a first-in-first-out queue for each resource. No priority adjustment is performed for the resource.