group decision making to improve software resilience

18
1 Enhancing Architecture Design Decisions Evolution with Group Decision Making Principles GSSI (Italy), University of L’Aquila (Italy), Amrita University (India) SERENE 2014, Budapest, October 2014 Ivano Malavolta, Henry Muccini, Smrithi Rekha Download it from: http://www.slideshare.net/ henry.muccini/

Upload: henry-muccini

Post on 12-Jun-2015

275 views

Category:

Education


0 download

DESCRIPTION

This presentation summarizes the results of the research paper presented at SERENE 2014 (serene.disim.univaq.it)

TRANSCRIPT

Page 1: Group Decision Making to improve Software Resilience

1

Enhancing Architecture Design Decisions Evolution with

Group Decision Making Principles

GSSI (Italy), University of L’Aquila (Italy), Amrita University (India)SERENE 2014, Budapest, October 2014

Ivano Malavolta, Henry Muccini, Smrithi Rekha

Download it from: http://www.slideshare.net/henry.muccini/

Page 2: Group Decision Making to improve Software Resilience

Resilience2

“The persistence of dependability when facing changes”

[Laprie, DSN04]

“resilience engineering is about flexibility of people and organisations, not just in reacting to individual incidents and anomalous situations, but also in learning from them and thus developing an ability to react…”

[Strigini, bookChapt12 ]

Page 3: Group Decision Making to improve Software Resilience

Resilience3

Resilience

Technical

Social

processes

analysis

RT monitoring

re-config

architectures

human

socio-tech coord.

GDM

impacted by

impacted by multi-cultural factors

self-*

models

design

Page 4: Group Decision Making to improve Software Resilience

Sw.Architecture

Resilience and Software Architecture4

Resilience

Technical

Social

impacted by

impacted by

C&C

views

SA styles

ADL

ADD

GDM

ADD: Architecture Design DecisionsGDM: Group Decision Making

Page 5: Group Decision Making to improve Software Resilience

Goal of this work5

by explicitly modeling Group Decision Making mechanisms and by linking them to

architectures and other artifacts

Enhance the design of Resilient Systems…

Page 6: Group Decision Making to improve Software Resilience

Architecting today

Architecting is the process of creating software architecture knowledge and artifacts for engineering software systems

A Software Architecture consists of→A blueprint for the chosen solution (product)

─ A set of components and connectors communicating through interfaces

→A set of design decisions (co-product)─A set of architecture design decisions taken to generate the architecture artifact

6

Page 7: Group Decision Making to improve Software Resilience

Architecting in a picture7

ADD

ADD

ADD

ADD

GDM

Page 8: Group Decision Making to improve Software Resilience

ADD for the Fire Monitoring System8

Design Issue 1: how many gateways

shall be used to collect sensored data

in a building?

Single Gateway

1 gateway per floor

1 Gateway per apartment

Cost

Reliability

Availability

Design alternatives CriteriaDesign

issue

Page 9: Group Decision Making to improve Software Resilience

GDM for the Fire Monitoring System9

Design Issue 1: how many

gateways shall be used to collect

sensored data in a building?

Single Gateway

1 gateway per floor

1 Gateway per

apartment

Cost

Reliability

Availability

Design alternatives

CriteriaDesign issue

Stakeholders’ concernsStakeholders’ reputation

Stakeholders’ rolesConsensus Mechanisms

Social linksDecision Patterns

GDM

Page 10: Group Decision Making to improve Software Resilience

Why to care about GDM?!?

> 85% of the decisions made by software architects are made by groups

5-10 people involved in decision making21 different roles represented

10

[Smrithi&Muccini,WICSA2014] [Smrithi&Muccini,ECSA2014]

Lack of support in current architecture

design decisions methods of GDM

Page 11: Group Decision Making to improve Software Resilience

Goal of this work (extended)11

A. to provide a reference model for Group Decision Making

B. to define bidirectional traceability links between ADDs, Architectures, and other

artifacts

C. to outline a change propagation engine

Page 12: Group Decision Making to improve Software Resilience

A. Reference Model for GDM12

Page 13: Group Decision Making to improve Software Resilience

A. Reference Model for GDM13

Page 14: Group Decision Making to improve Software Resilience

B. Traceability Links

Tracing design decisions to/from other artifactsWe defined a DD weaving metamodel, to create traceability links among DDs and between DDs and other artefacts

14

Page 15: Group Decision Making to improve Software Resilience

C. Change Impact Analysis

OCL-based validation Engine With new OCL constraints that can be defined for domain-

specific validation purposes

Inter-decisions constraints E.g., all members of a group have to express at least a

preference with respect to a design decision. Extra-decisions constraints

E.g., each design decision must be implemented by one (or more) components

15

Page 16: Group Decision Making to improve Software Resilience

Prototype Implementation

Implementation Eclipse plugin, extending the Atlas Model Management

Architecture (AMMA) Atlas Model Weaver for the weaving models Four different GDM components

16

Page 17: Group Decision Making to improve Software Resilience

Wrap up

Robust architectures come from a robust decision-making process

When an artifact evolves, its related GDM may evolveOur GDM model enables to capture such evolution

When a decision evolves, conflicts may arise and need to be managedNeed of precise conflict resolution mechanisms, for rapid convergenceOur approach supports multi-stakeholders awareness on the made decisions

17

Page 18: Group Decision Making to improve Software Resilience

18

Enhancing Architecture Design Decisions Evolution with

Group Decision Making Principles

SERENE 2014, Budapest, October 2014

Thank you!

Download it from: http://www.slideshare.net/henry.muccini/