Top Banner
The Workspace Model T.C. Nicholas Graham, Greg Phillips, Chris Wolfe Equis Group, Software Technology Laboratory School of Computing Queen’s University
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

May 22, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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