Information Technology Reference
In-Depth Information
Feature applications. A feature call by a client processor q results in a feature request
forasupplierprocessor p .A feature application is the serving of the feature request.
This section discusses how p applies a feature f on a target referenced by r 0 . Processor
p takes the following steps:
1. Once status update. If f is a once routine, then set its status to non-fresh.
2. Lock passing. Pass the locks from q to p .
3. Argument passing. Bind the actual arguments to the formal arguments. Arguments
of expanded type that are handled by a different processor than p must be deep
imported by p .
4. Synchronization. Involve the scheduler to wait until the following synchronization
conditions are satisfied atomically:
- Processor p owns the request queue lock of each processor q such that:
Processor q handles an actual argument of f and the corresponding formal
argument has an attached reference type.
Processor p and processor q are different.
Processor p does not have q 's request queue lock.
Processor q does not have p 's request queue lock.
- The precondition of f holds.
5. Execution.
- If f is a non-once routine or a fresh once routine, then run its body.
- If f is a non-fresh procedure, then do nothing. If f is a non-fresh function, then
take its once value as the result.
- If f is an attribute, then evaluate it.
6. Postcondition evaluation. Evaluate the postcondition if any of the following condi-
tions is satisfied:
- A feature call in the postcondition requires a lock that was not obtained in the
synchronization step.
- The evaluation of the postcondition involves lock passing.
Otherwise ask any processor whose request queue lock was obtained in the syn-
chronization step to evaluate the postcondition.
7. Lock releasing. Ask each processor whose request queue has been locked in the
synchronization step to unlock its request queue after it is done with the feature
requests issued by p .
8. Invariant evaluation. If f is a routine, then evaluate the invariant.
Search WWH ::




Custom Search