Presentation is loading. Please wait.

Presentation is loading. Please wait.

 CoDesign A Highly Extensible Collaborative Software Modeling Framework Jae young Bang University of Southern California.

Similar presentations


Presentation on theme: " CoDesign A Highly Extensible Collaborative Software Modeling Framework Jae young Bang University of Southern California."— Presentation transcript:

1  CoDesign A Highly Extensible Collaborative Software Modeling Framework Jae young Bang (jaeyounb@usc.edu)jaeyounb@usc.edu University of Southern California Daniel Popescu George Edwards Prof. Nenad Medvidovic Naveen Kulkarni Girish M. Rama Dr. Srinivas Padmanabhuni

2 Trends 2 Globally distributed software development Large, multinational software companies Emerging economies (India and China) Widely distributed stakeholders Communication and coordination challenges

3 Collaborative Development Current collaborative development tools Traditional software configuration management (SCM) tools Based on check-in/check-out paradigm Incur redundant work and wasted effort Next-generation collaborative integrated development environments (IDEs) Oriented toward distributed programming, not architecture design and modeling Software architects still use traditional SCM tools to coordinate model changes 3

4 CoDesign Project Motivation Infosys – a globally distributed software developer Use many proprietary/legacy/domain-specific tools Found existing collaborative tools are coupled to specific IDEs and lack extensibility e.g., IBM Jazz (Eclipse) and MSR CollabVS (Visual Studio) 4

5 CoDesign Project Motivation Identified a need for a collaborative tool that allows: 1. Arbitrary client applications (front-end) 2. Client-specific management functions (back-end) 5

6 CoDesign Project Goals Extensible collaborative software modeling framework Real-time synchronization & conflict detection Scalability of models and users Objectives: Understand collaborative modeling issues Define methods and processes to resolve issues Develop designs and patterns for distributed model management and conflict detection 6

7 Collaborative Design Issues Multiple architects unknowingly modify related objects Caused by latency and lack of communication Two different types of issues Parallel modification Changes are compatible, but architects should be alerted Model conflicts Changes are not compatible, and must be resolved Three types: Synchronization Syntactic Semantic 7

8 Parallel Modification 8

9 Synchronization Conflicts Simple conflicts caused by latency Can be resolved with little or no human intervention 9 !

10 Conflicts that violate modeling tool’s or language’s constraints Syntactic Conflicts 10 Metamodel defines an Ethernet Router can only have 0 to 4 Port(s) !

11 Semantic Conflict Either can be the server or the client; not both The one that makes requests be the client This can be defined using OCL 11

12 Semantic Conflict 12 !

13 Implication Different types of conflicts require different types of conflict detection engines Synchronization, Syntactic, Semantic Conflict detection engines must be chosen based on the model tools and languages used Extensible collaborative tool is in need 13

14 CoDesign Implementation 14 GME: software modeling tool from Vanderbilt Univ. CoWare: lightweight integration platform for CoDesign Drools: business logic integration platform from jBoss community

15 Event Distribution 15 Design Decision Broadcast “clean” event to the other architects Or, send conflict notification To the involved architects

16 Ongoing Work Investigate of the type and nature of conflicts Causes of conflicts More complex conflicts Experiment with conflict resolution processes Automated or semi-automated Win-win negotiation Implement adaptive scope for parallel modification warnings Based on usage profile and feedback 16

17 Contributions Collaborative software modeling framework Real-time synchronization Extensible architecture Categorization of collaboration issues and conflicts Parallel modification vs. model conflicts Synchronization, syntactic, and semantic conflicts Efficient and scalable conflict detection 17

18 Demonstration Demo setup: Machine 1 CoWare Server Conflict detection engines Machine 2 Two virtual machines CoWare Client/CoDesign Adapter/GME Modeling Tool Capabilities shown: Synchronization between CoDesign instances Conflict detection and notification 18

19 Contacts & References Jae young Bangjaeyounb@usc.edujaeyounb@usc.edu Nenad Medvidovi ć neno@usc.edu 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! 19

20 Backup Slides 20

21 Overview 1. Background and Motivation 2. Project Goals 3. Collaborative Design Conflicts 4. CoDesign Architecture and Implementation 5. Ongoing Work 6. Live Demonstration 21

22 Current Tools Collaborative modeling tools IBM Jazz Tightly coupled with Eclipse Microsoft Research CollabVS Tightly coupled with Microsoft Visual Studio No open platform available for integration of existing tools How can we detect and resolve design-time issues? Infosys had issues in extensibility 22

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

24 Semantic Conflicts Conflicts that violate the intended meaning of a model 24 Intended model: only clients can request Constraint defined using OCL Cloud cannot make requests; it is against the rule !

25 Conflicts that violate the intended meaning of a model Semantic Conflicts 25 !


Download ppt " CoDesign A Highly Extensible Collaborative Software Modeling Framework Jae young Bang University of Southern California."

Similar presentations


Ads by Google