fast conflict detection for
DESCRIPTION
Fast Conflict Detection for. Remote Collaborative Software Modeling. Jae young Bang March 8 th , 2011. Outline. Phase 1: year 2010 Motivation CoDesign Project Goals Results Phase 2: year 2011 Research questions Status update - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Fast Conflict Detection for](https://reader036.vdocument.in/reader036/viewer/2022062422/56812e87550346895d9429fd/html5/thumbnails/1.jpg)
Fast Conflict Detection for
Jae young Bang March 8th, 2011
Remote Collaborative Software Modeling
![Page 2: Fast Conflict Detection for](https://reader036.vdocument.in/reader036/viewer/2022062422/56812e87550346895d9429fd/html5/thumbnails/2.jpg)
Outline
Phase 1: year 2010 Motivation CoDesign Project Goals Results
Phase 2: year 2011 Research questions Status update Fast conflict detection
2
![Page 3: Fast Conflict Detection for](https://reader036.vdocument.in/reader036/viewer/2022062422/56812e87550346895d9429fd/html5/thumbnails/3.jpg)
CoDesign Phase I ReportYear 2010
3
![Page 4: Fast Conflict Detection for](https://reader036.vdocument.in/reader036/viewer/2022062422/56812e87550346895d9429fd/html5/thumbnails/4.jpg)
Motivation
Global software engineering Outsourcing and off-shoring
Software designers are distributed
Communication challenge
Existing technology SCM tools: CVS, SubVersion Collaborative IDEs Modeling tools w/ model merging
4
![Page 5: Fast Conflict Detection for](https://reader036.vdocument.in/reader036/viewer/2022062422/56812e87550346895d9429fd/html5/thumbnails/5.jpg)
CoDesign Project Goals
Realtime collaboration from different locations
Modeling-oriented
Extensibility: legacy/domain-specific tools (Infosys)
5
![Page 6: Fast Conflict Detection for](https://reader036.vdocument.in/reader036/viewer/2022062422/56812e87550346895d9429fd/html5/thumbnails/6.jpg)
Obstacles of Realtime Collaboration
Latency between designers
“What I see now may not be what you see”
Conflicts occur by unawareness Synchronization conflicts Syntactic conflicts Semantic conflicts
Detection is tricky and expensive
6
![Page 7: Fast Conflict Detection for](https://reader036.vdocument.in/reader036/viewer/2022062422/56812e87550346895d9429fd/html5/thumbnails/7.jpg)
Synchronization Conflict
7
Simple conflicts caused by latency
Can be resolved with little or no human intervention
7
Delete Doctora
te
Delete Doctora
te
Change name to PostDoc
Change name to PostDoc
!
![Page 8: Fast Conflict Detection for](https://reader036.vdocument.in/reader036/viewer/2022062422/56812e87550346895d9429fd/html5/thumbnails/8.jpg)
Conflicts & Inconsistencies
Conflicts Inconsistencies
Most researches focus on
Conflicts are huge obstacles
8
![Page 9: Fast Conflict Detection for](https://reader036.vdocument.in/reader036/viewer/2022062422/56812e87550346895d9429fd/html5/thumbnails/9.jpg)
CoDesign Phase 1
A framework that provides … Realtime sync & conflict/inconsistency detection Extensible collaborative software modeling Scalability of the size of a model and the number of users
Delivered High-level categorization and definitions of conflicts Prototype implementation
Realtime model synchronization Basic level conflict detection using third party extensions
Publication Jae young Bang, Daniel Popescu, George Edwards, Nenad
Medvidovic, Naveen Kulkarni, Girish M. Rama, and Srinivas Padmanabhuni, “CoDesign – a Highly Extensible Collaborative Software Modeling Framework” at ICSE 2010
9
![Page 10: Fast Conflict Detection for](https://reader036.vdocument.in/reader036/viewer/2022062422/56812e87550346895d9429fd/html5/thumbnails/10.jpg)
10Generic Modeling Environment
From Vanderbilt University
Software Modeling Tool
Drools
From JBoss Community
Business Logic Integration Platform
Prism-MW
From SoftArch, USC
Lightweight Middleware
![Page 11: Fast Conflict Detection for](https://reader036.vdocument.in/reader036/viewer/2022062422/56812e87550346895d9429fd/html5/thumbnails/11.jpg)
CoDesign Phase II ProgressYear 2011
11
![Page 12: Fast Conflict Detection for](https://reader036.vdocument.in/reader036/viewer/2022062422/56812e87550346895d9429fd/html5/thumbnails/12.jpg)
Research Question (1)
Why is it hard to manage realtime concurrent editing of software models? Low level of isolation of design decisions No locking involved Even locking does not prevent conflicts
Techniques to keep model consistent
12
![Page 13: Fast Conflict Detection for](https://reader036.vdocument.in/reader036/viewer/2022062422/56812e87550346895d9429fd/html5/thumbnails/13.jpg)
Research Question (2)
Why do conflicts occur? Any way to prevent them?
13
![Page 14: Fast Conflict Detection for](https://reader036.vdocument.in/reader036/viewer/2022062422/56812e87550346895d9429fd/html5/thumbnails/14.jpg)
Life of a Design Decision
1. Made by a designer
2. Captured
3. Encapsulated to be passed
4. Sent to server
5. Checked whether it makes conflicts
6. Broadcasted to designers except the original sender
7. Decapsulated and applied to the local models
8. Perceived by designers
14
![Page 15: Fast Conflict Detection for](https://reader036.vdocument.in/reader036/viewer/2022062422/56812e87550346895d9429fd/html5/thumbnails/15.jpg)
Research Question (2)
Why do conflicts occur? Any way to prevent them? Latency No conflict if 0 latency assumed
0 Latency is impossible Conflict detection is inevitable Conflict detection increases latency
Parallelization
15
![Page 16: Fast Conflict Detection for](https://reader036.vdocument.in/reader036/viewer/2022062422/56812e87550346895d9429fd/html5/thumbnails/16.jpg)
Research Question (3)
How frequently should conflict detection be run? Two cases
Wait for a set of design decisions, run it for all Run it for every design decision
The later a conflict is found, the higher cost to resolve it
Too intrusive? Too expensive?
16
![Page 17: Fast Conflict Detection for](https://reader036.vdocument.in/reader036/viewer/2022062422/56812e87550346895d9429fd/html5/thumbnails/17.jpg)
Research Question (4)
What is a good granularity of encapsulation of design decisions? Two extreme cases
Very coarse – group of design decisions Very fine-grained – atomic design decisions
Event A design decision made by a designer, encapsulated
as a message to be passed between components
Non-atomic events aggravate conflicts
17
![Page 18: Fast Conflict Detection for](https://reader036.vdocument.in/reader036/viewer/2022062422/56812e87550346895d9429fd/html5/thumbnails/18.jpg)
CoDesign Phase II Goals
Concurrent collaborative modeling
Parallelized conflict detection
Conflict detection for each atomic event, yet still scalable of the number of designers
18
![Page 19: Fast Conflict Detection for](https://reader036.vdocument.in/reader036/viewer/2022062422/56812e87550346895d9429fd/html5/thumbnails/19.jpg)
Definitions (1)
Inconsistency A contradiction between software design decisions
Conflict A type of inconsistency Caused by unawareness between multiple designers Originated from latency between them
19
![Page 20: Fast Conflict Detection for](https://reader036.vdocument.in/reader036/viewer/2022062422/56812e87550346895d9429fd/html5/thumbnails/20.jpg)
Definitions (2)
Stable model A model that has been synchronized to every
designer so no instance of the model differs from the others
Everyone sees the same on the screens
Consistent model A model that is stable and has all of its components
consistent with each other A model without any inconsistency
20
![Page 21: Fast Conflict Detection for](https://reader036.vdocument.in/reader036/viewer/2022062422/56812e87550346895d9429fd/html5/thumbnails/21.jpg)
Intuition
Incoming event queue
Conflict detection does not have to be done in sequence
Can be parallelized
For lowest latency >> less conflicts
21
![Page 22: Fast Conflict Detection for](https://reader036.vdocument.in/reader036/viewer/2022062422/56812e87550346895d9429fd/html5/thumbnails/22.jpg)
Fast Conflict Detection: Snapshot Technique
22
Designers refer to the latest “snapshot”
Run conflict detection against all states that had not been checked until the state was created
It is acceptable the order is reversed – the later events will catch conflicts
* at the stage of formal proof
![Page 23: Fast Conflict Detection for](https://reader036.vdocument.in/reader036/viewer/2022062422/56812e87550346895d9429fd/html5/thumbnails/23.jpg)
Thank you
Please refer to the CoDesign paper: Jae young Bang, Daniel Popescu, George Edwards,
Nenad Medvidovic, Naveen Kulkarni, Girish M. Rama, and Srinivas Padmanabhuni. CoDesign – A Highly Extensible Collaborative Software Modeling Framework, Proceedings of the 32nd International Conference of Software Engineering (ICSE 2010)
Questions?
23