Santa Claus: Formal analysis of a process-oriented solution
ACM Transactions on Programming Languages and Systems (TOPLAS)
Application of CoSMoS parallel design patterns to a pedestrian simulation
PPAM'09 Proceedings of the 8th international conference on Parallel processing and applied mathematics: Part II
A CSP-based framework for the specification, verification, and implementation of adaptive systems
Proceedings of the 6th International Symposium on Software Engineering for Adaptive and Self-Managing Systems
Grand challenge 7: journeys in non-classical computation
VoCS'08 Proceedings of the 2008 international conference on Visions of Computer Science: BCS International Academic Conference
Hi-index | 0.00 |
This paper presents efficient mechanisms for the direct implementation of formal models of highly concurrent dynamic systems. The formalisms captured are CSP (for concurrency) and B (for state transformation). The technology is driving the development of occam-p, a multiprocessing language based on a careful combination of ideas from Hoare's CSP (giving compositional semantics, refinement and safety/liveness analysis) and Milner's 冒-calculus (giving dynamic network construction and mobility). We have been experimenting with systems developing as layered networks of self-organising neighbourhood-aware communicating processes, with no need for advanced planning or centralised control. The work reported is part of our TUNA ('Theory Underpinning Nanotech Assemblers') project, a partnership with colleagues from the Universities of York, Surrey and Kent, which is investigating formal approaches to the capture of safe emergent behaviour in highly complex systems. A particular study modelling artificial blood platelets is described. A novel contribution reported here is a fast resolution of (CSP external) choice between multiway process synchronisations from which any participant may withdraw its offer at any time. The software technology scales to millions of processes per processor and distributes over common multiprocessor clusters.