Software Engineering: Integration Requirements * AYAZ ISAZADEH Department of Computer Science Tabriz University Tabriz, IRAN Abstract: - This paper presents a discussion of software integration requirements, with an emphasis on the requirements of post-factum software systems integration. The problem is defined; the requirements and associated issues are discussed. Formality as a major requirement of software integration is emphasized and a formal approach, called Compositional integration, is introduced. The requirements for integration of redundant software components, developed using diverse software engineering methodologies, into a fault tolerant system is described. Finally, the paper concludes with a brief discussion of dynamic integration requirement and some final remarks. Key-Words: Software Integration, Requirements Specification, Software Architecture. 1 Introduction The major motivation leading to this work comes from some unpleasant industrial experiences in soft- ware maintenance, enhancement, and integration. There have been cases where side effects of simple modifications or small enhancements have caused failures of large-scale properly functioning software systems in the field. A software system, functioning as specified in the field for years, may not behave according to the specifications when integrated with another system. Earlier features of communication systems, for example, were specified and developed based on assumptions which may no longer be true. Later features, then, added to an environment with changing assumptions, result in the problem of Fea- ture Interactions, discussed by Pamela Zave [1]. Software technology is growing and changing so rapidly that almost any software system must be modified or reconfigured to provide enhanced inte- grated solutions to the changing world. In many cases, the requirements specification of an exist- * This work has been supported by the Research Institute for Fundamental Sciences, Tabriz, Iran. ing software system, is either no longer available or does not correspond to the actual system. Modifica- tion and maintenance of such a system, as well as its integration with a new system, is a serious problem. The focus of this paper is on the requirements of post-factum integration of software components. Post-factum integration, also called “post-facto in- tegration” by some researchers [2], refers to tech- niques for combining existing software components to form complete systems. In post-factum integra- tion, a software component can be a library subrou- tine, a program developed specifically for the pur- pose of integration, or a complete and possibly com- plex system. Post-factum integration, however, in- cludes at least one existing software system, devel- oped in the past with no plan for its systematic inte- gration with any other component. 2 Definitions Software integration problem includes one or more of the following variations: 1. Systems Integration: Given two or more soft- ware systems, subsystems, or components,