Discovering Architectures from Running Systems

Project Description

One of the challenging problems for software developers is guaranteeing that a system as built is consistent with its architectural design. DiscoTect is a technique that uses runtime observations about an executing system to construct an architectural view of the system. In this technique, we develop mappings (in a language called DiscoSTEP) that exploit regularities in system implementation and architectural style. These mappings describe how low-level system events can be interpreted as more abstract architectural operations.

Project Home Page: http://able.fluid.cs.cmu.edu:8080/Able/DiscoTect

Research

Our Position: Regularities in implementation "style" and architectural style can be exploited to reuse complex mappings between systems and their architectures.

Sample Questions

  • How do you effectively instrument a system? Can instrumentation be generated from the DiscoSTEP mapping?
  • What mapping constructs can be used to conveniently express and reuse mappings?
  • How can you guarantee sufficient coverage to be confident that the generated architecture is complete?
  • Can we use this approach to determine architectural behavior, in addition to architectural structure

Contacts

David Garlan, Bradley Schmerl.

Related Publications