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

Conflicting Priorities in occam



We have stirred up the sleeping Giants!

Michael Goldsmith is worried about my statement that:

((a --> Stop)[<](b --> Stop))\{b} = a --> Stop

I posted his note and my reply here yesterday, although I am not sure whether
I saw it arrive, But then I don't know what day it is or whether I am in 
Cornwall yet.

I stand by the identity above. It is true in CSPP. And defensible when
environments do not change their offers between events. And accurately models 
synchronous state machines.

Of course it does not match the occam example that I posted. Which is why I
drew attention to it.

But when someone of Michael's stature is worried, then so am I. Reflecting on
this I realize that he is right. No this does not blow CSPP out of the water.
The problem is with my definition of hiding. I have made it a bit too
specific because I built it while thinking primarily about a circuit
implementation. So I captured that semantics, but managed to exclude other
possibilities.

My previous explanation about not capturing the details of a changing dynamic
environment contained the seeds. I should be incorporating those extra
possibilities as additional non-determinism in hiding.
It is well known in the trade that hidden events should have a sort of
maximum eagerness: I thought that didn't really apply when we had to handle
priority. But I now realize that it is that eagerness which is needed to
give us the extra nondeterminism.

Modifying the definition of hiding is, I think, trivial. So I expect to have a
new definition in a couple of hours.

 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

This illustrates that CSPP is immature and untested. My confidence is not
shaken by this: rather reinforced because the underlying semantics is
able to capture all these new insights. We need "soft" as well as "hard"
priority? Very well, we can add it to the language. I got hiding a bit too
specific? No problem, let's modify the definition.

Although most of you have had a chance to criticize CSPP at WoTUG meetings, 
our current debate is perhaps it's first real test in a rather simple 
application.

If you notice anything else which seems wrong or odd in CSPP, please complain.
If it is broken, we *must* fix it. Or start again. Or something.

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