CSCW and Software Engineering Dr.-Ing. Stefan Werner Chapter 6: Groupware Architectures Slide 1of 26 Content 1. Introduction to Global Engineering 2 Introduction to CSCW and Groupware 3. Groups and Group Processes 4. Aspects of working in global teams 5. Graphical User Interfaces and Awareness 6. Groupware architectures 6.1 Design principles for groupware 6.2 Reference models 6.3 Architectural styles for groupware 6.4 Distribution architectures 7. Consistency and Concurrency Control 8. Selected Topics Slide 2of 26 1
6. Groupware architectures 6.1 Design Principles for Groupware Investigation about the way the groups work analyse - the operational sequences - special requirements Krcmar s Lifecycle [1991] development of concepts and tools state of the art map group process model to tool concept prototype evaluation of concepts and tools operability user acceptance task suitability Slide 3of 26 6.1 Design Principles for Groupware - Modelling Groupware - distribution architectures describes the distribution of the components amongst several computers reference models can be used to describe the system in a more general way divide complete systems into named functional elements specify data flow between elements architectural styles describes the fragmentation of groupware into components (connector types and their allowed patterns of interaction.) Slide 4of 26 2
6.2 Reference Models Patterson s Taxonomy state architecture Synchronized state architecture Hybrid architecture Slide 5of 26 6.3 Architectural Styles for Groupware The MVC-Model Functionality (1/2): Model: all programme parts, composed of data structures and algorithms, that are not connected with the display. Controller: user inputs, e.g. via mouse click or the keyboard. Model : functions for display of data (model). Controller The Controller--Pair is normally part of the user interface and accesses exactly one Model. Several, different Controller--Pairs can have access to the same Model => implementation of different views. Slide 6of 26 3
6.3 Architectural Styles for Groupware The MVC-Model Functionality (2/2): The Controller reads the user input and forwards it to the Model (1). The Model sends information to the s (and Controller) that it has been changed (2). 2 Controller Model 1 3 2 4 The s on the other hand ask for the individual (3) and updates its display. It is also possible that the user input has a direct effect on the display (4), for example in order to scroll the screen. In this case the Model will not be changed. Slide 7of 26 6.3 Architectural Styles for Groupware The Net-MVC-Model Model and Controller--Pairs are distributed in the Network The Model is implemented on the Server-computer Controller--Pairs - are summarised in the User interfaces - are located on Clientcomputers. The Model and the User interfaces communicate via their own communication channels Server Communication Channel updates Metaobject (Model) Network updates Communication Channel updates Proxy-object (Model) Proxy-object (Model) führt nach updates dt User Interface (Controller+) User Interface (Controller+) Client 1 Client n Slide 8of 26 4
Interlace Diagramms Slide 9of 26 Interlace Elements a rendering process, which presents the view to the user on physical output devices. a consistency maintenance process to ensure that the shared state(s) remain consistent in the face of possibly conflicting updates from multiple users. Interlace diagramms consists of physical input devices connected to input process, which transforms input into logical interface events; a chain of one or more update processes, which transform interface events into updates on state; a chain of one or more view processes, which collectively compute an interactive view from the state elements Slide 10 of 26 5
Interlace Elements In Interlace diagramms each user is suported by one ore more input output loops through private state Slide 11 of 26 Interlace Elements State sharing may be implemented by the way of true state sharing (as in the example) or by replication with synchronization In Interlace diagramm each user is suported by one ore more input output loops through private state through shared state Any element in the diagramm can be either shared or private Slide 12 of 26 6
Interlace Elements State sharing may be implemented by the way of true state sharing (cm) (cm) by replication with state synchronization synchronization of input streams (cm) (cm) Slide 13 of 26 Centralised Distribution Architectures All elements of the application run/reside on a central computer (server). physical in- and output process on the clients Collaboration transparent Collaboration aware Slide 14 of 26 7
Replicated Distribution Architectures Complete copy of the application on each client all data and computation is replicated at all sites Collaboration transparent Collaboration aware internal state not externally accessible state synchronization not generally possible. synchronization of input streams synchronized states, allow flexibility in selection of concurrency control protocols local states and relaxed WYSIWIS Slide 15 of 26 Hybrid Distribution Architecture some aspects (computation, state) are replicated while others are centralized The advantages of a replicated architecture can be used when the consistency maintenance components are centralised. Replicated private state Partially centralized private state Slide 16 of 26 8
Centrally Coordinated Distribution Architectures is similar to the fully replicated architecture except that the consistency maintenance process is centralized collaboration transparent variant is directly comparable to its fully replicated counterpart collaboration aware variant, is different in principle from its fully replicated counterpart Collaboration transparent Collaboration aware Slide 17 of 26 Exercise Analyse the distribution architecture of the synchronous groupware PASSENGER Slide 18 of 26 9