bold stroke first software product line conference1 generative techniques for real-time embedded...

13
First Software Product Line Conference 1 Bold Stroke Generative Techniques for Real-Time Embedded Systems David Sharp [email protected] The Boeing Company St. Louis, Missouri

Upload: cuthbert-lynch

Post on 16-Jan-2016

214 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Bold Stroke First Software Product Line Conference1 Generative Techniques for Real-Time Embedded Systems David Sharp david.sharp@boeing.com The Boeing

First Software Product Line Conference

1

Bold Stroke

Generative Techniques for Real-Time Embedded Systems

David [email protected]

The Boeing CompanySt. Louis, Missouri

Page 2: Bold Stroke First Software Product Line Conference1 Generative Techniques for Real-Time Embedded Systems David Sharp david.sharp@boeing.com The Boeing

First Software Product Line Conference

2

Bold StrokeComponent Pattern

Structure Based on Façade Design Pattern*

*Gamma et al., Design Patterns: Elements of Reusable Object-Oriented Software

ComponentConsumer

ComponentFacade

ComponentSupplier1 ComponentSupplier2

Shown in Unified Modeling Language

Page 3: Bold Stroke First Software Product Line Conference1 Generative Techniques for Real-Time Embedded Systems David Sharp david.sharp@boeing.com The Boeing

First Software Product Line Conference

3

Bold StrokeConfigurable Component Pattern

Example

Airframe

ConfigurationAPI

...

HorizontalSensors

... VerticalSensors

... RotationalSensors

...

INSUser API

Configuration API

EGIUser API

Configuration API

ADCUser API

Configuration API

Static WiringDependencies OptionalOptional

RequiredRequired

Horiz.Substate

VerticalSubstate

Rot.Substate

User API

Project SpecificProject Specific

ReusedReused

Page 4: Bold Stroke First Software Product Line Conference1 Generative Techniques for Real-Time Embedded Systems David Sharp david.sharp@boeing.com The Boeing

First Software Product Line Conference

4

Bold Stroke

AirframeFactory

CreateHorizontalSubstate () : HorizontalSubstate*CreateVerticalSubstate () : VerticalSubstate*CreateRotationalSubstate () : RotationalSubstate*

Airframe

HorizontalSensor

HorizontalSubstate

1..*

VerticalSensor

VerticalSubstate

1..*

RotationalSensor

RotationalSubstate

1..*1..* 1..* 1..*

Configurable Component Pattern

Implementation (cont) Abstract Factory Pattern* Defines

Configuration Technique

*Gamma et al., Design Patterns: Elements of Reusable Object-Oriented Software

Page 5: Bold Stroke First Software Product Line Conference1 Generative Techniques for Real-Time Embedded Systems David Sharp david.sharp@boeing.com The Boeing

First Software Product Line Conference

5

Bold Stroke

Logical Architecture Overview

Model

InfrastructureServices

Operator

Configurator

Building Blocks

Real World Model

Avionics Interfaces

Dependencies

View Controller CommandsDisplaySurfaces

DisplayFormats

Cockpits

MissilesBallisticWeapons

SteeringAirframeEarthModel

GroundPoints

StateMachines

Distributors

Radar INS GPS

ORBServices

EventService

NameService

ReplicationService

PersistenceService

SchedulerService

I/OService

TimeService

SystemConfigurator

LayerConfigurator

Page 6: Bold Stroke First Software Product Line Conference1 Generative Techniques for Real-Time Embedded Systems David Sharp david.sharp@boeing.com The Boeing

First Software Product Line Conference

6

Bold Stroke

OFP Production System

Project Specific Components

Essential Project Specific Plug-ins

Essential Common Components

Desired Pluggable Common Components

OFP Configurator

Project Library

Reuse Library

OFPs Created Via Component Selection and WiringOFPs Created Via Component Selection and Wiring

Page 7: Bold Stroke First Software Product Line Conference1 Generative Techniques for Real-Time Embedded Systems David Sharp david.sharp@boeing.com The Boeing

First Software Product Line Conference

7

Bold Stroke

Component Composition Methods New System Development

• Spreadsheet• Purdue Tool• XML-Based Tool• Model-Based Integration of Embedded Systems

Program Tools (MoBIES)

Legacy System Upgrades

Page 8: Bold Stroke First Software Product Line Conference1 Generative Techniques for Real-Time Embedded Systems David Sharp david.sharp@boeing.com The Boeing

First Software Product Line Conference

8

Bold Stroke

Spreadsheet Tool

Perl Script

C++ Code

ComponentType Identifier PersistenceEnabled …

Processor1Layer1

ComponentA Class1 1101 YComponentB Class2 1102 YComponentC Class3 1103 N

Layer2ComponentD Class2 1201 YComponentE Class4 1202 N

Processor2Layer1

ComponentF Class5 2101 NComponentG Class5 2102 N

Layer2ComponentH Class1 2201 YComponentI Class6 2202 Y

Page 9: Bold Stroke First Software Product Line Conference1 Generative Techniques for Real-Time Embedded Systems David Sharp david.sharp@boeing.com The Boeing

First Software Product Line Conference

9

Bold Stroke

Purdue Tool

Code Generator

“Build Master”

Build Model

Graphical Viewer/Editor

C++ Code

Page 10: Bold Stroke First Software Product Line Conference1 Generative Techniques for Real-Time Embedded Systems David Sharp david.sharp@boeing.com The Boeing

First Software Product Line Conference

10

Bold Stroke

XML Based Tool<config><processor><layer><component>…</component></layer></processor></config>

Table and Graphical Based

Viewers/Editors

Page 11: Bold Stroke First Software Product Line Conference1 Generative Techniques for Real-Time Embedded Systems David Sharp david.sharp@boeing.com The Boeing

First Software Product Line Conference

11

Bold Stroke

MoBIES New DARPA Program Composition technologies for real-time

systems• Multi-view modeling of cross-cutting properties

– Scheduling, concurrency, distribution...• Meta-code generation• Framework integration

Also “Program Composition for Embedded Systems” (PCES)-

AOP for real-time systems

Page 12: Bold Stroke First Software Product Line Conference1 Generative Techniques for Real-Time Embedded Systems David Sharp david.sharp@boeing.com The Boeing

First Software Product Line Conference

12

Bold Stroke

Legacy Upgrades “Incremental Upgrade of Legacy Systems”

Program• Automated generation of C++ wrappers for legacy

software• Using Honeywell MetaH toolset

Page 13: Bold Stroke First Software Product Line Conference1 Generative Techniques for Real-Time Embedded Systems David Sharp david.sharp@boeing.com The Boeing

First Software Product Line Conference

13

Bold Stroke

Lessons Learned Need both tabular and graphical views Key issues:

• Simplicity• Scalability• Configuration management