Automated Versioning In OSGi

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

0 comments

Post a comment

    Post a comment
    Embed Video
    Edit your comment Cancel

    Favorites, Groups & Events

    Automated Versioning In OSGi - Presentation Transcript

    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. 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
    13. 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
    14. ImplementationofSubtypingforOSGi(1)
      Twolayers
      Bundle
      Java
      Operations of subtyping comparison
      8/27/2009
      14 /18
      Brada & Bauml: Reliable Versioning
    15. 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
    16. 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
    17. 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
    18. Thankyouforyourattention
      Do not hesitate to visit usat:
      http://www.kiv.zcu.cz/research/groups/dss/
      8/27/2009
      18 /18
      Brada & Bauml: Reliable Versioning
    SlideShare Zeitgeist 2009

    + baumlbauml Nominate

    custom

    69 views, 0 favs, 0 embeds more stats

    Presentation from EUROMICRO 09 Patras Greece.

    More info about this document

    © All Rights Reserved

    Go to text version

    • Total Views 69
      • 69 on SlideShare
      • 0 from embeds
    • Comments 0
    • Favorites 0
    • Downloads 0
    Most viewed embeds

    more

    All embeds

    less

    Flagged as inappropriate Flag as inappropriate
    Flag as inappropriate

    Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

    Cancel
    File a copyright complaint
    Having problems? Go to our helpdesk?

    Categories