The Workspace Model - McGill School Of Computer Sciencejoerg/games/workspace.pdf · •Presenter has private view of presentation including current slide and associated notes •Presenter
Post on 22-May-2020
5 Views
Preview:
Transcript
The Workspace Model
T.C. Nicholas Graham, Greg Phillips,Chris Wolfe
Equis Group, Software Technology LaboratorySchool of ComputingQueen’s University
Geek Warning
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
Architecting CollaborativeSystems
• Conceptual architectures expressstructure of system– Components, connectors, actors, adaptors
• Implementation architectures exposeissues of distributed implementation– Concurrency control, networking, caching,
…
Architecting CollaborativeSystems - Problems
• Traceability – keeping conceptual,implementation architectures in sync
• Evolution – dealing with changes inarchitecture– Triggered by users– Optimizations– Faults
Workspace Model
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
Conceptual Architecture
Example Application
• Remote audience members viewpresentation on their PCs and listen to thepresenter via VoIP
• Remote/local audience members see sameslide
Conceptual ArchitecturePost Evolution
ImplementationArchitectures
• Expose implementation decisions– Allocation of components to nodes– Connector implementation
• Networking protocols, consistency maintenance
• Refinement relation maintains link toconceptual architecture
ImplementationArchitecture
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
Example Refinement Rules
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
Example EvolutionCalculus Rules
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.
Application: Restoral andRecovery
Application: WorkspaceSemantics of Extended C++
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
top related