The e Hi High-Level el Variability Language: e: an ontological - - PowerPoint PPT Presentation

the e hi high level el variability language e an
SMART_READER_LITE
LIVE PREVIEW

The e Hi High-Level el Variability Language: e: an ontological - - PowerPoint PPT Presentation

The e Hi High-Level el Variability Language: e: an ontological approach Angela Villota, Ral Mazo and Camille Salinesi Context Differences Style: orthogonal Targets Structure Way to be used Similarities Syntax


slide-1
SLIDE 1

The e Hi High-Level el Variability Language: e: an ontological approach

Angela Villota, Raúl Mazo and Camille Salinesi

slide-2
SLIDE 2

Context

Differences

  • Style: orthogonal
  • Targets
  • Structure
  • Way to be used

Similarities

  • Syntax
  • Semantics
slide-3
SLIDE 3

Context

Translational Semantics

Map models in propositional formulas or constraint satisfaction problems to perform reasoning tasks.

Constraints

slide-4
SLIDE 4

Why don’t we use a constraint-based language to model variability?

slide-5
SLIDE 5

High-Level Constraint Language

  • Djebbi et al. (2009)
  • Mazo et al. (2011)
  • Dumitrescu et al. (2014)
  • Muñoz et al. (2015)
  • Villota et al. (2018)
slide-6
SLIDE 6

Context

REFAS: variability, goals, soft-goals, claims Constraint graphs Feature models

slide-7
SLIDE 7

The Ontological Path

  • Comparison with other PLMs languages.
  • User experience.
  • A more formal approach?

Ontological approach

  • To evaluate the expressiveness of the intermediate language
  • To conceptualize and structure knowledge about variability modeling
  • To define variability constructs and language characteristics

Legend

Asadi's et al. ontology Knowledge sources Completeness and clarity criteria Theory of ontological expressiveness Variability Modeling glossary HLVL Ontological analysis

1

Conceptualization

2

Refinement and synthesis

3

Process input/

  • utput

Can we model variability comprehensively using HLCL?

slide-8
SLIDE 8

V

V1: Medium- class car

VP Mandatory Optional V Variant Mandatory Optional [min, max]

Alternative

Requires Excludes VP

VP

VP1: Type

  • f vehicle

VP

VP2: Activation

VP VP3:

Confort functions

VP

VP4: Other signs

VP

VP5: Prohibition signs

V

V2: Upper- class car

V

V3: Small truck(3, 5t)

V

V4: Big truck(7, 5t) 1, 1

V

V5: Switchable

V

V6: Durable 1, 1

V

V7: No stopping warning

V

V8: Overspeed warning

V

V11: No vehicles

V

V9: Road w/right

  • f way start

V

V12: No cars

V

V10: City limit

MAX

What to buy? (name: scope; expected val 1:1): {"assemble yourself", "complete suite"}) Which tools? (name: tools; expected val 1:3): {"CW", "DK", "PK"}) Include glossary? (name: glossary; expected val: bool) Default resolution? (name: resolution; expected val 1:1): {"800x600", }) Width? (name: width; expected val: number)

  • Decision effect

Validity Cond.

  • Visibility Cond.
  • Decision

Parking Assistant System Processor Memory

Name: size Domain: integers Values: [2, 4, 8, 16, 32] Name: cores Domain: integers Value: 1..7

Excludes Requires Mandatory Optional OR

Alternative

feature Attribute

Speed sensor Sensors Position sensor Feedback Visual Audio

[1, 2]

Vibration

Variability unit Variability relation Variant

Feature-oriented Decision-oriented VP-oriented Constraint-oriented

Variability modeling languages

not completely different, not completely the same

slide-9
SLIDE 9

Va Variability co concepts

slide-10
SLIDE 10

The High-Level Variability Language

  • Rich textual language to model variability.
  • Syntax that resembles programming languages, to make it human

readable

  • HLVL is a language capable of supporting concepts of many variability
  • languages. Why just features?

Would you use it?

  • Would you leave your modeling tools for an HLVL-tool?
slide-11
SLIDE 11

The High-Level Variability Language

Payment E-shop Customer type Connection Insecure Secure PayPal Card Gift Credit Regular Sporadic Constraints Regular => Customer profile ~(Insecure /\ Credit)

Name: confidentiality Domain: integers Value: 5 Name: confidentiality Domain: integers Value: 3..5

Excludes Requires Mandatory Optional OR

Alternative

feature Attribute

Debit AppServer Implementation Machines

[1, 5] [2, 10] [0, 1]

slide-12
SLIDE 12

The High-Level Variability Language

V

V1: Medium- class car

VP Mandatory Optional V Variant Mandatory Optional [min, max]

Alternative

Requires Excludes VP

VP

VP1: Type

  • f vehicle

VP

VP2: Activation

VP VP3:

Confort functions

VP

VP4: Other signs

VP

VP5: Prohibition signs

V

V2: Upper- class car

V

V3: Small truck(3, 5t)

V

V4: Big truck(7, 5t) 1, 1

V

V5: Switchable

V

V6: Durable 1, 1

V

V7: No stopping warning

V

V8: Overspeed warning

V

V11: No vehicles

V

V9: Road w/right

  • f way start

V

V12: No cars

V

V10: City limit

MAX
slide-13
SLIDE 13

The High-Level Variability Language

What to buy? (name: scope; expected val 1:1): {"assemble yourself", "complete suite"}) Which tools? (name: tools; expected val 1:3): {"CW", "DK", "PK"}) Include glossary? (name: glossary; expected val: bool) Default resolution? (name: resolution; expected val 1:1): {"800x600", }) Width? (name: width; expected val: number)

  • Decision effect

Validity Cond.

  • Visibility Cond.
  • Decision
slide-14
SLIDE 14

What’s next?

Domain engineers model variability using their preferred language/tool 2 Then, models are transformed to produce their HLVL representation

model mobilePhone elements: boolean calls boolean GPS boolean screen boolean basicScreen boolean hrScreen boolean camera relations: R0: coreElements(calls, screen) R1: mutex(GPS, basicScreen) R2: implies(camera, hrScreen)

HLVL

The transformation process is shorter using our HLVL variability modelling editor. 3 Variability models represented in HLVL are ready for the reasoning process H L H L V L V L 1 1 2 3 4 HLVL models are transformed into constraint programs in HLCL 5 Models and reasoning questions are processed to choose the best solving tool and algorithm for answering each question HL HLCL H L H L V L V L 4 5 6 6 The solving tool is executed, the output is processed, and the questions about the variability model are answered.

HLCL

% Autogenerated code from % the Coffee framework % Variables from elements defs. var 0..1: calls; var 0..1: GPS; var 0..1: screen; var 0..1: basicScreen; var 0..1: hrScreen; var 0..1: camera; % Variables and constraints constraint calls = 1; constraint screen = 1; constraint GPS + basicScreen <1; constraint hrScreen < camera; % Solving parameters solve satisfy;

Coffee

slide-15
SLIDE 15

Angela Villota

Contact: angievig@gmail.com

Thank you!