Activity graphs: a model-independent intermediate layer for skeletal coordination

Activity Graphs are introduced as a simple and practical means of capturing model independent aspects of the operational semantics of structured (and in particular, skeletal) parallel programs. AGs provide a notion of parallel activities, dependencies between activities, and the process groupings within which these take place. They are independent of low level details of parallel implementation and so can act as an intermediate layer for compilation to diverse underlying models. The paper introduces Activity Graphs and gives a compilation scheme from a simple skeletal language into them. The compilation process uses a set of graph generators (templates) to derive the Activity Graph. We then describe a simple scheme to transform Activity Graphs to message passing programs.