eXtreme Collaborative Development Environment - PowerPoint PPT Presentation

About This Presentation
Title:

eXtreme Collaborative Development Environment

Description:

instant messaging. e-mail. screen sharing. Solution. Synchronization ... Instant messaging. Voice chat. Usage Scenarios. Q: How might XCDE be used in practice? ... – PowerPoint PPT presentation

Number of Views:44
Avg rating:3.0/5.0
Slides: 16
Provided by: andrew559
Category:

less

Transcript and Presenter's Notes

Title: eXtreme Collaborative Development Environment


1
eXtreme Collaborative Development Environment
  • Programmer-oriented real-time virtual
    collaboration tool

G2007.026
2
Motivation
  • Q How can geographically separate programmers
    collaboratively develop in real-time?
  • Experience during co-op and academic terms showed
    a need to collaborate
  • Poor collaboration tools currently available
  • instant messaging
  • e-mail
  • screen sharing

3
Solution
  • Synchronization server client
  • Eclipse plug-in
  • Collaborative process metric database

4
What We Built
5
Design Alternatives
  • IDE
  • Build a new dedicated environment
  • Extend an existing development environment
  • Synchronization
  • Locking-centric
  • Non-blocking synchronous
  • Predictive client pull

6
Advantages
  • Integration with Eclipse
  • Leverages a mature IDE and toolset including the
    JFace graphics library
  • Supports multiple languages
  • Provides collaborative functionality without
    learning completely new software
  • Non-blocking Synchronous
  • Full real-time editing and state consistency

7
Base Technologies
  • Eclipse IDE version 3.1.2
  • Java 1.4.2 for TCP/IP-based communication
    libraries
  • MySQL 5.0 for event logging
  • JMF 2.1.1 and RTP protocol for voice communication

8
Synchronization Design
  • Asynchronous message passing
  • Clients and servers push messages
  • The algorithm provides
  • Initial project and document state
  • Real-time updates to documents
  • Router and server components to allow geographic
    scaling

9
Synchronization Design
10
Synchronization Design
11
Synchronization Design
12
Eclipse Integration Design
  • Text editor integration
  • Shows other users cursor positions
  • Merges changes in real-time
  • Context menu integration
  • Link unlink projects from XCDE
  • Refresh linked resources
  • Import wizard
  • Pull a project from an XCDE server
  • File system integration
  • Move and delete hooks
  • Communication tools
  • Instant messaging
  • Voice chat

13
Usage Scenarios
  • Q How might XCDE be used in practice?
  • Supports multiple usage scenarios
  • Programmer education
  • Collaborative development
  • Collaborative debugging
  • Development process management

14
Results of Testing Verification
  • Prototype thoroughly tested on multiple occasions
  • Corner cases in the synchronization algorithms
    were discovered and corrected
  • All core requirements were met

15
Sponsors Consultants
  • We gratefully acknowledge
  • Dr. Ajit Singh for acting as our consultant and
    providing his knowledge, expertise support
  • The Eclipse Community
  • MySQL
Write a Comment
User Comments (0)
About PowerShow.com