[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re design & checking tools
>* This leads us to the point that Bryan made about state-space
> explosion. A single input of an INT32 variable in an Occam process
> would give rise to at least 2^32 states in the equivalent state
> transition system, so we need to apply some sort abstraction
> to reduce the number of states in each constitutent process.
>
>* This abstraction is difficult to automate - how do we decide how
> much information may be safely thrown away? Some very important work
> in this area has been done by Ranko Lazic (see Bill Roscoe's book:
> The Theory and Practice of Concurrency - Prentice Hall).
>
>* Much work has also been done regarding state-space compression. I
> wonder if there might not be some kind of higher-level state machine,
> that could be used, where the input of an INT32 variable would only
> require one new state to be added?
Surely this has to do just with degree of abstraction. The only reason
for considering a single state for each state value (eg with an INT32) is
if the process behaves differently with regard to others according to
every distinct case (0, 1 , 2 etc). This is rarely true.
What we can do (as suggested in the last chapter of my little book) is
_partition_ the domain of that INT32 according to process behaviour, and
define a distinct shared event for each sub-domain. This could also be
used in software testing. (Just test using a single input value from each
sub-domain.)
Am I missing something here?
Ian
Dr. Ian Robert East
01865 483635
Room T408, Tongue Building
School of Computing and Mathematical Sciences
Oxford Brookes University