were the considered shell language subsets. Given these premises, we are skeptical that
static analysis can fully solve the problems illustrated in this work.
6 Conclusions and Future Works
In this paper we presented a model-driven approach to manage the upgrade of FOSS
distributions. This approach represents an important advance with respect to the state
of the art in the following directions: it provides the base on which developing features
to(i) support the roll-back of failed or unwanted upgrades, and (ii) simulate the execu-
tion of upgrade runs (including maintainer script behaviors) that we described in terms
of models. A running example showed how the proposed models allow a reasonable
description of the state of the system and representation of its evolution over time.
As future work we plan to implement these results and to develop a transactional
update engine in the real context of Debian and Mandriva distributions. Moreover, the
metamodels proposed in this paper will be the foundation to define a new Domain Spe-
cific Language (DSL) for maintainer script specifications.
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. Addison-
Wesley (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. Man-
aging 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 ’07, IEEE Computer Society (2007) 178 - 188.
14. Mens, T., Straeten, R.V.D., D’Hondt, M.: Detecting and resolving model inconsistencies us-
ing 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 devel-
opment. 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
´
ezivin, J. On the Unification Power of Models. SOSYM 4(2) (2005) 171 - 188.
132