An Architectural Approach to Support Online Updates of SPL - - PowerPoint PPT Presentation

an architectural approach to support
SMART_READER_LITE
LIVE PREVIEW

An Architectural Approach to Support Online Updates of SPL - - PowerPoint PPT Presentation

An Architectural Approach to Support Online Updates of SPL Products Danny Weyns, Linnaeus University Vxj Campus, Sweden 23rd CREST Open Workshop


slide-1
SLIDE 1

An ¡Architectural ¡Approach ¡to ¡Support ¡ Online ¡Updates ¡of ¡SPL ¡Products ¡

Danny ¡Weyns, ¡Linnaeus ¡University ¡Växjö ¡Campus, ¡Sweden ¡

¡ ¡

23rd ¡CREST ¡Open ¡Workshop ¡ ¡ Change ¡Impact ¡Analysis ¡and ¡TesCng ¡of ¡SoDware ¡Product ¡Lines ¡ ¡ November ¡19-­‑20, ¡2012 ¡UCL ¡London ¡

slide-2
SLIDE 2

Problem ¡context: ¡Egemin ¡integrated ¡ logisJc ¡systems ¡

2 ¡ E’wms ¡ E’gv ¡ E’con ¡ E’car ¡

slide-3
SLIDE 3

Egemin ¡SPL ¡architecture ¡

3 ¡

slide-4
SLIDE 4

Typical ¡configuraJon ¡of ¡a ¡product ¡ ¡

4 ¡

slide-5
SLIDE 5

Simple ¡update ¡scenario ¡

5 ¡

v14 ¡ v14 ¡

Update ¡E’tricc ¡to ¡new ¡version ¡

slide-6
SLIDE 6

6 ¡ Integrator ¡ System ¡admin ¡ SPL ¡development ¡

  • rganizaJon ¡

NV Logistics

Problem ¡

Updated ¡ product ¡

slide-7
SLIDE 7

Problem ¡

¡

  • Coarse ¡grained ¡updates ¡of ¡deployed ¡SPL ¡products ¡

▫ Product ¡= ¡set ¡of ¡assets ¡each ¡consisJng ¡of ¡set ¡of ¡resources ¡ ¡ ▫ SupporJng ¡infrastructure ¡for ¡dynamic ¡updates ¡of ¡components ¡is ¡ available ¡ ▫ 200 ¡products ¡deployed; ¡aWer ¡iniJal ¡phase ¡+-­‑ ¡1 ¡update/year ¡

  • Egemin’s ¡current ¡pracJce: ¡updates ¡oWen ¡contain ¡errors ¡

and/or ¡are ¡not ¡performed ¡efficiently ¡ ¡

  • Problem: ¡how ¡to ¡support ¡integrators ¡to ¡

▫ Perform ¡correct ¡updates ¡with ¡minimal ¡interrupJon ¡of ¡service ¡ ▫ Given ¡a ¡lack ¡of ¡precise ¡architectural ¡informaJon ¡ ¡

7 ¡

slide-8
SLIDE 8

Overview ¡

  • Architectural ¡approach ¡
  • Update ¡viewpoint ¡
  • Framework ¡
  • EvaluaJon ¡
  • Conclusions ¡and ¡future ¡work ¡

¡

8 ¡

slide-9
SLIDE 9

Architectural ¡approach ¡

9 ¡ Update ¡ viewpoint ¡ Framework ¡ Update ¡view ¡ InstanJated ¡ Framework ¡ Update ¡Products ¡ ¡ Define ¡ Reusable ¡ArJfacts ¡ ¡ Create ¡ ¡ SPL-­‑Specific ¡ ¡ ArJfact ¡Instances ¡ ¡ Usage ¡

slide-10
SLIDE 10

Overview ¡

  • Architectural ¡approach ¡
  • Update ¡viewpoint ¡
  • Framework ¡
  • EvaluaJon ¡
  • Conclusions ¡& ¡future ¡work ¡

¡

10 ¡

slide-11
SLIDE 11

Update ¡viewpoint: ¡overview ¡

  • Update ¡concerns ¡
  • Model ¡kinds ¡
  • Meta-­‑models ¡
  • Analysis ¡

¡

  • D. ¡Weyns, ¡B. ¡Michalik, ¡A. ¡Helleboogh, ¡N. ¡Bouke, ¡An ¡Architectural ¡Approach ¡to ¡Support ¡Online ¡

Updates ¡of ¡SoWware ¡Product ¡Lines, ¡IEEE/IFIP ¡Conference ¡on ¡SoWware ¡Architecture, ¡WICSA ¡2011 ¡

11 ¡

slide-12
SLIDE 12

Update ¡concerns ¡

  • Understandability ¡
  • Availability ¡
  • Correctness ¡

12 ¡

slide-13
SLIDE 13

Update ¡concerns ¡

  • Understandability ¡

▫ What ¡are ¡assets ¡and ¡resources ¡for ¡the ¡SPL ¡ ▫ What ¡are ¡the ¡dependencies ¡between ¡assets/resources? ¡ ¡ ▫ Which ¡assets ¡are ¡currently/should ¡be ¡installed? ¡ ▫ Where ¡are ¡resources ¡deployed? ¡ ▫ Where ¡should ¡resources ¡be ¡deployed ¡aWer ¡update? ¡ ¡

  • Availability ¡
  • Correctness ¡ ¡

13 ¡

slide-14
SLIDE 14

Update ¡concerns ¡

  • Understandability ¡
  • Availability ¡

▫ How ¡to ¡perform ¡the ¡update ¡with ¡minimal ¡interrupJon ¡

  • f ¡service? ¡

▫ Which ¡resources ¡have ¡to ¡be ¡replaced? ¡ ▫ Which ¡processes ¡have ¡to ¡be ¡stopped ¡and ¡(re-­‑)started ¡ and ¡when? ¡ ¡

  • Correctness ¡

14 ¡

slide-15
SLIDE 15

Update ¡concerns ¡

  • Understandability ¡
  • Availability ¡
  • Correctness ¡

▫ What ¡is ¡the ¡procedure ¡to ¡perform ¡a ¡correct ¡update? ¡ ¡ ▫ What ¡kind ¡of ¡inconsistencies ¡exist? ¡ ¡ ▫ When ¡is ¡the ¡update ¡performed ¡correctly? ¡ ¡

15 ¡

slide-16
SLIDE 16

Update ¡viewpoint: ¡overview ¡

  • Update ¡concerns ¡
  • Model ¡kinds ¡
  • Meta-­‑models ¡
  • Analysis ¡

16 ¡

slide-17
SLIDE 17

Update ¡viewpoint ¡model ¡kinds ¡

  • M1 ¡-­‑ ¡As-­‑is ¡product ¡deployment ¡

▫ Browse-­‑able ¡model ¡of ¡the ¡current ¡product ¡ ¡

  • M2 ¡-­‑ ¡To-­‑be ¡product ¡deployment ¡ ¡

▫ Browse-­‑able ¡ ¡model ¡of ¡the ¡future ¡version ¡of ¡the ¡

product ¡ ¡

  • M3 ¡-­‑ ¡Update ¡procedure ¡(update ¡script) ¡

▫ Model ¡showing ¡the ¡steps ¡to ¡perform ¡the ¡update ¡

  • M4 ¡-­‑ ¡Inconsistencies ¡ ¡

▫ Model ¡showing ¡the ¡inconsistencies ¡in ¡updated ¡product. ¡

17 ¡

slide-18
SLIDE 18

Update ¡viewpoint ¡model ¡kinds ¡

18 ¡ M1: ¡As-­‑Is ¡ Product ¡ M2: ¡To-­‑Be ¡ Product ¡ M3: ¡Update ¡ Procedure ¡ M4: ¡ Inconsistencies ¡ Understandability ¡ X ¡ X ¡ Availability ¡ X ¡ Correctness ¡ X ¡ X ¡

slide-19
SLIDE 19

Update ¡viewpoint ¡model ¡kinds ¡

19 ¡ M1: ¡As-­‑Is ¡ Product ¡ M2: ¡To-­‑Be ¡ Product ¡ M3: ¡Update ¡ Procedure ¡ M4: ¡ Inconsistencies ¡ Understandability ¡ X ¡ X ¡ Availability ¡ X ¡ Correctness ¡ X ¡ X ¡ Models ¡harvested ¡from ¡system ¡sources ¡ Models ¡derived ¡from ¡analysis ¡of ¡M1 ¡and ¡M2 ¡

slide-20
SLIDE 20

Update ¡viewpoint: ¡overview ¡

  • Update ¡concerns ¡
  • Model ¡kinds ¡
  • Meta-­‑model ¡(M1, ¡M2) ¡ ¡

▫ Integrated ¡meta-­‑model ¡ ▫ Mapping ¡to ¡Egemin’s ¡context ¡

  • Analysis ¡(M3, ¡M4) ¡

20 ¡

slide-21
SLIDE 21

Integrated ¡meta-­‑model ¡

21 ¡

slide-22
SLIDE 22

Egemin’s ¡Integrated ¡Meta-­‑Model ¡

22 ¡

slide-23
SLIDE 23

Update ¡viewpoint: ¡overview ¡

  • Update ¡concerns ¡
  • Model ¡kinds ¡
  • Meta-­‑model ¡(M1, ¡M2) ¡
  • Analysis ¡(M3, ¡M4) ¡ ¡

▫ A1: ¡Update ¡procedure ¡ ▫ A2: ¡Product ¡inconsistencies ¡

  • D. ¡Weyns ¡and ¡B. ¡Michalik, ¡Codifying ¡Architecture ¡Knowledge ¡to ¡Support ¡Online ¡EvoluJon ¡of ¡

SoWware ¡Product ¡Lines, ¡SHAring ¡and ¡Reusing ¡architectural ¡Knowledge, ¡SHARK ¡2011 ¡

23 ¡

slide-24
SLIDE 24

A1: ¡Update ¡procedure ¡

  • Analysis ¡of ¡delta ¡between ¡as-­‑is ¡and ¡to-­‑be ¡ ¡

▫ Resources ¡to ¡be ¡added ¡(in ¡to-­‑be, ¡not ¡in ¡as-­‑is) ¡ ▫ Resources ¡to ¡be ¡removed ¡(in ¡as-­‑is, ¡not ¡in ¡to-­‑be) ¡ ▫ Resources ¡to ¡be ¡replaced ¡(versions) ¡ ¡ ▫ Affected ¡processes ¡(to ¡stop ¡and ¡start) ¡ ▫ Domain-­‑specific ¡rules ¡about ¡order ¡of ¡process ¡ manipulaJons ¡

  • Result ¡is ¡an ¡update ¡script ¡

24 ¡

slide-25
SLIDE 25

A2: ¡Product ¡inconsistencies ¡

  • Check ¡inconsistencies ¡of ¡product ¡under ¡update ¡

▫ ViolaJons ¡of ¡asset ¡constraints ¡ ▫ Incomplete/inconsistent ¡set ¡of ¡resources ¡for ¡a ¡ parJcular ¡asset ¡ ▫ Resource ¡dependencies ¡that ¡cannot ¡be ¡resolved ¡ ▫ ViolaJons ¡of ¡versions ¡of ¡assets/resources ¡ ¡

  • Result ¡is ¡an ¡inconsistency ¡model ¡

25 ¡

slide-26
SLIDE 26

Overview ¡

  • Architectural ¡approach ¡
  • Update ¡viewpoint ¡
  • Framework ¡
  • EvaluaJon ¡
  • Conclusions ¡and ¡future ¡work ¡

¡

26 ¡

slide-27
SLIDE 27

Framework ¡

  • Reusable ¡and ¡extensible ¡infrastructure ¡for ¡

updaJng ¡deployed ¡SPL ¡products ¡

  • Key ¡funcJons ¡

▫ HarvesJng ¡architectural ¡relevant ¡informaJon ¡ ▫ Analyzing ¡architectural ¡informaJon ¡ ¡ ▫ Visualizing ¡architectural ¡models ¡for ¡the ¡stakeholders ¡

  • Built ¡in ¡Java ¡reusing ¡several ¡of ¡the ¡Eclipse ¡projects ¡

¡

27 ¡

slide-28
SLIDE 28

Framework ¡

28 ¡ Stakeholders ¡

slide-29
SLIDE 29

As-­‑Is ¡tab ¡ Available ¡locaJons ¡ Assets ¡on ¡selected ¡ locaJon ¡ Deployed ¡assemblies ¡of ¡ selected ¡locaJon/asset ¡ Dependencies ¡of ¡selected ¡ assembly ¡ Assemblies ¡that ¡use ¡selected ¡ assembly ¡

slide-30
SLIDE 30

Consistency ¡of ¡as-­‑is ¡ product ¡ ¡ Lacking ¡assemblies ¡for ¡ ¡ selected ¡locaJon ¡ Required ¡assemblies ¡for ¡ selected ¡assembly ¡ System ¡assemblies ¡that ¡can ¡be ¡ignored ¡

slide-31
SLIDE 31

Concrete ¡tasks ¡to ¡be ¡performed ¡

  • n ¡the ¡selected ¡locaJon ¡

Update ¡script ¡

slide-32
SLIDE 32

Overview ¡

  • Architectural ¡approach ¡
  • Update ¡viewpoint ¡
  • Framework ¡
  • EvaluaJon ¡
  • Conclusions ¡& ¡future ¡work ¡

¡

32 ¡

slide-33
SLIDE 33

EvaluaJon ¡

  • Empirical ¡experiment ¡focusing ¡on ¡correctness ¡and ¡

availability ¡

▫ 17 ¡professionals ¡performed ¡68 ¡updates ¡

  • Comparing ¡Egemin’s ¡current ¡pracJce ¡(baseline ¡

approach) ¡with ¡architectural ¡approach ¡

  • Hypothesis ¡

▫ H1. ¡Architectural ¡approach ¡improves ¡the ¡ correctness ¡of ¡updaJng ¡a ¡product ¡ ▫ H2. ¡Architectural ¡approach ¡improves ¡the ¡availability ¡

  • f ¡services ¡during ¡a ¡product ¡update ¡

33 ¡

slide-34
SLIDE 34

EvaluaJon: ¡summary ¡of ¡results ¡ ¡

  • Update ¡correctness ¡

34 ¡ Evidence ¡for ¡“The ¡correctness ¡of ¡updates ¡is ¡higher ¡in ¡case ¡of ¡the ¡architectural ¡ approach” ¡for ¡complex ¡scenarios ¡ ¡ Correct ¡ Incorrect ¡ ¡ Simple ¡ ¡ Scenarios ¡ Architectural ¡ Approach ¡ 17 ¡ 0 ¡ Baseline ¡ Approach ¡ 14 ¡ 3 ¡ ¡ Complex ¡ Scenarios ¡ Architectural ¡ Approach ¡ 17 ¡ 0 ¡ Baseline ¡ Approach ¡ 3 ¡ 14 ¡

slide-35
SLIDE 35

EvaluaJon: ¡summary ¡of ¡results ¡ ¡

  • Process ¡shutdowns ¡

35 ¡ Evidence ¡for ¡“The ¡number ¡of ¡shutdowns ¡is ¡smaller ¡with ¡the ¡architectural ¡ approach” ¡for ¡complex ¡scenarios ¡ ¡ ¡ OpCmal ¡ Number ¡of ¡ shutdowns ¡ ¡ > ¡opCmal ¡ Number ¡of ¡ shutdowns ¡ ¡ < ¡opCmal ¡ ¡ Simple ¡ ¡ Scenarios ¡ Architectural ¡ Approach ¡ 17 ¡ 0 ¡ 0 ¡ Baseline ¡ Approach ¡ 11 ¡ 5 ¡ 1 ¡ ¡ Complex ¡ Scenarios ¡ Architectural ¡ Approach ¡ 16 ¡ 1 ¡ 0 ¡ Baseline ¡ Approach ¡ 8 ¡ 3 ¡ 6 ¡

slide-36
SLIDE 36

EvaluaJon: ¡summary ¡of ¡results ¡ ¡

  • Treats ¡to ¡validity ¡

▫ Experiments ¡performed ¡in ¡a ¡controlled ¡lab ¡sesng ¡ ▫ Test ¡persons ¡not ¡allowed ¡to ¡interact ¡with ¡colleagues ¡

  • B. ¡Michalik, ¡D. ¡Weyns, ¡A. ¡Helleboogh, ¡N. ¡Bouke, ¡SupporDng ¡Online ¡Updates ¡of ¡SoGware ¡

Product ¡Lines: ¡A ¡Controlled ¡Experiment, ¡5th ¡ACM/IEEE ¡InternaDonal ¡Symposium ¡on ¡ Empirical ¡SoGware ¡Engineering ¡and ¡Measurement, ¡ESEM ¡2011 ¡

36 ¡

slide-37
SLIDE 37

Overview ¡

  • Architecture ¡approach ¡
  • Update ¡viewpoint ¡
  • Framework ¡
  • EvaluaJon ¡
  • Conclusions ¡& ¡future ¡work ¡

¡

37 ¡

slide-38
SLIDE 38

Conclusions ¡

  • Research ¡of ¡online ¡updates ¡typically ¡takes ¡a ¡technical ¡

perspecDve ¡on ¡the ¡problem ¡

  • Concerns ¡of ¡integrators ¡which ¡crucial ¡for ¡the ¡success ¡
  • f ¡updates ¡are ¡oWen ¡neglected ¡ ¡
  • Lack ¡of ¡accurate ¡knowledge ¡of ¡the ¡deployed ¡system ¡is ¡

a ¡reality ¡ ¡ ¡

  • Architecture ¡approach ¡

▫ Stakeholder ¡perspecJve ¡on ¡problem ¡of ¡online ¡updates ¡ ▫ PosiJve ¡value/cost ¡balance ¡in ¡SPL ¡context ¡

38 ¡

slide-39
SLIDE 39

Ongoing ¡/ ¡future ¡work ¡

  • ApplicaJon ¡to ¡different ¡domain/technology ¡

▫ EduSPL: ¡educaJonal ¡soWware ¡product ¡built ¡on ¡top ¡of ¡OSGi ¡

  • Formally ¡prove ¡correctness ¡and ¡availability ¡properJes ¡
  • “Autonomic ¡SPL” ¡ ¡

▫ Base ¡level: ¡domain ¡SPL ¡ ▫ AdaptaJon ¡level: ¡SPL ¡of ¡reusable ¡assets ¡to ¡add ¡autonomic ¡ properJes ¡to ¡domain ¡SPL ¡(support ¡for ¡self-­‑adaptaJon ¡to ¡add ¡ quality ¡atributes) ¡ ¡

39 ¡

slide-40
SLIDE 40

An ¡Architectural ¡Approach ¡to ¡Support ¡ Online ¡Updates ¡of ¡SPL ¡Products ¡

¡

hPp://homepage.lnu.se/staff/daweaa/index.htm ¡

ACKNOWLEDGMENTS ¡ ¡ ¡

¡ ¡ ¡Bartosz ¡Michalik, ¡KU ¡Leuven ¡Belgium ¡ ¡ ¡Alexander ¡Helleboogh ¡and ¡Nelis ¡Boucke ¡(www.archiwise.com) ¡ ¡ ¡Kurt ¡de ¡Vocht ¡and ¡Wim ¡Van ¡Betsbrugge ¡(www.egemin.com) ¡ ¡ ¡ ¡Quan ¡Nguyen, ¡Nadeem ¡Abbas, ¡Jesper ¡Andersson, ¡Linnaeus ¡Sweden ¡

Thanks! ¡QuesDons? ¡ ¡