Automated Versioning In OSGi - Presentation Transcript
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
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
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
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
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
Automated Versioning in OSGi: Component Software Consistency Guarantee Jaroslav Bauml & PremekBrada Dept of Computer Science University of West Bohemia Pilsen, Czech Republic
Automated Versioning in OSGi: Component Software Consistency Guarantee Jaroslav Bauml & PremekBrada Dept of Computer Science University of West Bohemia Pilsen, Czech Republic
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
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!
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
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",... ...
Subtyping as KeySolution (1) Can use Car instead of Vehicle. Car is a subtype of … A compatiblewithB <=>B <: A 8/27/2009 12 /18 Difference values: NON, MUT, SPE, GEN
evaluate at leaves
combine to root:
spe ⊕ gen -> mut mut ⊕ X -> mut non ⊕ X -> X Brada & Bauml: ReliableVersioning
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
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
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
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
Thankyouforyourattention Do not hesitate to visit usat: http://www.kiv.zcu.cz/research/groups/dss/ 8/27/2009 18 /18 Brada & Bauml: Reliable Versioning
0 comments
Post a comment