A graphical tool for the visualization and animation of communicating sequential processes (original) (raw)
Related papers
Visual Design and Animation of Dynamic Parallel and Distributed Software Architectures
Visual languages have been used for some time to support the development of parallel and distributed programs. However, these languages usually tend to focus exclusively on the visual (program) design structure, in terms of the components (processes) and their interconnections represented as boxes and lines, or on the visual behaviour of the components represented as data or control flows, depicting a sequence of statements. Another limitation of most current languages is that they assume that the structure of the program design is static, where the number of components and their connections is known a priori. In this paper, we put forward an alternative visual language and a support toolset, which extends the traditional visual design structure with behavioural information, and at the same time allows the representation of dynamic design structures.
Graphical Construction of Parallel Programs
Parallel programming is not difficult, as the programs build up their complex behaviours in a similar way to the real world (i.e through the simple interaction of independent and simple entities). The parallel system engineer needs, however, a systematic method to decomposing the networks into independent ones or composing existing processes to form new networks. In this paper, we introduce a technique for the graphical construction of hierarchical networks (or configurations) of processes. The technique focuses on the concept of templates which define reusable patterns of communication and synchronisation for processes. We introduce a set of graphical rules based on the equivalence between processes, more specifically templates, and networks (configurations) of templates. The rules can be used to decompose networks of processes by substituting a single process for an equivalent sub-network of processes, or to abstract a sub-network of processes as a single process in order to simpl...