A concurrent application consists of a set of concurrently executing interacting processes. Although earlier we proposed work automata to specify both computation and interaction of such a set of executing processes, a detailed formal semantics for them was left implicit. In this paper, we provide a formal semantics for work automata, based on which we introduce equivalences such as weak simulation and weak language inclusion. Subsequently, we define operations on work automata that simplify them while preserving these equivalences. Where applicable, these operations simplify a work automaton by merging its different states into a state with a ‘more inclusive’ state-invariant. The resulting state-invariant defines a region in a multidimensional real vector space that potentially contains holes, which in turn expose mutual exclusion among processes. Such exposed dependencies provide additional insight in the behavior of an application, which can enhance scheduling. Our operations, therefore, potentially expose implicit dependencies among processes that otherwise may not be evident to exploit.

Topics in Theoretical Computer Science
Centrum Wiskunde & Informatica, Amsterdam, The Netherlands

Dokter, K.P.C, & Arbab, F. (2017). Exposing latent mutual exclusion by work automata. In Lecture Notes in Computer Science/Lecture Notes in Artificial Intelligence (pp. 59–73). doi:10.1007/978-3-319-68953-1_6