The document proposes an automated versioning mechanism for OSGi component software using subtyping to guarantee consistency. It represents components as types and defines version difference functions to determine compatibility. The authors implemented this approach for OSGi bundles and Java types, caching type information. They validated it on real world Apache Felix bundles to demonstrate reliable component updates.
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Automated Versioning In OSGi
1. Automated Versioning in OSGi: a Mechanism for Component Software Consistency Guarantee Jaroslav Bauml & PremekBrada Dept of Computer Science University of West Bohemia Pilsen, Czech Republic
2. Automated Versioning in OSGi: a Mechanism for Component Software Consistency Guarantee Jaroslav Bauml& PremekBrada Dept of Computer Science University of West Bohemia Pilsen, Czech Republic
3. Automated Versioning in OSGi: a Mechanism for Component Software Consistency Guarantee Jaroslav Bauml & PremekBrada Dept of Computer Science University of West Bohemia Pilsen, Czech Republic
4. Automated Versioning in OSGi: a Mechanism for Component Software Consistency Guarantee Jaroslav Bauml & PremekBrada Dept of Computer Science University of West Bohemia Pilsen, Czech Republic
5. Automated Versioning in OSGi: a Mechanism for Component Software Consistency Guarantee Jaroslav Bauml &PremekBrada Dept of Computer Science University of West Bohemia Pilsen, Czech Republic
6. Automated Versioning in OSGi: Component Software Consistency Guarantee Jaroslav Bauml & PremekBrada Dept of Computer Science University of West Bohemia Pilsen, Czech Republic
7. Automated Versioning in OSGi: Component Software Consistency Guarantee Jaroslav Bauml & PremekBrada Dept of Computer Science University of West Bohemia Pilsen, Czech Republic
8. Automated Versioning in OSGi: Component Software Consistency Guarantee Reliable and Automated Jaroslav Bauml & PremekBrada Dept of Computer Science University of West Bohemia Pilsen, Czech Republic
9. Introduction Component updates reflect their evolution. Application consistency during updates Used and suitable solution – dependencies with version ranges of providers. BUT!!! How reliable are these version identifiers to real evolution of component? 8/27/2009 9/18 Brada & Bauml: Reliable Versioning I have a new version of the Cool component And will it work properly? Who knows… Ask those guys from Pilsen!
10. Agenda OSGi as Research Platform Version Identifiers and their Semantics Subtyping as Key Solution for Automatic Versioning Implementation Validation – Real world example 8/27/2009 10 /18 Brada & Bauml: Reliable Versioning
11. OSGi as ResearchPlatform – Overview Hyped Java-based framework for service deployment and management. Deployable unit – bundle – jar+ Two layers of Dependencies Package– export Service/ import major.minor.micro version scheme – semantics? Rulesfor OSGi: All incompatible changes <=> majorid++. All backward compatible <=> minor id++. No changes on interface <=> microid++. 8/27/2009 11 /18 Brada & Bauml: Reliable Versioning <BUNDLEFILE>META-INF/MANIFEST.MF: Bundle-Version: 1.0.0 Bundle-Name: Apache Felix File Install Export-Package: org.apache.felix.fileinstall;version="1.2",... Import-Package: org.osgi.service.log;version="1.3",... ...
12.
13. combine to root:spe ⊕ gen -> mut mut ⊕ X -> mut non ⊕ X -> X Brada & Bauml: ReliableVersioning
14. Subtyping as KeySolution (2) Two consecutive revisions, versions: Rold =majold.minold.micold Rnew = majnew.minnew.micnew The function Difference (Rold,Rnew) is defined by the rulesin the table. 8/27/2009 13 /18 Brada & Bauml: Reliable Versioning Exp.: OLD Loggerwas 1.2.4, wefoundMutation => NEW Logger‘s version = 2.0.0
16. ImplementationofSubtypingforOSGi (2) 8/27/2009 15 /18 Brada & Bauml: Reliable Versioning Bundle layer Simple not complete metamodel for OSGi Java layer – JavaTypes Custom model of Java language type system Inspired by Java Reflection Api But can be obtained from: reflection, bytecode inspection, custom creation, … Caching, lazy loading, recursion in types detection
17. Validation – Real World Bundles 8/27/2009 16 /18 To provide a basic validation of proposed principle, implemented tool was tested on bundles from Apache Felix archive. Brada & Bauml: ReliableVersioning
18. Conclusion Our method allows you to ensure component consistency possible by component type representation as strong as type information allows (semantic changes) “No matter how sophisticated a (versioning) scheme is, it is useless if it is not used by all components universally.” 8/27/2009 17 /18 Brada & Bauml: Reliable Versioning
19. Thankyouforyourattention Do not hesitate to visit usat: http://www.kiv.zcu.cz/research/groups/dss/ 8/27/2009 18 /18 Brada & Bauml: Reliable Versioning