A case-based reasoning approach for materializing software architectures onto object-oriented designs

German L. Vazquez, Marcelo Campo, J. Andrés Díaz Pace · 2008

Software architectures enable to capture early design decisions in the software design process. Architecture designs are materialized onto object-oriented elements trying to realize the functional and quality requirements they prescribe. The materialization of software architectures is a very complex task and requires developers with an important background of design knowledge and expertise. In practice, developers derive object-oriented counterparts of architectural elements by recalling previous design solutions used in the past to solve new similar problems. In this paper, we propose a new approach called SAME (Software Architecture Materialization Explorer) to assist and guide developers (particularly novice ones) in the materialization process. The approach relies on the case-based reasoning metaphor in which developers' experiences are codified into a knowledge repository so that they can be reused, by means of a systematic reasoning procedure, to derive new architecture materializations.

Read the paper · More papers on PaperTik