System architecture recovery for open source software integration – A prototype to support system comprehension and component substitution


  1. Charland, P.
  2. Ouellet, D.
  3. Salois, M.
Corporate Authors
Defence R&D Canada - Valcartier, Valcartier QUE (CAN)
Software component substitution is a common maintenance activity. It can informally be defined as the process of replacing an existing component in a system by a candidate component meeting new functional or non-functional requirements. A component is usually considered as a black box which provides and requires services through its interfaces. Before a component can be substituted, the existing software system must be understood to identify the scope of the component to replace, the services it provides, as well as to comprehend how it depends on other components or how its replacement could affect the overall system behavior. Although these tasks are already challenging for large and complex systems, they are further complicated by the fact that for most of them, the source code is the only complete and up-to-date documentation available. As a result, before a component can be substituted, the architecture of the existing system must be understood. This technical report describes a suite of tools to assist with this task. It was implemented in Eclipse, an extensible integrated development environment (IDE). A case study is presented to demonstrate the applicability of this suite of tools on a realistic software component substitution example.

Il y a un résumé en français ici.

Report Number
DRDC-VALCARTIER-TR-2008-464 — Technical Report
Date of publication
01 May 2009
Number of Pages
Electronic Document(PDF)

Permanent link

Document 1 of 1

Date modified: