Opening Up Architectures of Software-Intensive Systems: A First Prototype Implementation

Abstract

Although there already exist tools to assist in understanding the behavior of software systems when no complete and consistent design models are available, these tools generate a large volume of information. One approach to deal with this problem is information hiding. This technical memorandum presents a prototype which implements this technique to reverse engineer dynamic models from Java software systems. These models are represented using Unified Modeling Language (UML) sequence diagrams. Such diagrams show the interactions, in terms of messages or information transfers, between the operational nodes of a system, arranged in a time sequence. Information hiding is achieved by reconstructing the sequence diagrams at various levels of abstraction. The interactions between the operational nodes of a system can be displayed at a low level, i.e., object level. However, related operational nodes can also be regrouped into higher level structures, i.e., packages. The proposed approach was implemented in Eclipse, an extensible integrated development environment (IDE). The objective is to complement the behavioral views reverse engineered by the implemented prototype with structure views generated by other tools.

Open PDF

Document Details

Document Type
Technical Report
Publication Date
Nov 01, 2007
Accession Number
ADA475341

Entities

People

  • Dany Dessureault
  • David Ouellet
  • Michel Lizotte
  • Philippe Charland

Organizations

  • DRDC Valcartier

Tags

Communities of Interest

  • C4I
  • Materials and Manufacturing Processes

DTIC Thesaurus Topics

  • Computer Programming
  • Computer Programs
  • Computers
  • Engineering
  • Graphical User Interface
  • Information Science
  • Information Transfer
  • Java Programming Language
  • Language
  • National Security
  • Operating Systems
  • Prototypes
  • Reverse Engineering
  • Security
  • Software Design
  • Software Development
  • Xml

Fields of Study

  • Computer science
  • Engineering

Readers

  • Database Systems and Applications
  • Software Engineering.