23
November 29, 2012 Using Model Driven Development to Easily Manage Variations in SDR Product Family Design

Using Model Driven Development to Easily Manage Variations in Software Defined Radio (SDR) Product Family Design

Embed Size (px)

DESCRIPTION

Radio architects and developers very often need to produce variants of their Software Defined Radio (SDR) Software Communications Architecture (SCA) applications and platforms to support different configurations of their radio set. Traditionally this has been a time consuming and costly process as they needed to create and maintain multiple models for every possible product variant. This presentation will introduce and demonstrate an innovative new product, Spectra CX Product Line Management, which has been designed to support the modeling needs of entire radio families using just a single model. Presentation attendees will learn how to use model driven development techniques to reduce the time and costs of managing variations in SDR/SCA product family design.

Citation preview

Page 1: Using Model Driven Development to Easily Manage Variations in Software Defined Radio (SDR) Product Family Design

November 29, 2012

Using Model Driven Development

to Easily Manage Variations in

SDR Product Family Design

Page 2: Using Model Driven Development to Easily Manage Variations in Software Defined Radio (SDR) Product Family Design

PrismTech 2012

Introduction

Radio architects and developers very often need to produce variants of their SDR/SCA applications and platforms to support different configurations of their radio set.

This can be a time consuming and costly process as they need to create and maintain multiple models for every possible product variant.

This webcast will introduce and demonstrate an innovative new product, Spectra CX Product Line Management, which has been designed to support the modeling needs of entire radio families using just a single model.

2

Page 3: Using Model Driven Development to Easily Manage Variations in Software Defined Radio (SDR) Product Family Design

PrismTech 2012

TOPICS

SDR/SCA product variability problem

Current solutions

Modeling variability and product lines

Spectra CX Product Line Management

Concepts – Variation Points, …

Workflow

Demonstration

Benefits

3

Page 4: Using Model Driven Development to Easily Manage Variations in Software Defined Radio (SDR) Product Family Design

PrismTech 2012

Product Variability Problem

Radio manufacturers need to produce

variants of their SCA applications and

platforms to support different configurations

of their radio set

Development teams need to manage debug,

test, production, etc. versions of their radios

Developers need to build “lab” radios to test

their components under development

SCA 4.0 profiles?

4

Page 5: Using Model Driven Development to Easily Manage Variations in Software Defined Radio (SDR) Product Family Design

PrismTech 2012

Example: DTP4700 5

DTP4700L 30 MHz to 1600 MHz frequency range 40 KHz – 40 MHz signal bandwidth

DTP4700H 400 MHz to 4000 MHz frequency range 20 KHz – 40 MHz signal bandwidth

Set the value of

three (3)

SCA Properties

of one (1)

component

Select an

Implementation

Page 6: Using Model Driven Development to Easily Manage Variations in Software Defined Radio (SDR) Product Family Design

PrismTech 2012

Current Solutions

Copy and Edit

Compiler switches

Pre/post processing

Custom tools

Repositories with re-use capabilities

Model-driven development capabilities of Spectra CX Managing/sharing model elements across multiple projects/teams

6

Not ideal for managing product

lines…variations on a base product

Page 7: Using Model Driven Development to Easily Manage Variations in Software Defined Radio (SDR) Product Family Design

PrismTech 2012

Modeling Variability

Modeling variability using Variation Points was introduced by Jacobson in 1997

A Variation Point identifies one or more locations at which variation may occur

Handling variability with extensions to UML-based design methods and processes >> UML 2.0 [Clauss 2001] [Gomaa 2004]

Variation Point Model (VPM) -- an approach to modeling variability, based on Jacobson’s original concept [Webber 2004]

Visualizes the variation points

Gives the “reuser” an understanding of how to build a variant from a set of variation points

7

Page 8: Using Model Driven Development to Easily Manage Variations in Software Defined Radio (SDR) Product Family Design

PrismTech 2012

Modeling Product Lines (2000+) 8

Modeling and Using Product Line Variability in Automotive

Systems, Theil and Hein, IEEE Software July/August 2002

Product line feature and architecture modeling with generation of product architectures and artefacts >> Model-Driven Development

Page 9: Using Model Driven Development to Easily Manage Variations in Software Defined Radio (SDR) Product Family Design

PrismTech 2012

Spectra SDR/SCA Solution

Leverage current Spectra CX capabilities >> MDD

Domain-specific application of the Variation Point and Variation Point Model concepts

Generic UML2 based Variation Points applied to SDR/SCA-specific model elements

SDR/SCA-specific validation and generation

Provide model-based capability for managing a product line architecture

Meet the need for building product variants (configurations)

Complement the SCA’s support for “dynamic” variants

Generate Spectra CX models which can be used to generate, build, deploy and test product variants

9

Page 10: Using Model Driven Development to Easily Manage Variations in Software Defined Radio (SDR) Product Family Design

PrismTech 2012

Spectra CX Product Line Management

Plug-in to Spectra CX 3.4 Implemented as a UML Profile

Provides architects with ability to specify variability (variation points) for any model

Inclusion/Exclusion

Parameterization of values or settings

Variation point models allow users to quickly and easily engineer product configurations

Generates standard Spectra CX models for a given product configuration

10

Page 11: Using Model Driven Development to Easily Manage Variations in Software Defined Radio (SDR) Product Family Design

PrismTech 2012

New Concepts

Product Line Model

Spectra CX modeling used to produce a “base” model for the product line architecture

Specifies all the features and variation points in the product line

Variation Point

Identifies one or more model elements where a variation may occur

Variation Point Model

Generated from a product line model – a list of all the variation points in the base model

Simplifies the workflow for specifying a product variant

Product Configuration

Derived from the Variation Point Model – a list of all the configuration points in the base model

Configuration Point

Editable copy of a Variation Point in a Product Configuration

Used to specify generation and values or settings for product line model elements

Product (Configuration) Model

Generated from the Product Line Model + Product Configuration (Points)

Correct-by-construction model artefact supported by Spectra CX MDD capabilities

11

Page 12: Using Model Driven Development to Easily Manage Variations in Software Defined Radio (SDR) Product Family Design

PrismTech 2012

Variation Points

New stereotype used to identify those features which are variation points in the product

Properties:

Name (user defined)

Id (generated, unique)

Constrained Elements (list)

For each element, the Attributes (list), Name, and Qualified Name

12

Page 13: Using Model Driven Development to Easily Manage Variations in Software Defined Radio (SDR) Product Family Design

PrismTech 2012

…can be created on

Applications and nodes

Application, node and platform parts

Properties

Implementations

Component interface ports

Components and component interfaces

13

Page 14: Using Model Driven Development to Easily Manage Variations in Software Defined Radio (SDR) Product Family Design

PrismTech 2012

Types of Variation Points

Variation Point -- controls generation of the element (true | false)

… With Value -- applied to component properties where values will be set

…With Settings – applied to element attributes where values or references will be set

14

Page 15: Using Model Driven Development to Easily Manage Variations in Software Defined Radio (SDR) Product Family Design

PrismTech 2012

Configuration Points

Similar to Variation Points, except modifiable

Properties

Generate -- the constrained elements of the

Variation Point (set to true by default)

Name (set to the name of the Variation Point)

Variation Point (set to the Variation Point)

…WithValue, Value applied to all properties

constrained by the Variation Point

…WithSettings, Settable Attributes

15

Page 16: Using Model Driven Development to Easily Manage Variations in Software Defined Radio (SDR) Product Family Design

PrismTech 2012

…Currently Settable Attributes 16

Model Element Settable Attributes

Component PRFFileName, SPDFileName

Component implementation PRFFileName

Component interface PRFFileName, SCDFileName

Node DCDFileName

Parts on node Deployondevice

Application SADFileName

Implementation File on its SCABinary

Page 17: Using Model Driven Development to Easily Manage Variations in Software Defined Radio (SDR) Product Family Design

PrismTech 2012

Roles and Responsibilities

Product Line Architect

Responsible for the product

line model

Manages variability –

models the variation points

Ensures a variation point is

modeled such that a

product engineer has

enough knowledge to

specify a variant

When a new variant is

needed, they add or modify

VPs

Product Engineer

Creates product configurations as needed

Specifies product configurations using the configuration points

Generates the product model

Generates the XML descriptors, …

Builds the product variant

17

Page 18: Using Model Driven Development to Easily Manage Variations in Software Defined Radio (SDR) Product Family Design

PrismTech 2012

Workflow 18

Product Line Model

Variation Points

Variation Point Model

Product Configuration

Product Model

Code, Tests, Docs, … XML

Add

Generate

Specify

Generate

Generate

Architects

Engineers

Page 19: Using Model Driven Development to Easily Manage Variations in Software Defined Radio (SDR) Product Family Design

PrismTech 2012

Demonstration

Modeling a product line

Modeling variation points

Generating a variation point model

Creating product configurations

Specifying configuration points for 1. X86 Radio

2. ARM9 Platform

3. X86 Radio with Debug implementation

Generating product configuration models

Using product configuration models

19

Page 20: Using Model Driven Development to Easily Manage Variations in Software Defined Radio (SDR) Product Family Design

PrismTech 2012

Benefits

Radio developers no longer need to create and maintain a model for every possible product variant, only the product line model, variation points and product configurations

Architects have the flexibility of tailoring the core assets to the needs of the product line

Modeling the variation points lets the product line architect define the range and scope of the product variants

Variation Points communicate to the user the knowledge needed to specify a variant

Variation Point Models simplify the creation and management of product configurations

Users can engineer product configurations to meet their specific needs

Generated product models are complete, correct-by-construction, Spectra CX models which can be used to generate SCA compliant platforms and applications

20

Page 21: Using Model Driven Development to Easily Manage Variations in Software Defined Radio (SDR) Product Family Design

PrismTech 2012

Summary

Spectra CX Product Line Management supports model-driven development of SDR/SCA product lines

Variation Points provide the flexibility for specifying/managing product line architectures

Leverages Spectra CX modeling features

Specific to the needs of SDR/SCA developers

Optimized workflows for creating/maintaining product variants

Synchronization of the Product Line Model, Product Configurations, and Product Models

Extensible to meet customer needs e.g. default values for Variation Points

Generates Spectra CX model and XML descriptors for each variant

21

Page 22: Using Model Driven Development to Easily Manage Variations in Software Defined Radio (SDR) Product Family Design

PrismTech 2012

For More Information…

E-mail: [email protected]

Website: www.prismtech.com/spectra

Contact your local PrismTech account

manager

22

Page 23: Using Model Driven Development to Easily Manage Variations in Software Defined Radio (SDR) Product Family Design

PrismTech 2012

23

Thank You