Top Banner
Social Protocols Juan Quemada
7
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: Social Protocols

Social ProtocolsJuan Quemada

Page 2: Social Protocols

Definitionset of rules, conventions and behavioural

patterns for human interaction

and for multimedia context management

which lead to effective and well coordinated

“technology mediated” collaboration among the members of a group

in a particular situation and with a specific goal

Page 3: Social Protocols

Modelo 1. R = {r1, r2, ..} is the set of roles played by individuals in a given collaboration.

2. C = {c1 x (m11, m12, ..), c2 x (m21, ...), ....} is the set of shared object classes with set of methods.

3. F = {c1 obj1, c2 obj2, ... } is the floor of shared objects instances.

4. State: A multimedia representation of the state which can be naturally recognized by individuals collaborating

• Examples: a visual composition, an easily recognizable sound, a specific type of vibration, etc.

5. Input Events: events enabled to users with a given role at a given state.

• Can be fired by enabled roles over the interfaces and peripherals of the collaborative system when allowed.

6. Output Events: multimedia messages send to users which uniquely identify the event occurred.

1. Usually state and output event will be integrated into a unique multimedia message which will be usually shown as an integrated context to the collaborating individuals.

7. Protocol Behaviour: The state changes and output events caused by the occurrence of input events.

1. Will determine the access rights for activating input events associated with each role at any given state of the protocol.

SlideShowOneVideo Questions

Page 4: Social Protocols

Ejemplo I • The set of roles R = {prof, student}. Modelled with two predicates prof(u) and

student(u).

• The set of classes C = {Question, Slides, Mode} where each will have the following operations

• Question: RaiseHand(user u), BringToScene(user q)

• Slides: SetSlide (int n)

• Mode: SetOneVideo(user u), SetSlideShow (user u), SetQuestions (user).

• The Floor F = {Question Q, Slides S, Mode M}.

• The explicit States = {OneVideo, SlideShow, Questions}

• Input Events. defined by the first line of the transitions of the automaton.

• Output Events. Multimedia messages incorporated to multimedia context defined by the state.

• Protocol Behaviour. The precise behaviour is defined by the automaton in next slide.

Figure 2

SlideShowOneVideo Questions

Page 5: Social Protocols

T2 = MoveSlide (user u, int n) if (prof(u)) S.SetSlide (n)

T5 = RaiseHand (user u) Q.RaiseHand (u)

T1 = SlideShow (user u) if (prof(u)) M.SetSlideShow (u)

T4 = OneVideo (user u) if (prof(u)) M.SetOneVideo (u)

T3 = Questions (user u) if (prof(u)) M.SetQuestions (u)

T1 = ...........

T3 = .......

T6 = SelectQuestion (user u, q) if (prof(u)) Q.BringToScene (q)

SlideShow

Questions

OneVideo

Figure 3

Questions with person asking

Questions Layout

SlideShow Layout

OneVideo Layout

Page 6: Social Protocols

Ejemplo II • The set of roles R = {admin, user, anonymous}. Modelled with predicates

admin(u), user(u) and anonymous(u).

• The set of classes C = {Repository, Object, Comment}

• Repository: SaveObj(user u, Id i, Object o), SaveCom(user u, Id i, ic, Comment o), DeleteObj(Id i), DeleteCom(Id i), ShowRep(Id i), ShowObj(Id i), ObjForm(user u, Id i), ComForm(user u, Id i, ic), NewId(), Next(Id i),

• Object: CreateObj (title t, descr d, date d, picture p)

• Comment: CreateCom (title t, descr d, date d)

• The Floor F = {Repository R}

• The set of States = {ShowRepository, ShowObject, NewObject, NewComment, EditObject, EditComment}

• Input Events. defined by the first line of the transitions of the automaton.

• Output Events. Multimedia messages incorporated to multimedia context defined by the state.

• Protocol Behaviour. The precise behaviour is defined by the automaton in next slide.

Page 7: Social Protocols

T11 = DeleteCom (user u, id i) if (R.owner(i, u) or admin(u)) R.ShowRep ((R.DeleteCom(i)), R.next(i))

T10 = NewObj (user u) if (user(u) or admin(u)) R.ObjForm (u, R.NewId())

T8 = ShowObj (user u, id i) R.ShowObj(i)

T7 = ShowRep (user u, id i) R.ShowRep(i)

T12 = SaveObj (user u, id i, obj o) if (R.owner(i, u) or admin(u)) R.SaveObj(u,i,o).ShowRep(i);

T4 = NewCom(user u, id i) if (user(u) or admin(u)) R.ComForm(u,i)

T6 = SaveCom (user u, id i, com c) if (user(u) or admin(u)) R.SaveCom(u,i,R.NewId(),c).ShowObj(i);

T3 = EditObj (user u, id i) if (R.owner(ic, u) or admin(u)) R.ObjForm(u,i)

T5 = SaveObj (user u, id i, obj o) if (R.owner(i, u) or admin(u)) R.SaveObj(u,i,o).ShowObj(i);

T2 = EditCom (user u, id i, ic) if (R.owner(ic, u) or admin(u)) R.ComForm (u, i, ic)

T1 = SaveCom (user u, id i, ic, Com c) if (R.owner(ic, u) or admin(u)) R.SaveCom(u, i, ic, c).ShowObj(i)

T9 = ShowRep (user u, id i) R.ShowRep(i)

T11 = DeleteObj (user u, id i) if (R.owner(ic, u) or admin(u)) R.DeleteObj(i).ShowRep(R.Next(i))

NewComment

Figure 5: Repository

ShowRepository

ShowObject

EditComment

NewObject

EditObject