Newsgroups: comp.sys.transputer
From: wgd@ukc.ac.uk (Warren Day)
Subject: occam transformation laws
Organization: University of Kent at Canterbury, UK.
Date: Thu, 07 Jul 94 11:12:13 GMT
Message-ID: <9725@eagle.ukc.ac.uk>

Hi,

I'm doing some work with transforming occam and I'm trying to reference
what I'm doing back to some basic laws.

I transforming things for purposes of optimisation and also things like
simple buffer processes like,

    WHILE TRUE
      SEQ
        in ? msg
        out ! msg

into,

    SEQ
      in ? msg1
      WHILE TRUE
        SEQ
          PAR
            out ! msg1
            in ? msg2
          PAR
            out ! msg2
            in ? msg1

I'm trying to refer this back to the basic transformations that just seem
intuitively obvious (open mouth to change feet),

    WHILE TRUE
      SEQ
        P

being identical to,

    WHILE TRUE
      SEQ
        P
        P

I have copy of The Laws of Occam Programming Monograph by Roscoe and Hoare.
Though as yet I don't see anything like a law that shows an equality of the
double P above.  Also I can't yet see how laws like 4.1 SEQ-SKIP unit and
4.2 SEQ assoc can be useful here.

Does anyone have any pointers or ideas that would be of use?

Thanks,
--
Warren
		Pause for a moment,
			and consider man's humanity towards his fellow man.

