Design patterns: elements of reusable object-oriented software
Design patterns: elements of reusable object-oriented software
ACM Computing Surveys (CSUR)
Verification and validation of simulation models
Proceedings of the 30th conference on Winter simulation
The use of graphical models in model validation
WSC '86 Proceedings of the 18th conference on Winter simulation
Simulation Model Design and Execution: Building Digital Worlds
Simulation Model Design and Execution: Building Digital Worlds
The Cathedral and the Bazaar
Eclipse Modeling Framework
ISconf: Theory, Practice, and Beyond
LISA '03 Proceedings of the 17th USENIX conference on System administration
Managing the Complexity of Large Free and Open Source Package-Based Software Distributions
ASE '06 Proceedings of the 21st IEEE/ACM International Conference on Automated Software Engineering
TCS:: a DSL for the specification of textual concrete syntaxes in model engineering
Proceedings of the 5th international conference on Generative programming and component engineering
Static detection of security vulnerabilities in scripting languages
USENIX-SS'06 Proceedings of the 15th conference on USENIX Security Symposium - Volume 15
LISA '06 Proceedings of the 20th conference on Large Installation System Administration
Large scale Linux configuration with LCFG
ALS'00 Proceedings of the 4th annual Linux Showcase & Conference - Volume 4
Staged deployment in mirage, an integrated software upgrade testing and distribution system
Proceedings of twenty-first ACM SIGOPS symposium on Operating systems principles
PoDIM: a language for high-level configuration management
LISA'07 Proceedings of the 21st conference on Large Installation System Administration Conference
ATL: A model transformation tool
Science of Computer Programming
Automatically Generating Behavioral Models of Adaptive Systems to Address Uncertainty
MoDELS '08 Proceedings of the 11th international conference on Model Driven Engineering Languages and Systems
Package upgrades in FOSS distributions: details and challenges
Proceedings of the 1st International Workshop on Hot Topics in Software Upgrades
Devolved management of distributed infrastructures with Quattor
LISA'08 Proceedings of the 22nd conference on Large installation system administration conference
A Domain Specific Language for Extracting Models in Software Modernization
ECMDA-FA '09 Proceedings of the 5th European Conference on Model Driven Architecture - Foundations and Applications
Towards maintainer script modernization in FOSS distributions
Proceedings of the 1st international workshop on Open component ecosystems
Computer
Reflections on the Simulation of Complex Systems for Science
ICECCS '10 Proceedings of the 2010 15th IEEE International Conference on Engineering of Complex Computer Systems
Nixos: A purely functional linux distribution
Journal of Functional Programming
Supporting software evolution in component-based FOSS systems
Science of Computer Programming
EAGLE: engineering software in the ubiquitous globe by leveraging uncErtainty
Proceedings of the 19th ACM SIGSOFT symposium and the 13th European conference on Foundations of software engineering
Bridging grammarware and modelware
MoDELS'05 Proceedings of the 2005 international conference on Satellite Events at the MoDELS
Hi-index | 0.00 |
Context: The upgrade of complex systems is intrinsically difficult and requires techniques, algorithms, and methods which are both expressive and computationally feasible in order to be used in practice. In the case of FOSS (Free and Open Source Software) systems, many upgrade errors cannot be discovered by current upgrade managers and then a system upgrade can potentially lead the system to an inconsistent and incoherent state. Objective: The objective of this paper is to propose an approach to simulate the upgrade of complex systems in order to predict errors before they affect the real system. Method: The approach promotes the use of model-driven engineering techniques to simulate the upgrade of complex systems. The basic idea is to have a model-based description of the system to be upgraded and to make use of model transformations to perform the upgrade on a source model so to obtain a target model representing the state of the upgraded system. Results: We provide an implementation of the simulator, which is tailored to FOSS systems. The architecture of the simulator is distribution independent so that it can be easily instantiated to specific distributions. The simulator takes into account also pre and post-installation scripts that equip each distribution package. This feature is extremely important since maintainer scripts are full-fledged programs that are run with system administration rights. Conclusions: The paper shows the kind of errors the simulator is able to predict before upgrading the real system, and how the approach improves the state of the art of package managers while integrated in real Linux distribution installations.