This document introduces Spectra CX Product Line Management, a tool that uses model-driven development to manage variations in software defined radio (SDR) product families. It allows architects to model a product line architecture using variation points, which identify elements that can vary. Product configurations can then be generated from these models to easily create product variants. The tool demonstrates how to model variation points, generate configuration models, and produce customized product models for specific configurations like an X86 radio. It aims to help developers manage multiple product variants using a single product line model.
Spectra IP Core ORB - high-performance, low-latency solution for FPGA-GPP com...
Using MDD to Easily Manage Variations in SDR Product Family Design
1. Using Model Driven Development
to Easily Manage Variations in
SDR Product Family Design
November 29, 2012
2. Introduction 2
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.
PrismTech 2012
3. TOPICS 3
SDR/SCA product variability problem
Current solutions
Modeling variability and product lines
Spectra CX Product Line Management
Concepts – Variation Points, …
Workflow
Demonstration
Benefits
PrismTech 2012
4. Product Variability Problem 4
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?
PrismTech 2012
5. Example: DTP4700 5
DTP4700H
400 MHz to 4000 MHz frequency range
20 KHz – 40 MHz signal bandwidth
DTP4700L
30 MHz to 1600 MHz frequency range
40 KHz – 40 MHz signal bandwidth
Set the value of
three (3) Select an
SCA Properties Implementation
of one (1)
component
PrismTech 2012
6. Current Solutions 6
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
Not ideal for managing product
lines…variations on a base product
PrismTech 2012
7. Modeling Variability 7
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
PrismTech 2012
8. Modeling Product Lines (2000+) 8
Product line feature and
architecture modeling with
generation of product
architectures and artefacts
>> Model-Driven Development
Modeling and Using Product Line Variability in Automotive
Systems, Theil and Hein, IEEE Software July/August 2002
PrismTech 2012
9. Spectra SDR/SCA Solution 9
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
PrismTech 2012
10. Spectra CX Product Line Management 10
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
PrismTech 2012
11. New Concepts 11
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
PrismTech 2012
12. Variation Points 12
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
PrismTech 2012
13. …can be created on 13
Applications and nodes
Application, node and platform parts
Properties
Implementations
Component interface ports
Components and component interfaces
PrismTech 2012
14. Types of Variation Points 14
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
PrismTech 2012
15. Configuration Points 15
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
PrismTech 2012
16. …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
PrismTech 2012
17. Roles and Responsibilities 17
Product Line Architect Product Engineer
Responsible for the product Creates product
line model configurations as needed
Manages variability – Specifies product
models the variation points configurations using the
configuration points
Ensures a variation point is Generates the product
modeled such that a model
product engineer has
Generates the XML
enough knowledge to descriptors, …
specify a variant
Builds the product variant
When a new variant is
needed, they add or modify
VPs
PrismTech 2012
18. Workflow 18
Product Line Model
Add
Architects Variation Points
Generate
Variation Point Model
Specify
Product Configuration
Generate
Engineers
Product Model
Generate
Code, Tests, Docs, … XML
PrismTech 2012
19. Demonstration 19
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
PrismTech 2012
20. Benefits 20
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
PrismTech 2012
21. Summary 21
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
PrismTech 2012
22. For More Information… 22
E-mail: info@prismtech.com
Website: www.prismtech.com/spectra
Contact your local PrismTech account
manager
PrismTech 2012