A UML Profile and a FUJABA PlugIn for modelling dynamic software architectures Mohamed Nadhmi MILADI University of Sfax ReDCAD Laboratory Route Soukra Km 3.5 B.P W 3038 Sfax Email: nadhmi@gmail.com Mohamed JMAIEL University of Sfax ReDCAD Laboratory Route Soukra Km 3.5 B.P W 3038 Sfax Email: mohamed.Jmaiel@ enis.rnu.tn Mohamed hadj Kacem University of Sfax ReDCAD Laboratory Route Soukra Km 3.5 B.P W 3038 Sfax Email: mohamed.hadjkacem@ fsegs.rnu.tn Abstract In this paper we propose an UML profile and a FUJABA Tool Suite PlugIn for modelling components based on dy- namic software architecture. This former called “Architec- tural PlugIn” implementing a new UML Profile [10] and allowing the mapping built models to XML language after validating the obtained generated files with respect to its schemas. In fact, the UML profile enables us to model dy- namic software architectures which is in turn made up of three diagram types: the first type deals with the structural aspect defining the architectural style of an application, the second handles the dynamic aspect by modelling a set of re- configuration operations and the final one that models the coordination among the reconfiguration operations defined in the above aspect. 1 Introduction Nowadays, software has an important role in various sys- tems among of which the critical infrastructures or trans- portation systems. These systems should have special pro- prieties such as availability and reliability that have to be satisfied by the software parts [18]. More piece of evidence, these mentioned systems are found in numerous fields for example : telephone switching systems, banking systems, mobile embedded systems . . . More deeply, unmanned con- trol systems and critical systems such as spacecraft naviga- tional systems need robustness to detect and to repair auto- matically anomalies at run-time [17]. Dynamic reconfiguration techniques appear to be a promise for building systems that have requirements for adaptability and/or high availability. In fact, it is the process of making changes to an executing system without requir- ing the temporary system shutdown [5]. In order to pro- vide a more generic and systematic independent view, we need to describe the software architecture and the dynamic reconfiguration at a high-level of abstraction. Languages which deal with software architectures can be divided into three classes. The first corresponds to Architecture De- scription Languages (ADL), like Darwin [3], Olan [1], and Rapide [14]. However, most of ADLs describe architec- ture evolution by the use of some predefined configurations that can’t draft all architectural changes [9]. The second in- cludes works that are based on formal techniques such as graph based techniques [6, 16, 20], logic based [4] and al- gebra process based [19]. Whereas, these techniques are generally difficult to apprehend. The third one corresponds to the Unified Modelling language (UML) [15] which be- came a standard as well in the industrial community as the academic one. Despite the founded innovations in the 2.0 version, this language remains inappropriate in mod- elling dynamic architectures [10]. In a sense, UML gives all necessary elements to model component based software architecture. The modelling of such architecture was al- most achieved by important innovation in the component diagram (new component notation, port, required interface and provided interface notation) and the composite struc- ture diagram (one of the four new diagrams introduced in UML2.0) [15]. All these innovations focus on the mod- elling of static software aspects. Nevertheless, the dynamic aspect of such architectures in terms of reconfiguration and architectural evolution, didn’t specifically deal in UML lan- guage. In order to cover these weaknesses, we propose a new UML profile called “architectural profile” [10] which com- bines the expressive UML powers and graph grammar. It allows to model software architectures (structural, dynamic and coordination aspects). To be more precise, the structural