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

Category:

Documents

0 Downloads

Preview:

Click to see full reader

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