A Model Driven Approach to Upgrade Package-Based Software Systems
Abstract
Complex software systems are more and more based on the abstraction of package, brought to popularity by Free and Open Source Software (FOSS) distributions. While helpful as an encapsulation layer, packages do not solve all problems of deployment, and more generally of management, of large software collections. In particular upgrades, which often affect several packages at once due to inter-package dependencies, often fail and do not hold good transactional properties. This paper shows how to apply model driven techniques to describe and manage software upgrades of FOSS distributions. It is discussed how to model static and dynamic aspects of package upgrades---the latter being the most challenging aspect to deal with---in order to be able to predict common causes of upgrade failures and undo residual effects of failed or undesired upgrades.