[C.CC USERS] Thanks Matt (: arduinobot is aliiive
Jon Simpson
me at jonsimpson.co.uk
Fri Aug 20 23:16:47 BST 2010
Hi Laurence,
On Fri, Aug 20, 2010 at 7:32 PM, Laurence Laycock <rencio7 at gmail.com> wrote:
> I'd just like to say thanks to Matt for such a good reply to my last email.
> It opened my mind to process-oriented programming! :P
> It makes a lot more sense now :D sort of (;
> I just found the occam-pi resources too which helped :P
> I've managed to get quite a bit further with my robot in occam-pi than with
> arduino codebase.
> Here is my code so far http://docs.google.com...
> And here is a quick little video I did (;
> http://www.youtube.com/watch?v=F5SAeVSGMcs
The video is awesome, it's really cool to see things in motion - it'd
be great to have more information on your robot platform itself.
> I've just started going through the reference (and read the robotics paper)
> have a few questions..I'm not going to ask all of them yet lol I should at
> least try to find the answers
> ... [snipped] ...
> 2. There is part of the supression code I don't know how to deal with...
> PROC suppress.int (VAL INT timeout,CHAN INT suppress?, in?, out!)
> I know what VAL INT means and why supression needs a timeout...but what does
> a CHAN INT suppress? 'listen to'...channel of integers? Is it just the value
> within the PROC suppress.int....or not..
> Maybe I should come back to it when I've read more of the reference info?
Generally available information about Subsumption architectures can be
applied to the occam version. Specific information about the process
implementation and its use is mostly within this paper:
Mobile Robot Control: The Subsumption Architecture and occam-pi
Jonathan Simpson, Christian L. Jacobsen, and Matthew C. Jadud.
In Communicating Process Architectures 2006, volume 64 of Concurrent
Systems Engineering, pages 225-236, IOS Press, Amsterdam, The
Netherlands, September 2006.
http://jonsimpson.co.uk/papers/2006/mobile-robot-control-subsumption-architecture-occam-pi.pdf
A small amount of additional detail or alternate description may be
found in the appropriate section of:
Toward Process Architectures for Behavioural Robotics
Jonathan Simpson and Carl G. Ritson
In Communicating Process Architectures 2009, volume 67 of Concurrent
Systems Engineering. IOS Press, Amsterdam, The Netherlands, November
2009.
http://jonsimpson.co.uk/papers/2009/toward-process-architectures-behavioural-robotics.pdf
There's also Brooks' original papers:
http://people.csail.mit.edu/brooks/papers/AIM-864.pdf
http://people.csail.mit.edu/brooks/papers/AIM-1091.pdf
To answer your question more directly: A suppressor allows one process
to replace the normal flow of data into a process with the data from
another process for a specified time.
PROC suppress.int (VAL INT timeout,CHAN INT suppress?, in?, out!)
For the majority of time, we would expect data to arrive on in? and be
transmitted on out! When suppression occurs (i.e. the first message is
received on suppress?, the timeout begins), and data will flow from
suppress? to out! - data received on in? will be thrown away.
Every message received on suppress? should reset the timeout period.
If there's more clarity I can provide here, don't hesitate to let me
know.
> 3. There has been many a time when I've wanted to share a channel...how do I
> do this? forked processes?
Another reference you might not have encountered is the external
version of Kent's module page for CO538 - Concurrency Design &
Practice (the occam course). It contains all of the materials we use
over 12 weeks at kent to teach and may help with stepping through
various language features
occam-pi as a language has a notion of SHARED channel ends, whereby
the reading/writing or both ends of a channel can be shared for use by
multiple processes, CLAIMing them as neccessary.
Peter Welch's 'shared-etc' slide deck for CO538/631 has a detailed
treatment of shared channels and is a good place to start:
http://www.cs.kent.ac.uk/projects/ofa/co538/slides/shared-etc.pdf
> 4. Lets say I was interested in doing a uni course on Occam-pi would I need
> te be relatively experienced before doing it or is it only for graduates?
> Which university of Kent course would you advise if I was interested? I
> noticed there was clearing...
It would be best to send an e-mail regarding this directly to Peter
Welch (phw at kent.ac.uk) and Fred Barnes (frmb at kent.ac.uk) who are
responsible for the concurrency course at Kent and are better
positioned to advise on such matters.
Hope this helps,
Jon
More information about the users
mailing list