February 2 – 7 , 2003, Dagstuhl Seminar 03061

Software Architecture: Recovery and Modelling


Rick Kazman (Carnegie Mellon University – Pittsburgh, US)
Rainer Koschke (Universität Bremen, DE)
Arie van Deursen (CWI – Amsterdam, NL)

For support, please contact

Dagstuhl Service Team


List of Participants
Dagstuhl's Impact: Documents available


Description of the Seminar Topic

Software architecture is recognized as a critical element in the successful development and evolution of software-intensive systems. In 1995, the Dagstuhl Seminar No. 9508 on Software Architecture (organizers: D. Garlan, F. Paulisch, W. Tichy) was held. In retrospection, the seminar has had a tremendous impact on both research and practice of software architecture. Today, we have workshops and conferences as well as many books on software architecture. The IEEE has recently set a standard on recommended practice for architectural description of software-intensive systems (IEEE-Std-1471-2000). Methods and notations exist to model software architectures during system design. Techniques are being developed to reconstruct architectural views of existing legacy systems in the postdelivery phase of a system's life cycle. However, despite the many achievements, there are still many open research questions. In this Dagstuhl seminar, we will concentrate on the relation between modeling an architecture of a new system and reconstructing and evolving an architecture of an existing system. To a large extent, these two different aspects have been examined separately in two hardly overlapping research communities of forward and reverse engineering.

The designed architecture is used to validate whether all requirements can be fulfilled and is then implemented. The architecture description helps to communicate with customers and programmers. When the system is built, new requirements may arise and the system needs to evolve. The necessary changes and their potential impact of these changes on the system are analyzed based on the designed architecture. Typically, the stakeholders involved during a system's evolution are different from those during development and they have different requirements. Maintainers need a detailed view of the architecture as-built, i.e., the one that the system actually has, as opposed to the architecture that was originally designed. The designed architecture and the architecture as-built far too often diverge due to ad-hoc changes and changes that are not properly documented.

Software architecture recovery aims at reconstructing views on the architecture as-built. Architecture recovery research issues include many topics, such as system browsing, dealing with multiple perspectives, visualization, usability evaluations, reference architectures, interface description, re-modularization, and so on.

The overall goals of the Dagstuhl seminar on Software Architecture Recovery and Modeling is to bring together researchers as well as practitioners from the two domains of modeling and recovering software architecture to exchange experiences, discuss new application areas, discover areas of mutual collaboration, and to envision future trends in the field of software architecture recovery and modeling. More specific topics are:

  • progress of the last six years since the Dagstuhl seminar on software architecture
  • architecturally relevant information for development and evolution
  • methods, techniques, and tools to design software architectures
  • methods, techniques, and tools to recover architectural views
  • notations to capture and specify models of designed architectures and architectures as-built
  • means to resolve or capture and tolerate differences between designed architecture and architecture as-built
  • aspects that ease architectural reconstruction and evolution to be considered during development

Expected Results

The expected results of this seminar are a report on the comparison of the state of the art in architecture recovery and architecture modeling, an identification of the discrepancies between constructing and re-constructing architectures, a research agenda on how to overcome these discrepancies, and established partnerships of mutual collaboration in the recovery and modeling communities to tackle this agenda.

Abstracts of Presentations

If you wish to present your work at the seminar, you are requested to submit a title and abstract before December 1st, 2002. The organizers will use these to compile a program which will be made available in advance. If we have more presentation proposals than we could reasonably integrate in the seminar, a selection of presentations will be made. Moreover, a special issue of Automated Software Engineering devoted to this seminar will appear. If you are interested in submitting a paper to this special issue, send an extended abstract or full paper to the organizers before December 1st, 2002. Based on the presentations and the submitted extended abstracts we will invite selected authors to revise, extend, and submit their papers for consideration for publication in this special issue.

Submission guidelines for the seminar


In the series Dagstuhl Reports each Dagstuhl Seminar and Dagstuhl Perspectives Workshop is documented. The seminar organizers, in cooperation with the collector, prepare a report that includes contributions from the participants' talks together with a summary of the seminar.


Download overview leaflet (PDF).


Furthermore, a comprehensive peer-reviewed collection of research papers can be published in the series Dagstuhl Follow-Ups.

Dagstuhl's Impact

Please inform us when a publication was published as a result from your seminar. These publications are listed in the category Dagstuhl's Impact and are presented on a special shelf on the ground floor of the library.