280 likes | 307 Views
Employing Multiuser Interactions in the Development of Synchronous Applications. Cornelia Haber Universit ät Oldenburg h aber@informatik.uni -oldenburg.de. Contents. Motivation Significance of multiuser applications Scenarios Classification of multiuser applications
E N D
Employing Multiuser Interactions in the Development of Synchronous Applications Cornelia Haber Universität Oldenburg haber@informatik.uni-oldenburg.de
Contents Motivation • Significance of multiuser applications • Scenarios • Classification of multiuser applications • MoMI – a model for multiuser interactions • Comparison single user – multiuser interactions • Modeling single user interactions • Modeling multiuser interactions • Deploying MoMI in the development of cooperative applications • A simple processing model • Modelling “Mensch ärgere Dich nicht“ • Summary Modeling cooperative applications containing multiuser interactions
Motivation • Significance of multiuser applications • Wide distribution of computers • Network capacities • Positive effects of collaborative learning • But • Developing collaborative applications is expensive • Therefore • Tools for developing multiuser applications are needed Modeling cooperative applications containing multiuser interactions
Motivation • Scenarios of multiuser applications • Learning • Language laboratory • Virtual laboratories (physics, chemistry, genetics) • Programming together • Simulation • Games • Sailing game • Jigsaw • … Modeling cooperative applications containing multiuser interactions
Motivation • Classification of multiuser applications • Focus of this work: same time, different place Modeling cooperative applications containing multiuser interactions
Motivation • Classification of synchronous multiuser applications Modeling cooperative applications containing multiuser interactions
Multiuser interaction Multiuser interactions are interactions where different people take part in the interaction, i.e. either different people work together to trigger the interaction or different people are affected by the interaction. • Cooperation results from user interactions Multiuser interaction Definition: Modeling cooperative applications containing multiuser interactions
Multiuser interaction • Comparing singleuser/multiuser interaction (1) Modeling cooperative applications containing multiuser interactions
Multiuser interaction • Comparing singleuser/multiuser interaction (2) Modeling cooperative applications containing multiuser interactions
boolean expression on attribute values, time and location • mouse event • keyboard event • time event • application event • variable event • complex events Modeling an interaction • Singleuser interaction as IFCA rule condition interaction form event action IF C A Modeling cooperative applications containing multiuser interactions
Modeling multiuser interactions • Multiple users • Multiple interaction form events • Multiple actions • User identity ( groups, roles) Modeling cooperative applications containing multiuser interactions
Condition types: • attribute • time • location Modeling multiuser interactions • Multiuser interaction as IFnCAn rule • number of users • access rights Modeling cooperative applications containing multiuser interactions
Modeling multiuser interactions • General considerations: • When/why abort an interaction • Time restrictions • Impossible condition • Reaction on interaction abortion • Dropping the interaction • Reinitializing the interaction • “goto”, i.e. stopping the application and proceeding at a predefined spot Modeling cooperative applications containing multiuser interactions
Status quo • Modeling simple multiuser interactions where • X users have to press a button • X users of group y have to press a button • X users have to press a button within y minutes • One user has to press the button on computer 123.456.789.0 • …… Modeling cooperative applications containing multiuser interactions
Modeling multiuser interactions • Missing: • Information on the “status” of the interaction Feedback and Feedthrough • Simple multiuser interaction as (IF x FB x FT)nCAn rule Modeling cooperative applications containing multiuser interactions
Modelling complex multiuser interactions • Combination of simple multiuser interactions • Linking operators • AND • OR • SEQ (Sequence) • Properties of linking operators • Feedback • Time restriction • Reaction on abortion multiuser interaction may be represented as interaction tree Modeling cooperative applications containing multiuser interactions
Interaction tree • Example interaction tree: Modeling cooperative applications containing multiuser interactions
So far: • MoMI (Modelling Multiuser Interactions) allows for the specification of complex multiuser interactions • MoMI usable in combination with existing authoring environments • Usable only for synchronous applications with one view • Helps understand the way users influence each other • Tools for modeling multiuser interaction are needed • Multiuser interaction tree editor • Framework implementing multiuser interactions • Simulation environment Modeling cooperative applications containing multiuser interactions
ToDo: • Deployment of MoMI in the development of cooperative applications A simple process model Modeling cooperative applications containing multiuser interactions
A simple process model • Requirements: • Simple model (“straight forward”) • Support for multiuser interactions • Process Model: • Preconsiderations • Modelling as singleuser application • Making singleuser model multiuser compliant • Architecture of the application • Implementation and test Modeling cooperative applications containing multiuser interactions
A simple process model Preconsiderations: • Synchronous / asynchronous • Collaboration transparent / aware • User • Number of users • Static / variable • Latecomers (?) • Distinguishing users • Groups / Roles (static / dynamic) • Network aspects • LAN / WAN (Fairness) Modeling cooperative applications containing multiuser interactions
A simple process model • Modeling as singleuser application • Using well known notations (UML) • Modeling for different users / groups / roles • Modeling interactions • Own • Other users • Making singleuser application multiuser compliant • Correlation between models • Causal correlation • Corporate interaction Modeling cooperative applications containing multiuser interactions
Aktivity “play” refined Mensch ärgere Dich nicht – an example • Coarse model of the game Modeling cooperative applications containing multiuser interactions
Mensch ärgere Dich nicht – an example • Activity “turn player 1-4” roll move dice pawn • Game as seen by one user Modeling cooperative applications containing multiuser interactions
Mensch ärgere Dich nicht – an example Color choosing Modeling cooperative applications containing multiuser interactions
Mensch ärgere Dich nicht – an example One users turn Modeling cooperative applications containing multiuser interactions
Mensch ärgere Dich nicht – an example Modeling cooperative applications containing multiuser interactions
? • Questions? • Comments? Thank you for your attention If you have any questions please contact me at: haber@informatik.uni-oldenburg.de Modeling cooperative applications containing multiuser interactions