Presentation is loading. Please wait.

Presentation is loading. Please wait.

CoDesign/CoWare An Extensible and Scalable Collaborative Software Modeling Infrastructure SoftArch, USC October 20th Jae young Bang, USC

Similar presentations


Presentation on theme: "CoDesign/CoWare An Extensible and Scalable Collaborative Software Modeling Infrastructure SoftArch, USC October 20th Jae young Bang, USC"— Presentation transcript:

1 CoDesign/CoWare An Extensible and Scalable Collaborative Software Modeling Infrastructure SoftArch, USC October 20th Jae young Bang, USC (jaeyounb@usc.edu) George Edwards, USC (gedwards@usc.edu) Daniel Popescu, USC (dpopescu@usc.edu) Joshua Garcia, USC (joshuaga@usc.edu) Jerry Lin, USC (jerrylin@usc.edu) Prof. Nenad Medvidovic, USC (neno@usc.edu) Naveen Kulkarni, Infosys (Naveen_Kulkarni@infosys.com) Girish Maskeri Rama, Infosys (Girish_Rama@infosys.com) Dr. Srinivas Padmanabhuni, Infosys (srinivas_p@infosys.com)

2 Outline Motivation Overview: CoDesign/CoWare System Architecture: CoDesign/CoWare Features Synchronization Conflict Definition Conflict Detection Conflict Resolution Future Work

3 Motivation Software development is a complex, collaborative activity This is particularly the case with software design This becomes a problem for distributed development teams Particularly prevalent in large, multinational development organizations such as Infosys Support for collaborative software development is still nascent IBM Jazz, MS CollabVS Difficult to make existing stand-alone tools collaborative Lack of ability to scale across entire enterprise

4 Overview: CoDesign/CoWare Research Objectives 1.Designs, patterns and frameworks for a highly distributed, scalable collaborative modeling platform 2.Novel methods and algorithms to detect and resolve syntactic and semantic conflicts of modeling language Project Summary Collaborative, extensible software modeling framework Real-time synchronization & conflict detection Efficiency and scalability among geographically distributed software system designers CoDesign: A tool that captures design decisions CoWare: Lightweight integration infrastructure

5 CoDesign/CoWare Architecture CoDesign CoWare Client CoDesign CoWare Client CoDesign CoWare Client CoDesign CoWare Client CoDesign CoWare Client CoDesign CoWare Client CoDesign CoWare Client CoDesign CoWare Client CoDesign CoWare Client CoDesign CoWare Client CoDesign CoWare Client CoDesign CoWare Client CoDesign CoWare Client CoDesign CoWare Client CoDesign CoWare Client

6 CoDesign/CoWare Architecture Architect-sideServer-side GME CoDesign (GME Plug-in) New Events CoWare Client CoWare Server User Database DB Connector Conflict Notifications & Broadcasted Events User Information & New Events User Information Prism Connector Conflict Detector Conflict Notifications Events that don’t have conflicts Event Handler Update Handler CoDesign/CoWare Connector Login GUI User Management Architect New Events User Information Clean Events GME API (BON) Prism Connector User Information New Events Clean Events Event Queue Drools Model Database FactsRules ConflictsEvents ImportExport Generic Modeling Environment From Vanderbilt University Software Modeling Tool Generic Modeling Environment From Vanderbilt University Software Modeling Tool Drools From JBoss Community Business Logic Integration Platform Drools From JBoss Community Business Logic Integration Platform Prism-MW From SoftArch, USC Lightweight Middleware Prism-MW From SoftArch, USC Lightweight Middleware

7 Conflict Definition: Categorization 1.Synchronization Conflicts Occur due to latency between distributed architects Cannot be applied to the model without violating model syntax or semantics 2.Parallel Modification Multiple architects modify the same or related object(s) Not necessarily a syntactic or semantic error, but indicates the possibility of conflicts due to uncoordinated work Model Object Architect A Destroy Architect B Move Model Object Architect A Change Location Architect B Modify Name

8 Conflict Definition: Representation Formal description of event sequences that create conflicts: A Conflict Sequence >> Event(1) [Verb(1) Object(1)], Event(2) [Verb(2) Object(2)] where the arrival time T of Event(2) is later than the T of Event(1) e.g. Event1 [ DESTROY ClassC ], Event2 [ CHANGE LOCATION ClassC ] Drools Rules Representation (Simplified) when $event1 : Event(eventType == "DESTROYED") $event2 : Event(arrival > $event1.arrival) then handleConflict($event1, $event2); end

9 Conflict Resolution Automatically Resolvable Resolved internally and transparently by CoDesign/CoWare E.g. DESTROY and DESTROY The 2 architects have the same intention E.g. CREATE and CREATE The 2 new objects have the same object ID Not Automatically Resolvable Notify relevant architects and facilitate communication E.g. DESTROY and CHANGE LOCATION

10 Features: Live Demo Settings CoWare Server Computer Science Building at USC CoWare Client One instance at Infosys, Bangalore, India Another instance here CoDesign Along with the modeling tool: GME 7 Features Synchronization between CoDesign instances Conflict Detection & Resolution

11 Summary In the Demo Synchronization between CoDesign Instances Conflict Detection and Resolution Summary Collaborative Software Modeling Infrastructure Architecture Formal Definition of Conflicts Categories of Conflicts: Synchronization Conflicts, Parallel Modification Resolution Types: Automatically Resolvable, Human Intervention

12 Future Work Exploration of the type and nature of conflicts Causes of conflicts and relationships between conflict types and modeling activities Automatic inference of conflicts from formal language definitions (meta-models) Conflicts caused by complex event sequences (e.g., 3 or more parallel events) Evolution of the CoDesign architecture Focus on scalability, efficiency, extensibility Simulation and analysis for architecture evaluation and validation Continue implementation of the architecture Testing under globally distributed settings

13 THANK YOU SoftArch, USC

14 Appendix: CoDesign GME List of Verbs Destroy Create Change Properties Change Location Move (to another object) Create Connection Destroy Connection Create Reference Remove Reference Change Reference Add to Set Remove from Set

15 Appendix: CoDesign GME List of Objects Object Project Folder Model Atom Reference Set

16 Appendix: CoDesign GME Found Conflict Sequences (1) DESTROY – DESTROY DESTROY – CHANGE PROPERTIES DESTROY – CHANGE LOCATION DESTROY – CREATE CONNECTION DESTROY – CREATE PORT DESTROY – DESTROY PORT DESTROY – CREATE REFERENCE DESTROY – REMOVE REFERENCE DESTROY – CHANGE REFERENCE DESTROY – ADD TO SET DESTROY – REMOVE FROM SET CREATE – CREATE (Duplication Object IDs)

17 Appendix: CoDesign GME Found Conflict Sequences (2) MOVE – DESTROY MOVE – CHANGE PROPERTIES MOVE – CHANGE LOCATION MOVE – CREATE CONNECTION MOVE – DESTROY CONNECTION MOVE – CREATE PORT MOVE – DESTROY PORT MOVE – CREATE REFERENCE MOVE – REMOVE REFERENCE MOVE – CHANGE REFERENCE MOVE – ADD TO SET MOVE – REMOVE FROM SET


Download ppt "CoDesign/CoWare An Extensible and Scalable Collaborative Software Modeling Infrastructure SoftArch, USC October 20th Jae young Bang, USC"

Similar presentations


Ads by Google