Coupling is considered by many to be an important concept in measuring design quality. There is still much to be learned about which aspects of coupling affect design quality or o...
Open component architectures, such as CORBA, allow software systems to be composed of independent components. The behavior of components is described with a mixture of an interfac...
Refactoring makes existing source code more understandable and reusable without changing observable behavior. Therefore, applying refactorings to existing source code and reversin...
Scenarios are powerful tools to model and analyze software systems. However, since they do not provide a complete description of the system, but just some possible execution paths,...
Artificial Intelligence has contributed (formal) design models and software support tools to application areas such as architecture, engineering and software design. This paper exp...