![Page 1: COLLABORATIVE SOFTWARE EVOLUTION WITH CROSS- CUTTING CONCERNS Rick Salay, Mehrnaz Najafi and Marsha Chechik NECSIS/ORF Workshop 2014 1 also Jennifer Horkoff,](https://reader034.vdocument.in/reader034/viewer/2022051416/56649e4d5503460f94b43a5e/html5/thumbnails/1.jpg)
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,](https://reader034.vdocument.in/reader034/viewer/2022051416/56649e4d5503460f94b43a5e/html5/thumbnails/2.jpg)
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,](https://reader034.vdocument.in/reader034/viewer/2022051416/56649e4d5503460f94b43a5e/html5/thumbnails/3.jpg)
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,](https://reader034.vdocument.in/reader034/viewer/2022051416/56649e4d5503460f94b43a5e/html5/thumbnails/4.jpg)
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,](https://reader034.vdocument.in/reader034/viewer/2022051416/56649e4d5503460f94b43a5e/html5/thumbnails/5.jpg)
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,](https://reader034.vdocument.in/reader034/viewer/2022051416/56649e4d5503460f94b43a5e/html5/thumbnails/6.jpg)
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,](https://reader034.vdocument.in/reader034/viewer/2022051416/56649e4d5503460f94b43a5e/html5/thumbnails/7.jpg)
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,](https://reader034.vdocument.in/reader034/viewer/2022051416/56649e4d5503460f94b43a5e/html5/thumbnails/8.jpg)
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,](https://reader034.vdocument.in/reader034/viewer/2022051416/56649e4d5503460f94b43a5e/html5/thumbnails/9.jpg)
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,](https://reader034.vdocument.in/reader034/viewer/2022051416/56649e4d5503460f94b43a5e/html5/thumbnails/10.jpg)
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,](https://reader034.vdocument.in/reader034/viewer/2022051416/56649e4d5503460f94b43a5e/html5/thumbnails/11.jpg)
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,](https://reader034.vdocument.in/reader034/viewer/2022051416/56649e4d5503460f94b43a5e/html5/thumbnails/12.jpg)
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,](https://reader034.vdocument.in/reader034/viewer/2022051416/56649e4d5503460f94b43a5e/html5/thumbnails/13.jpg)
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,](https://reader034.vdocument.in/reader034/viewer/2022051416/56649e4d5503460f94b43a5e/html5/thumbnails/14.jpg)
CBSE Overview
14
Concurrent Dev’t Dimension
Chunk Life-cycle Dimension
Team 1 Team 2 …. Team n
CBSE
Extraction
Modification
Verification
Reintegration