1 / 17

CoDesign A Highly Extensible Collaborative Software Modeling Framework

CoDesign A Highly Extensible Collaborative Software Modeling Framework. Jae young Bang ( jaeyounb@usc.edu ) George Edwards ( gedwards@usc.edu ) Daniel Popescu ( dpopescu@usc.edu ) Prof. Nenad Medvidovic ( neno@usc.edu ). Naveen Kulkarni ( Naveen_Kulkarni@infosys.com )

jaxon
Download Presentation

CoDesign A Highly Extensible Collaborative Software Modeling Framework

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. CoDesignA Highly Extensible Collaborative Software Modeling Framework Jae young Bang (jaeyounb@usc.edu) George Edwards (gedwards@usc.edu) Daniel Popescu (dpopescu@usc.edu) Prof. Nenad Medvidovic (neno@usc.edu) Naveen Kulkarni (Naveen_Kulkarni@infosys.com) Girish Maskeri Rama (Girish_Rama@infosys.com) Dr. Srinivas Padmanabhuni (srinivas_p@infosys.com) SoftArch, USC March, 2010

  2. Outline • Motivation • Overview of the project • System Architecture of CoDesign • Analysis in Design-time Issues upon Collaboration • Conflict Categorization • Conflict Detection Techniques • Future Work • Video Demonstration

  3. Motivation • Large, multinational SW companies off-shore • To emerging economies such as India and China • Many stakeholders remain in developed countries • Results in globally distributed software development teams • Communication challenges must be overcome • Current collaborative IDEs have shortfalls • Traditional “check-in” SCM tools have to check-in • Collaborative IDEs primarily focused on distributed programming, architecture design and modeling are not readily supported

  4. Overview: CoDesign • Research Objectives • Designs, patterns and frameworks for a highly extensible conflict detection framework for collaborative modeling • 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. Design-time Issues upon Collaboration Architect A Architect A Architect B Architect B • 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

  6. Conflicts Categorization • Synchronization Conflicts • Can be resolved with little or no human intervention • Simple conflicts caused by synchronization latency • e.g., delete-move conflict • Syntactic Conflicts • Violate a modeling tool’s or language’s meta-model constraints • e.g., cardinality constraints violation • Semantic Conflicts • Unlike the two above, reflect violations in the intended, implicit rules that a system’s model should abide • e.g., violations against the style of the model

  7. CoDesign Architecture • Event-based architecture • Exchanges messages via implicit invocation • Pair the most appropriate consistency checkers High-Level Architecture of CoDesign

  8. Drools FromJBoss Community Business Logic Integration Platform Generic Modeling Environment From Vanderbilt University Software Modeling Tool CoDesign Architecture Prism-MW From SoftArch, USC Lightweight Middleware The double-lined polygons represent off-the-shelf software.

  9. Summary • Summary • Collaborative Software Modeling Infrastructure Architecture • Design-time Issues: • Conflicts, Parallel Modification • Categories of Conflicts • Synchronization, Syntactic, Semantic

  10. Future Work • Exploration of the type and nature of conflicts • Causes of conflicts and relationships between conflict types and modeling activities • Conflicts caused by complex event sequences (e.g., 3 or more parallel events) • Conflict Resolution • Toward automated conflict resolution over conflict identification • Continue implementation of the architecture • Testing under globally distributed settings • Testing in scalability

  11. Features: Demonstration Video • Settings • CoWare Server and the Drools engine at USC • Two CoDesign Instances • Along with the modeling tool: GME 9 • Features • Synchronization between CoDesign instances • Conflict Detection Process

  12. Contacts & References • Jae young Bang • jaeyounb@usc.edu • NenadMedvidovic • neno@usc.edu • 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 Research Demonstration Track at the 32nd International Conference on Software Engineering (ICSE10) • Thank you!

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

  14. Appendix: CoDesign GME List of Objects • Object • Project • Folder • Model • Atom • Reference • Set

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

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