Considering software developed in a component based fashion, one important aspect about software reconfiguration is to decide how to change the software structure. In some applications, to manually describe the reconfiguration plan to be executed can be a very complex task for developers, like those based in rules and supported by an expert system. Furthermore, this plan must be correct in relation to the programming model, the application architectural restrictions and it must leave the application in a consistent state. In order to reconfigure some application structure, considering aspects related to the application consistency, this work proposes an approach that employs Artificial Intelligence techniques to solve this issue. After a desired configuration has been chosen for some context, the task is to decide how to achieve the desired state, generating a reconfiguration plan, in a consistent manner and, after that, execute it. The plan is generated based on a model of cause and effect, which describes the set of reconfiguration actions from the underlying component model, that has reflective capacity to execute the reconfiguration plan.