1 encourage participants’ contributions by roles -ibm eclipse innovation grant -ibm eclipse...

28
1 Encourage Participants’ Encourage Participants’ Contributions by Roles Contributions by Roles -IBM Eclipse Innovation Grant -IBM Eclipse Innovation Grant Haibin Zhu, PhD Haibin Zhu, PhD Senior Member, IEEE Senior Member, IEEE Dept. of Computer Science and mathematics, Dept. of Computer Science and mathematics, Nipissing University, 100 College Dr., North Nipissing University, 100 College Dr., North Bay, ON P1B 8L7, Canada Bay, ON P1B 8L7, Canada [email protected] [email protected] http://www.nipissingu.ca/faculty/haibinz http://www.nipissingu.ca/faculty/haibinz

Upload: harvey-porter

Post on 05-Jan-2016

216 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 1 Encourage Participants’ Contributions by Roles -IBM Eclipse Innovation Grant -IBM Eclipse Innovation Grant -IBM Eclipse Innovation Grant Haibin Zhu,

11

Encourage Participants’ Encourage Participants’ Contributions by RolesContributions by Roles

-IBM Eclipse Innovation Grant-IBM Eclipse Innovation Grant

Haibin Zhu, PhDHaibin Zhu, PhDSenior Member, IEEESenior Member, IEEE

Dept. of Computer Science and mathematics, Nipissing Dept. of Computer Science and mathematics, Nipissing University, 100 College Dr., North Bay, ON P1B 8L7, CanadaUniversity, 100 College Dr., North Bay, ON P1B 8L7, Canada

[email protected]@nipissingu.cahttp://www.nipissingu.ca/faculty/haibinzhttp://www.nipissingu.ca/faculty/haibinz

Page 2: 1 Encourage Participants’ Contributions by Roles -IBM Eclipse Innovation Grant -IBM Eclipse Innovation Grant -IBM Eclipse Innovation Grant Haibin Zhu,

22

Nipissing UniversityNipissing University

Page 3: 1 Encourage Participants’ Contributions by Roles -IBM Eclipse Innovation Grant -IBM Eclipse Innovation Grant -IBM Eclipse Innovation Grant Haibin Zhu,

33

                                          

                  

Barrie 2.5

Brantford 4.5

Hamilton 4 - 4.5

Kitchener/ Waterloo

4.5

London 5.5

Ottawa 4 - 4.5

Owen Sound 4

Pembroke 2.5

Peterborough 3.5

Sault Ste. Marie 4.5 - 5

Sudbury 1.5

Timmins 4 - 4.5

Toronto 3.5 - 4

Page 4: 1 Encourage Participants’ Contributions by Roles -IBM Eclipse Innovation Grant -IBM Eclipse Innovation Grant -IBM Eclipse Innovation Grant Haibin Zhu,

44

ContentsContents

IntroductionIntroduction E-CARGO ModelE-CARGO Model The Process of Role-Based CollaborationThe Process of Role-Based Collaboration Human Users and AgentsHuman Users and Agents RolesRoles ImplementationImplementation ConclusionConclusion

Page 5: 1 Encourage Participants’ Contributions by Roles -IBM Eclipse Innovation Grant -IBM Eclipse Innovation Grant -IBM Eclipse Innovation Grant Haibin Zhu,

55

IntroductionIntroduction

People cooperate in order to obtain better or People cooperate in order to obtain better or more productive resultsmore productive results

Collaboration may produce both good and Collaboration may produce both good and bad consequences bad consequences

The question is: The question is: how to maximize productive how to maximize productive collaborationscollaborations

The design of collaborative systems should The design of collaborative systems should reflect the rationalities in natural society. reflect the rationalities in natural society.

Page 6: 1 Encourage Participants’ Contributions by Roles -IBM Eclipse Innovation Grant -IBM Eclipse Innovation Grant -IBM Eclipse Innovation Grant Haibin Zhu,

66

IntroductionIntroduction

Roles are good mechanisms in supporting Roles are good mechanisms in supporting collaborative work with computers collaborative work with computers Same Same time, different placestime, different places

The process of collaboration can affect The process of collaboration can affect participants’ satisfaction, motivation, and participants’ satisfaction, motivation, and productivityproductivity

To encourage people to work more is a To encourage people to work more is a general aim for all the regulations or policies general aim for all the regulations or policies for societies or organizations.for societies or organizations.

Page 7: 1 Encourage Participants’ Contributions by Roles -IBM Eclipse Innovation Grant -IBM Eclipse Innovation Grant -IBM Eclipse Innovation Grant Haibin Zhu,

77

Three Types of PeopleThree Types of People

Diligent people try to do as many jobs as Diligent people try to do as many jobs as possible. They want take as many possible. They want take as many responsibilities as possible do not care about responsibilities as possible do not care about rights. rights.

Ordinary people only want to complete the Ordinary people only want to complete the regular jobs assigned to him. They would like to regular jobs assigned to him. They would like to take responsibilities but require the matching take responsibilities but require the matching rights.rights.

Lazy people try to do as less jobs as possible. Lazy people try to do as less jobs as possible. They want to grasp as many rights as possible They want to grasp as many rights as possible and take as few responsibilities as possible. and take as few responsibilities as possible.

Page 8: 1 Encourage Participants’ Contributions by Roles -IBM Eclipse Innovation Grant -IBM Eclipse Innovation Grant -IBM Eclipse Innovation Grant Haibin Zhu,

88

More rights mean more More rights mean more responsibilities with responsibilities with RolesRoles

By roles, people can express progresses by telling By roles, people can express progresses by telling how many significant roles they are playing. That how many significant roles they are playing. That is to say, roles can be taken as a flag of advances is to say, roles can be taken as a flag of advances for people in collaboration. for people in collaboration.

In a role-based team, lazy people will be finally In a role-based team, lazy people will be finally restricted and discarded by the team and diligent restricted and discarded by the team and diligent people will be finally the majorities of the team and people will be finally the majorities of the team and be promoted to play more important roles that give be promoted to play more important roles that give them opportunities to contribute more. them opportunities to contribute more.

Page 9: 1 Encourage Participants’ Contributions by Roles -IBM Eclipse Innovation Grant -IBM Eclipse Innovation Grant -IBM Eclipse Innovation Grant Haibin Zhu,

99

E-CARGO ModelE-CARGO Model

::= <C, O, A, M, R, E, G, s0, H>, where::= <C, O, A, M, R, E, G, s0, H>, where– C is a set of classes;C is a set of classes;– O is a set of objects; O is a set of objects; – A is a set of agents;A is a set of agents;– M is a set of messages; M is a set of messages; – R is a set of roles; R is a set of roles; – E is a set of environments; E is a set of environments; – G is a set of groups; G is a set of groups; – s0 is the initial state of a collaborative system; ands0 is the initial state of a collaborative system; and– H is a set of users. H is a set of users.

Page 10: 1 Encourage Participants’ Contributions by Roles -IBM Eclipse Innovation Grant -IBM Eclipse Innovation Grant -IBM Eclipse Innovation Grant Haibin Zhu,

1010

AgentAgent

An agent is a representative of a human user.An agent is a representative of a human user. a ::= < n, ca, s, Na ::= < n, ca, s, Nrr , N , Ngg >, where >, where

– ccaa is a special class that describes the common is a special class that describes the common

properties of users; properties of users; – n is the identification or name of the agent;n is the identification or name of the agent;– s is the set of properties of the agent; s is the set of properties of the agent;

– NNrr means a set of identifications of roles the agent are means a set of identifications of roles the agent are

playing; andplaying; and

– NNgg means a set of identifications of groups the agent means a set of identifications of groups the agent

belongs to.belongs to.

Page 11: 1 Encourage Participants’ Contributions by Roles -IBM Eclipse Innovation Grant -IBM Eclipse Innovation Grant -IBM Eclipse Innovation Grant Haibin Zhu,

1111

MessageMessage

m ::= < n, v, l, P, t > wherem ::= < n, v, l, P, t > where– n is the identification of the message; n is the identification of the message; – v is null or the receiver of the message v is null or the receiver of the message

expressed by an identification of a role; expressed by an identification of a role; – l is the pattern of a message, specifying the l is the pattern of a message, specifying the

types, sequence and number of parameters; types, sequence and number of parameters; – P is a set of objects taken as parameters with P is a set of objects taken as parameters with

the message pattern l, where PO; and the message pattern l, where PO; and – t is a tag that expresses any, some or all t is a tag that expresses any, some or all

message.message.

Page 12: 1 Encourage Participants’ Contributions by Roles -IBM Eclipse Innovation Grant -IBM Eclipse Innovation Grant -IBM Eclipse Innovation Grant Haibin Zhu,

1212

RoleRole

r ::= <n, I, Nr ::= <n, I, Naa, N, Noo> where, > where, – n is the identification of the role; n is the identification of the role; – I ::= < MI ::= < Minin, M, Moutout > denotes a set of messages, wherein, > denotes a set of messages, wherein,

Min expresses the incoming messages to the relevant Min expresses the incoming messages to the relevant agents, Magents, Moutout expresses a set of outgoing messages or expresses a set of outgoing messages or message templates to roles, i.e., Mmessage templates to roles, i.e., Minin, M, Moutout (- M; (- M;

– NNaa is a set of identifications of agents that are playing is a set of identifications of agents that are playing this role; and this role; and

– NNoo is a set of identifications of objects including classes, is a set of identifications of objects including classes, environments, roles, and groups that can be accessed environments, roles, and groups that can be accessed by the agents playing this role. by the agents playing this role.

Page 13: 1 Encourage Participants’ Contributions by Roles -IBM Eclipse Innovation Grant -IBM Eclipse Innovation Grant -IBM Eclipse Innovation Grant Haibin Zhu,

1313

Types of Collaboration Types of Collaboration

Synchronous collaboration: it is face-to-face Synchronous collaboration: it is face-to-face collaboration or virtual face-to-face collaboration collaboration or virtual face-to-face collaboration with the help of collaborative systems. with the help of collaborative systems.

Asynchronous collaboration: it occurs at different Asynchronous collaboration: it occurs at different times at ordinarily different places with the help of times at ordinarily different places with the help of paper-based or computer-based communications.paper-based or computer-based communications.

Long-term collaboration: collaboration takes a long Long-term collaboration: collaboration takes a long time, such as a large project or a large group such time, such as a large project or a large group such as an enterprise. as an enterprise.

Short-term collaboration: it takes a short time such Short-term collaboration: it takes a short time such as a meeting and a conference.as a meeting and a conference.

Page 14: 1 Encourage Participants’ Contributions by Roles -IBM Eclipse Innovation Grant -IBM Eclipse Innovation Grant -IBM Eclipse Innovation Grant Haibin Zhu,

1414

AssumptionsAssumptions

Any person has a limited ability. If s/he plays too many Any person has a limited ability. If s/he plays too many roles, there must be a chance that s/he cannot serve all the roles, there must be a chance that s/he cannot serve all the requests satisfactorily that will affect his/her credits.requests satisfactorily that will affect his/her credits.

A person can collect his/her credits by serving others. A person can collect his/her credits by serving others. To assign new roles is to appraise the person’s past work.To assign new roles is to appraise the person’s past work. A role might be disapproved based on the credit of the A role might be disapproved based on the credit of the

person to take responsibilities.person to take responsibilities. The role dispatchers are fair and will distribute messages The role dispatchers are fair and will distribute messages

evenly.evenly.

Page 15: 1 Encourage Participants’ Contributions by Roles -IBM Eclipse Innovation Grant -IBM Eclipse Innovation Grant -IBM Eclipse Innovation Grant Haibin Zhu,

1515

The Process of Role-Based The Process of Role-Based Collaboration (RBC)Collaboration (RBC)

Step 1: Negotiate roles. Step 1: Negotiate roles. Step 2: Assign roles. Step 2: Assign roles. Step 3: Play roles. Step 3: Play roles.

– Step 3.1: Check incoming messages. Step 3.1: Check incoming messages. – Step 3.2: Issue outgoing messages. Step 3.2: Issue outgoing messages.

Page 16: 1 Encourage Participants’ Contributions by Roles -IBM Eclipse Innovation Grant -IBM Eclipse Innovation Grant -IBM Eclipse Innovation Grant Haibin Zhu,

1616

The Major Activities in RBCThe Major Activities in RBC

To play a role. An agent wants to grasp rights and To play a role. An agent wants to grasp rights and to take responsibilities.to take responsibilities.

To serve others. An agent responds an incoming To serve others. An agent responds an incoming message.message.

To evaluate an agent. The system evaluates an To evaluate an agent. The system evaluates an agent by checking the information relevant to it if a agent by checking the information relevant to it if a role is appropriate to it.role is appropriate to it.

To disapprove a role. The system takes away a To disapprove a role. The system takes away a role from an agent.role from an agent.

To promote an agent. This system upgrades an To promote an agent. This system upgrades an agent by assigning it a super role.agent by assigning it a super role.

Page 17: 1 Encourage Participants’ Contributions by Roles -IBM Eclipse Innovation Grant -IBM Eclipse Innovation Grant -IBM Eclipse Innovation Grant Haibin Zhu,

1717

The Problems need to solveThe Problems need to solve

How to collect the credits for an agent? How to collect the credits for an agent? – We can set a weight number for a message. While an agent has We can set a weight number for a message. While an agent has

served this message, this weight is added to the credits of the served this message, this weight is added to the credits of the agent. agent.

How to dispatch messages? How to dispatch messages? – The role dispatcher should have no bias. There should be a The role dispatcher should have no bias. There should be a

procedure to balance the dispatching, such as considering the procedure to balance the dispatching, such as considering the factors of the credits, the abilities, and the working state of an factors of the credits, the abilities, and the working state of an agent.agent.

How to check if an agent is really capable of doing what the How to check if an agent is really capable of doing what the role requires? role requires? – The only way is by the agent’s declarations of abilities and credits. The only way is by the agent’s declarations of abilities and credits.

Page 18: 1 Encourage Participants’ Contributions by Roles -IBM Eclipse Innovation Grant -IBM Eclipse Innovation Grant -IBM Eclipse Innovation Grant Haibin Zhu,

1818

Human Users’ TasksHuman Users’ Tasks

Task 1: provide services. Make a class of agent Task 1: provide services. Make a class of agent that includes all the implementations of the that includes all the implementations of the methods corresponding to the incoming messages methods corresponding to the incoming messages of the roles.of the roles.

Task 2: ask for services. To send messages to Task 2: ask for services. To send messages to roles and obtain services from other agents.roles and obtain services from other agents.

Task 3: accessing objects. To obtain the Task 3: accessing objects. To obtain the properties of objects constrained by the roles.properties of objects constrained by the roles.

Task 4: request to promote. To play more roles.Task 4: request to promote. To play more roles.

Page 19: 1 Encourage Participants’ Contributions by Roles -IBM Eclipse Innovation Grant -IBM Eclipse Innovation Grant -IBM Eclipse Innovation Grant Haibin Zhu,

1919

To express an agent To express an agent <e<ett, e, ess> to express the ability for an agent, where et > to express the ability for an agent, where et

expresses how many units of free time it has and eexpresses how many units of free time it has and ess expresses how many units of space it has. < eexpresses how many units of space it has. < e tt, e, ess > > can be reset based on the performance of an agent’s can be reset based on the performance of an agent’s services. services.

w to express the past performance or credits of w to express the past performance or credits of serving others. It can be used as a criterion to assign serving others. It can be used as a criterion to assign roles.roles.

u to express the workload. u to express the workload. a ::= <n, a ::= <n, ccaa, s, , s, NNrr, , NNgg, , eett, , eess, w, u >, where n, , w, u >, where n, ccaa, s, , s, NNrr, ,

and and NNgg keep the original meanings, keep the original meanings, eett, and , and eess, are , are used to express the ability, w the credit and u the used to express the ability, w the credit and u the workload. workload.

Page 20: 1 Encourage Participants’ Contributions by Roles -IBM Eclipse Innovation Grant -IBM Eclipse Innovation Grant -IBM Eclipse Innovation Grant Haibin Zhu,

2020

Agents’ qualifications for a roleAgents’ qualifications for a role

The agent must provide methods to cover all the The agent must provide methods to cover all the incoming messages for the role;incoming messages for the role;

The agent must collect enough credits;The agent must collect enough credits; The agent must have enough abilities; The agent must have enough abilities; At least one role the agent is playing belongs to At least one role the agent is playing belongs to

the subordinate roles of this role if the role has the subordinate roles of this role if the role has subordinate roles; andsubordinate roles; and

At last, when a role is approved for an agent, the At last, when a role is approved for an agent, the ability < ability < eett, , eess> of the agent should be decreased > of the agent should be decreased based the role’s < based the role’s < eett, , eess> that expresses the ability > that expresses the ability requirement to play this role.requirement to play this role.

Page 21: 1 Encourage Participants’ Contributions by Roles -IBM Eclipse Innovation Grant -IBM Eclipse Innovation Grant -IBM Eclipse Innovation Grant Haibin Zhu,

2121

Entry level Programmer

Intermediate level programmer

Senior Programmer

System designer

Project manager

System analyst

Tester

Testing manager

PhD Candidate

Assistant Professor

Associate Professor

Research staff

Distinguished Professor

Full Professor

Senior Research staff

Research Fellow

PhD Holder

Page 22: 1 Encourage Participants’ Contributions by Roles -IBM Eclipse Innovation Grant -IBM Eclipse Innovation Grant -IBM Eclipse Innovation Grant Haibin Zhu,

2222

Redefinition of Role and MessageRedefinition of Role and Message

A message is redefined as m ::= < n, v, l, P, t, w > A message is redefined as m ::= < n, v, l, P, t, w > wherewhere– n, v, l, P, and t keep the original meanings; and n, v, l, P, and t keep the original meanings; and – w is the weight for an agent to collect its credit for w is the weight for an agent to collect its credit for

promotion, i.e., if an agent or its human user responds promotion, i.e., if an agent or its human user responds this message the agent will get the weight and this message the agent will get the weight and accumulate it to its credit.accumulate it to its credit.

r ::= <n, I, r ::= <n, I, NNaa, , NNoo, , eett, , eess, , RRmm, , RRbb, w> where, , w> where, – n, I, n, I, NNaa, , NNoo, , RRmm, , RRbb keep the original meanings, keep the original meanings, eett, and , and

eess are used to express the ability requirement, are used to express the ability requirement, RRmm, the , the super roles, super roles, RRbb the subordinate roles, and w the credit the subordinate roles, and w the credit requirement.requirement.

Page 23: 1 Encourage Participants’ Contributions by Roles -IBM Eclipse Innovation Grant -IBM Eclipse Innovation Grant -IBM Eclipse Innovation Grant Haibin Zhu,

2323

ImplementationImplementation

class C_Agentclass C_Agent {{ //…//… int credit; //It is used to express its credits to int credit; //It is used to express its credits to

provide servicesprovide services int T;int T; //the number of time units (speed) //the number of time units (speed) int S;int S; //the number of space units (memory)//the number of space units (memory) //…//… }}

Page 24: 1 Encourage Participants’ Contributions by Roles -IBM Eclipse Innovation Grant -IBM Eclipse Innovation Grant -IBM Eclipse Innovation Grant Haibin Zhu,

2424

C_RoleC_Role

class C_Roleclass C_Role {{ //…//… C_Role [] subordinates; C_Role [] subordinates; //An array of roles as its subordinate roles//An array of roles as its subordinate roles C_Role [] supers; //An array of roles as its super roles C_Role [] supers; //An array of roles as its super roles int T; //the number of time units used to play this role int T; //the number of time units used to play this role int S; //the number of space units used to play this roleint S; //the number of space units used to play this role int credit; //the credit number to play this roleint credit; //the credit number to play this role //..//.. }}

Page 25: 1 Encourage Participants’ Contributions by Roles -IBM Eclipse Innovation Grant -IBM Eclipse Innovation Grant -IBM Eclipse Innovation Grant Haibin Zhu,

2525

InMessageInMessage

class InMessageclass InMessage {{ public Method aMethod;public Method aMethod; //A Java //A Java

methodmethod public int weight; //It expresses the credit public int weight; //It expresses the credit

weight.weight. //…//… }}

Page 26: 1 Encourage Participants’ Contributions by Roles -IBM Eclipse Innovation Grant -IBM Eclipse Innovation Grant -IBM Eclipse Innovation Grant Haibin Zhu,

2626

AddAnAgentAddAnAgent

public boolean addAnAgent(C_Agent a)public boolean addAnAgent(C_Agent a) //approve the agent to play this role//approve the agent to play this role {{ //1. Check if the agent has enough services//1. Check if the agent has enough services //2. Check if the agent collects enough credits//2. Check if the agent collects enough credits //3. Check if the agent has enough abilities (<T, S>)//3. Check if the agent has enough abilities (<T, S>) //4. Check if there are subordinate roles for this role, //4. Check if there are subordinate roles for this role, //5. Link the role to the agent//5. Link the role to the agent return true;return true; }}

Page 27: 1 Encourage Participants’ Contributions by Roles -IBM Eclipse Innovation Grant -IBM Eclipse Innovation Grant -IBM Eclipse Innovation Grant Haibin Zhu,

2727

ConclusionsConclusions

To encourage participants’ contributions in collaboration is To encourage participants’ contributions in collaboration is interesting and challenging. interesting and challenging.

We can use roles as flags to express a participant’s We can use roles as flags to express a participant’s progresses and contributions in collaboration. progresses and contributions in collaboration.

Future jobs:Future jobs:– To have agents automatically issue outgoing messages, get more To have agents automatically issue outgoing messages, get more

services and apply for roles; andservices and apply for roles; and– To build a practical role engine to automatically nominate roles to To build a practical role engine to automatically nominate roles to

qualified agents, evenly dispatch messages to agents, decrease qualified agents, evenly dispatch messages to agents, decrease credits from those agents provide late services, and support credits from those agents provide late services, and support asynchronous replies.asynchronous replies.

Page 28: 1 Encourage Participants’ Contributions by Roles -IBM Eclipse Innovation Grant -IBM Eclipse Innovation Grant -IBM Eclipse Innovation Grant Haibin Zhu,

2828

QuestionsQuestions

??