1 the role mechanism in collaborative systems -ibm eclipse innovation grant -ibm eclipse innovation...

33
1 The Role Mechanism in Collaborative Systems -IBM Eclipse Innovation Grant Haibin Zhu, PhD Senior Member, IEEE Dept. of Computer Science and mathematics, Nipissing University, 100 College Dr., North Bay, ON P1B 8L7, Canada [email protected] http://www.nipissingu.ca/faculty/haibinz

Upload: wilfrid-todd

Post on 04-Jan-2016

216 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: 1 The Role Mechanism in Collaborative Systems -IBM Eclipse Innovation Grant -IBM Eclipse Innovation Grant Haibin Zhu, PhD Senior Member, IEEE Dept. of

1

The Role Mechanism in Collaborative Systems-IBM Eclipse Innovation Grant

Haibin Zhu, PhDSenior Member, IEEEDept. of Computer Science and mathematics, Nipissing University, 100 College Dr., North Bay, ON P1B 8L7, [email protected]://www.nipissingu.ca/faculty/haibinz

Page 2: 1 The Role Mechanism in Collaborative Systems -IBM Eclipse Innovation Grant -IBM Eclipse Innovation Grant Haibin Zhu, PhD Senior Member, IEEE Dept. of

2

Contents Introduction-Why Roles? The Role Concepts in Collaborative

Systems?-What Roles? Role-Based Collaboration (RBC)? What are the potential applications

and improvements? What are the current challenges?

Page 3: 1 The Role Mechanism in Collaborative Systems -IBM Eclipse Innovation Grant -IBM Eclipse Innovation Grant Haibin Zhu, PhD Senior Member, IEEE Dept. of

3

WHY Roles ?

Page 4: 1 The Role Mechanism in Collaborative Systems -IBM Eclipse Innovation Grant -IBM Eclipse Innovation Grant Haibin Zhu, PhD Senior Member, IEEE Dept. of

4

Introduction To support collaboration, we need

special methods, tools and techniques Collaborative systems should

not only provide virtual face-to-face collaboration environment among people at a distance

but also improve face-to-face collaboration by providing more mechanisms to overcome the drawbacks of face-to-face collaboration among people.

Page 5: 1 The Role Mechanism in Collaborative Systems -IBM Eclipse Innovation Grant -IBM Eclipse Innovation Grant Haibin Zhu, PhD Senior Member, IEEE Dept. of

5

Problems in current Collaborative Systems Synchronous:

Not satisfactory in real application unsatisfactory communication frustrated waiting uneasy environments for discussions complex operations. clumsy, not practical, and frustrating compared

to face-to-face collaboration Few human factors considered

Asynchronous: Few consistent role concepts Few practical tools to support roles management

and collaboration based on roles

Page 6: 1 The Role Mechanism in Collaborative Systems -IBM Eclipse Innovation Grant -IBM Eclipse Innovation Grant Haibin Zhu, PhD Senior Member, IEEE Dept. of

6

The problems to apply roles in FTF (face-to-face) collaboration Role ambiguity

Role ambiguity describes a situation in which the desired expectations sent to the focal person were vague, ambiguous, and/or unclear, thereby making it difficult for the person to fulfill the requirements.

Role conflict Ideally, consensus and clarity would exist among

the expectations of the interested parties. In reality, such a situation is rarely achieved and some conflict between expectations and ambiguity about role requirements is typical.

Page 7: 1 The Role Mechanism in Collaborative Systems -IBM Eclipse Innovation Grant -IBM Eclipse Innovation Grant Haibin Zhu, PhD Senior Member, IEEE Dept. of

7

Quotations from Confucius 孔子曰 : “名不正,则言不顺;言不顺,则事不成。”

“ If terminology is not corrected, then what is said cannot be followed. If what is said cannot be followed, then work cannot be accomplished. ”

----Confucius, 205 BC, China

Page 8: 1 The Role Mechanism in Collaborative Systems -IBM Eclipse Innovation Grant -IBM Eclipse Innovation Grant Haibin Zhu, PhD Senior Member, IEEE Dept. of

8

What Roles?

Page 9: 1 The Role Mechanism in Collaborative Systems -IBM Eclipse Innovation Grant -IBM Eclipse Innovation Grant Haibin Zhu, PhD Senior Member, IEEE Dept. of

9

Roles in current collaborative systems

Roles used are considered as labels for specific objects.

It controls the functions based on the labels assigned before the system is built.

It is difficult to adjust the functions relevant to roles.

Page 10: 1 The Role Mechanism in Collaborative Systems -IBM Eclipse Innovation Grant -IBM Eclipse Innovation Grant Haibin Zhu, PhD Senior Member, IEEE Dept. of

10

Roles in behavioral and managerial science “The part or character one has to play,

undertakes, or assumes”; “The part played by a person in society or

life”; or “The typical or characteristic function

performed by someone or something”. “The behavior that an individual feels it

appropriate to assume in adapting to any form of social interaction; the behavior considered appropriate to the interaction demanded by a particular kind of work or social position.”

---Oxford English Dictionary

Page 11: 1 The Role Mechanism in Collaborative Systems -IBM Eclipse Innovation Grant -IBM Eclipse Innovation Grant Haibin Zhu, PhD Senior Member, IEEE Dept. of

11

Our basic viewpoint on roles

Top Package::Top PackageA Human inCollaboration

IncomingMessages

Serviceinterface

RequestInterface Outgoing

Messages

Page 12: 1 The Role Mechanism in Collaborative Systems -IBM Eclipse Innovation Grant -IBM Eclipse Innovation Grant Haibin Zhu, PhD Senior Member, IEEE Dept. of

12

The occurrence of roles in a system

role

. . .

. . .

A collaborative system including objects, agents, groups and roles

Page 13: 1 The Role Mechanism in Collaborative Systems -IBM Eclipse Innovation Grant -IBM Eclipse Innovation Grant Haibin Zhu, PhD Senior Member, IEEE Dept. of

13

The properties of roles A role is independent of persons. We can define it

separately. It is a common idea that a role is dependent of objects in object systems [19]. In collaboration, however, collaborators may not care about a specific person. They only want to contact a person who plays a specific role.

A role should consider both responsibilities (the service interface) when the human player is taken as a server and rights (the request interface) when the human player is taken as a client. That is to say, to specify a role, we must specify both aspects.

A role can be performed by one or many human players at the same time.

A role can be created, changed and deleted by a human user with a special role.

Page 14: 1 The Role Mechanism in Collaborative Systems -IBM Eclipse Innovation Grant -IBM Eclipse Innovation Grant Haibin Zhu, PhD Senior Member, IEEE Dept. of

14

What is Role-Based Collaboration (RBC)?

Page 15: 1 The Role Mechanism in Collaborative Systems -IBM Eclipse Innovation Grant -IBM Eclipse Innovation Grant Haibin Zhu, PhD Senior Member, IEEE Dept. of

15

The basic idea of role-based collaboration (RBC)

If users can clearly know what objects they can

access with specific rights can also know which users they can

manage or communicate with They can then accomplish their jobs

meaningfully and efficiently.

Page 16: 1 The Role Mechanism in Collaborative Systems -IBM Eclipse Innovation Grant -IBM Eclipse Innovation Grant Haibin Zhu, PhD Senior Member, IEEE Dept. of

16

The Procedure of RBC in our society Step 1: negotiate roles. People discuss or negotiate to specify the

roles relevant to collaboration. If a compromise or an agreement is obtained then the collaboration continues to step 2 else it aborts.

Step 2: assign roles. Every person is assigned one or more roles. If agreement is obtained then the collaboration continues to step 3 else it aborts.

Step 3: play roles. People work according to their roles until collaboration completes successfully or some conflicts or discontents occur. Step 3.1: check incoming messages. People understand what they

need to do at this time. The incoming messages are confined by the role responsibilities (the service interface). If conflicts or discontents occur, the collaboration goes to step 1.

Step 3.2: issuing outgoing messages. To provide services, people need to access and interact with the environment by sending messages, or asking for others’ services. If there are no incoming messages, the people could think and issue messages as they want. The messages are confined by the role rights (the request interface). If conflicts or discontents occur, the collaboration goes to step 1.

Page 17: 1 The Role Mechanism in Collaborative Systems -IBM Eclipse Innovation Grant -IBM Eclipse Innovation Grant Haibin Zhu, PhD Senior Member, IEEE Dept. of

17

The Properties of RBC Clear role specification: it is easy for human users

to understand their responsibilities and rights. Flexible role transition: it is flexible and easy for a

human user to transfer from one role to another role.

Flexible role facilitation: it is easy for role facilitators to specify roles. Because a system is developing, even the existing roles might be required to adjust to correspond with the development of the system.

Flexible role negotiation: it is easy to negotiate the specification between a human user and a role facilitator.

Page 18: 1 The Role Mechanism in Collaborative Systems -IBM Eclipse Innovation Grant -IBM Eclipse Innovation Grant Haibin Zhu, PhD Senior Member, IEEE Dept. of

18

How RBC?-The Principles of Role-Based Collaboration

Page 19: 1 The Role Mechanism in Collaborative Systems -IBM Eclipse Innovation Grant -IBM Eclipse Innovation Grant Haibin Zhu, PhD Senior Member, IEEE Dept. of

19

Object Principles Everything in the world is an object. An object can be used to

express everything in a collaborative system. Every system is composed of objects and a system is also an

object. The evolution and development of a system is caused by the

interactions among the objects inside or outside the system. A human user is a person who is involved in collaboration. A message is a way to activate services of a human user or an

object. An interface is a list of message patterns. The interactions among objects are expressed by sending

messages that are requests to invoke objects’ actions. Each object is an instance of a class which shows the commonality

of a group of objects. Each class might inherit another class which is called a superclass

while it is called a subclass. Classes can be taken as templates of objects. An agent is a special object that represents the existing of a

human user in a collaborative system.

Page 20: 1 The Role Mechanism in Collaborative Systems -IBM Eclipse Innovation Grant -IBM Eclipse Innovation Grant Haibin Zhu, PhD Senior Member, IEEE Dept. of

20

Role Principles A role is an independent object in a system. We can define it

separately. A role can be played by one or more human users at the same

time. A role can be played by an agent based on the relevant human user’s requirement.

A role can be created, changed and deleted by a human user with a special role.

A role should consider both responsibilities when taken as a server and rights when taken as a client.

A role is mainly concerned with two interfaces, the request interface from a human user to the system, and the service interface from the system to a human user.

As for the service interface, a role is actually a filter of messages sent to a human user.

As for the request interface, a role expresses or restricts the accessibility of a human user to the system.

A role is enacted in groups.

Page 21: 1 The Role Mechanism in Collaborative Systems -IBM Eclipse Innovation Grant -IBM Eclipse Innovation Grant Haibin Zhu, PhD Senior Member, IEEE Dept. of

21

Group Principles A group is a fundamental structure in a collaborative system. A group can be created, changed and deleted. A group can be embedded, i.e., one group may be an object in another

group. A group can be overlapped with other groups, i.e., the members may belong

to two or more groups. The state of a group is dynamically changed. To specify a group is actually to specify all the roles and objects in this

group. To form a group is letting human users join the group, play the roles and

access the objects. We can call the human users the members of this group. A group can be public or private. Public means that all the human users

using the system can join the group, private means that the joining is controlled by a special human user who plays a special role.

A group can be open or close. Open means that newly-coming human users can still join the group and close means that no new human user will be accepted to join the group.

Page 22: 1 The Role Mechanism in Collaborative Systems -IBM Eclipse Innovation Grant -IBM Eclipse Innovation Grant Haibin Zhu, PhD Senior Member, IEEE Dept. of

22

A system is a group of sets ::= <C, O, A, M, R, E, G, s0, H> where

C is a set of classes;

is a set of objects;

A is a set of agents;

M is a set of messages;

R is a set of roles;

E is a set of environments;

G is a set of groups;

s0 is the initial state of a collaborative system; and

H is a set of human users.

Page 23: 1 The Role Mechanism in Collaborative Systems -IBM Eclipse Innovation Grant -IBM Eclipse Innovation Grant Haibin Zhu, PhD Senior Member, IEEE Dept. of

23

Messages

Messages are defined by message identification, a receiver and arguments; The receivers can be categorized as

objects, classes or groups; The messages can be categorized as all,

any and some messages.

M ::= < n, v, l, P >

Page 24: 1 The Role Mechanism in Collaborative Systems -IBM Eclipse Innovation Grant -IBM Eclipse Innovation Grant Haibin Zhu, PhD Senior Member, IEEE Dept. of

24

A role can be defined a set of messages

R ::= <n, Mi, Mo> where, n is the identification or the name of the

role; and Mi and Mo denote sets of message

patterns, wherein, Mi expresses the incoming message patterns to the relevant agent or the human user; Mo express different sets of outgoing message patterns to the objects.

Page 25: 1 The Role Mechanism in Collaborative Systems -IBM Eclipse Innovation Grant -IBM Eclipse Innovation Grant Haibin Zhu, PhD Senior Member, IEEE Dept. of

25

Current and Future Role Mechanisms

Page 26: 1 The Role Mechanism in Collaborative Systems -IBM Eclipse Innovation Grant -IBM Eclipse Innovation Grant Haibin Zhu, PhD Senior Member, IEEE Dept. of

26

Current Applications of Role Concepts

RBAC-Role-Based Access Control Operations of objects are limited: read,

write, execute ORM-Object Role Model

Applied in Database to express the migration of data and different version of objects

Roles in Object (Agent) Systems Only consider the incoming messages

and ignore the outgoing messages

Page 27: 1 The Role Mechanism in Collaborative Systems -IBM Eclipse Innovation Grant -IBM Eclipse Innovation Grant Haibin Zhu, PhD Senior Member, IEEE Dept. of

27

Role Application Potentials

Business Process Management Personalized User Interface Software Engineering Virtual Enterprises on the Internet Role-Based or Role-Oriented

Programming Role-Based Operating Systems

Page 28: 1 The Role Mechanism in Collaborative Systems -IBM Eclipse Innovation Grant -IBM Eclipse Innovation Grant Haibin Zhu, PhD Senior Member, IEEE Dept. of

28

Fundamental Issues in Role-Based Collaboration

Formal tools to specify a role-based system

Role specification mechanism Role assignment and role changing Role transitions Role-Role coordination Role-Agent interaction Role-Group interaction Group-Agent-Human Users

cooperation

Page 29: 1 The Role Mechanism in Collaborative Systems -IBM Eclipse Innovation Grant -IBM Eclipse Innovation Grant Haibin Zhu, PhD Senior Member, IEEE Dept. of

29

Possible benefits

It may change the design of OS It may change the design of MIS or OA

software such as CA (Computer Association) software

It may change the way of using computers It may change the way of sales of software It may change the way of software

development It may change the management of production

process

Page 30: 1 The Role Mechanism in Collaborative Systems -IBM Eclipse Innovation Grant -IBM Eclipse Innovation Grant Haibin Zhu, PhD Senior Member, IEEE Dept. of

30

Current Arguments on RBC

A completely negative comment is that role-based collaboration is meaningless because collaboration itself implicates role assignments and role specifications.

Some others think that roles have been introduced into information systems for more than twenty years and all the problems have been solved.

Even others state that the software with roles is considered as naziware that is not welcome.

Even others argue that roles are not encoded solely in human biology or in physical law, roles are devils, and it is almost impossible to describe what roles are.

Page 31: 1 The Role Mechanism in Collaborative Systems -IBM Eclipse Innovation Grant -IBM Eclipse Innovation Grant Haibin Zhu, PhD Senior Member, IEEE Dept. of

31

Current Challenges

How to provide an efficient platform to support RBC?

How to demonstrate that RBC is better than normal collaboration based computers?

Page 32: 1 The Role Mechanism in Collaborative Systems -IBM Eclipse Innovation Grant -IBM Eclipse Innovation Grant Haibin Zhu, PhD Senior Member, IEEE Dept. of

32

Conclusion Role is no doubt an interesting mechanism There are still many problems open for research The advantages of role mechanisms

The separation of concerns vs combination of concerns

Object-oriented vs process-oriented Accommodate knowledge vs no knowledge

expressing They will bring us new achievements in different

areas both in academia and industry

Page 33: 1 The Role Mechanism in Collaborative Systems -IBM Eclipse Innovation Grant -IBM Eclipse Innovation Grant Haibin Zhu, PhD Senior Member, IEEE Dept. of

33

Question?