Towards a Model Driven Approach to Upgrade Complex Software Systems

Antonio Cicchetti, Davide Di Ruscio, Patrizio Pelliccione, Alfonso Pierantonio, Stefano Zacchiroli

2009

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 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.

References

  1. Spinellis, D., Szyperski, C.: How is open source affecting software development. IEEE Computer, 21 (1), (2004) 28 - 33.
  2. Noronha Silva, G.: APT howto. (http://www.debian.org/doc/manuals/apt-howto/) (2008).
  3. Niemeyer, G.: Smart package manager. (http://labix.org/smart) (2008).
  4. Apache maven project. (http://maven.apache.org/) (2008).
  5. Szyperski, C. Component Software. Beyond Object-Oriented Programming. AddisonWesley (1998).
  6. Szyperski, C. Component technology: what, where, and how? In: Proceedings of ICSE03, ACM (2003).
  7. Di Cosmo, R., Trezentos, P., Zacchiroli, S.: Package upgrades in FOSS distributions: Details and challenges. In: HotSWup'08. (2008) To appear.
  8. Cousot, P. Abstract interpretation. ACM Computing Surveys 28(2) (2006).
  9. Mancinelli, F., Boender, J., Cosmo, R.D., Vouillon, J., Durak, B., Leroy, X., Treinen, R. Managing the complexity of large free and open source package-based software distributions. In: ASE 2006, Tokyo, Japan, IEEE CS Press (September 2006) 199 - 208.
  10. EDOS Project Report on formal management of software dependencies. EDOS Project Deliverable D2.1 and D2.2 (March 2006).
  11. Treinen, R., Zacchiroli, S.: Description of the CUDF format. Mancoosi project deliverable D5.1 (November 2008).
  12. Jackson, I., Schwarz, C.: Debian policy manual. (http://www.debian.org/doc/debian-policy/) (2008).
  13. Tucker, C., Shuffelton, D., Jhala, R., Lerner, S. Opium: Optimal package install/uninstall manager. In: ICSE 7807, IEEE Computer Society (2007) 178 - 188.
  14. Mens, T., Straeten, R.V.D., D'Hondt, M.: Detecting and resolving model inconsistencies using transformation dependency analysis. In: MoDELS 2006. Volume 4199 of LNCS. (2006) 200 - 214.
  15. Cicchetti, A., Ruscio, D.D., Pierantonio, A. Managing model conflicts in distributed development. In: MoDELS 2008. Volume 5301 of LNCS. (2008) 311 - 325.
  16. Schmidt, D.C. Guest Editor's Introduction: Model-Driven Engineering. IEEE Computer 39(2) (2006) 25 - 31.
  17. Bézivin, J. On the Unification Power of Models. SOSYM 4(2) (2005) 171 - 188.
  18. Di Ruscio, D., Pelliccione, P., Pierantonio, A., Zacchiroli, S. Metamodel for describing system structure and state. Mancoosi Project deliverable D2.1 (January 2009).
  19. Dolstra, E., Hemel, A. Purely functional system configuration management. In: USENIX'07, San Diego, CA (2007) 1 - 6.
  20. Olin Oden, J. Transactions and rollback with rpm. Linux Journal 2004(121) (2004) 1.
  21. Trezentos, P., Di Cosmo, R., Lauriere, S., Morgado, M., Abecasis, J., Mancinelli, F., Oliveira, A. New Generation of Linux Meta-installers. Research Track of FOSDEM 2007 (2007).
  22. Dolstra, E., Löh, A. NixOS: A purely functional linux distribution. In: ICFP. (2008) To appear.
  23. McQueen, R. Creating, reverting & manipulating filesystem changesets on Linux. Part II Dissertation, Computer Laboratory, University of Cambridge (May 2005).
  24. Xie, Y., Aiken, A. Static detection of security vulnerabilities in scripting languages. In: USENIX-SS'06. (2006) 179 - 192.
  25. Mazurak, K., Zdancewic, S. Abash: finding bugs in bash scripts. In: PLAS 7807, ACM (2007) 105 - 114.
Download


Paper Citation


in Harvard Style

Cicchetti A., Di Ruscio D., Pelliccione P., Pierantonio A. and Zacchiroli S. (2009). Towards a Model Driven Approach to Upgrade Complex Software Systems . In Proceedings of the 4th International Conference on Evaluation of Novel Approaches to Software Engineering - Volume 1: ENASE, ISBN 978-989-811-98-2, pages 121-133. DOI: 10.5220/0001954801210133


in Bibtex Style

@conference{enase09,
author={Antonio Cicchetti and Davide Di Ruscio and Patrizio Pelliccione and Alfonso Pierantonio and Stefano Zacchiroli},
title={Towards a Model Driven Approach to Upgrade Complex Software Systems},
booktitle={Proceedings of the 4th International Conference on Evaluation of Novel Approaches to Software Engineering - Volume 1: ENASE,},
year={2009},
pages={121-133},
publisher={SciTePress},
organization={INSTICC},
doi={10.5220/0001954801210133},
isbn={978-989-811-98-2},
}


in EndNote Style

TY - CONF
JO - Proceedings of the 4th International Conference on Evaluation of Novel Approaches to Software Engineering - Volume 1: ENASE,
TI - Towards a Model Driven Approach to Upgrade Complex Software Systems
SN - 978-989-811-98-2
AU - Cicchetti A.
AU - Di Ruscio D.
AU - Pelliccione P.
AU - Pierantonio A.
AU - Zacchiroli S.
PY - 2009
SP - 121
EP - 133
DO - 10.5220/0001954801210133