14
COLLABORATIVE SOFTWARE EVOLUTION WITH CROSS- CUTTING CONCERNS Rick Salay, Mehrnaz Najafi and Marsha Chechik NECSIS/ORF Workshop 2014 1 also Jennifer Horkoff, Fabiano Dalpiaz, Jessica Davies, Daniel Varro, Istvan Rath, Leonid Ryzhyk, Nina Narodytska

COLLABORATIVE SOFTWARE EVOLUTION WITH CROSS- CUTTING CONCERNS Rick Salay, Mehrnaz Najafi and Marsha Chechik NECSIS/ORF Workshop 2014 1 also Jennifer Horkoff,

Embed Size (px)

Citation preview

Page 1: COLLABORATIVE SOFTWARE EVOLUTION WITH CROSS- CUTTING CONCERNS Rick Salay, Mehrnaz Najafi and Marsha Chechik NECSIS/ORF Workshop 2014 1 also Jennifer Horkoff,

COLLABORATIVE SOFTWARE EVOLUTION WITH CROSS-CUTTING CONCERNSRick Salay, Mehrnaz Najafi and Marsha Chechik

NECSIS/ORF Workshop 2014

1

also Jennifer Horkoff, Fabiano Dalpiaz, Jessica Davies, Daniel Varro, Istvan Rath, Leonid Ryzhyk, Nina Narodytska

Page 2: COLLABORATIVE SOFTWARE EVOLUTION WITH CROSS- CUTTING CONCERNS Rick Salay, Mehrnaz Najafi and Marsha Chechik NECSIS/ORF Workshop 2014 1 also Jennifer Horkoff,

The Context

NECSIS 2013 Workshop• Len Wozniak presents the need for “lump” development

methods to deal with macro change management

2

Page 3: COLLABORATIVE SOFTWARE EVOLUTION WITH CROSS- CUTTING CONCERNS Rick Salay, Mehrnaz Najafi and Marsha Chechik NECSIS/ORF Workshop 2014 1 also Jennifer Horkoff,

The Problem

3

SystemSoftware

Initial Dev’t

SoftwareEvolution

System Lifespan

SystemStructure“designed in”

Evolutionary changes-Crosscut designed structure-Heterogeneous-Crosscut levels of abstraction-Overlapping

New Requirement

Bug Fix

Model evolution must manage concurrent “chunks” of change!

Page 4: COLLABORATIVE SOFTWARE EVOLUTION WITH CROSS- CUTTING CONCERNS Rick Salay, Mehrnaz Najafi and Marsha Chechik NECSIS/ORF Workshop 2014 1 also Jennifer Horkoff,

Chunk-Based Software Evolution (CBSE)• Focus on

• Models – heterogeneous, multiple levels of abstraction• Rather than just code

• Distributed concurrent development• Safety, correctness and formal analysis

• Principled approach to preserving properties and establishing new ones

• Augments current change management practices:• E.g., traceability, slicing, impact analysis, etc.

4

Page 5: COLLABORATIVE SOFTWARE EVOLUTION WITH CROSS- CUTTING CONCERNS Rick Salay, Mehrnaz Najafi and Marsha Chechik NECSIS/ORF Workshop 2014 1 also Jennifer Horkoff,

CBSE Overview

5

Concurrent Dev’t Dimension

Chunk Life-cycle Dimension

Team 1 Team 2 …. Team n

CBSE

Extraction

Modification

Verification

Reintegration

Page 6: COLLABORATIVE SOFTWARE EVOLUTION WITH CROSS- CUTTING CONCERNS Rick Salay, Mehrnaz Najafi and Marsha Chechik NECSIS/ORF Workshop 2014 1 also Jennifer Horkoff,

CBSE Overview

6

Concurrent Dev’t Dimension

Chunk Life-cycle Dimension

Team 1 Team 2 …. Team n

CBSE

Extraction

Modification

Verification

Reintegration

Page 7: COLLABORATIVE SOFTWARE EVOLUTION WITH CROSS- CUTTING CONCERNS Rick Salay, Mehrnaz Najafi and Marsha Chechik NECSIS/ORF Workshop 2014 1 also Jennifer Horkoff,

Managing concurrent modification

• Chunks can interfere – need to manage conflicts

• Approaches• Conflict resolution: coordinate on merge

• Slow, may need escalation and rework

• Locking: prevent conflicts• Safer but limits concurrent development

• Idea: don’t lock model region, lock model properties

7

Page 8: COLLABORATIVE SOFTWARE EVOLUTION WITH CROSS- CUTTING CONCERNS Rick Salay, Mehrnaz Najafi and Marsha Chechik NECSIS/ORF Workshop 2014 1 also Jennifer Horkoff,

Example

8

Deviceid : string

id_encr()

Wiper_Timermax : time

max_encr()start()stop()auto()

Team 2: Add data security to vehicle

•Prop_2 : All data members have encryption method

Team 1: Add auto mode to wiper

•Prop_1 : Must have auto wiper operation

Page 9: COLLABORATIVE SOFTWARE EVOLUTION WITH CROSS- CUTTING CONCERNS Rick Salay, Mehrnaz Najafi and Marsha Chechik NECSIS/ORF Workshop 2014 1 also Jennifer Horkoff,

Example

9

Deviceid : string

id_encr()

Wiper_Timermax : timeauto_speed: int

max_encr()start()stop()auto()

Team 2: Add data security to vehicle

•Prop_2 : All data members have encryption method

Team 1: Add auto mode to wiper

•Prop_1 : Must have auto wiper operation

Add

Page 10: COLLABORATIVE SOFTWARE EVOLUTION WITH CROSS- CUTTING CONCERNS Rick Salay, Mehrnaz Najafi and Marsha Chechik NECSIS/ORF Workshop 2014 1 also Jennifer Horkoff,

Example

10

Deviceid : string

id_encr()

Wiper_Timermax : timeauto_speed: int

max_encr()start()stop()auto()

Team 2: Add data security to vehicle

•Prop_2 : All data members have encryption method

Team 1: Add auto mode to wiper

•Prop_1 : Must have auto wiper operation

Add

Violation: to fix must remove “auto_speed” or add encryption method

Page 11: COLLABORATIVE SOFTWARE EVOLUTION WITH CROSS- CUTTING CONCERNS Rick Salay, Mehrnaz Najafi and Marsha Chechik NECSIS/ORF Workshop 2014 1 also Jennifer Horkoff,

Example

11

Deviceid : string

id_encr()

Wiper_Timermax : timeauto_speed: int

max_encr()start()stop()auto()auto_speed_encr()

Team 2: Add data security to vehicle

•Prop_2 : All data members have encryption method

Team 1: Add auto mode to wiper

•Prop_1 : Must have auto wiper operation

Add

Page 12: COLLABORATIVE SOFTWARE EVOLUTION WITH CROSS- CUTTING CONCERNS Rick Salay, Mehrnaz Najafi and Marsha Chechik NECSIS/ORF Workshop 2014 1 also Jennifer Horkoff,

Property-based locking

12

Page 13: COLLABORATIVE SOFTWARE EVOLUTION WITH CROSS- CUTTING CONCERNS Rick Salay, Mehrnaz Najafi and Marsha Chechik NECSIS/ORF Workshop 2014 1 also Jennifer Horkoff,

Required tool support

• To specify a property• To check locked properties

• Query engines investigated: QueST (Mac), IncQuery (Varro)

• To configure locking• E.g., control granularity of checking

• To debug/resolve a property violation

13

Page 14: COLLABORATIVE SOFTWARE EVOLUTION WITH CROSS- CUTTING CONCERNS Rick Salay, Mehrnaz Najafi and Marsha Chechik NECSIS/ORF Workshop 2014 1 also Jennifer Horkoff,

CBSE Overview

14

Concurrent Dev’t Dimension

Chunk Life-cycle Dimension

Team 1 Team 2 …. Team n

CBSE

Extraction

Modification

Verification

Reintegration