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

Re: Occam-Tau - the natural successor to Occam-Pi



Hi Rick,

I've had only a quick look - will jump in when digested what you sent and all
the follow-up emails!

Just three quick thoughts:

  - occam-pi does enable "objects" to be communicated over channels in the
    most efficient way (i.e. by reference, if staying in the same memory
    space) and with complete safety against race hazards.  Currently,
    these objects have to be declared MOBILE and are contiguous chunks
    of data (i.e. no links to other MOBILEs).  We are proposing to remedy
    this (see slides 111-113, then 102-105 from the "occam Obviously" slides
    from CPA 2012: http://www.wotug.org/paperdb/show_proc.php?f=4&num=29).
  
  - we have found mobile channel-ends to be crucially important for the
    modelling of complex systems - see the CoSMoS project:

      http://www.cosmos-research.org/demos/
    
    Without channel-end mobility, only pre-defined parallel networks can
    be built. Complex systems demand the construction/growth of networks
    as they run.  Passive data mobility is not enough.

    Whether process mobility (the sending of processes down channels, which
    occam-pi supports) is necessary has still to be decided.  Technically,
    they are not - there is a duality between process mobility and channel
    mobility (anything one can do, so can the other).  But process mobility
    may give better powers of expression sometimes.
  
  - verification is essential, though mostly denied in commercial practice
    as impractical (and, therefore, unnecessary).  For concurrency models
    other than those based on CSP, verification is hard indeed!  For occam,
    see our examples in the "Cancellable Servers - a Pattern for Curiosity"
    slides from CPA 2012, based on proposals in the two "Self-Verifying"
    presentations at:
    
      https://www.cs.kent.ac.uk/research/groups/plas/wiki/IFIP_WG24/

Cheers,

Peter.