![Page 1: The Workspace Model - McGill School Of Computer Sciencejoerg/games/workspace.pdf · •Presenter has private view of presentation including current slide and associated notes •Presenter](https://reader034.vdocument.in/reader034/viewer/2022042222/5ec95cae18fe0851113bae0e/html5/thumbnails/1.jpg)
The Workspace Model
T.C. Nicholas Graham, Greg Phillips,Chris Wolfe
Equis Group, Software Technology LaboratorySchool of ComputingQueen’s University
![Page 2: The Workspace Model - McGill School Of Computer Sciencejoerg/games/workspace.pdf · •Presenter has private view of presentation including current slide and associated notes •Presenter](https://reader034.vdocument.in/reader034/viewer/2022042222/5ec95cae18fe0851113bae0e/html5/thumbnails/2.jpg)
Geek Warning
![Page 3: The Workspace Model - McGill School Of Computer Sciencejoerg/games/workspace.pdf · •Presenter has private view of presentation including current slide and associated notes •Presenter](https://reader034.vdocument.in/reader034/viewer/2022042222/5ec95cae18fe0851113bae0e/html5/thumbnails/3.jpg)
How Do PeopleCollaborate?
• Spontaneously vs planned• With multiple threads of collaboration• Asynchronously vs synchronously• Formally vs informally• Collocated vs remotely• Using a variety of tools and devices
– physical vs virtual– PC, handheld, whiteboard, paper…
• Evolution in collaborative structure
![Page 4: The Workspace Model - McGill School Of Computer Sciencejoerg/games/workspace.pdf · •Presenter has private view of presentation including current slide and associated notes •Presenter](https://reader034.vdocument.in/reader034/viewer/2022042222/5ec95cae18fe0851113bae0e/html5/thumbnails/4.jpg)
Architecting CollaborativeSystems
• Conceptual architectures expressstructure of system– Components, connectors, actors, adaptors
• Implementation architectures exposeissues of distributed implementation– Concurrency control, networking, caching,
…
![Page 5: The Workspace Model - McGill School Of Computer Sciencejoerg/games/workspace.pdf · •Presenter has private view of presentation including current slide and associated notes •Presenter](https://reader034.vdocument.in/reader034/viewer/2022042222/5ec95cae18fe0851113bae0e/html5/thumbnails/5.jpg)
Architecting CollaborativeSystems - Problems
• Traceability – keeping conceptual,implementation architectures in sync
• Evolution – dealing with changes inarchitecture– Triggered by users– Optimizations– Faults
![Page 6: The Workspace Model - McGill School Of Computer Sciencejoerg/games/workspace.pdf · •Presenter has private view of presentation including current slide and associated notes •Presenter](https://reader034.vdocument.in/reader034/viewer/2022042222/5ec95cae18fe0851113bae0e/html5/thumbnails/6.jpg)
Workspace Model
![Page 7: The Workspace Model - McGill School Of Computer Sciencejoerg/games/workspace.pdf · •Presenter has private view of presentation including current slide and associated notes •Presenter](https://reader034.vdocument.in/reader034/viewer/2022042222/5ec95cae18fe0851113bae0e/html5/thumbnails/7.jpg)
Example Application
• Presenter has private view of presentationincluding current slide and associated notes
• Presenter has presentation flow controls• Audience members sit in an auditorium,
view presentation on a large screen, hearpresenter’s voice directly
![Page 8: The Workspace Model - McGill School Of Computer Sciencejoerg/games/workspace.pdf · •Presenter has private view of presentation including current slide and associated notes •Presenter](https://reader034.vdocument.in/reader034/viewer/2022042222/5ec95cae18fe0851113bae0e/html5/thumbnails/8.jpg)
Conceptual Architecture
![Page 9: The Workspace Model - McGill School Of Computer Sciencejoerg/games/workspace.pdf · •Presenter has private view of presentation including current slide and associated notes •Presenter](https://reader034.vdocument.in/reader034/viewer/2022042222/5ec95cae18fe0851113bae0e/html5/thumbnails/9.jpg)
Example Application
• Remote audience members viewpresentation on their PCs and listen to thepresenter via VoIP
• Remote/local audience members see sameslide
![Page 10: The Workspace Model - McGill School Of Computer Sciencejoerg/games/workspace.pdf · •Presenter has private view of presentation including current slide and associated notes •Presenter](https://reader034.vdocument.in/reader034/viewer/2022042222/5ec95cae18fe0851113bae0e/html5/thumbnails/10.jpg)
Conceptual ArchitecturePost Evolution
![Page 11: The Workspace Model - McGill School Of Computer Sciencejoerg/games/workspace.pdf · •Presenter has private view of presentation including current slide and associated notes •Presenter](https://reader034.vdocument.in/reader034/viewer/2022042222/5ec95cae18fe0851113bae0e/html5/thumbnails/11.jpg)
ImplementationArchitectures
• Expose implementation decisions– Allocation of components to nodes– Connector implementation
• Networking protocols, consistency maintenance
• Refinement relation maintains link toconceptual architecture
![Page 12: The Workspace Model - McGill School Of Computer Sciencejoerg/games/workspace.pdf · •Presenter has private view of presentation including current slide and associated notes •Presenter](https://reader034.vdocument.in/reader034/viewer/2022042222/5ec95cae18fe0851113bae0e/html5/thumbnails/12.jpg)
ImplementationArchitecture
![Page 13: The Workspace Model - McGill School Of Computer Sciencejoerg/games/workspace.pdf · •Presenter has private view of presentation including current slide and associated notes •Presenter](https://reader034.vdocument.in/reader034/viewer/2022042222/5ec95cae18fe0851113bae0e/html5/thumbnails/13.jpg)
Refinement
• Map conceptual architecture toimplementation architecture
• Recover conceptual architecture fromimplementation architecture– E.g., failure recovery
• Can be automated– Developer works only at conceptual level; runtime
system generates implementation architecture
• Expressed via graph grammatical productions
![Page 14: The Workspace Model - McGill School Of Computer Sciencejoerg/games/workspace.pdf · •Presenter has private view of presentation including current slide and associated notes •Presenter](https://reader034.vdocument.in/reader034/viewer/2022042222/5ec95cae18fe0851113bae0e/html5/thumbnails/14.jpg)
Example Refinement Rules
![Page 15: The Workspace Model - McGill School Of Computer Sciencejoerg/games/workspace.pdf · •Presenter has private view of presentation including current slide and associated notes •Presenter](https://reader034.vdocument.in/reader034/viewer/2022042222/5ec95cae18fe0851113bae0e/html5/thumbnails/15.jpg)
Evolution
• Systems change at runtime– New participant joins session– Participant changes location– Participant changes device– Network/node fails
• Evolution calculus is an algebra forexpressing such change– Implementable in toolkit– Give semantics of toolkit features
![Page 16: The Workspace Model - McGill School Of Computer Sciencejoerg/games/workspace.pdf · •Presenter has private view of presentation including current slide and associated notes •Presenter](https://reader034.vdocument.in/reader034/viewer/2022042222/5ec95cae18fe0851113bae0e/html5/thumbnails/16.jpg)
Example EvolutionCalculus Rules
![Page 17: The Workspace Model - McGill School Of Computer Sciencejoerg/games/workspace.pdf · •Presenter has private view of presentation including current slide and associated notes •Presenter](https://reader034.vdocument.in/reader034/viewer/2022042222/5ec95cae18fe0851113bae0e/html5/thumbnails/17.jpg)
Properties of WorkspaceModel
• Refinements are Local. Application ofrefinement rules is commutative.
• Refinements Terminate. Any non-trivialrefinement sequence will eventually lead toa ground architecture.
• Evolution and Refinement isCommutative.
![Page 18: The Workspace Model - McGill School Of Computer Sciencejoerg/games/workspace.pdf · •Presenter has private view of presentation including current slide and associated notes •Presenter](https://reader034.vdocument.in/reader034/viewer/2022042222/5ec95cae18fe0851113bae0e/html5/thumbnails/18.jpg)
Application: Restoral andRecovery
![Page 19: The Workspace Model - McGill School Of Computer Sciencejoerg/games/workspace.pdf · •Presenter has private view of presentation including current slide and associated notes •Presenter](https://reader034.vdocument.in/reader034/viewer/2022042222/5ec95cae18fe0851113bae0e/html5/thumbnails/19.jpg)
Application: WorkspaceSemantics of Extended C++
![Page 20: The Workspace Model - McGill School Of Computer Sciencejoerg/games/workspace.pdf · •Presenter has private view of presentation including current slide and associated notes •Presenter](https://reader034.vdocument.in/reader034/viewer/2022042222/5ec95cae18fe0851113bae0e/html5/thumbnails/20.jpg)
Status
• Workspace Model completely specified• Two toolkit implementations underway
– Automation of refinement relation• Evolutions at conceptual, implementation levels
– Plug-replaceability of implementation components• E.g., developer can choose consistency maintenance
algorithm to suit application
– Python– C++
• Natural C++ programming style• Support for existing code