SIMULATION-BASED ARCHITECTURAL EVALUATION FOR COLLABORATIVE SYSTEMS M. Pérez, A. Grimán Departamento de Procesos y Sistemas. Universidad Simón Bolívar. Caracas, Venezuela {movalles, agriman}@usb.ve F. Losavio Centro ISYS, Laboratorio LaTecS Universidad Central de Venezuela. Caracas, Venezuela flosav @cantv.net Abstract Software quality can be expressed through various attributes, many of which depend on the architecture by nature. The foundation of any software systems is the architecture. This means evaluating software architecture early in the development process, to mitigate risks and emphasizing on the architecture definition and specification. Therefore an architecture-focused development process, with an integrated self- evaluation, must be selected. Since there is no known process covering these attributes, a method capable of evaluating the architecture must be built into the development process. The purpose of this research is to present the incorporation of Design & Use of Software Architecture method, formulated by Jan Bosch to a standard software development process, emphasizing on the definition of the software architecture through its quality attributes. The improved development process was applied to the Knowledge Management System (KMS) case study, in the domain of Collaborative Systems. The most important quality attributes for the KMS were selected during the elaboration phase, candidates architectures were proposed for it and the most suitable architecture selected using a simulation technique based on the RAPIDE Architecture Definition Language. An interesting result of this research was the specification of the critical quality attributes for the Collaborative Systems domain. Keywords: Software architecture, Architectural evaluation, Architectural design, Architectural quality, Quality attributes, Knowledge Management Systems, Bosch Method, RAPIDE 1. Introduction A stable architecture for guiding the system throughout its future lifetime is obtained iteratively and includes the identification of requirements, design, implementation and testing. Software architecture encompasses the different ways of presenting the system through components from different perspectives or points of view. However, software architecture is influenced not only just by structure and behavior, but also by use, functionality, performance, flexibility, reuse, understandability, constraints, economic and technological commitments and aesthetics [6]. Many of these are intuitive quality attributes that any architecture must have. Notice that the software system built on an architecture, holding a set of internal quality attributes, will “inherit” these quality properties, when operated by its end users. Which includes functionality, or satisfying the requirement behavior patterns for the system [1]. These authors believe that software architecture is important because it facilitates communication among stakeholders and helps in decision-making on design issues by defining restrictions involving implementation, identifying quality attributes, handling changes and using transferable and reusable models. Notice that it is the mapping of the system’s functionality onto software structures that determines the architecture’s support for qualities. The main goal of this research is to present the use of the Design & Use of Software Architecture method, formulated by Jan Bosch [2], to customize the early phases of the Rational Unified Process [6, 7], emphasizing on the definition of the software architecture through its quality attributes. The improved development process was applied to a Knowledge Management System (KMS) case study, in the domain of Collaborative Systems. The most important quality attributes for the KMS were selected during the elaboration phase, candidate architectures were proposed for it and the most suitable architecture selected using a simulation technique based on the architecture specification written in RAPIDE [12] Architecture Definition Language (ADL). An interesting result of this research was the specification of the critical quality attributes for the Collaborative Systems, establishing a quality model for this domain. This paper briefly describes the case study, the improved development process used in the construction, the architectural views, the quality attributes identified for the architecture, the results of applying the simulation technique based on RAPIDE to evaluate the architecture for PROYECTOS DID-KMS and the transformation of the architecture. Lastly the conclusions and recommendations are presented.