We present a procedure for splitting processes in a process algebra with multi-actions (a subset of the specification language mCRL2). This splitting procedure cuts a process into two processes along a set of actions A: roughly, one of these processes contains no actions from A, while the other process contains only actions from A. We state and prove a theorem asserting that the parallel composition of these two processes equals the original process under appropriate synchronization. We apply our splitting procedure to the process algebraic semantics of the coordination language Reo: using this procedure and its related theorem, we formally establish the soundness of splitting Reo connectors along the boundaries of their (a)synchronous regions in implementations of Reo. Such splitting can significantly improve the performance of connectors.
Additional Metadata
THEME Software (theme 1)
Publisher Open Publishing Association
Editor N. Kokash (Natallia) , A. Ravara
Journal Electronic Proceedings in Theoretical Computer Science
Conference International Workshop on the Foundations of Coordination Languages and Software Architecture
Citation
Jongmans, S.-S.T.Q, Clarke, D.G, & Proença, J.M.P. (2012). A Procedure for Splitting Processes and its Application to Coordination. In N Kokash & A Ravara (Eds.), Electronic Proceedings in Theoretical Computer Science (Vol. 91, pp. 79–96). Open Publishing Association.