1 / 23

Fast Conflict Detection for

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

Download Presentation

Fast Conflict Detection for

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Fast Conflict Detection for Remote Collaborative Software Modeling Jae young Bang March 8th, 2011

  2. Outline • Phase 1: year 2010 • Motivation • CoDesign Project Goals • Results • Phase 2: year 2011 • Research questions • Status update • Fast conflict detection

  3. CoDesign Phase I Report Year 2010

  4. 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

  5. CoDesign Project Goals • Realtime collaboration from different locations • Modeling-oriented • Extensibility: legacy/domain-specific tools (Infosys)

  6. 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

  7. Synchronization Conflict • Simple conflicts caused by latency • Can be resolved with little or no human intervention ! Delete Doctorate Change name to PostDoc 7

  8. Conflicts & Inconsistencies Most researches focus on Conflicts Inconsistencies Conflicts are huge obstacles

  9. CoDesign Phase 1 • A framework that provides … • Realtime sync & conflict/inconsistency detection • Extensiblecollaborative 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

  10. Drools From JBoss Community Business Logic Integration Platform Generic Modeling Environment From Vanderbilt University Software Modeling Tool Prism-MW From SoftArch, USC Lightweight Middleware

  11. CoDesign Phase II Progress Year 2011

  12. 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

  13. Research Question (2) • Why do conflicts occur? Any way to prevent them?

  14. Life of a Design Decision • Made by a designer • Captured • Encapsulated to be passed • Sent to server • Checked whether it makes conflicts • Broadcasted to designers except the original sender • Decapsulated and applied to the local models • Perceived by designers

  15. 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

  16. 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?

  17. 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

  18. CoDesign Phase II Goals • Concurrent collaborative modeling • Parallelized conflict detection • Conflict detection for each atomic event, yet still scalable of the number of designers

  19. 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

  20. 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

  21. Intuition • Incoming event queue • Conflict detection does not have to be done in sequence • Can be parallelized • For lowest latency >> less conflicts

  22. Fast Conflict Detection: Snapshot Technique 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

  23. 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?

More Related