2009-12-27

ada's concurrency

8.30: bk.adda/ada`concurrency:

. ada`partition has a separate enviro task for elaborating type mgts;
each partition has its own instance of each type mgt process .

. rpc (remote proc call) between partitions is done by
having some unit being declared with the rp.interface pragma .
. rci units can belong to only one partition;
ie, the unit should be named after the partition it's working for .
. rpc can be async when declared with an optional pragma .
. ipc can be done via passive partition sharing rather than rpc;
that means a unit containing only non-var's (pure)
or only passive vars (atomic or passive protected)
. passive protected var's are those that don't have entries like task,
just primitives that insure mutually exclusive access .

. pointers that are passed across partitions
must be url's;
think of pointer as being a type.class .