Automated Versioning In OSGi
Upcoming SlideShare
Loading in...5
×
 

Automated Versioning In OSGi

on

  • 1,220 views

Presentation from EUROMICRO 09 Patras Greece.

Presentation from EUROMICRO 09 Patras Greece.

Statistics

Views

Total Views
1,220
Views on SlideShare
1,219
Embed Views
1

Actions

Likes
0
Downloads
6
Comments
0

1 Embed 1

http://www.slideshare.net 1

Accessibility

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

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
    • 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