Hindawi Publishing Corporation Advances in Software Engineering Volume 2009, Article ID 656810, 26 pages doi:10.1155/2009/656810 Research Article A Polyadic pi-Calculus Approach for the Formal Specification of UML-RT J. M. Bezerra and C. M. Hirata Computer Science Department, Instituto Tecnol´ ogico de Aeron´ autica (ITA), S˜ ao Jos´ e dos Campos, SP 12228-900, Brazil Correspondence should be addressed to J. M. Bezerra, juliana@ita.br Received 6 November 2008; Revised 31 March 2009; Accepted 20 May 2009 Recommended by Thomas B. Hilburn UML-RT is a UML real-time profile that allows modeling event-driven and distributed systems; however it is not a formal specification language. This paper proposes a formal approach for UML-RT through a mapping of the UML-RT communicating elements into the π -calculus (or pi-calculus) process algebra. The formal approach both captures the intended behavior of the system being modeled and provides a rigorous and nonambiguous system description. Our proposal dierentiates from other research work because we map UML-RT to π -calculus, and we allow the mapping of dynamic reconfiguration of UML-RT unwired ports. We illustrate the usage and applicability of the mapping through three examples. The first example focuses on explaining the mapping; the second one aims to demonstrate the use of the π -calculus definitions to verify system requirements; the third case is an example of mobile processes called Handover protocol. Copyright © 2009 J. M. Bezerra and C. M. Hirata. This is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited. 1. Introduction The specification and development of real-time systems are a challenge due to their characteristic of criticality and safety. Formal methods have been seen as eective in real-time system development [1, 2]. The main advantage of formal methods is to allow a rigorous and nonambiguous system description; so it is possible, through formal verification, to evaluate some aspects such as consistency, completeness, and correctness. The formal verification involves the formal modeling of the system, the formal specification of require- ments or properties, and the inference rules to prove that the model satisfies the properties (model checking) [35]. The standard DO-178B, Software Considerations in Airborne Systems and Equipment Certification [6], is an acceptable guideline for embedded software approval used by the certification authorities. It suggests the use of formal methods to complement tests, because they generally increase confidence on correct behavior or that anomalous behavior will not occur. Furthermore, formal verification of models helps the designers to find out errors earlier in the modeling phase, which is essential to reduce costs according to Pressman [7]. The most well-known modeling language is Unified Modeling Language (UML), ocially defined by the Object Management Group (OMG). Up to the UML version 1.5 [8], the standard lacks support for some important aspects of embedded real-time systems, such as time constraints, signals, and independent components. Aiming to adapt UML to real-time system modeling, some UML profiles were proposed [9, 10]. For instance, Rational Software Company (now IBM) defined the UML RealTime (UML-RT) [11] profile that permits to model distributed and event-driven systems. The profile is supported by the IBM Rational Rose RealTime (RoseRT) tool [12]. With the advance of UML 2.0 [13], UML was improved to model large-scale software systems including the ability to model entire system architectures. The basis of the improvement comes from the experience with various architectural description languages, such as UML-RT [14]. RoseRT is now commercialized as IBM Rational Rose Technical Developer tool [15]; however the features of UML- RT are still present, because they are the source of UML 2.0 structure concepts, for example, the capsule is directly translated to structured classes in UML 2.0.