Automated Versioning In OSGi

  • 744 views
Uploaded on

Presentation from EUROMICRO 09 Patras Greece.

Presentation from EUROMICRO 09 Patras Greece.

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
744
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
6
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

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
    • 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
  • 15. ImplementationofSubtypingforOSGi(1)
    Twolayers
    Bundle
    Java
    Operations of subtyping comparison
    8/27/2009
    14 /18
    Brada & Bauml: Reliable Versioning
  • 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