CoDesign A Highly Extensible Collaborative Software Modeling Framework
description
Transcript of CoDesign A Highly Extensible Collaborative Software Modeling Framework
![Page 1: CoDesign A Highly Extensible Collaborative Software Modeling Framework](https://reader036.fdocuments.net/reader036/viewer/2022062411/568168b8550346895ddf9c45/html5/thumbnails/1.jpg)
S
CoDesignA Highly Extensible
Collaborative Software Modeling Framework
Jae young Bang ([email protected])
University of Southern California
Daniel PopescuGeorge EdwardsProf. Nenad Medvidovic
Naveen KulkarniGirish M. Rama
Dr. Srinivas Padmanabhuni
![Page 2: CoDesign A Highly Extensible Collaborative Software Modeling Framework](https://reader036.fdocuments.net/reader036/viewer/2022062411/568168b8550346895ddf9c45/html5/thumbnails/2.jpg)
2
Trends• Globally distributed
software development• Large, multinational
software companies• Emerging economies
(India and China)• Widely distributed
stakeholders• Communication and
coordination challenges
![Page 3: CoDesign A Highly Extensible Collaborative Software Modeling Framework](https://reader036.fdocuments.net/reader036/viewer/2022062411/568168b8550346895ddf9c45/html5/thumbnails/3.jpg)
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
![Page 4: CoDesign A Highly Extensible Collaborative Software Modeling Framework](https://reader036.fdocuments.net/reader036/viewer/2022062411/568168b8550346895ddf9c45/html5/thumbnails/4.jpg)
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)
![Page 5: CoDesign A Highly Extensible Collaborative Software Modeling Framework](https://reader036.fdocuments.net/reader036/viewer/2022062411/568168b8550346895ddf9c45/html5/thumbnails/5.jpg)
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)
![Page 6: CoDesign A Highly Extensible Collaborative Software Modeling Framework](https://reader036.fdocuments.net/reader036/viewer/2022062411/568168b8550346895ddf9c45/html5/thumbnails/6.jpg)
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
![Page 7: CoDesign A Highly Extensible Collaborative Software Modeling Framework](https://reader036.fdocuments.net/reader036/viewer/2022062411/568168b8550346895ddf9c45/html5/thumbnails/7.jpg)
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
![Page 8: CoDesign A Highly Extensible Collaborative Software Modeling Framework](https://reader036.fdocuments.net/reader036/viewer/2022062411/568168b8550346895ddf9c45/html5/thumbnails/8.jpg)
8
Parallel Modification
MoveDoctora
teto right
Change name to PostDoc
![Page 9: CoDesign A Highly Extensible Collaborative Software Modeling Framework](https://reader036.fdocuments.net/reader036/viewer/2022062411/568168b8550346895ddf9c45/html5/thumbnails/9.jpg)
9
Synchronization Conflicts
• Simple conflicts caused by latency• Can be resolved with little or no human
intervention
Delete Doctora
te
Change name to PostDoc
!
![Page 10: CoDesign A Highly Extensible Collaborative Software Modeling Framework](https://reader036.fdocuments.net/reader036/viewer/2022062411/568168b8550346895ddf9c45/html5/thumbnails/10.jpg)
10
• Conflicts that violate modeling tool’s or language’s constraints
Syntactic Conflicts
Metamodel defines an Ethernet Router can only have 0 to 4 Port(s)
Add a Port Add a Port
!
![Page 11: CoDesign A Highly Extensible Collaborative Software Modeling Framework](https://reader036.fdocuments.net/reader036/viewer/2022062411/568168b8550346895ddf9c45/html5/thumbnails/11.jpg)
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
![Page 12: CoDesign A Highly Extensible Collaborative Software Modeling Framework](https://reader036.fdocuments.net/reader036/viewer/2022062411/568168b8550346895ddf9c45/html5/thumbnails/12.jpg)
12
Semantic Conflict
Request from C1 to
C2
Request from C2 to
C1
!
![Page 13: CoDesign A Highly Extensible Collaborative Software Modeling Framework](https://reader036.fdocuments.net/reader036/viewer/2022062411/568168b8550346895ddf9c45/html5/thumbnails/13.jpg)
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
![Page 14: CoDesign A Highly Extensible Collaborative Software Modeling Framework](https://reader036.fdocuments.net/reader036/viewer/2022062411/568168b8550346895ddf9c45/html5/thumbnails/14.jpg)
14
CoDesign ImplementationGME: software modeling tool from Vanderbilt Univ.
CoWare: lightweight integration platform for CoDesign
Drools: business logic integration platform from jBoss community
![Page 15: CoDesign A Highly Extensible Collaborative Software Modeling Framework](https://reader036.fdocuments.net/reader036/viewer/2022062411/568168b8550346895ddf9c45/html5/thumbnails/15.jpg)
15
Event Distribution
Design Decision
Broadcast “clean” event to the other architectsOr, send conflict notificationTo the involved architects
![Page 16: CoDesign A Highly Extensible Collaborative Software Modeling Framework](https://reader036.fdocuments.net/reader036/viewer/2022062411/568168b8550346895ddf9c45/html5/thumbnails/16.jpg)
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
![Page 17: CoDesign A Highly Extensible Collaborative Software Modeling Framework](https://reader036.fdocuments.net/reader036/viewer/2022062411/568168b8550346895ddf9c45/html5/thumbnails/17.jpg)
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
![Page 18: CoDesign A Highly Extensible Collaborative Software Modeling Framework](https://reader036.fdocuments.net/reader036/viewer/2022062411/568168b8550346895ddf9c45/html5/thumbnails/18.jpg)
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
![Page 19: CoDesign A Highly Extensible Collaborative Software Modeling Framework](https://reader036.fdocuments.net/reader036/viewer/2022062411/568168b8550346895ddf9c45/html5/thumbnails/19.jpg)
19
Contacts & References
• Jae young Bang [email protected]• Nenad Medvidović [email protected]• 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!
![Page 20: CoDesign A Highly Extensible Collaborative Software Modeling Framework](https://reader036.fdocuments.net/reader036/viewer/2022062411/568168b8550346895ddf9c45/html5/thumbnails/20.jpg)
20
Backup Slides
![Page 21: CoDesign A Highly Extensible Collaborative Software Modeling Framework](https://reader036.fdocuments.net/reader036/viewer/2022062411/568168b8550346895ddf9c45/html5/thumbnails/21.jpg)
21
Overview1. Background and Motivation2. Project Goals3. Collaborative Design Conflicts4. CoDesign Architecture and Implementation5. Ongoing Work6. Live Demonstration
![Page 22: CoDesign A Highly Extensible Collaborative Software Modeling Framework](https://reader036.fdocuments.net/reader036/viewer/2022062411/568168b8550346895ddf9c45/html5/thumbnails/22.jpg)
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
![Page 23: CoDesign A Highly Extensible Collaborative Software Modeling Framework](https://reader036.fdocuments.net/reader036/viewer/2022062411/568168b8550346895ddf9c45/html5/thumbnails/23.jpg)
23
CoDesign ArchitectureGeneric Modeling Environment
From Vanderbilt University
Software Modeling Tool
Drools
From JBoss Community
Business Logic Integration Platform
Prism-MW
From SoftArch, USC
Lightweight Middleware
![Page 24: CoDesign A Highly Extensible Collaborative Software Modeling Framework](https://reader036.fdocuments.net/reader036/viewer/2022062411/568168b8550346895ddf9c45/html5/thumbnails/24.jpg)
24
Semantic Conflicts• Conflicts that violate the intended meaning of
a model
Intended model: only clients can requestConstraint defined using OCLCloud cannot make requests; it isagainst the rule
!
![Page 25: CoDesign A Highly Extensible Collaborative Software Modeling Framework](https://reader036.fdocuments.net/reader036/viewer/2022062411/568168b8550346895ddf9c45/html5/thumbnails/25.jpg)
25
• Conflicts that violate the intended meaning of a model
Semantic Conflicts
!