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

Slides:



Advertisements
Similar presentations
Relaxed Consistency Models. Outline Lazy Release Consistency TreadMarks DSM system.
Advertisements

Uncoordinated Checkpointing The Global State Recording Algorithm Cristian Solano.
Time and Global States Part 3 ECEN5053 Software Engineering of Distributed Systems University of Colorado, Boulder.
1 Chapter 3. Synchronization. STEMPusan National University STEM-PNU 2 Synchronization in Distributed Systems Synchronization in a single machine Same.
Case Tools Trisha Cummings. Our Definition of CASE  CASE is the use of computer-based support in the software development process.  A CASE tool is a.
Announcements Course project is on-going  Part 1 / Phase 1 description has been updated (typo in the submission filename convention) HW2 grades are out.
Summer of Code (SOC) Presentation Fred R McClurg Girish H Mhatre Version Control Overview.
Virtual Synchrony Jared Cantwell. Review Multicast Causal and total ordering Consistent Cuts Synchronized clocks Impossibility of consensus Distributed.
CoDesign/CoWare An Extensible and Scalable Collaborative Software Modeling Infrastructure SoftArch, USC October 20th Jae young Bang, USC
PTIDES: Programming Temporally Integrated Distributed Embedded Systems Yang Zhao, EECS, UC Berkeley Edward A. Lee, EECS, UC Berkeley Jie Liu, Microsoft.
CS 582 / CMPE 481 Distributed Systems
Automated Analysis and Code Generation for Domain-Specific Models George Edwards Center for Systems and Software Engineering University of Southern California.
© nCode 2000 Title of Presentation goes here - go to Master Slide to edit - Slide 1 Reliable Communication for Highly Mobile Agents ECE 7995: Term Paper.
Collaborative Software Engineering – Awareness and Concurrency Agam.
Computer Science Lecture 12, page 1 CS677: Distributed OS Last Class Vector timestamps Global state –Distributed Snapshot Election algorithms.
CoDesign A Highly Extensible Collaborative Software Modeling Framework SoftArch, USC March, 2010 Jae young George.
Source Control Repositories for Enabling Team Working Svetlin Nakov Telerik Corporation
Prof. Aiken CS 169 Lecture 71 Version Control CS169 Lecture 7.
Distributed Deadlocks and Transaction Recovery.
 CoDesign A Highly Extensible Collaborative Software Modeling Framework Jae young Bang University of Southern California.
Version Control with Subversion. What is Version Control Good For? Maintaining project/file history - so you don’t have to worry about it Managing collaboration.
WORKFLOW IN MOBILE ENVIRONMENT. WHAT IS WORKFLOW ?  WORKFLOW IS A COLLECTION OF TASKS ORGANIZED TO ACCOMPLISH SOME BUSINESS PROCESS.  EXAMPLE: Patient.
AN OPTIMISTIC CONCURRENCY CONTROL ALGORITHM FOR MOBILE AD-HOC NETWORK DATABASES Brendan Walker.
IMS 4212: Distributed Databases 1 Dr. Lawrence West, Management Dept., University of Central Florida Distributed Databases Business needs.
Parallel and Distributed Simulation FDK Software.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 10Slide 1 Chapter 10 Architectural Design.
Introduction to Version Control
1 System Models. 2 Outline Introduction Architectural models Fundamental models Guideline.
The new version control system. Kiril Karaatanasov, July 2006 What is Subversion Subversion is a newly developed open source version control system Subversion.
1 Lecture 19 Configuration Management Software Engineering.
X-Road – Estonian Interoperability Platform
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 10Slide 1 Architectural Design l Establishing the overall structure of a software system.
Model-Driven Analysis Frameworks for Embedded Systems George Edwards USC Center for Systems and Software Engineering
Reliable Communication in the Presence of Failures Based on the paper by: Kenneth Birman and Thomas A. Joseph Cesar Talledo COEN 317 Fall 05.
Rahul Raheja, Shang-Wen Cheng, David Garlan, Bradley Schmerl Carnegie Mellon University 1.
Distributed Transactions
SafetyNet: improving the availability of shared memory multiprocessors with global checkpoint/recovery Daniel J. Sorin, Milo M. K. Martin, Mark D. Hill,
CoDesign A Highly Extensible Collaborative Software Modeling Framework SoftArch, USC October 20th Jae young George.
Consistent and Efficient Database Replication based on Group Communication Bettina Kemme School of Computer Science McGill University, Montreal.
Computer Science Lecture 12, page 1 CS677: Distributed OS Last Class Vector timestamps Global state –Distributed Snapshot Election algorithms –Bully algorithm.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 10Slide 1 Architectural Design l Establishing the overall structure of a software system.
Advanced Computer Networks Topic 2: Characterization of Distributed Systems.
TAL7011 – Lecture 4 UML for Architecture Modeling.
1 Qualitative Reasoning of Distributed Object Design Nima Kaveh & Wolfgang Emmerich Software Systems Engineering Dept. Computer Science University College.
Architectural Design of Distributed Applications Chapter 13 Part of Design Analysis Designing Concurrent, Distributed, and Real-Time Applications with.
Agile SOA Agile EAI How do we achieve agility in Enterprise Integration?
Slide 13.1 © The McGraw-Hill Companies, 2002 Object-Oriented and Classical Software Engineering Fifth Edition, WCB/McGraw-Hill, 2002 Stephen R. Schach.
Transactions and Concurrency Control. Concurrent Accesses to an Object Multiple threads Atomic operations Thread communication Fairness.
D u k e S y s t e m s Asynchronous Replicated State Machines (Causal Multicast and All That) Jeff Chase Duke University.
Transaction Management Transparencies. ©Pearson Education 2009 Chapter 14 - Objectives Function and importance of transactions. Properties of transactions.
1 Distributed BDD-based Model Checking Orna Grumberg Technion, Israel Joint work with Tamir Heyman, Nili Ifergan, and Assaf Schuster CAV00, FMCAD00, CAV01,
Making the System Operational Implementation & Deployment
Reliable Communication in the Presence of Failures Kenneth P. Birman and Thomas A. Joseph Presented by Gloria Chang.
CSE 486/586 CSE 486/586 Distributed Systems Global States Steve Ko Computer Sciences and Engineering University at Buffalo.
TEAM FOUNDATION VERSION CONTROL AN OVERVIEW AND WALKTHROUGH By: Michael Mallar.
44222: Information Systems Development
Source Control Repositories for Enabling Team Working Doncho Minkov Telerik Corporation
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 10Slide 1 Chapter 5:Architectural Design l Establishing the overall structure of a software.
Evaluating state of the art in AI
CSE 486/586 Distributed Systems Global States
Model-Driven Analysis Frameworks for Embedded Systems
Outline Announcements Fault Tolerance.
Fast Conflict Detection for
Distributed Transactions
Version Control CS169 Lecture 7 Prof. Aiken CS 169 Lecture 7 1.
Version Control CS169 Lecture 7 Prof. Aiken CS 169 Lecture 7.
Automated Analysis and Code Generation for Domain-Specific Models
CSE 486/586 Distributed Systems Global States
Distributed Optimistic Algorithm
Presentation transcript:

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

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

 CoDesign Phase I Report Year

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

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

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

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

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

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

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

 CoDesign Phase II Progress Year

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

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

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

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

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

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

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

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

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

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

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

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 32 nd International Conference of Software Engineering (ICSE 2010)  Questions? 23