Viewing CSP Specifications with UML-RT Diagrams

Patrícia Ferreira, Augusto Sampaio, Alexandre Mota
2008 Electronical Notes in Theoretical Computer Science  
To precisely specify and reason about the properties of a system requires using formal methods like, for instance, process algebras. Complementary, semi-formal notations like UML are extensively used in practice to describe several architectural views of a system with the aid of modeling diagrams. In this paper we present an automated approach for translating specifications in the CSP process algebra into UML-RT models, in which we can describe both static and dynamic views of the system. The
more » ... rategy is based on compositional rules that preserve the CSP semantics. We illustrate the systematic translation through an example. Open access under CC BY-NC-ND license. CSP [15, 7] , for instance, is a very attractive formalism to describe concurrent and dynamic aspects of computer systems. One of the fundamental features of CSP is that it can serve as a notation for describing concurrent and communicating processes at different levels of abstraction. Furthermore, it is possible to prove refinements and classical properties, such as deadlock and determinism, as well as domain specific properties of CSP specifications using the FDR [5] refinement checker. However, CSP lacks intuitive graphical visualization; therefore it can be difficult to understand and to be used by non-specialists. Hence it can be costly and error-prone to informally associate the dynamic behaviour of CSP constructions with structural elements of the design phase such as components and independent processes. On the other hand, graphical modeling notations are tremendously used to structure and visualize systems, but usually do not embody a consolidated formal foundation to allow reasoning about classic and domain specific properties. Even semi-formal graphical notations such as UML [10] and ROOM [17] do not offer a reasoning framework to prove refinements and classic and domain specific properties. Some initiatives have been proposed to give formal semantics to UML and to some of its profiles [4, 12] , through translations of diagrams and elements of UML into specifications in formal notations, such as CSP, Z [19] and Circus [16] . However, these initiatives address only a small subset of UML. The reverse process, translating CSP specifications into UML graphical models preserving the formal semantics, permits that the design of an application be driven and constrained both by the modeling features available in UML, as its architectural and behavioural style rules, and the properties imposed by the source CSP specification [9] . Although these UML models cannot be used to reason about complex properties, the formal CSP specifications that give rise to these models carry the desired properties. This paper presents compositional rules to systematically map CSP specifications into UML-RT models. Although formal proofs are suggested as future work, the rules are intended to preserve semantics of the source model. 8] is a UML profile that is suitable for modeling complex event-driven systems, such as mobile phone applications. This profile has all possible elements and diagrams from the UML standard [10], in addition to some specific elements from ROOM [8, 17] , which allow modeling complex dynamic structures and dynamic relationships between them. As a result, UML-RT allows representing the main behavioural and structural concepts from CSP through its diagrams. Furthermore, the formal semantics inherited from ROOM allows generating code, making it possible also to animate and test CSP models through translation. The CSP notation under consideration here is the one described in [15] . This translation makes it possible to bridge the gap between formal modeling and system analysis. A major advantage is the possibility to associate the system functionalities with structural elements, such as components and independent processes, and to present their interactions through a visual model, with preservation of the formal semantics. This abstract visual model can then be formally refined using
doi:10.1016/j.entcs.2007.08.026 fatcat:vupaaydqenbebircdrtuuqk3ze