Automated generating of OSGi component versions - CiteSeerX
Recommend Documents
safety of OSGi component upgrades. 1. Introduction ... As it was mentioned in the introduction, the component substitutability ... Table 1: Example interface types.
Petri Nets (CPNs) and Generalized Stochastic Petri Nets. (GSPNs) [25]. ... place. A queueing place consists of a queue, a server and a depository. ...... http://www.csc.ncsu.edu/faculty/perros/simulation.pdf: E-Book,. NC State University, 2003.
development of component-based applications has significantly ... components to create new applications. ... application consistency is ensured by Windows.
Towards automated software component configuration and deployment. Vincent Lestideau, Noureddine Belkhatir, Pierre-Yves Cunin. Adele Team Bat C.
research. Perry in his work on the Inscape environment [12] defines three levels of compatibility of ... considers just the data which the component exchanges with its environment. However, the ..... position of Service Components. Workshop on ...
In George Corliss, Christ`ele Faure,. Andreas ... [5] William D. Gropp, Ewing Lusk, and Anthony Skjellum. Using MPI ... In Andreas Griewank and George F.
steps in legislative drafting which can be supported by automated tools. ... systems, including the legal system, i.e. to the Constitution (email communication). It.
Stewart Worrall and Eduardo Nebot. University of Sydney, Australia. {s.worrall, e.nebot}@acfr.usyd.edu.au. Abstract. This paper describes a robust method for ex ...
at design time in order to detect potential problems before resources have been .... component models together with a custom XML component performance ...
quality and equity in education and assessment for the benefit of ETS's constituents and the field. ... career readiness by the end of 12th grade. ... Study 3: Investigating Alignment With Targeted Complexity Standards ...............................
a minimum cost ow algorithm to nd the paths implied by the above results in time. O( m). ... and v of the maximum path length. ... of edge connectivity, it gives an equivalence condition between the minimum edge cut separating ...... 6] S.Even and R.
It included 34 passages selected from the list of exemplar texts provided in .... These two features are Nominalizations, and Average Characters per Word.
... syntax by means of a schema language and a context-sensitive syntax by means of a constraint language. â This work is partially funded by UBS Warburg.
SUSAN HORWITZ, JAN PRINS, and THOMAS REPS. University of .... input three programs A, B, and Base, where A and B are two variants of Base.' Algorithm ...
ABSTRACT. Performance experiments can involve multiple iterative runs where parameters such as the execution platform, measure- ment tools, methods of ...
Karen Davis, Phillip Wilsey, Michael Lowry, and several anonymous referees for helpful suggestions. Support for this work was provided in part by the Advanced ...
sentations are derived from globally aligned faces (we call these holistic .... a small subset of more stable landmarks (i.e., the center of the two eyes and the tip of ...
ment tools, methods of measurement, application parame- ..... of events to monitor using the MeasurementEnvironment .... PerfSuite is an open source soft-.
[4] Christensen, H.B.: Experiences with Architectural Software Configuration. Management in Ragnarok. Proceedings of SCM-8 Workshop, ECOOP 1998.
cations. At the same time, reusing a specification can lead to reusing aspects of the ... support a high degree of automation to ensure high levels of productivity.
many agile initiatives fail to fully deliver the expected business benefits. ...... Class Loading Improvements, RFP 133
A decompiler is a software application which turns a piece of object code or assembler back into the source code that it was .... Autopilot example */. /* Number of ...
Abstract. Given a polyhedron P which is of interest, a major goal of polyhedral combinatorics is to find classes of essential, i.e. facet inducing inequalities.
Vassar College. 124 Raymond ... generating a list of warnings about potential defects. ..... cently been addressed, perhaps because many people assumed the.
Automated generating of OSGi component versions - CiteSeerX
In present systems, versioning is often used as an instrument representing changes during ... Release 4 component model and propose an automated generation of component version identifiers. ... tifiers. They are determined on the basis of.
Automated generating of OSGi component versions Lukas Valenta, Premysl Brada Department of Computer Science and Engineering University of West Bohemia in Pilsen, Czech Republic e-mail: {lvalenta,brada}@kiv.zcu.cz
Abstract Software components can be found in both enterprise-wide and mobile/embedded solutions. Components are mutually linked and dependent, but encapsulated as black boxes and developed independently. They can be replaced without affecting the rest of the application. This advantage requires careful and complex compatibility checks between both component versions though, otherwise the whole application can be broken down. In present systems, versioning is often used as an instrument representing changes during software development. In this paper we discuss the versioning scheme of the OSGi Release 4 component model and propose an automated generation of component version identifiers. The mechanism is based on an automatic analysis of changes in components’ interfaces which ensures safety of OSGi component upgrades.
1.
Introduction
Component-based architectures have a lot of advantages. One of the finest one is a possibility to upgrade or repair only the affected components, not the whole application. However, this convenience has its issue - the replacement for an incompatible component may break the dependencies between components as well as the consistency of entire application. Accordingly, it is necessary to insert the step of careful component substitutability check before the replacement itself. The OSGi architecture [7] allows to define many conditions and constraints for the component relationships. The framework follows these constraints during the installation or upgrade of a component. One of the important condition is the compatibility of the version numbers of requested component interface(s). Because the semantics of the version identifiers is well defined and able to capture an incompatible change, the version constraint is a strong mechanism to prevent wiring an incompatible components. Indeed, the correctness of those version identifiers is the important presumption. Developers must evaluate changes in component’s interface and alter the versions correctly for every published release of a compo-
nent. We present a method of an automated generation of OSGi component version identifiers. They are determined on the basis of changes in component’s interfaces. 1.1
Goal and Structure of the Paper
The goals of this paper can be summarised in two points. Firstly, we would like to present the formal foundations of the method in the form of representing component specifications as types and performing subtype checks on them. Secondly, we present a practical realization of the method which is used to generate the correct version identifiers of OSGi bundles. The following section deals with the principles of substitutability checking and determining differences between component versions. Section 3. describes the OSGi versioning schema, its relation to component differences and shows the tool for automated generating of OSGi components version. Section 4. presents an overview of related research.
2.
Principles of Component Substitutability Checking
As it was mentioned in the introduction, the component substitutability check is a neces-
sary step in the component replacement (be it an upgrade or a more general substitution). The fundamental principle of substitutability is defined in this way: a substitute component should be usable whenever the current one was expected, without the client noticing it [9]. Type systems and the subtype relation in particular are used to ensure safe substitutability in (object-oriented) programming languages: instances of type T 0 can be bound to variables declared to be of type T if T 0