Generic Architecture of an Expert System for Diagnosis MA. EUGENIA CABELLO, CRISTÓBAL COSTA, ISIDRO RAMOS, JOSÉ A. CARSÍ Department of Information Systems and Computer Science Polytechnic University of Valencia Camino de Vera s/n, 46022 Valencia SPAIN Abstract: This paper presents the construction of a model software (PIM following OMG standards) of an expert system for diagnostic tasks within the framework PRISMA. PRISMA allows the user to obtain a product line for this type of system, offering advantages that PRISMA architectures provide in the construction of distributed, complex, and re-usable systems. Our architectural model is described in two levels: the type level to define the types of the architectural elements that make up the model, and the configuration level to define the instances and specify the topology of the model. By means of the PRISMA Model Compiler, the model is transformed automatically to .NET executable code (PSM). Key-Words: software architectures, aspects, architectural elements, diagnosis, reusability of software, expert systems 1 Introduction Systems for diagnosis have recently become of great interest. They identify the internal causes that lead to problems starting from a series of observable data. This need has motivated the development of systems that perform tasks of this type in different domains such as medicine, law, electronics, meteorology and agriculture. At the present time, the importance of software systems has increased along with their complexity and, therefore, there is an increased need to improve them. In order to improve the development and maintenance of diagnostic systems, a generic architectural model of an expert system has been constructed to perform diagnostic tasks, using the modelling framework PRISMA [1]. This model offers the advantages of distributed systems, facilitating reusability and decreasing complexity. In the proposed method, once the different architectural elements and aspects that make up the system are identified, the topology of our architectural model is obtained. This model is instantiated, obtaining a specific topology for any kind of system that is desired. In this way, generic software applications for diagnostic systems can be obtained. This model is automatically compiled into C# code and into its abstract specification in the PRISMA ADL by means of the PRISMA Model Compiler. The article is divided into five sections. Section 2 introduces the PRISMA model and the architecture of the expert system; the correspondence between the two gives rise to our generic PRISMA architecture for expert systems. Section 3 describes the proposed architectural model. Section 4 presents the related works. Finally, section 5 presents our conclusions and future work. 2 Architectural foundations The architectural conceptual model presented in this work has been designed within the framework of the PRISMA model, considering the architecture and operation of a rule-based expert system. 2.1 The PRISMA model The PRISMA model integrates two approaches: the Component-Based Software Development approach (CBSD) [2] and the Aspect-Oriented Software Development approach (AOSD) [3]. This integration is obtained by defining the architectural elements through their aspects. The PRISMA model not only defines basic architectural elements and specifies their syntax and their semantic, it also specifies the aspects that cover the necessary properties of each element. PRISMA makes the detection of the architectural elements using the functional decomposition criterion applied to software architectures [4]. This detection has resulted in architectural elements in different abstraction levels. PRISMA defines the architectures in two levels: the type level and the configuration level. In the type level, the types of the architecture are defined: interfaces, aspects, components, connectors and Proceedings of the 10th WSEAS International Conference on COMPUTERS, Vouliagmeni, Athens, Greece, July 13-15, 2006 (pp759-764)