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...
Non-Functional requirements (or quality requirements, NFRs) such as confidentiality, performance and timeliness are often crucial to a software system. Our NFRFramework treats NF...
Variability modeling techniques are used to specify variable aspects of members of a family of related software artifacts. Instances of variability models are then used to effici...
This paper presents an approach for modelling interactions between users and systems in the Unifying Theories of Programming. Working in the predicate calculus, we outline generic ...