1 / 17

CoDesign/CoWare An Extensible and Scalable Collaborative Software Modeling Infrastructure

CoDesign/CoWare An Extensible and Scalable Collaborative Software Modeling Infrastructure. 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)

maeko
Download Presentation

CoDesign/CoWare An Extensible and Scalable Collaborative Software Modeling Infrastructure

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. CoDesign/CoWareAn Extensible and Scalable Collaborative Software Modeling Infrastructure 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. NenadMedvidovic, USC (neno@usc.edu) NaveenKulkarni, Infosys (Naveen_Kulkarni@infosys.com) GirishMaskeri Rama, Infosys (Girish_Rama@infosys.com) Dr. SrinivasPadmanabhuni, Infosys (srinivas_p@infosys.com) SoftArch, USC October 20th

  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 • Designs, patterns and frameworks for a highly distributed, scalable collaborative modeling platform • 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 CoWareServer CoWare Client CoWare Client CoWare Client CoWare Client CoWare Client CoWare Client CoWare Client CoWare Client CoWare Client CoWare Client CoDesign CoDesign CoDesign CoDesign CoDesign CoDesign CoDesign CoDesign CoDesign CoDesign CoWare Client CoWare Client CoWare Client CoWare Client CoWare Client CoDesign CoDesign CoDesign CoDesign CoDesign

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

  7. Conflict Definition: Categorization Architect A Architect A Architect B Architect B • Synchronization Conflicts • Occur due to latency between distributed architects • Cannot be applied to the model without violating model syntax or semantics • 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 Move Destroy Model Object Modify Name Change Location Model Object

  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) thenhandleConflict($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. SoftArch, USC Thank you

  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 GMEFound 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 GMEFound 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

More Related