The underlying model of distributed systems is that of loosely coupled components r running in parallel and communicating by message passing. Description, construction and evoluti...
A key difficulty in the maintenance and evolution of complex software systems is to recognize and understand the implicit dependencies that define contracts that must be respecte...
Modeling object-oriented applications using collaborations and roles is now well accepted. Collaboration-based or role-based designs decompose an application into tasks performed ...
During software development and evolution activities, the developers focus the refactoring efforts on choosing and applying refactoring patterns (or sequences of patterns) that ar...
In a highly dynamic environment, software systems requires a capacity of self-adaptation to fit the environment and the user needs evolution, which increases the software archite...