The MANCOOSI Approach to Software System Upgrades
|
|
|
- Baldric Barker
- 5 years ago
- Views:
Transcription
1 A Model Driven Approach to Upgrade Package-Based Software Systems Antonio Cicchetti 1,DavideDiRuscio 1, Patrizio Pelliccione 1, Alfonso Pierantonio 1, and Stefano Zacchiroli 2 1 Università degli Studi dell Aquila, Dipartimento di Informatica, Italy {cicchetti,diruscio,pellicci,alfonso}@di.univaq.it 2 Université Paris Diderot, PPS, UMR 7126, France [email protected] Abstract. Complex software systems are often 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 can affect several packages at once due to interpackage 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 more challenging to deal with in order to be able to predict common causes of upgrade failures and undo residual effects of failed or undesired upgrades. Keywords: Model-driven engineering, Software change and configuration management, Metamodeling, Open source, Package. 1 Introduction Increasingly, software systems are designed to routinely accommodate new features before and after the deployment stage. The deriving evolutionary pressure requires the system design and architecture to have enhanced quality factors: in particular, they have to retain the (user perceived as well as system-intrinsic) dependability at a satisfactory level and make component installation/removal operations less haphazard [2]. Free and Open Source Software (FOSS) distributions are among the most complex software systems known, being made of tens of thousands components evolving rapidly without centralized coordination.similarly to other software distribution infrastructures, FOSS components are provided in packaged form by distribution editors. Packages define the granularity at which components are managed (installed, removed, upgraded to newer version, etc.) using package manager applications, such as APT 1 or Apache maven 2. Furthermore, the system openness affords an anarchic array of dependency Preliminary results appeared in [1]. 1 APT howto: 2 Apache Maven Project: L.A. Maciaszek, C. González-Pérez, and S. Jablonski (Eds.): ENASE 2008/2009, CCIS 69, pp , c Springer-Verlag Berlin Heidelberg 2010
2 A Model Driven Approach to Upgrade Package-Based Software Systems 263 modalities between the adopted packages. These usually contain maintainer scripts, which are executed during the upgrade process to finalize component configuration. The adopted scripting languages have rarely been formally investigated, thus posing additional difficulties in understanding their side-effects which can spread throughout the system. In other words, even though a package might be viewed as a software unit, it lives without a proper component model usually defining standards (e.g., how a component interface has to be specified and how components communicate) [3,4] which facilitate integration and assure that components can be upgraded in isolation. The problem of maintaining FOSS installations, or similarly structured software distributions, is intrinsically difficult and a satisfactory solution is missing. Today s available package managers lack several important features such as complete dependency resolution and roll-back of failed upgrades [5]. Moreover, there is no support to simulate upgrades taking the behavior of maintainer scripts into account. In fact, current tools consider only inter-package relationships which are not enough to predict sideeffects and system inconsistencies encountered during upgrades. This work is part of the MANCOOSI 3 project which aims at improving the management of complex software systems built of composable units evolving independently. In particular, this paper describes a model-driven approach to specify system configurations and available packages. Maintainer scripts are described in terms of models which abstract from the real system, but are expressive enough to predict several of their effects on package upgrades. Intuitively, we provide a more abstract interpretation of scripts, which focuses on the relevant aspects to predict the operation effects on the software distribution. To this end, models can be used to drive roll-back operations to recover previous configurations according to user decisions or after upgrade failures. The paper is structured as follows: Section 2 describes the upgrade process of FOSS packages and, briefly, the MANCOOSI project. Section 3 describes a model driven approach to (i) specify system configurations and packages, (ii) simulate the installation of software packages, (iii) assist roll-backs. Section 4 analyzes the FOSS domain and introduces the required modeling constructs which are captured in different metamodels. Finally, Sections 5 and 6 present related and future work, respectively. 2 Packages, Upgrades and Failures Overall, the architectures of all FOSS distributions are similar. Each user machine has a local package status recording which packages are currently installed and which are available from remote repositories. Package managers are used to manipulate the package status and can be classified in two categories [6]: installers, which deploy individual packages on the filesystem (possibly aborting the operation if problems are encountered) and meta-installers, which act at the inter-package level, solving dependencies and conflicts, and retrieving packages from remote repositories as needed. In an upgrade scenario, a user request (install, remove, upgrade to a newer version, etc.) is submitted to a meta-installer to change the system configuration status; the aim of the meta-installer is then to find a suitable upgrade plan, where one exists. In the rest of the 3 MANCOOSI project:
3 264 A. Cicchetti et al. section we give a brief description of packages (as they can be found in current distributions), their role in the upgrade process, and the failures that can impact on upgrade deployment. Packages. Abstracting over format-specific details, a package is a bundle of three main parts: (1) set of files, (2) meta-information, (3) maintainer scripts. The core of a package is the set of files (1) that ships: executable binaries, data, documentation, etc. Configuration files are a distinguished subset of shipped files, which are tagged as affecting the runtime behavior of the package and meant to be customized by local administrators. Configuration files need to be present in the bundle (e.g., to provide sane defaults or documentation), but need of special treatment: during upgrades they cannot be simply overwritten by newer versions, as they may contain local changes which should not be thrown away. Package meta-information (2) is used by meta-installers to design upgrade plans. Details change from distribution to distribution, but a common core of meta-information consists of: a unique identifier (the name), software version, maintainer and package description, inter-package relationships. These relationships represent the most valuable information for dependency resolution and usually include: dependencies (the need of other packages to work properly), conflicts (the inability of being co-installed with other packages), feature provisions (the ability to declare named features as provided by a given package, so that other packages can depend on them), and boolean combinations of them [6]. Packages come with a set of executable maintainer (also known as configuration ) scripts (3). Their purpose is to attach actions to hooks invoked by the installer. The most common use case for maintainer scripts is to update some cache, blending together data shipped by the package, with data installed on the system, possibly by other packages. Three facets of maintainer scripts are noteworthy: (a) maintainer scripts are full-fledged programs, written in Turing-complete programming languages. They can do anything permitted to the installer, which is usually run with system administrator rights; (b) the functionality of maintainer scripts can not be substituted by just shipping extra files: the scripts often rely on data which are available only in the target installation machine, and not in the package itself; (c) maintainer scripts are required to work properly : upgrade runs, in which they fail, trigger upgrade failures and are usually detected via inspection of script exit code. Upgrades. Table 1 summarizes the different phases of what we call the upgrade process, using as an example the popular APT meta-installer. The process starts in phase (1) with the user requesting to alter the local package status. The expressiveness of the requests varies with the meta-installer, but the aforementioned actions (install, remove, etc.) are ubiquitously supported. Phase (2) checks whether a package satisfying dependencies and conflicts exists (the problem is at least NP-complete [6]). If this is the case one is chosen in this phase. Deploying the new status consists of package retrieval, phase (3), and unpacking, phase (4). Unpacking is the first phase actually changing both the package status (to keep track of installed packages) and the filesystem (to add or remove the involved files).
4 A Model Driven Approach to Upgrade Package-Based Software Systems 265 Table 1. The package upgrade process Intertwined with package retrieval and unpacking, there can be several configuration phases, (exemplified by phases (5a) and (5b) in Table 1), where maintainer scripts get executed.the details depend on the available hooks;dpkg offers: pre/post-installation, pre/post-removal, and upgrade to some version [7]. Exemple 1. PHP5 (a scripting language integrated with the Apache web server) executes as its postinst (post-installation) script the following snippet, on the left handside: Note that prerm is executed before removing files from disk, which is necessary to avoid reaching an inconsistent configuration where the Apache server is configured to rely on no longer existing files. The expressiveness of inter-package dependencies is not enough to encode this kind of dependencies: Apache does not depend on php5 (and should not, because it is useful also without it), but while php5 is installed, Apache needs specific configuration to work in harmony with it; at the same time, such configuration would inhibit Apache to work properly once php5 gets removed. The bookkeeping of such configuration intricacies is delegated to maintainer scripts. Failures. Each phase of the upgrade process can fail. Dependency resolution can fail either because the user request is unsatisfiable (e.g., user error or inconsistent distributions [8]) or because the meta-installer is unable to find a solution. Completeness the guarantee that a solution will be found whenever one exists is a desirable metainstaller property unfortunately missing in most meta-installers, with too few claimed exceptions [9].
5 266 A. Cicchetti et al. Package deployment can fail as well. Trivial failures, e.g., network or disk failures, can be easily dealt with when considered in isolation from the other upgrade phases: the whole upgrade process can be aborted and unpack can be undone, since all the involved files are known. Maintainer script failures can not be as easily undone or prevented, since all non-trivial properties about scripts are undecidable, including determining a priori which parts of file-system they affect to revert them a posteriori. The MANCOOSI project is working to improve upgrade support in complex software systems such as FOSS distributions. On one hand the project is working on algorithms for finding optimal upgrade paths addressing complex preferences, on the other is working on models and tools to (i) simulate the execution of maintainer scripts, (ii) predict side-effects and system inconsistences which might be raised by package upgrades, and (iii) instruct roll-back operations to recover previous configurations according to user decisions or after upgrade failures. In the rest of this paper we introduce the approach we are using, in the context of MANCOOSI, to attack the problems of package upgrades, namely: modeling of the involved entities and upgrade simulation. 3 Proposed Approach As discussed, the problem of maintaining FOSS installations is far from trivial and has not yet been addressed properly [5]. In particular, current package managers are neither able to predict nor to counter vast classes of upgrade failures. The reason is that package managers rely on package meta-information only (in particular on inter-package relationships), which is not expressive enough. Our proposal consists in maintaining a model-based description of the system and simulate upgrades in advance on top of it, to detect predictable upgrade failures and notify the user before the system is affected. More generally, the models are expressive enough to isolate inconsistent configurations (e.g., situations in which installed components rely on the presence of disappeared subcomponents), which are currently not expressible as inter-package relationships. The adoption of model-driven techniques presents several advantages: a) models can be given at any level of abstraction depending on the analysis and operations one would like to perform as opposed to package dependency information whose granularity is fixed and often too coarse; b) complex and powerful analysis techniques are already available to detect model conflicts and inconsistencies [10,11]. In particular, contradictory patterns can be specified in a structural way by referring to the domain underlying semantics in contrast with text-based tools like version control systems where conflicts are defined at a much lower level of abstraction as diverging modifications of the same lexical element. Figure 1 depicts the proposed approach. Basically, to simulate an upgrade run, two models are taken into account: the System Model and the Package Model (see the arrow a ). The former describes the state of a given system in terms of installed packages, running services, configuration files, etc. The latter provides information about the packages involved in the upgrade, in terms of inter-package relationships. Moreover, since a trustworthy simulation has to consider the behavior of the maintainer scripts which are executed during the package upgrades, the package model specifies also an abstraction of the behaviors of such scripts. There are two possible simulation outcomes: not valid and valid (see the arrows c and d, respectively). In the former case
6 A Model Driven Approach to Upgrade Package-Based Software Systems 267 Fig. 1. Overall approach it is granted that the upgrade on the real system will fail. Thus, before proceeding with it the problem spotted by the simulation should be fixed. In the latter case valid the upgrade on the real system can be operated (see the arrow i. However, since the models are an abstraction of the reality, upgrades failures might occur. During package upgrades Log models are produced to store all the transitions between configurations (see arrow b ). The information contained in the system, package, and log models (arrows e and f ) are used in case of failures (arrow l ) when the performed changes have to be undone to bring the system back to the previous valid configuration (arrow g ). Since it is not possible to specify in detail every single part of systems and packages, trade-offs between model completeness and usefulness have been evaluated; the result of such a study has been formalized in terms of metamodels (see next section) which can be considered one of the constituting concepts of Model Driven Engineering (MDE) [12]. They are the formal definition of well-formed models, constituting the languages by which a given reality can be described in some abstract sense [13] defining an abstract interpretation of the system. Even though the proposed approach is expressed in terms of simulations, the entailed metamodels do not mandate a simulator. Hybrid architectures composed by a package manager and metamodel implementations can be more lightweight than the simulator, yet being helpful to spot inconsistent configurations not detectable without metamodel guidance. 4 Modeling System and Packages The simulation approach outlined in the previous section is based on a set of coordinated metamodels which have been defined by analyzing the domain of FOSS systems. In general, a metamodel specifies the modeling constructs that can be used to define models which are said to conform to a given metamodel like a program conforms to the grammar of the programming language in which it is written [13]. In this work, we have considered two complex FOSS distributions (the Debian 4 and Mandriva 5 distributions). Their analysis has induced the definition of three metamodels (see Figure 2) which describe the concepts making up a system configuration and a
7 268 A. Cicchetti et al. Fig. 2. Metamodels and their inter-dependencies software package, and how to maintain the log of all upgrades. The metamodels have been defined according to an iterative process concisting of two main steps a) elicitation of new concepts from the domain to the metamodel b) validation of the formalization of the concepts by describing part of the real systems. In particular, the analysis has been performed considering the official packages released by the distributions with the aim of identifying elements that must be considered as part of the metamodels. Due to space constraints we report here only the results of the analysis, i.e., the metamodels themselves: thesystem Configuration metamodel, which contains all the modeling constructs necessary to make the FOSS system able to perform its intended functions. In particular it specifies installed packages, configuration files, services, filesystem state, loaded modules, shared libraries, running processes, etc. The system configuration metamodel takes into account the possible dependency between the configuration of an installed package and other package configurations. The ability to express such fine-grained and installation-specific dependencies is a significant advantage offered by the proposed metamodels which embody domain concepts which are not taken into account by current package manager tools; thepackage metamodel, which describes the relevant elements making up a software package. The metamodel also gives the possibility to specify the maintainer script behaviors which are currently ignored beside mere execution by existing package managers. In order to describe the scripts behavior, the package metamodel contains the Statement metaclass, see Figure. 5, that represents an abstraction of the commands that can be executed by a given script to affect the environment, the file system or the package settings of a given configuration; thelog metamodel, which is based on the concept of transactions that represent a set of statements that change the system configurations. Transitions can be considered as model transformations [13] which let a configuration C 1 evolve into a configuration C 2. As depicted in Figure 2, System Configuration and Package metamodels have mutual dependencies, whereas the Log metamodel has only direct relations with both System Configuration and Package metamodels. 4.1 Modeling Maintainer Scripts The most challenging part of the conducted modeling process has been modeling maintainer scripts. The reason is twofold, on one hand maintainer scripts are the entities which contribute the most to difficulties in dealing with upgrade failures; on the other
8 A Model Driven Approach to Upgrade Package-Based Software Systems 269 hand maintainer scripts are also particularly challenging to model, due to their implementation language. Here we briefly report about the analysis (further details can be found in [14,15]) which has enabled to discover recurrent patterns in the huge amount of scripts to consider (e.g., about on Debian Lenny). We tried to collect scripts in clusters to be able to concentrate the analysis on representatives of the equivalence classes identified. The adopted procedure for clustering has been as follows. 1. Collect all maintainer scripts of a given distribution. By not choosing a random subset we are sure to have collected the most representative set of scripts. 2. Identify scripts generated from helper tools. A large number of scripts or part of them is generated by means of helper tools that provide a collection of small, simple and easily understood tools that are used to automate various common aspects of building a package. Since (part of) maintainer scripts are automatically generated using these helpers and their boiler plates, we can concentrate the analysis on the helpers themselves, rather than on the result of their usage. 3. Ignore inert script parts. As all scripting languages, shell scripts contain parts which do not affect their computational state such as blank lines of comments. Intertwined with the removal of generated parts (to be analyzed later on) we have systematically ignored inert script parts, possibly leading upon removal to empty scripts that have been therefore ignored as a whole. 4. Study of scripts written by hand. The remaining scripts need to be more carefully studied, as they have been written from scratch by package maintainers to address a specific need, most likely not covered by any helper tool. Actually we worked on identifying recurrent templates that maintainers use when writing the scripts. In the rest of the section, the conceived metamodels are described in more details and some explanatory models conforming to them are also provided. 4.2 Configuration Metamodel A system configuration is the composition of artifacts necessary to make computer systems perform their intended functions [16]. In this respect, the metamodel depicted in Figure 3 specifies the main concepts which make up the configuration of a FOSS system. In particular, the Environment metaclass enables the specification of loaded modules, shared libraries, and running process as in the sample configuration reported in Figure 4. In such a model the reported environment is composed of the services www, and sendmail (see the instances s1 and s2) corresponding to the running web and mail servers, respectively. All the services provided by a system can be used once the corresponding packages have been installed (see the association between the Configuration and Package metaclasses in Figure 3) and properly configured (PackageSetting). Moreover, the configuration of an installed package might depend on other package configurations. For example, considering the PHP5 upgrade described in Section 2, the instances ps1 and ps2 of the PackageSetting metaclass in Figure 4 represents the settings of the installed packages apache2,andlibapache-mod-php5, respectively. The former depends on the latter (see the value of the attribute depends of ps1 in Figure 4) and both are also associated with the corresponding files which store their configurations.
9 270 A. Cicchetti et al. Fig. 3. Fragment of the Configuration metamodel Fig. 4. Sample Configuration model Note that at the level of package meta-information such a dependency should not be expressed, in spite of actually occurring on real systems. The ability to express such fine-grained and installation-specific dependencies is a significant advantage offered by metamodeling. The configuration metamodel gives also the possibility to specify the hardware devices of a system by means of the HardwareDevice metaclass. Due to space constraint the usage of such a metaclass is omitted; for more information the interested reader can found the complete metamodels on the Web
10 A Model Driven Approach to Upgrade Package-Based Software Systems 271 Fig. 5. Fragment of the Package metamodel The packages which are installed on a given system are specified by means of the modeling constructs provided by the Package metamodel described in the next section. 4.3 Package Metamodel The metamodel reported in Figure 5 plays a key role in the overall simulation. In fact, in addition to the information already available in current package descriptions, the concepts captured by the metamodel enable the specification of the behavior of maintainer scripts. In this respect, the metaclass Statement in Figure 5 represents an abstraction of the commands that can be executed by a given script to affect the environment, the file system or the package settings of a given configuration (EnvironmentStatement, FileSystemStatement,andPackageSettingStatement, respectively). For instance, the sample package model in Figure 6 reports the scripts contained in the package libapache-mod-php5 introduced in Section 2. Due to space constraints, Figure 6 contains only the relevant elements of the postinst and prerm scripts which are represented by the elements pis1 and prs1, respectively. According to the model in Figure 6 the represented scripts update the configuration of the package apache2 (see the element ps1) which depends on libapache-mod-php5. In particular, the element upss2 corresponds to the statement a2dismod which disables the PHP5 module in the Apache configuration before removing the package libapache-mod-php5 from the filesystem. This statement is necessary, otherwise inconsistent configurations can be reached like the one shown in Figure 7. The figure reports the sample Configuration2 which has been reached by
11 272 A. Cicchetti et al. Fig. 6. Sample Package model Fig. 7. Incorrect package removal removing libapache-mod-php5 without changing the configuration of apache2. Such a configuration is broken since it contains a dependency between the apache2 and libapache-mod-php5 package settings, whereas only the package apache2 is installed. Currently, the package managers are not able to predict inconsistencies like the one in Figure 7 since they take into account only information about package dependencies and conflicts. The metamodel reported in Figure 5 gives the possibility to specify an abstraction of the involved maintainer scripts which are executed during the package upgrades. This way, consistence checking possibilities are increased and trustworthy simulations of package upgrades can be operated.
12 A Model Driven Approach to Upgrade Package-Based Software Systems 273 Fig. 8. Fragment of the Log metamodel Fig. 9. Sample Log model 4.4 Log Metamodel The metamodel depicted in Figure 8 is a step towards the development of a transactional model of upgradeability that will allow us to roll-back long upgrade history, restoring previous configurations. In particular, the metaclass Transaction in Figure 8 refers to the set of statements which have been executed from a source configuration leading to a target one. For instance, according to the sample log model in Figure 9, the installation of the package libapache-mod-php5 modifies the file system (see the statement afss1 which represents the addition of the file f1) and updates the Apache configuration (see the element upss1). The usefulness of log models like the one in Figure 9 is manyfold and accounts for several roll-back needs: (a) Preference roll-back: the user wants to recover a previous configuration, for whatever reason. For instance, the user is not in need of PHP5 anymore and wants to remove the installed package libapache-mod-php5. In this case, the configuration C1 can be recovered by executing the dual operation of each statement in the transaction
13 274 A. Cicchetti et al. between C1 and C2. Note that the log models have all the information necessary to rollback to any previous valid configuration not necessary a contiguous one; (b) Compensate model incompleteness: as already discussed, upgrade simulation is not complete with respect to upgrades, and undetected failures can be encountered while deploying upgrades on the real system. For instance, the addition of the file php.ini during the installation of the package libapache-mod-php5 can raise faults because of disk errors. In this case we can exploit the information stored in the log model to retrieve the fallacious statements and to roll-back to the configuration from which the broken transaction has started. (c) Live failures: the proposed approach does not mandate to pre-simulate upgrades. In fact, it is possible as well to avoid simulation and have metamodeling supervise upgrades to detect invalid configurations as soon as they are reached. At that point, if any, log models comes into play and enable rolling back deployed changes to bring the system back to a previous valid configuration. 5 Related Works The main difficulties related to the management of software packages depend on the existence of maintainer scripts which can have system-wide effects, and hence can not be narrowed to the involved packages only. In this respect, proposals like [17,18] represent a first step toward roll-back management. In fact, they support the re-creation of removed packages on-the-fly, so that they can be re-installed to undo an upgrade. However, such approaches can track only files which are under package manager control. Therefore, differently from us, none of such approaches can undo maintainer script side effects. An interesting proposal to support the upgrade of a system, called NixOS, is presented in [19]. It is a purely functional distribution meaning that all static parts of a system (such as software packages, configuration files and system startup scripts) are built by pure functions. Among the main limitations of NixOS there is the fact that some actions related to upgrade deployment can not be made purely functional (e.g., user database management). Moreover, since NixOS implements a sort of package garbage collection (package versions are not removed as long as some other package need them) security upgrades get intrinsically more difficult due to the need of finding all versions that need upgrades. [20] proposes an attempt to monitor the upgrade process with the aim to discover what is actually being touched by an upgrade. Unfortunately, it is not sufficient to know which files have been involved in the maintainer scripts execution but we have also to consider system configuration, running services etc., as taken into account by our metamodels. Even focusing only on touched files, it is not always possible to undo an upgrade by simply recopying the old file 7. Finally, this work can be related with techniques for static analysis of (shell) scripts. Some previous work [21] deals with SQL injection detection for PHP scripts, but it did not consider the most dynamic parts of the PHP language, quite common in scripting languages. Whereas, [22] presents an arity bug detection in shell scripts, but once more only considers a tiny fragment of the shell language. Both works hence are far even from the minimal 7 This argument goes far beyond the scope of this work. For more information see [5].
14 A Model Driven Approach to Upgrade Package-Based Software Systems 275 requirement of determining a priori the set of files touched by script execution, letting aside how restricted were the considered shell language subsets. Given these premises, we are skeptical that static analysis can fully solve the problem illustrated in our work. 6 Conclusions and Future Works In this paper we presented a model-driven approach to manage the upgrade of FOSS distributions and similarly structured complex, package based software systems. 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) complete resolve packages dependencies, (ii) support the roll-back of failed or unwanted upgrades, and (iii) simulate the execution of maintainer scripts 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 Specific Language (DSL) for maintainer script specifications. Acknowledgements. This work is partially supported by they European Community s 7th Framework Programme (FP7/ ), MANCOOSI project, grant agreement n References 1. Cicchetti, A., Di Ruscio, D., Pelliccione, P., Pierantonio, A., Zacchiroli, S.: Towards a model driven approach to upgrade complex software systems. In: Proceedings of ENASE (2009) 2. Spinellis, D., Szyperski, C.: How is open source affecting software development. IEEE Computer 21(1), (2004) 3. Szyperski, C.: Component Software. Beyond Object-Oriented Programming. Addison- Wesley, Reading (1998) 4. Szyperski, C.: Component technology: what, where, and how? In: Proceedings of ICSE ACM, New York (2003) 5. Di Cosmo, R., Zacchiroli, S., Trezentos, P.: Package upgrades in FOSS distributions: details and challenges. In: HotSWUp 2008, pp ACM, New York (2008) 6. EDOS Project: Report on formal management of software dependencies. EDOS Project Deliverable D2.1 and D2.2 (March 2006) 7. Jackson, I., Schwarz, C.: Debian policy manual (2008), 8. 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, September 2006, pp IEEE CS Press, Los Alamitos (2006) 9. Tucker, C., Shuffelton, D., Jhala, R., Lerner, S.: Opium: Optimal package install/uninstall manager. In: ICSE 2007, pp IEEE Computer Society, Los Alamitos (2007) 10. Mens, T., Straeten, R.V.D., D Hondt, M.: Detecting and resolving model inconsistencies using transformation dependency analysis. In: Nierstrasz, O., Whittle, J., Harel, D., Reggio, G. (eds.) MoDELS LNCS, vol. 4199, pp Springer, Heidelberg (2006)
15 276 A. Cicchetti et al. 11. Cicchetti, A., Di Ruscio, D., Pierantonio, A.: Managing model conflicts in distributed development. In: Czarnecki, K., Ober, I., Bruel, J.-M., Uhl, A., Völter, M. (eds.) MODELS LNCS, vol. 5301, pp Springer, Heidelberg (2008) 12. Schmidt, D.C.: Guest Editor s Introduction: Model-Driven Engineering. IEEE Computer 39(2), (2006) 13. Bézivin, J.: On the Unification Power of Models. SOSYM 4(2), (2005) 14. Di Ruscio, D., Pelliccione, P., Pierantonio, A., Zacchiroli, S.: Towards maintainer script modernization in foss distributions. In: IWOCE 2009, pp ACM, New York (2009) 15. Di Ruscio, D., Pelliccione, P., Pierantonio, A., Zacchiroli, S.: Metamodel for describing system structure and state. Mancoosi Project deliverable D2.1 (January 2009), Dolstra, E., Hemel, A.: Purely functional system configuration management. In: USENIX 2007, San Diego, CA, pp. 1 6 (2007) 17. Olin Oden, J.: Transactions and rollback with rpm. Linux Journal 121, 1 (2004) 18. Trezentos, P., Di Cosmo, R., Lauriere, S., Morgado, M., Abecasis, J., Mancinelli, F., Oliveira, A.: New Generation of Linux Meta-installers. In: Research Track of FOSDEM (2007) 19. Dolstra, E., Löh, A.: NixOS: A purely functional linux distribution. In: ICFP (2008) (to appear) 20. McQueen, R.: Creating, reverting & manipulating filesystem changesets on Linux. Part II Dissertation, Computer Laboratory, University of Cambridge (May 2005) 21. Xie, Y., Aiken, A.: Static detection of security vulnerabilities in scripting languages. In: USENIX-SS 2006, pp (2006) 22. Mazurak, K., Zdancewic, S.: Abash: finding bugs in bash scripts. In: PLAS 2007, pp ACM, New York (2007)
What is a life cycle model?
What is a life cycle model? Framework under which a software product is going to be developed. Defines the phases that the product under development will go through. Identifies activities involved in each
A Variability Viewpoint for Enterprise Software Systems
2012 Joint Working Conference on Software Architecture & 6th European Conference on Software Architecture A Variability Viewpoint for Enterprise Software Systems Matthias Galster University of Groningen,
The Real Challenges of Configuration Management
The Real Challenges of Configuration Management McCabe & Associates Table of Contents The Real Challenges of CM 3 Introduction 3 Parallel Development 3 Maintaining Multiple Releases 3 Rapid Development
Co-Creation of Models and Metamodels for Enterprise. Architecture Projects.
Co-Creation of Models and Metamodels for Enterprise Architecture Projects Paola Gómez [email protected] Hector Florez [email protected] ABSTRACT The linguistic conformance and the ontological
Globule: a Platform for Self-Replicating Web Documents
Globule: a Platform for Self-Replicating Web Documents Guillaume Pierre Maarten van Steen Vrije Universiteit, Amsterdam Internal report IR-483 January 2001 Abstract Replicating Web documents at a worldwide
Run-time Variability Issues in Software Product Lines
Run-time Variability Issues in Software Product Lines Alexandre Bragança 1 and Ricardo J. Machado 2 1 Dep. I&D, I2S Informática Sistemas e Serviços SA, Porto, Portugal, [email protected] 2 Dep.
Tool Support for Software Variability Management and Product Derivation in Software Product Lines
Tool Support for Software Variability Management and Product Derivation in Software s Hassan Gomaa 1, Michael E. Shin 2 1 Dept. of Information and Software Engineering, George Mason University, Fairfax,
Component visualization methods for large legacy software in C/C++
Annales Mathematicae et Informaticae 44 (2015) pp. 23 33 http://ami.ektf.hu Component visualization methods for large legacy software in C/C++ Máté Cserép a, Dániel Krupp b a Eötvös Loránd University [email protected]
A Framework of Model-Driven Web Application Testing
A Framework of Model-Driven Web Application Testing Nuo Li, Qin-qin Ma, Ji Wu, Mao-zhong Jin, Chao Liu Software Engineering Institute, School of Computer Science and Engineering, Beihang University, China
Portable Cloud Services Using TOSCA
Institute of Architecture of Application Systems Portable Cloud Services Using TOSCA Tobias Binz, Gerd Breiter, Frank Leymann, and Thomas Spatzier Institute of Architecture of Application Systems, University
Efficient database auditing
Topicus Fincare Efficient database auditing And entity reversion Dennis Windhouwer Supervised by: Pim van den Broek, Jasper Laagland and Johan te Winkel 9 April 2014 SUMMARY Topicus wants their current
Threat Modelling for Web Application Deployment. Ivan Ristic [email protected] (Thinking Stone)
Threat Modelling for Web Application Deployment Ivan Ristic [email protected] (Thinking Stone) Talk Overview 1. Introducing Threat Modelling 2. Real-world Example 3. Questions Who Am I? Developer /
TRADITIONAL VS MODERN SOFTWARE ENGINEERING MODELS: A REVIEW
Year 2014, Vol. 1, issue 1, pp. 49-56 Available online at: http://journal.iecuniversity.com TRADITIONAL VS MODERN SOFTWARE ENGINEERING MODELS: A REVIEW Singh RANDEEP a*, Rathee AMIT b a* Department of
A Mind Map Based Framework for Automated Software Log File Analysis
2011 International Conference on Software and Computer Applications IPCSIT vol.9 (2011) (2011) IACSIT Press, Singapore A Mind Map Based Framework for Automated Software Log File Analysis Dileepa Jayathilake
Kofax Transformation Modules Generic Versus Specific Online Learning
Kofax Transformation Modules Generic Versus Specific Online Learning Date June 27, 2011 Applies To Kofax Transformation Modules 3.5, 4.0, 4.5, 5.0 Summary This application note provides information about
C2C: An Automated Deployment Framework for Distributed Applications on Multi-Clouds
C2C: An Automated Deployment Framework for Distributed Applications on Multi-Clouds Flora Karniavoura, Antonis Papaioannou, and Kostas Magoutis Institute of Computer Science (ICS) Foundation for Research
Chapter 4 Software Lifecycle and Performance Analysis
Chapter 4 Software Lifecycle and Performance Analysis This chapter is aimed at illustrating performance modeling and analysis issues within the software lifecycle. After having introduced software and
Global Software Change Management for PVCS Version Manager
Global Software Change Management for PVCS Version Manager... www.ikanalm.com Summary PVCS Version Manager is considered as one of the leading versioning tools that offers complete versioning control.
Product Brief. DC-Protect. Content based backup and recovery solution. By DATACENTERTECHNOLOGIES
Product Brief DC-Protect Content based backup and recovery solution By DATACENTERTECHNOLOGIES 2002 DATACENTERTECHNOLOGIES N.V. All rights reserved. This document contains information proprietary and confidential
Revel8or: Model Driven Capacity Planning Tool Suite
Revel8or: Model Driven Capacity Planning Tool Suite Liming Zhu 1,2, Yan Liu 1,2, Ngoc Bao Bui 1,2,Ian Gorton 3 1 Empirical Software Engineering Program, National ICT Australia Ltd. 2 School of Computer
Requirements for Software Deployment Languages and Schema
Requirements for Software Deployment Languages and Schema Richard S. Hall, Dennis Heimbigner, Alexander L. Wolf Software Engineering Research Laboratory Department of Computer Science University of Colorado
EMC APPSYNC AND MICROSOFT SQL SERVER A DETAILED REVIEW
EMC APPSYNC AND MICROSOFT SQL SERVER A DETAILED REVIEW ABSTRACT This white paper discusses how EMC AppSync integrates with Microsoft SQL Server to provide a solution for continuous availability of critical
JOURNAL OF OBJECT TECHNOLOGY
JOURNAL OF OBJECT TECHNOLOGY Online at http://www.jot.fm. Published by ETH Zurich, Chair of Software Engineering JOT, 2006 Vol. 5, No. 6, July - August 2006 On Assuring Software Quality and Curbing Software
Finding Execution Faults in Dynamic Web Application
International Journal of Information and Computation Technology. ISSN 0974-2239 Volume 4, Number 5 (2014), pp. 445-452 International Research Publications House http://www. irphouse.com /ijict.htm Finding
Integration of Application Business Logic and Business Rules with DSL and AOP
Integration of Application Business Logic and Business Rules with DSL and AOP Bogumiła Hnatkowska and Krzysztof Kasprzyk Wroclaw University of Technology, Wyb. Wyspianskiego 27 50-370 Wroclaw, Poland [email protected]
Enterprise IT is complex. Today, IT infrastructure spans the physical, the virtual and applications, and crosses public, private and hybrid clouds.
ENTERPRISE MONITORING & LIFECYCLE MANAGEMENT Unify IT Operations Enterprise IT is complex. Today, IT infrastructure spans the physical, the virtual and applications, and crosses public, private and hybrid
10215A Implementing and Managing Microsoft Server Virtualization
10215A Implementing and Managing Microsoft Server Virtualization About this Course This five-day course will provide you with the knowledge and skills to deploy and manage a server virtualization environment
Lightweight Data Integration using the WebComposition Data Grid Service
Lightweight Data Integration using the WebComposition Data Grid Service Ralph Sommermeier 1, Andreas Heil 2, Martin Gaedke 1 1 Chemnitz University of Technology, Faculty of Computer Science, Distributed
Database Scheme Configuration for a Product Line of MPC-TOOLS
Database Scheme Configuration for a Product Line of MPC-TOOLS Benjamin Klöpper, Tobias Rust, Bernhard Vedder, and Wilhelm Dangelmaier Heinz Nixdorf Institute, University of Paderborn, Fürstenallee 11,
Patterns to Introduce Continuous Integration to Organizations
Patterns to Introduce Continuous Integration to Organizations Kenichiro Ota Shift inc. Tokyo Japan [email protected] [email protected] Hiroko Tamagawa Shift inc. Tokyo Japan [email protected]
Zend Server 4.0 Beta 2 Release Announcement What s new in Zend Server 4.0 Beta 2 Updates and Improvements Resolved Issues Installation Issues
Zend Server 4.0 Beta 2 Release Announcement Thank you for your participation in the Zend Server 4.0 beta program. Your involvement will help us ensure we best address your needs and deliver even higher
Release Notes for Patch Release #2614
July 22, 2015 Security Patch Release This Patch Release addresses critical vulnerabilities; please consider deploying it as soon as possible. Not deploying this Patch Release may result in remote service
This is an author-deposited version published in : http://oatao.univ-toulouse.fr/ Eprints ID : 15447
Open Archive TOULOUSE Archive Ouverte (OATAO) OATAO is an open access repository that collects the work of Toulouse researchers and makes it freely available over the web where possible. This is an author-deposited
Component-based Development Process and Component Lifecycle Ivica Crnkovic 1, Stig Larsson 2, Michel Chaudron 3
Component-based Development Process and Component Lifecycle Ivica Crnkovic 1, Stig Larsson 2, Michel Chaudron 3 1 Mälardalen University, Västerås, Sweden, [email protected] 2 ABB Corporate Research,
Solution Documentation for Custom Development
Version: 1.0 August 2008 Solution Documentation for Custom Development Active Global Support SAP AG 2008 SAP AGS SAP Standard Solution Documentation for Custom Page 1 of 53 1 MANAGEMENT SUMMARY... 4 2
Managing and Maintaining Windows Server 2008 Servers
Managing and Maintaining Windows Server 2008 Servers Course Number: 6430A Length: 5 Day(s) Certification Exam There are no exams associated with this course. Course Overview This five day instructor led
Is Drupal secure? A high-level perspective on web vulnerabilities, Drupal s solutions, and how to maintain site security
Is Drupal secure? A high-level perspective on web vulnerabilities, Drupal s solutions, and how to maintain site security Presented 2009-05-29 by David Strauss Thinking Securely Security is a process, not
An Object Model for Business Applications
An Object Model for Business Applications By Fred A. Cummins Electronic Data Systems Troy, Michigan [email protected] ## ## This presentation will focus on defining a model for objects--a generalized
Efficient Automated Build and Deployment Framework with Parallel Process
Efficient Automated Build and Deployment Framework with Parallel Process Prachee Kamboj 1, Lincy Mathews 2 Information Science and engineering Department, M. S. Ramaiah Institute of Technology, Bangalore,
Implementing and Managing Microsoft Server Virtualization
Course 10215A: Implementing and Managing Microsoft Server Virtualization Course Details Course Outline Module 1: Evaluating and Planning for Virtualization Describe virtualization as it relates to server,
70-646 R3: Windows Server 2008 Administration. Course Overview. Course Outline. Course Length: 4 Day
70-646 R3: Windows Server 2008 Administration Course Length: 4 Day Course Overview This course will prepare the student for Exam 70-646: Pro: Windows Server 2008, Server Administrator. Topics covered include
ProGUM-Web: Tool Support for Model-Based Development of Web Applications
ProGUM-Web: Tool Support for Model-Based Development of Web Applications Marc Lohmann 1, Stefan Sauer 1, and Tim Schattkowsky 2 1 University of Paderborn, Computer Science, D 33095 Paderborn, Germany {mlohmann,sauer}@upb.de
Modeling the User Interface of Web Applications with UML
Modeling the User Interface of Web Applications with UML Rolf Hennicker,Nora Koch,2 Institute of Computer Science Ludwig-Maximilians-University Munich Oettingenstr. 67 80538 München, Germany {kochn,hennicke}@informatik.uni-muenchen.de
A Case Study on Model-Driven and Conventional Software Development: The Palladio Editor
A Case Study on Model-Driven and Conventional Software Development: The Palladio Editor Klaus Krogmann, Steffen Becker University of Karlsruhe (TH) {krogmann, sbecker}@ipd.uka.de Abstract: The actual benefits
A Model-Driven Approach for Developing Self-Adaptive Pervasive Systems
A Model-Driven Approach for Developing Self-Adaptive Pervasive Systems Carlos Cetina, Pau Giner, Joan Fons and Vicente Pelechano Research Center on Software Production Methods Universidad Politécnica de
A Design Pattern for Efficient Retrieval of Large Data Sets from Remote Data Sources
A Design Pattern for Efficient Retrieval of Large Data Sets from Remote Data Sources Brad Long Australian Development Centre, Oracle Corporation, Brisbane, Qld. 4000, Australia. [email protected] and
Red Hat Network Satellite Management and automation of your Red Hat Enterprise Linux environment
Red Hat Network Satellite Management and automation of your Red Hat Enterprise Linux environment WHAT IS IT? Red Hat Network (RHN) Satellite server is an easy-to-use, advanced systems management platform
Evaluation of Students' Modeling and Programming Skills
Evaluation of Students' Modeling and Programming Skills Birgit Demuth, Sebastian Götz, Harry Sneed, and Uwe Schmidt Technische Universität Dresden Faculty of Computer Science Abstract. In winter semester
Software Engineering Reference Framework
Software Engineering Reference Framework Michel Chaudron, Jan Friso Groote, Kees van Hee, Kees Hemerik, Lou Somers, Tom Verhoeff. Department of Mathematics and Computer Science Eindhoven University of
Red Hat Satellite Management and automation of your Red Hat Enterprise Linux environment
Red Hat Satellite Management and automation of your Red Hat Enterprise Linux environment WHAT IS IT? Red Hat Satellite server is an easy-to-use, advanced systems management platform for your Linux infrastructure.
Bitrix Intranet Portal. Business Process Guide
Bitrix Intranet Portal Business Process Guide Introduction Bitrix Intranet Portal includes modules providing teamwork functions enabling to handle documents in the context of an intranet portal. The Business
So today we shall continue our discussion on the search engines and web crawlers. (Refer Slide Time: 01:02)
Internet Technology Prof. Indranil Sengupta Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur Lecture No #39 Search Engines and Web Crawler :: Part 2 So today we
Vistara Lifecycle Management
Vistara Lifecycle Management Solution Brief Unify IT Operations Enterprise IT is complex. Today, IT infrastructure spans the physical, the virtual and applications, and crosses public, private and hybrid
Data-Aware Service Choreographies through Transparent Data Exchange
Institute of Architecture of Application Systems Data-Aware Service Choreographies through Transparent Data Exchange Michael Hahn, Dimka Karastoyanova, and Frank Leymann Institute of Architecture of Application
CONFIOUS * : Managing the Electronic Submission and Reviewing Process of Scientific Conferences
CONFIOUS * : Managing the Electronic Submission and Reviewing Process of Scientific Conferences Manos Papagelis 1, 2, Dimitris Plexousakis 1, 2 and Panagiotis N. Nikolaou 2 1 Institute of Computer Science,
HDFS Users Guide. Table of contents
Table of contents 1 Purpose...2 2 Overview...2 3 Prerequisites...3 4 Web Interface...3 5 Shell Commands... 3 5.1 DFSAdmin Command...4 6 Secondary NameNode...4 7 Checkpoint Node...5 8 Backup Node...6 9
SAN Conceptual and Design Basics
TECHNICAL NOTE VMware Infrastructure 3 SAN Conceptual and Design Basics VMware ESX Server can be used in conjunction with a SAN (storage area network), a specialized high speed network that connects computer
Industrial Adoption of Automatically Extracted GUI Models for Testing
Industrial Adoption of Automatically Extracted GUI Models for Testing Pekka Aho 1,2 [email protected], Matias Suarez 3 [email protected], Teemu Kanstrén 1,4 [email protected], and Atif M. Memon
Installing and Administering VMware vsphere Update Manager
Installing and Administering VMware vsphere Update Manager Update 1 vsphere Update Manager 5.1 This document supports the version of each product listed and supports all subsequent versions until the document
VMware and VSS: Application Backup and Recovery
Best Tools : VMware ESX Virtualization Management VMware and VSS: Application Backup and Recovery Written by: Anton Gostev Product Manager Veeam Software CONTENTS EXECUTIVE SUMMARY... 3 VSS AWARE BACKUP
LASTLINE WHITEPAPER. Why Anti-Virus Solutions Based on Static Signatures Are Easy to Evade
LASTLINE WHITEPAPER Why Anti-Virus Solutions Based on Static Signatures Are Easy to Evade Abstract Malicious code is an increasingly important problem that threatens the security of computer systems. The
Improving Traceability of Requirements Through Qualitative Data Analysis
Improving Traceability of Requirements Through Qualitative Data Analysis Andreas Kaufmann, Dirk Riehle Open Source Research Group, Computer Science Department Friedrich-Alexander University Erlangen Nürnberg
The Paraná Digital Project
Marcos Castilho Center for Scientific Computing and Free Software C3SL/UFPR September, 25th 2008 Managing a Grid of Computer Laboratories for Educational Purposes Abstract We present a grid-based model
Why enterprise data archiving is critical in a changing landscape
Why enterprise data archiving is critical in a changing landscape Ovum white paper for Informatica SUMMARY Catalyst Ovum view The most successful enterprises manage data as strategic asset. They have complete
1-04-10 Configuration Management: An Object-Based Method Barbara Dumas
1-04-10 Configuration Management: An Object-Based Method Barbara Dumas Payoff Configuration management (CM) helps an organization maintain an inventory of its software assets. In traditional CM systems,
Colligens: A Tool to Support the Development of Preprocessor-based Software Product Lines in C
Colligens: A Tool to Support the Development of Preprocessor-based Software Product Lines in C Flávio Medeiros 1, Thiago Lima 2, Francisco Dalton 2, Márcio Ribeiro 2, Rohit Gheyi 1, Baldoino Fonseca 2
Elite: A New Component-Based Software Development Model
Elite: A New Component-Based Software Development Model Lata Nautiyal Umesh Kumar Tiwari Sushil Chandra Dimri Shivani Bahuguna Assistant Professor- Assistant Professor- Professor- Assistant Professor-
Considerations In Developing Firewall Selection Criteria. Adeptech Systems, Inc.
Considerations In Developing Firewall Selection Criteria Adeptech Systems, Inc. Table of Contents Introduction... 1 Firewall s Function...1 Firewall Selection Considerations... 1 Firewall Types... 2 Packet
Debian Packages Repositories as Software Product Line Models. Towards Automated Analysis
Debian Packages Repositories as Software Product Line Models. Towards Automated Analysis José A. Galindo, David Benavides and Sergio Segura Department of Computer Languages and Systems Av Reina Mercedes
PERFORMANCE ANALYSIS OF KERNEL-BASED VIRTUAL MACHINE
PERFORMANCE ANALYSIS OF KERNEL-BASED VIRTUAL MACHINE Sudha M 1, Harish G M 2, Nandan A 3, Usha J 4 1 Department of MCA, R V College of Engineering, Bangalore : 560059, India [email protected] 2 Department
Snare System Version 6.3.6 Release Notes
Snare System Version 6.3.6 Release Notes is pleased to announce the release of Snare Server Version 6.3.6. Snare Server Version 6.3.6 New Features Added objective and user documentation to the email header,
Zero-Touch Drupal Deployment
Zero-Touch Drupal Deployment Whitepaper Date 25th October 2011 Document Number MIG5-WP-D-004 Revision 01 1 Table of Contents Preamble The concept Version control Consistency breeds abstraction Automation
Evaluation of a Use-Case-Driven Requirements Analysis Tool Employing Web UI Prototype Generation
Evaluation of a Use-Case-Driven Requirements Analysis Tool Employing Web UI Prototype Generation SHINPEI OGATA Course of Functional Control Systems, Graduate School of Engineering Shibaura Institute of
IRA 423/08. Designing the SRT control software: Notes to the UML schemes. Andrea Orlati 1 Simona Righini 2
Designing the SRT control software: Notes to the UML schemes Andrea Orlati 1 Simona Righini 2 1 - I.N.A.F. Istituto di Radioastronomia. 2 Dip. Astronomia - Università degli Studi di Bologna. Dicembre 2008
Software Deployment and Configuration
www.dcs.ed.ac.uk/~paul/publications/deployment.pdf Software Deployment and Configuration Paul Anderson Division of Informatics University of Edinburgh
Concern Driven Software Development
Concern Driven Software Development Omar Alam School of Computer Science, McGill University, Montreal, Canada [email protected] Abstract Model Driven Engineering (MDE) has achieved success in many
Secure Web Application Coding Team Introductory Meeting December 1, 2005 1:00 2:00PM Bits & Pieces Room, Sansom West Room 306 Agenda
Secure Web Application Coding Team Introductory Meeting December 1, 2005 1:00 2:00PM Bits & Pieces Room, Sansom West Room 306 Agenda 1. Introductions for new members (5 minutes) 2. Name of group 3. Current
Over 30% of Official Images in Docker Hub Contain High Priority Security Vulnerabilities
Over 30% of Official Images in Docker Hub Contain High Priority Security Vulnerabilities Jayanth Gummaraju, Tarun Desikan, and Yoshio Turner BanyanOps {www.banyanops.com, [email protected]} Docker Hub
SERVICE SCHEDULE DEDICATED SERVER SERVICES
SERVICE SCHEDULE DEDICATED SERVER SERVICES This is a Service Schedule as defined in the Conditions. Where the Services set out in this Service Schedule form part of the Services to be supplied under a
An Active Packet can be classified as
Mobile Agents for Active Network Management By Rumeel Kazi and Patricia Morreale Stevens Institute of Technology Contact: rkazi,[email protected] Abstract-Traditionally, network management systems
1. INTRODUCTION TO RDBMS
Oracle For Beginners Page: 1 1. INTRODUCTION TO RDBMS What is DBMS? Data Models Relational database management system (RDBMS) Relational Algebra Structured query language (SQL) What Is DBMS? Data is one
using version control in system administration
LUKE KANIES using version control in system administration Luke Kanies runs Reductive Labs (http://reductivelabs.com), a startup producing OSS software for centralized, automated server administration.
Installing Magento Extensions
to Installing Magento Extensions by Welcome This best practice guide contains universal instructions for a smooth, trouble free installation of any Magento extension - whether by Fooman or another developer,
SEER Enterprise Shared Database Administrator s Guide
SEER Enterprise Shared Database Administrator s Guide SEER for Software Release 8.2 SEER for IT Release 2.2 SEER for Hardware Release 7.3 March 2016 Galorath Incorporated Proprietary 1. INTRODUCTION...
Software Configuration Management Plan
For Database Applications Document ID: Version: 2.0c Planning Installation & Acceptance Integration & Test Requirements Definition Design Development 1 / 22 Copyright 2000-2005 Digital Publications LLC.
Traceability Patterns: An Approach to Requirement-Component Traceability in Agile Software Development
Traceability Patterns: An Approach to Requirement-Component Traceability in Agile Software Development ARBI GHAZARIAN University of Toronto Department of Computer Science 10 King s College Road, Toronto,
Automating the Measurement of Open Source Projects
Automating the Measurement of Open Source Projects Daniel German Department of Computer Science University of Victoria [email protected] Audris Mockus Avaya Labs Department of Software Technology Research
Managing your Red Hat Enterprise Linux guests with RHN Satellite
Managing your Red Hat Enterprise Linux guests with RHN Satellite Matthew Davis, Level 1 Production Support Manager, Red Hat Brad Hinson, Sr. Support Engineer Lead System z, Red Hat Mark Spencer, Sr. Solutions
