VARiability In safety-critical Embedded Systems ARTEMIS-2011-1 - - PowerPoint PPT Presentation

variability in safety critical embedded systems
SMART_READER_LITE
LIVE PREVIEW

VARiability In safety-critical Embedded Systems ARTEMIS-2011-1 - - PowerPoint PPT Presentation

VARiability In safety-critical Embedded Systems ARTEMIS-2011-1 Project Number: 295397 BVR Better Variability Results by ystein Haugen (SINTEF) and Ommund grd (Autronica) What do we mean by variability? Product Line


slide-1
SLIDE 1

VARiability In safety-critical Embedded Systems

ARTEMIS-2011-1 Project Number: 295397

BVR – Better Variability Results

by Øystein Haugen (SINTEF) and Ommund Øgård (Autronica)

slide-2
SLIDE 2
  • Product Line variance

– often variants of the same software base

  • Cross-cutting variability

– often variability is

  • rthogonal to the software

design – variability needs are discovered after the first software design

  • The variability designer is not

always the software designer – division of labor and of competences

What do we mean by “variability”?

slide-3
SLIDE 3

The Autronica Product Family

FireAlarmSystem System consisting of embedded fire panels with logics and LCD menu system. Presentation 1..* 0,1 AutroMaster Top level graphical presentation system running on Linux PCs Presentation 1..* 0,1 Presentation 1..* 0,1 AutroSafe High end networked Fire Alarm System for large demanding applications Autroprime Medium range standalone Fire Alarm System 1 1..* FieldEquipment Smoke detectors, manual call points, sounders, IO units etc. 1 1..*

slide-4
SLIDE 4

The Market Domains of Autronica

slide-5
SLIDE 5

DSL

Variability model

CVL

Base model

Generic & Standardized

resolution models

Focused on a domain

Execute CVL Resolved models

Specification in CVL of base model variabilities Product line model in any MOF- compliant language Selection of a set

  • f choices in the

variation model Product models fully described in the base language. All regular base language tools can be applied to these models

Common Variability Language (CVL)

slide-6
SLIDE 6

CVL Architecture

Base Model Variability Abstraction Variability Realization Constraints Resolutions Configurable Units Variability Interfaces VSpecs Variation Points

slide-7
SLIDE 7

The MOF2CVL experiment

AutroSafe: eMOF AutroCVL: CVL MOF2CVL engine ICPL engine CVL resolution editor The Autronica hardware

slide-8
SLIDE 8

Introducing a simple car configuration

8 Duplicating choices – not legal CVL Unique choices, supplemented by constraints

slide-9
SLIDE 9

Constraints are about targets

  • "Parkassist implies hp140"

means that either (Manual,AWD,hp140) or (Automatic,AWD,hp140) are valid

  • Constraints are about "targets"

and not about decisions

  • Duplicated names on VSpecs

indicate that they are decisions

  • n the same target

9

slide-10
SLIDE 10

Autronica Variability model (Type/Inst.)

"types" "instantiation"

slide-11
SLIDE 11

Introducing VSpec Type

12 indicating scope/ownership type AWD definition instance of type AWD Note that hp140 refers to any hp140 instance

slide-12
SLIDE 12

Cascading effects of VSpec Type

Base Model Variability Abstraction Variability Realization Constraints Resolutions Configurable Units Variability Interfaces VSpecs Variation Points VSpec type Targets Literals Staged Variation Point

slide-13
SLIDE 13

Realization (additive, nested)

14

Fragment Substitution Fragment Substitution Fragment Substitution

slide-14
SLIDE 14

Realization (subtractive)

15

Fragment Substitution Fragment Substitution Fragment Substitution?

kw300 kw500 kw300 kw500

Problem is that these fragment substitutions do not know the resolution of the Engine!

This one does not know which wheel!

slide-15
SLIDE 15

Realization (staged realization)

16

Staged VariationPoint Staged VariationPoint Fragment Substitution

kw300 kw500 kw300 kw500

Fragment Substitution Fragment Substitution Fragment Substitution Here all the information of resolution is available

slide-16
SLIDE 16

Resolution Literals

17

17

literal Weak:Engine literal Strong:Engine w1:Engine=Strong w2:Engine=Strong kW500 = true kW300 = true w3:Engine=Weak w4:Engine=Weak

17

Staged VariationPoint Staged VariationPoint Fragment Substitution

kw300 kw500 kw300 kw500

Fragment Substitution Fragment Substitution Fragment Substitution

literal Strong Engine

slide-17
SLIDE 17

New in BVR

Base Model Variability Abstraction Variability Realization Constraints Resolutions Configurable Units Variability Interfaces VSpecs Variation Points VSpec type Targets Literals Staged Variation Point Reference Note