Social Model
The social model represents three roles (Guest, User and Admin) and three instances of them (aGuest, anUser and anAdmin, respectively).
The Guest role represents the set of users that are not logged into the system, the User role represents the set of users that are logged into the system and the Admin role represents the set of users that are logged into the system and have administration rights (create and delete sessions).
On Figure 91 you observe that Guest capabilities are inherited by users and subsequently by administrators. In addition, Users’ capabilities are inherited by administrators.
Space model
The system is composed by 4 chairs around a table where users play their roles. These chairs provide the system with the information about the role guests want to play during a drawing session.
Three of these chairs (anUserChair1, anUserChair2 and anUserChair3) are user chairs represented by the UserChair virtual space.
Users that sit on these will play the User role during the session.
The remaining chair is the anAdminChair that represent the chair the administrator is sited. The virtual space AdminChair is used to extend the system to support more administrators.
Users sitting on this chair play the Administrator role in during the session.
Note that the Chair virtual space refers to either UserChair or an AdminChair.
Apart from physical objects, the space model is also used to define virtual controls. The SessionControl virtual space represents those controls than are used before joining a session: JoinControl, DeleteControl and the CreateControl. The EditorControl virtual space represents those controls that are used after joining a session: Canvas, ExitSessionControl, SaveControl and PrintControl.
The Figure 92 shows the Shared blackboard Space model.
Task model
The Task model is represented in Figure 93. Main tasks regarding this scenario are:
- LoginUser: This task logs a Guest user as an application User. To perform this task the user should take a UserChair. As result of this action, the userId is captured by the system to recognize the user.
- LoginAdmin: This task logs a Guest user as an application Administrator. To perform this task the user should take an AdminChair. As result of this action, the userId is also captured by the system to recognize the user.
- LoginError: The result of the execution of LoginUser and LoginAdmin also produces an “ok” value which is used to notify the result of the login action (LoginUser or LoginAdmin). If the there was a problem during the login process, the “ok” value is turned to false. Therefore, the LoginError task is executed.
- Logout: Once users have successfully logged in, they are able to logout from the system by performing tis task.
- JoinSession: Once users have successfully logged in, they can join a session by performing this task. To perform this task, users have to produce the released event on the JoinControl defined in the Space model. As result of this action, the system registers the userId and the sessionId to make the user part of the session
- ExitSession: Once a user is successfully logged in, s/he can logout a session by performing this task. To perform this task, users have to produce the released event on the ExitControl defined in the Space model
- CreateSession: Once an Administrator user is successfully logged in, s/he can create a session by performing this task. To perform this task, users have to produce the released event on the CreateControl defined in the Space model
- DeleteSession: Once an Administrator user is successfully logged in, s/he can delete a session by performing this task. To perform this task, users have to produce the released event on the DeleteControl defined in the Space model
- Print: Once users are in the work session, they can print the drawing by producing the released event on the PrintControl space defined in the Space model.
- Draw: Once users are in the work session, they can draw on the canvas by producing the pressed, move and released event sequence on the CanvasControl space defined in the Space model.
- Save: Once users are in the work session, they can save the drawing by producing the released event on the SaveControl space defined in the Space model.