integrating heterogeneous components in software supply chains

19
© 2010 IBM Corporation IBM Research – Haifa Virage Logic 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

Upload: aderes

Post on 14-Jan-2016

34 views

Category:

Documents


0 download

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

Page 1: Integrating Heterogeneous Components in  Software Supply Chains

© 2010 IBM Corporation

IBM Research – Haifa

Virage Logic

Integrating Heterogeneous Components in

Software Supply Chains

Herman Hartmann, Aart Matsinger, Tim Trew Virage Logic, The Netherlands

Mila Keren, Julia Rubin, Tali Yatzkar-HahamIBM Research - Haifa, Israel

Page 2: Integrating Heterogeneous Components in  Software Supply Chains

2/19

Software Supply Chains

Software vendors do not function as independent units• not all customers are end-users• not all software is built in-house• there are multiple suppliers

Taken from “Formalizing Software Ecosystem Modeling” by V. Boucharas, S. Jansen, S. Brinkkemper

Page 3: Integrating Heterogeneous Components in  Software Supply Chains

3/19

Scope

Present issues that arise in product line supply chains

Based on real problems/needs of NXP

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

Component-oriented

Agreed standard but not an agreed API

Page 4: Integrating Heterogeneous Components in  Software Supply Chains

4/19

Simple Case: No overlapping functionality

Page 5: Integrating Heterogeneous Components in  Software Supply Chains

5/19

Issue #1: Cross-Supplier Interoperability

Can Player of SupplierA work with Radio of SupplierB?–(The architecture prescribes some Player <-> Radio interaction)

Page 6: Integrating Heterogeneous Components in  Software Supply Chains

6/19

Glue code needed!

Bridge over differences in names, styles, etc–E.g.: passing 3 ints vs. passing a struct of 3 ints

Navigation

B

Audio

Connectivity

C

A

Page 7: Integrating Heterogeneous Components in  Software Supply Chains

7/19

Current Integration Approaches - 1/3

Create all possible glue components during domain engineering

Navigation: 4 alternativesConnectivity: 3 alternatives Audio processing: 3 alternatives

Up to 33 different glue components – A: 4x3 – B: 4x3– C: 3x3

Navigation

B

Audio

Connectivity

C

A

4 3

3

Page 8: Integrating Heterogeneous Components in  Software Supply Chains

8/19

Current Integration Approaches - 2/3

Adapt each component to a

common standard

Up to 20 glue components:

– A: 4+3

– B: 4+3

– C: 3+3

Unnecessary glue complexity if standard and supplied interfaces significantly differ

Navigation

B

Audio

Connectivity

C

A

4 3

3

Page 9: Integrating Heterogeneous Components in  Software Supply Chains

9/19

Current Integration Approaches - 3/3

Create the required glue component

during application engineering

glue is defined late in the development process

Navigation

B

Audio

Connectivity

C

A

4 3

3

Page 10: Integrating Heterogeneous Components in  Software Supply Chains

10/19

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

Page 11: Integrating Heterogeneous Components in  Software Supply Chains

11/19

Example 1: Unmatched Features

No 45W output in SupplierA

Page 12: Integrating Heterogeneous Components in  Software Supply Chains

12/19

E.g. 2: Contradictions

MP3 in SupplierB

requires a CD

Page 13: Integrating Heterogeneous Components in  Software Supply Chains

13/19

Issue #3: Technology Mismatch

Components of different technologies–(Assuming interface mismatch is solved)

Differences in:–Calling conventions–Name mangling–Object layouts–Sizes of primitive types–BigEndian vs. littleEndian

Page 14: Integrating Heterogeneous Components in  Software Supply Chains

14/19

Issue #4: Customer Isolation

Level 1 (Basic)–Customer A should not get customer’s B components–(either binary or sources)

Level 2 –Customer A should not see customer’s B variation points/features

Page 15: Integrating Heterogeneous Components in  Software Supply Chains

15/19

Issue #5: Delivery of Partially Configured Components

Binary deliverables–Better customer isolation

–Alas, preprocessor-based variations are already resolved

Source deliverables –Need to compile on different build environments

–Materializer needs to take the environment into account

Page 16: Integrating Heterogeneous Components in  Software Supply Chains

16/19

The Zigbee Architecture

–There 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

Page 17: Integrating Heterogeneous Components in  Software Supply Chains

17/19

Solution Overview: Glue

Various kind of glue generators

Implemented as a Model-to-Text transformation

Invoked as part of the materialization process

Predefined rules for choosing a glue generator–Based on the chosen components/suppliers–Engineer can override

Page 18: Integrating Heterogeneous Components in  Software Supply Chains

18/19

Solution Overview: Implementation Constraints

Concrete components are annotated with supplier name– (as well as additional implementation data)

Selection of a concrete component will force selection of other concrete components

Based on:– Architectural links

– Ability to generate glue

Page 19: Integrating Heterogeneous Components in  Software Supply Chains

19/19

Thank You!Thank You!