collaborative editing systems and their application to
TRANSCRIPT
![Page 1: Collaborative Editing Systems and their Application to](https://reader031.vdocument.in/reader031/viewer/2022020700/61f62040249b214bf02f4b96/html5/thumbnails/1.jpg)
Collaborative Editing Systems and their Application to Distributed Software Engineering
Jon A. Preston
PhD StudentDepartment of Computer ScienceGeorgia State University
Interim Department HeadDepartment of Information TechnologyClayton College and State University
![Page 2: Collaborative Editing Systems and their Application to](https://reader031.vdocument.in/reader031/viewer/2022020700/61f62040249b214bf02f4b96/html5/thumbnails/2.jpg)
Thinking Collaboratively
“Great things can happen, when you don’t care who gets credit.”
- Mark Twain
![Page 3: Collaborative Editing Systems and their Application to](https://reader031.vdocument.in/reader031/viewer/2022020700/61f62040249b214bf02f4b96/html5/thumbnails/3.jpg)
Agenda
CSCWSynchronous & AsynchronousVirtual Presence and HCI IssuesTransparent & Aware Models
Distributed Software EngineeringConfiguration ManagementDistributed CMS
Well-known ProblemsCache CoherencyMutexMerging
Recent WorkOpen Research
![Page 4: Collaborative Editing Systems and their Application to](https://reader031.vdocument.in/reader031/viewer/2022020700/61f62040249b214bf02f4b96/html5/thumbnails/4.jpg)
Computer Supported Collaborative Work (CSCW)
![Page 5: Collaborative Editing Systems and their Application to](https://reader031.vdocument.in/reader031/viewer/2022020700/61f62040249b214bf02f4b96/html5/thumbnails/5.jpg)
CSCW Defined
Computer Supported Collaborative/Cooperative Work
Focus on collaboration (HCI)Focus on cooperation (IS)
Goal-driven (work)Computer systems support
![Page 6: Collaborative Editing Systems and their Application to](https://reader031.vdocument.in/reader031/viewer/2022020700/61f62040249b214bf02f4b96/html5/thumbnails/6.jpg)
Synchronous and Asynchronous
Users can edit at different timesAsynchronous
Users can edit at the same timeSynchronous
Patters in collaborationBegins asynchronous (email sufficient)Migrates to synchronous (deadline)
![Page 7: Collaborative Editing Systems and their Application to](https://reader031.vdocument.in/reader031/viewer/2022020700/61f62040249b214bf02f4b96/html5/thumbnails/7.jpg)
Virtual Presence
Provide information about other users in the system
Name, picture, email, “state,” chat, VoIP
Display what sections of the document others are editing
Show “ownership”Show historical information
![Page 8: Collaborative Editing Systems and their Application to](https://reader031.vdocument.in/reader031/viewer/2022020700/61f62040249b214bf02f4b96/html5/thumbnails/8.jpg)
Other HCI/Social Issues
Allow users to not be botheredAllow “deep” work
Integrate communication tools into IDE
“Eclipse” by Cheng et al. (2004)
Shared and personal views of collaborative space
![Page 9: Collaborative Editing Systems and their Application to](https://reader031.vdocument.in/reader031/viewer/2022020700/61f62040249b214bf02f4b96/html5/thumbnails/9.jpg)
Transparencies
CSCW system knows nothing about the software “underneath”Useful to support legacy systemsSignificant overhead
CSCW system is not coupled to the user software
Capture and broadcast UI events
![Page 10: Collaborative Editing Systems and their Application to](https://reader031.vdocument.in/reader031/viewer/2022020700/61f62040249b214bf02f4b96/html5/thumbnails/10.jpg)
Aware CSCW
Tightly-coupled CSCW systems to shared programCan be optimized
CSCW system knows about collaborative software
Cache events and broadcast what is important
![Page 11: Collaborative Editing Systems and their Application to](https://reader031.vdocument.in/reader031/viewer/2022020700/61f62040249b214bf02f4b96/html5/thumbnails/11.jpg)
Levels within Groupware
DisplayRenders the application to the user
ViewContains the application's logical presentation
ModelThe application's state and internal information
FileThe persistent information of the application
Roth and Unger(2000)
![Page 12: Collaborative Editing Systems and their Application to](https://reader031.vdocument.in/reader031/viewer/2022020700/61f62040249b214bf02f4b96/html5/thumbnails/12.jpg)
FileModel
Display
View
User 1 User N
…
Display
View
Shared Model
![Page 13: Collaborative Editing Systems and their Application to](https://reader031.vdocument.in/reader031/viewer/2022020700/61f62040249b214bf02f4b96/html5/thumbnails/13.jpg)
Display
View
User 1
File
Model
Display
View
User N
File
Model
…
Shared View
![Page 14: Collaborative Editing Systems and their Application to](https://reader031.vdocument.in/reader031/viewer/2022020700/61f62040249b214bf02f4b96/html5/thumbnails/14.jpg)
Hybrid Model
FileModel
Display
View
User 1 User N…Display
View
![Page 15: Collaborative Editing Systems and their Application to](https://reader031.vdocument.in/reader031/viewer/2022020700/61f62040249b214bf02f4b96/html5/thumbnails/15.jpg)
Distributed Software Engineering
![Page 16: Collaborative Editing Systems and their Application to](https://reader031.vdocument.in/reader031/viewer/2022020700/61f62040249b214bf02f4b96/html5/thumbnails/16.jpg)
Applicability of CSCW
EvolutionChanges must be tracked among many different versions of the software
ScaleIncreasingly large systems involve more interactions among methods and developers
Distribution of knowledgeMany people all working on the system
Clustering of edits (12.5% within 24h)Perry et al. (2001)
![Page 17: Collaborative Editing Systems and their Application to](https://reader031.vdocument.in/reader031/viewer/2022020700/61f62040249b214bf02f4b96/html5/thumbnails/17.jpg)
Configuration Management
Mutual ExclusionCheck in and check outEREW, CREW, & CRCW
VersioningRollbacks, branches, and joins
Permission/access
![Page 18: Collaborative Editing Systems and their Application to](https://reader031.vdocument.in/reader031/viewer/2022020700/61f62040249b214bf02f4b96/html5/thumbnails/18.jpg)
Distributed CMS
Configuration Management SystemsCVS, RCS, VSS, etc.
Can distribute repository on multiple machines
Ubiquity of networked machinesImprove network access (distributed cache)
Currently distribute at file-level only
![Page 19: Collaborative Editing Systems and their Application to](https://reader031.vdocument.in/reader031/viewer/2022020700/61f62040249b214bf02f4b96/html5/thumbnails/19.jpg)
Mappings to Known Problems
![Page 20: Collaborative Editing Systems and their Application to](https://reader031.vdocument.in/reader031/viewer/2022020700/61f62040249b214bf02f4b96/html5/thumbnails/20.jpg)
Cache Coherency
Assume a CRCW policyChanges must be propagated
Various update protocols
ApproachesSnoopy cacheWrite invalidateDirectory-based protocol (shared, exclusive, unused)
![Page 21: Collaborative Editing Systems and their Application to](https://reader031.vdocument.in/reader031/viewer/2022020700/61f62040249b214bf02f4b96/html5/thumbnails/21.jpg)
Mutex
Must ensure that only one user can edit any given areaHelps mitigate merge problemFine granularity
Improves parallelism, complicates modification effects
Course granularityEases modification effects, reduces parallelism
![Page 22: Collaborative Editing Systems and their Application to](https://reader031.vdocument.in/reader031/viewer/2022020700/61f62040249b214bf02f4b96/html5/thumbnails/22.jpg)
Merging
User 1 has artifact AUser 2 has artifact ABoth users edit (asynchronously)
User 1 creates A1
User 2 creates A2
Check-in both modified versionsAutomate the merge process
Detect collisions in documents
![Page 23: Collaborative Editing Systems and their Application to](https://reader031.vdocument.in/reader031/viewer/2022020700/61f62040249b214bf02f4b96/html5/thumbnails/23.jpg)
Handling Synchronicity
Conflict Resolution MatrixO(n2) – can be parallelizedShen & Sun (2002)
Dependency TreesFirewalls and cursorsChange propagation into subtreesKaiser & Kaplan (1993)
![Page 24: Collaborative Editing Systems and their Application to](https://reader031.vdocument.in/reader031/viewer/2022020700/61f62040249b214bf02f4b96/html5/thumbnails/24.jpg)
Recent Work
![Page 25: Collaborative Editing Systems and their Application to](https://reader031.vdocument.in/reader031/viewer/2022020700/61f62040249b214bf02f4b96/html5/thumbnails/25.jpg)
Other in the Field
GrouplabUniversity of Calgary
Cooperative Systems Engineering GroupComputing Department, Lancaster University
Graphics, Visualization & Usability CenterKeith Edwards Georgia Institute of Technology
Xerox PARCSigGROUP of the ACMMany Others!
![Page 26: Collaborative Editing Systems and their Application to](https://reader031.vdocument.in/reader031/viewer/2022020700/61f62040249b214bf02f4b96/html5/thumbnails/26.jpg)
A Sample in CSCW Software Engineering Research
Tam, J., McCaffrey, L, Maurer, F. and Greenberg, S. (2000) Change Awareness in Software Engineering Using Two Dimensional Graphical Design and Development Tools. Report 2000-670-22, Department of Computer Science, University of Calgary, Alberta, Canada, October.
![Page 27: Collaborative Editing Systems and their Application to](https://reader031.vdocument.in/reader031/viewer/2022020700/61f62040249b214bf02f4b96/html5/thumbnails/27.jpg)
The Study
AsynchronousPrototyped a software modeling tool using UMLPlacement: situated vs. separatePresentation: symbolic vs. literalFour change visualizations
Animated replays (situated & literal)Storyboards (separate & literal)Iconic representations (situated & symbolic)Documentation (separate & symbolic)
![Page 28: Collaborative Editing Systems and their Application to](https://reader031.vdocument.in/reader031/viewer/2022020700/61f62040249b214bf02f4b96/html5/thumbnails/28.jpg)
Situated & Literal: Animated Replays
![Page 29: Collaborative Editing Systems and their Application to](https://reader031.vdocument.in/reader031/viewer/2022020700/61f62040249b214bf02f4b96/html5/thumbnails/29.jpg)
Situated & Symbolic: Iconic
![Page 30: Collaborative Editing Systems and their Application to](https://reader031.vdocument.in/reader031/viewer/2022020700/61f62040249b214bf02f4b96/html5/thumbnails/30.jpg)
Separate & Literal: Storyboards
![Page 31: Collaborative Editing Systems and their Application to](https://reader031.vdocument.in/reader031/viewer/2022020700/61f62040249b214bf02f4b96/html5/thumbnails/31.jpg)
Separate & Symbolic: Documentation
![Page 32: Collaborative Editing Systems and their Application to](https://reader031.vdocument.in/reader031/viewer/2022020700/61f62040249b214bf02f4b96/html5/thumbnails/32.jpg)
Procedures
Four changesAddition of informationDeletion from diagramModificationMovement
Pre testKnowledge of UML and CS
Post testHow the mechanism workedLikert 1 (useless) - 5 (very effective) scale
![Page 33: Collaborative Editing Systems and their Application to](https://reader031.vdocument.in/reader031/viewer/2022020700/61f62040249b214bf02f4b96/html5/thumbnails/33.jpg)
Results
Symbolic well accepted (abstraction)Gaze shift of separate a negativeBefore-after comparisons of storyboarding time consumingDifficulty in visualizing movementUsers wanted to see current version of document“Who” and “why” of change critical
![Page 34: Collaborative Editing Systems and their Application to](https://reader031.vdocument.in/reader031/viewer/2022020700/61f62040249b214bf02f4b96/html5/thumbnails/34.jpg)
Potential Open Research
![Page 35: Collaborative Editing Systems and their Application to](https://reader031.vdocument.in/reader031/viewer/2022020700/61f62040249b214bf02f4b96/html5/thumbnails/35.jpg)
Granularity
Examine fine-level of granularity in configuration management systemsLock at a class levelLock at a method levelLock at a block level
![Page 36: Collaborative Editing Systems and their Application to](https://reader031.vdocument.in/reader031/viewer/2022020700/61f62040249b214bf02f4b96/html5/thumbnails/36.jpg)
Implications of Fine-level Locking
Modifications within a class (private)Could impact other elements of a class
Modifications to a class (public)Could impact API (clients) of class
Modifications at the block levelCould impact other block elements
Track/notify user of implications
![Page 37: Collaborative Editing Systems and their Application to](https://reader031.vdocument.in/reader031/viewer/2022020700/61f62040249b214bf02f4b96/html5/thumbnails/37.jpg)
Models/Patterns of Software Editing/Development Behavior
How do developers build/edit software?PSP/TSP and others address productivityOther models attempt to capture process at a higher-levelExtreme ProgrammingBut are there patterns to how code is built and/or edited?
![Page 38: Collaborative Editing Systems and their Application to](https://reader031.vdocument.in/reader031/viewer/2022020700/61f62040249b214bf02f4b96/html5/thumbnails/38.jpg)
Non-Code-Based Synchronous Editing Systems
Integrate into existing, widely-adopted document editing systems
Peer-to-peer communication
Improve Versioning (CM) into document editing
![Page 39: Collaborative Editing Systems and their Application to](https://reader031.vdocument.in/reader031/viewer/2022020700/61f62040249b214bf02f4b96/html5/thumbnails/39.jpg)
ReferencesKAISER G. E. and KAPLAN S. M. Parallel and Distributed Incremental Attribute Evaluation Algorithms for Multiuser Software Development Environments. ACM Transactions on Software Engineering and Methodology, vol. 2, no. 1, pp. 47-92, January 1993.PERRY D. E., SIY H. P., and VOTTA L. G. Parallel Changes in Large Scale Software Development: An Observational Case Study. ACM Transactions on Software Engineering and Methodology, vol. 10, no. 3, pp. 308-337, July 2001.ROTH, J. and UNGER C. Developing synchronous collaborative applications with TeamComponents. 4th International Conference on Cooperative Systems. 2000.SHEN H. and SUN C. Flexible Notification for Collaborative Systems. In Proceedings of CSCW'02, New Orleans Louisiana, pp. 77-86, November 2002.TAM, J., MCCAFFREY, L, MAURER, F. and GREENBERG, S. Change Awareness in Software Engineering Using Two Dimensional Graphical Design and Development Tools. Report 2000-670-22, Department of Computer Science, University of Calgary, Alberta, Canada, October 2000.
![Page 40: Collaborative Editing Systems and their Application to](https://reader031.vdocument.in/reader031/viewer/2022020700/61f62040249b214bf02f4b96/html5/thumbnails/40.jpg)
Questions