Collaborative Design with the Software Architecture - - PowerPoint PPT Presentation

collaborative design with the software architecture
SMART_READER_LITE
LIVE PREVIEW

Collaborative Design with the Software Architecture - - PowerPoint PPT Presentation

Universit della Svizzera italiana Collaborative Design with the Software Architecture Warehouse Marcin Nowak, Cesare Pautasso Faculty of Informa9cs, University of Lugano,


slide-1
SLIDE 1

Collaborative ¡Design ¡with ¡ the ¡Software ¡Architecture ¡ Warehouse ¡

Marcin ¡Nowak, ¡Cesare ¡Pautasso ¡ Faculty ¡of ¡Informa9cs, ¡University ¡of ¡Lugano, ¡Switzerland ¡

Demo ¡Upcoming: ¡WLAN: ¡SAW ¡navigate ¡your ¡Chrome ¡to: ¡h*p://demo.saw ¡

Università della Svizzera italiana

slide-2
SLIDE 2

Abstract ¡

  • Designing ¡a ¡soFware ¡architecture ¡requires ¡access ¡to ¡domain ¡

knowledge ¡and ¡experience, ¡combined ¡with ¡the ¡ability ¡to ¡make ¡good ¡ decisions ¡based ¡on ¡par9al ¡informa9on. ¡We ¡present ¡the ¡SoFware ¡ Architecture ¡Warehouse ¡(SAW, ¡hMp://saw.inf.unisi.ch/), ¡a ¡Web-­‑ based ¡tool ¡that ¡supports ¡distributed ¡architecture ¡design ¡teams ¡by ¡ managing ¡their ¡shared ¡knowledge ¡and ¡enabling ¡consensus-­‑based ¡ decision ¡making. ¡

  • AFer ¡introducing ¡the ¡extensible ¡knowledge ¡meta-­‑model ¡of ¡SAW, ¡we ¡

will ¡present ¡various ¡scenarios ¡of ¡in-­‑mee9ng ¡design-­‑dialogue ¡ mapping ¡and ¡discussion ¡support, ¡along ¡with ¡visual ¡aids. ¡We ¡will ¡ demonstrate ¡how ¡SAW ¡can ¡be ¡used ¡to ¡induce ¡synergy ¡effects ¡ between ¡knowledge ¡reuse ¡and ¡remote ¡collabora9on. ¡We ¡claim ¡that ¡ giving ¡immediate ¡feedback ¡to ¡the ¡whole ¡design ¡team ¡about ¡the ¡ implica9ons ¡and ¡constraints ¡of ¡a ¡design ¡decision ¡results ¡in ¡an ¡ improvement ¡in ¡the ¡quality ¡of ¡decisions ¡made. ¡

2 ¡

slide-3
SLIDE 3

Introduction ¡

  • SoFware ¡architecture ¡is ¡a ¡knowledge ¡intensive ¡

design ¡process ¡that ¡requires: ¡

  • Access ¡to ¡domain ¡knowledge ¡
  • Making ¡decisions ¡based ¡on ¡limited ¡informa9on ¡
  • Reaching ¡consensus ¡collabora9vely ¡

¡

Goal: ¡Support ¡the ¡collabora9on ¡in ¡local ¡and ¡ remote ¡design ¡workshops ¡

¡

3 ¡

slide-4
SLIDE 4

A ¡Warehouse ¡for ¡ ¡ Architectural ¡Knowledge ¡

  • Capture, ¡Manage, ¡Share ¡and ¡Analyze ¡reusable ¡

architectural ¡knowledge ¡across ¡mul9ple ¡projects ¡

  • Minimal ¡assump9ons ¡over ¡the ¡knowledge ¡meta-­‑

model: ¡

  • IBIS ¡(Issue ¡Based ¡Informa9on ¡System) ¡ ¡
  • Capable ¡of ¡handling ¡mul9ple ¡knowledge ¡and ¡

decision ¡models ¡at ¡the ¡same ¡9me ¡

4 ¡

slide-5
SLIDE 5

SAW ¡Meta-­‑Model ¡

  • Abstract ¡issue-­‑based ¡Informa9on ¡Systems ¡

5 ¡

Tag ¡B ¡ IP ¡protocol ¡ Tag ¡C ¡ Tag ¡A ¡ Alterna=ve ¡1 ¡ Alterna=ve ¡2 ¡ Issue ¡

slide-6
SLIDE 6

Example ¡

6 ¡

IP ¡protocol ¡ Security ¡ ¡ Concern ¡ Shibboleth ¡ Authen=ca=on ¡ Provider ¡ Decentralized ¡ Centralized ¡ LDAP ¡ OpenID ¡

slide-7
SLIDE 7

Knowledge ¡meta-­‑model ¡

7 ¡

slide-8
SLIDE 8

Knowledge ¡management ¡cycle ¡ ¡

  • 1. Capture ¡and ¡Acquisi9on ¡
  • 2. Sharing ¡and ¡Refinement ¡
  • 3. Design ¡Decision ¡Making ¡
  • 4. Analysis ¡

8 ¡

Capture ¡ Share ¡ Decide ¡ Analyze ¡

slide-9
SLIDE 9

Architectural ¡Knowledge ¡ Management ¡Scenarios ¡

slide-10
SLIDE 10

Knowledge ¡Acquisition ¡

  • Capture ¡tenta9ve ¡knowledge ¡efficiently ¡
  • S9mulate ¡knowledge ¡sharing ¡and ¡reuse ¡

¡ Challenges: ¡ ¡

  • Building ¡shared ¡understanding ¡of ¡problems ¡and ¡

solu9ons ¡ ¡ Tool: ¡ ¡

  • Wiki-­‑style ¡access ¡to ¡shared ¡knowledge ¡

¡ ¡

10 ¡

slide-11
SLIDE 11

Knowledge ¡Exploration ¡

  • Learn ¡about ¡exis9ng ¡shared ¡knowledge ¡
  • Browse ¡for ¡interes9ng ¡design ¡issues ¡and ¡useful ¡

alterna9ves ¡ Challenges: ¡ ¡

  • Fast ¡iden9fica9on ¡of ¡related ¡design ¡issues ¡
  • Efficient ¡pruning ¡of ¡irrelevant ¡knowledge ¡

ar9facts ¡ Tool: ¡ ¡

  • Quick ¡Textual ¡Search ¡
  • Tag-­‑Cloud ¡Naviga9on ¡and ¡Filtering ¡

11 ¡

slide-12
SLIDE 12

Knowledge ¡Sharing ¡ ¡

  • Exchange ¡knowledge ¡between ¡remote ¡teams ¡
  • Refine ¡the ¡knowledge ¡based ¡on ¡local ¡experience ¡

¡ Challenges: ¡

  • Versioning ¡of ¡the ¡knowledge ¡
  • Access ¡Control ¡

¡ Tool: ¡

  • Wiki-­‑style ¡collabora9ve ¡edi9ng ¡
  • Real-­‑9me ¡synchroniza9on ¡

12 ¡

slide-13
SLIDE 13

Decision ¡Making ¡

  • Manage ¡consensus ¡
  • Reuse ¡experience ¡
  • Capture ¡ra9onale ¡ ¡

¡ Challenges: ¡ ¡

  • Reaching ¡an ¡agreement ¡on ¡the ¡right ¡decision ¡

Tool: ¡ ¡

  • Real-­‑9me ¡polling ¡
  • Fuzzy ¡Decision ¡Model: ¡Nega%ve, ¡Posi%ve, ¡Open ¡

¡

13 ¡

slide-14
SLIDE 14

Analysis ¡

  • Priori9ze ¡design ¡decisions ¡
  • Assess ¡the ¡quality ¡of ¡design ¡space ¡
  • Monitor ¡the ¡dynamics ¡of ¡the ¡design ¡progress ¡

Challenges: ¡ ¡

  • Defining ¡suitable ¡metrics, ¡indicators, ¡and ¡

detec9on ¡strategies ¡to ¡match ¡specific ¡design ¡ process ¡methodologies ¡[SHARK'11] ¡ Tool: ¡ ¡

  • Infer ¡the ¡state ¡of ¡each ¡design ¡issue ¡
  • Summarize ¡the ¡workshop ¡discussion ¡

¡

14 ¡

slide-15
SLIDE 15

Software ¡Architecture ¡ Warehouse ¡

slide-16
SLIDE 16

Software ¡Architecture ¡Warehouse ¡

  • Web-­‑based ¡ ¡
  • Intra-­‑ ¡and ¡inter-­‑net ¡deployable ¡
  • Collabora9on ¡focused ¡
  • Highly ¡interac9ve ¡knowledge ¡capturing ¡and ¡

decision ¡making ¡

  • Real-­‑9me ¡mul9-­‑user ¡synchroniza9on ¡
  • Search-­‑oriented ¡

¡

16 ¡

slide-17
SLIDE 17
  • 1. ¡Capture ¡

17 ¡

Immediate ¡live ¡in-­‑workshop ¡note-­‑taking ¡

slide-18
SLIDE 18
  • 1. ¡Capture ¡

18 ¡

Immediate ¡live ¡in-­‑workshop ¡note-­‑taking ¡and ¡sharing ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ Live ¡content ¡synchroniza9on ¡ with ¡all ¡people ¡of ¡the ¡design ¡team ¡

slide-19
SLIDE 19
  • 2. ¡ReHinement ¡

19 ¡

Customizable ¡knowledge ¡model ¡to ¡fit ¡par9cular ¡needs ¡

slide-20
SLIDE 20
  • 3. ¡Artifact ¡linkage ¡

20 ¡

Linkage ¡of ¡related ¡knowledge ¡items ¡within ¡the ¡design ¡space ¡

slide-21
SLIDE 21
  • 4. ¡Collaborative ¡Decision ¡Making ¡

21 ¡

Interac9ve ¡overview ¡over ¡posi9ve, ¡nega9ve ¡and ¡open ¡decisions ¡ for ¡each ¡alterna9ve ¡

slide-22
SLIDE 22
  • 5. ¡Rationale ¡linkage ¡

22 ¡

Ra9onale ¡recording ¡

slide-23
SLIDE 23
  • 6. ¡Collaborative ¡Decision ¡Making ¡

23 ¡

Everyone ¡can ¡par9cipate ¡in ¡the ¡decision ¡making ¡process ¡

slide-24
SLIDE 24
  • 7. ¡Analysis ¡

24 ¡

Live ¡decision ¡status ¡repor9ng ¡helps ¡to ¡summarize ¡the ¡discussion ¡ ¡

slide-25
SLIDE 25

SAW ¡Demo ¡

WLAN ¡SSID: ¡ ¡SAW ¡ ¡ ¡ Navigate ¡to: ¡ ¡h*p://demo.saw ¡ Supported ¡Browser: ¡ ¡Chrome ¡ ¡

slide-26
SLIDE 26

Getting ¡Started ¡

26 ¡

slide-27
SLIDE 27

SAW ¡Prototype ¡Technologies ¡

  • HTML5/JavaScript ¡frontend ¡
  • Backbone.js ¡framework ¡
  • Juggernaut ¡Push-­‑AJAX ¡ ¡
  • Ruby ¡On ¡Rails ¡server-­‑side ¡logic ¡
  • Mongoid ¡document ¡mapper ¡
  • Persistence ¡and ¡synchroniza9on ¡ ¡
  • MongoDB ¡
  • Redis ¡
  • Node.js ¡running ¡Juggernaut ¡ ¡

27 ¡

slide-28
SLIDE 28

Outlook ¡

  • Capture ¡
  • Free-­‑form ¡notes ¡
  • Whiteboard ¡snapshots ¡
  • Audio ¡and ¡video ¡
  • Sharing ¡
  • Design ¡and ¡project ¡space ¡exchange ¡paMerns ¡
  • Public-­‑private ¡knowledge ¡sharing ¡methods ¡
  • Analysis ¡
  • Design ¡hot-­‑spot ¡and ¡defect ¡detec9on ¡

strategies ¡

28 ¡

slide-29
SLIDE 29

Summary ¡

  • Collabora9on ¡and ¡reuse ¡are ¡key ¡aspects ¡of ¡the ¡

SoFware ¡Architecture ¡Design ¡

  • SAW ¡is ¡a ¡Web-­‑based ¡collabora9ve ¡tool ¡for ¡local ¡

and ¡remote ¡design ¡workshops ¡

  • Explicit ¡documenta9on ¡of ¡your ¡design ¡decisions ¡

improves ¡quality ¡of ¡the ¡design ¡ ¡

  • Live ¡collabora9on ¡boosts ¡produc9vity ¡of ¡global ¡

design ¡teams ¡

29 ¡

slide-30
SLIDE 30

More ¡Information ¡

  • Please ¡visit ¡our ¡project ¡homepage: ¡

h*p://saw.inf.unisi.ch ¡

  • Public ¡soFware ¡architecture ¡warehouse ¡

available ¡soon: ¡ h*p://public.saw.sonyx.net ¡

  • We ¡are ¡looking ¡for ¡partners ¡to ¡evaluate ¡our ¡tool ¡

in ¡their ¡design ¡environment ¡

30 ¡

slide-31
SLIDE 31

References: ¡

  • Marcin ¡Nowak, ¡Cesare ¡Pautasso, ¡Olaf ¡Zimmermann ¡

"Architectural ¡Decision ¡Modeling ¡with ¡Reuse: ¡Challenges ¡and ¡ Opportuni9es". ¡In ¡Proceedings ¡of ¡the ¡Workshop ¡on ¡Sharing ¡ and ¡Reusing ¡Architectural ¡Knowledge ¡SHARK'10 ¡

  • Marcin ¡Nowak, ¡Cesare ¡Pautasso ¡"Goals, ¡Ques9ons ¡and ¡

Metrics ¡for ¡Architectural ¡Decision ¡Models". ¡In ¡Proceedings ¡of ¡ the ¡Workshop ¡on ¡Sharing ¡and ¡Reusing ¡Architectural ¡ Knowledge ¡SHARK'11 ¡

31 ¡

slide-32
SLIDE 32
  • 9. ¡Structure ¡visualization ¡

32 ¡

Interac9ve ¡traversal ¡of ¡design ¡and ¡project ¡space. ¡

slide-33
SLIDE 33
  • 10. ¡Metrics ¡visualization ¡

33 ¡

Knowledge ¡metrics ¡visualiza9on ¡