Architecture Reconstruction Guidelines Third Edition

Abstract

Architecture reconstruction is the process of obtaining the "as-built" architecture of an implemented system from the existing legacy system. For this process, tools are used to extract information about the system that will assist in building successive levels of abstraction. Although generating a useful representation is not always possible, a successful reconstruction results in an architectural representation that aids in reasoning about the system. This recovered representation is most often used as a basis for redocumenting the architecture of an existing system if the documentation is out of date or nonexistent, and can be used to check the "as-built" architecture against the "as-designed" architecture. The architectural representation can also be used as a starting point for reengineering the system to a new desired architecture. Finally, the representation can be used to help identify components for reuse or to help establish a software product line. This report describes the process of architecture reconstruction using the Architecture Reconstruction and Mining (ARMIN) tool developed by the Carnegie Mellon(registered) Software Engineering Institute and the Robert Bosch Corporation. Guidelines are presented for reconstructing the architectural representations of existing systems. Most of these guidelines are not specific to ARMIN, can be used with other tools, and are useful even if the architecture reconstruction is carried out manually.

Open PDF

Document Details

Document Type
Technical Report
Publication Date
Nov 01, 2003
Accession Number
ADA421612

Entities

People

  • Chris Verhoef
  • Liam O'brien
  • Rick Kazman

Organizations

  • Carnegie Mellon University

Tags

Communities of Interest

  • Space

DTIC Thesaurus Topics

  • Abstracts
  • Case Studies
  • Computer Programming
  • Computer Programs
  • Computers
  • Construction
  • Corporations
  • Databases
  • Department Of Defense
  • Engineering
  • Language
  • New York
  • Pattern Recognition
  • Programming Languages
  • Reverse Engineering
  • Software Design
  • Software Development

Fields of Study

  • Computer science
  • Engineering

Readers

  • Software Engineering.
  • Wave Propagation and Nonlinear Chaotic Dynamics.