Integrating Heterogeneous Components in Software Supply Chains

Download Integrating Heterogeneous Components in  Software Supply Chains

Post on 14-Jan-2016

26 views

Category:

Documents

0 download

Embed Size (px)

DESCRIPTION

Integrating Heterogeneous Components in Software Supply Chains. Herman Hartmann, Aart Matsinger, Tim Trew Virage Logic, The Netherlands. Mila Keren, Julia Rubin, Tali Yatzkar-Haham IBM Research - Haifa, Israel. - PowerPoint PPT Presentation

TRANSCRIPT

  • Software Supply ChainsSoftware vendors do not function as independent unitsnot all customers are end-usersnot all software is built in-housethere are multiple suppliers

    Supplier Independent Feature Modelling

  • ScopePresent issues that arise in product line supply chains

    Based on real problems/needs of NXP

    Developed Eclipse-based tool to address NXPs s/w development challenges

    Component-oriented

    Agreed standard but not an agreed API

    Supplier Independent Feature Modelling

  • Simple Case: No overlapping functionality

    Supplier Independent Feature Modelling

  • Issue #1: Cross-Supplier InteroperabilityCan Player of SupplierA work with Radio of SupplierB?(The architecture prescribes some Player Radio interaction)

    Supplier Independent Feature Modelling

  • Glue code needed!Bridge over differences in names, styles, etcE.g.: passing 3 ints vs. passing a struct of 3 ints

    Supplier Independent Feature Modelling

  • Current Integration Approaches - 1/3Create all possible glue components during domain engineering

    Navigation: 4 alternatives Connectivity: 3 alternatives Audio processing: 3 alternatives

    Up to 33 different glue components A: 4x3 B: 4x3C: 3x3433

    Supplier Independent Feature Modelling

  • Current Integration Approaches - 2/3Adapt each component to a common standard

    Up to 20 glue components:A: 4+3 B: 4+3C: 3+3

    Unnecessary glue complexity if standard and supplied interfaces significantly differ

    433

    Supplier Independent Feature Modelling

  • Current Integration Approaches - 3/3Create the required glue component during application engineering

    glue is defined late in the development process

    433

    Supplier Independent Feature Modelling

  • Issue #2: Overlapping Functionality Feature Selection Logic is Complicated

    Supplier Independent Feature Modelling

  • Example 1: Unmatched FeaturesNo 45W output in SupplierA

    Supplier Independent Feature Modelling

  • E.g. 2: ContradictionsMP3 in SupplierB requires a CD

    Supplier Independent Feature Modelling

  • Issue #3: Technology MismatchComponents of different technologies(Assuming interface mismatch is solved)

    Differences in:Calling conventionsName manglingObject layoutsSizes of primitive typesBigEndian vs. littleEndian

    Supplier Independent Feature Modelling

  • Issue #4: Customer IsolationLevel 1 (Basic)Customer A should not get customers B components(either binary or sources)

    Level 2 Customer A should not see customers B variation points/features

    Supplier Independent Feature Modelling

  • Issue #5: Delivery of Partially Configured Components

    Binary deliverablesBetter customer isolationAlas, preprocessor-based variations are already resolved

    Source deliverables Need to compile on different build environmentsMaterializer needs to take the environment into account

    Supplier Independent Feature Modelling

  • The Zigbee ArchitectureThere is a standard but not an API(However, the API is likely to be similar across suppliers)Customer want to mix layer from different suppliers

    Supplier Independent Feature Modelling

  • Solution Overview: GlueVarious kind of glue generators

    Implemented as a Model-to-Text transformation

    Invoked as part of the materialization process

    Predefined rules for choosing a glue generatorBased on the chosen components/suppliersEngineer can override

    Supplier Independent Feature Modelling

  • Solution Overview: Implementation ConstraintsConcrete components are annotated with supplier name(as well as additional implementation data)Selection of a concrete component will force selection of other concrete componentsBased on:Architectural linksAbility to generate glue

    Supplier Independent Feature Modelling

  • Thank You!

    Supplier Independent Feature Modelling

Recommended

View more >