Architectural Specification and Analysis of the Aegis Combat System Mert Ozkaya Istanbul Kemerburgaz University, Department of Computer Engineering Istanbul, Turkey mert.ozkaya@kemerburgaz.edu.tr Abstract. Software architecture is nowadays considered as a highly important design activity due to enabling the analysis of system behaviours and detecting the design errors before they propagate into implementation. There have been many architecture description languages developed so far that focus on analysing software architectures. However, these languages require the use of process al- gebras for specifying system behaviours, which are found unfamiliar by prac- titioners in general. XCD (Connector-centric Design) is one of the most recent languages that is instead based on the well-known Design-by-Contract approach. In this paper, XCD is illustrated in architectural modelling and analysis via the Aegis Combat System case-study. With the Aegis system, it is aimed to show how one of the most common design errors, i.e., the deadlocking components, can be caught in XCD and prevented in a modular way. In the paper, XCD is also compared with Wright, one of the most influencing architecture description languages, with which Aegis has been specified and analysed for deadlock too. 1 Introduction Software architectures have always been one of the most crucial topics in software engineering since the early nineties. Although there have been various definitions pro- vided, software architectures are commonly considered as the high-level design activity through which software systems can be specified in terms of components interacting with each other via connectors [4]. There have been so many architecture description languages (ADLs) developed to date [7]. These languages may differ in their scope of interest, some focussing on early code generation from software architectures while some focussing on architectural analysis. With the architectural analysis, it becomes possible to verify the behaviours of system components and connectors. To enable this, ADLs base their notations to some process algebras [9]. Indeed, process algebras are supported by model checkers, which can exhaustively verify algebraic architecture specifications for, e.g., deadlock. However, algebraic ADLs are found unfamiliar by practitioners in general, which has also been stated in Malavolta et al.’s survey [6]. XCD (Connector-centric Design) [11] is one of the most recent ADLs, which, unlike the algebraic ADLs, supports architectural modelling and analysis without imposing process algebra. XCD is based on the well-known Design-by-Contract approach [8] and