[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Dynamic Priority



Dynamic Priority
~~~~~~~~~~~~~~~~
Is this a compositional primitive for dynamic priority?

The idea is to combine |<|  (PRI PAR) with something like the CSP
interrupt. 
                                 DYN PAR     -- or DYN PRI PAR ?
        <p>         or		   PRIORITY
    P_1 || P_2                       p ? priority
                                   P1
                                   P2
                                   ..etc

The variable "priority" is probably a dummy. And the type and encoding of the
values on the priority channel can be anything convenient. Since this is likely
to be used in situations where speed is of the essence, one would probably
choose whatever is most efficient.

The processes are not disturbed: simply shuffled around the (local) priority
levels in response to an input on p.

The syntax above is only the first thing that entered my head. 
The key word PRIORITY flags what is happening, but it could be omitted.
Maybe the channel p is of type PRIORITY, a bit like a TIMER... 
                    
I think that it is straightforward to give a CSPP acceptance semantics for
this. And it is compatible with occam static memory allocation.

But should I bother? Would such a construct be useful? Comments please.

Adrian
-- 
A E Lawrence, MA., DPhil.  	adrian.lawrence@xxxxxxxxxxxxxx
MicroProcessor Unit, 13, Banbury Road, Oxford. OX2 6NN. UK.                
Voice: (+44)-1865-273274,  Fax: (+44)-1865-273275