CoMex A Mechanism for Coordination of Task Execution in Group Work - - PowerPoint PPT Presentation

comex a mechanism for coordination of task execution in
SMART_READER_LITE
LIVE PREVIEW

CoMex A Mechanism for Coordination of Task Execution in Group Work - - PowerPoint PPT Presentation

CoMex A Mechanism for Coordination of Task Execution in Group Work Hilda Tellio g lu Vienna University of Technology Institute of Design and Assessment of Technology CSCW & Multidisciplinary Design Group Vienna, Austria


slide-1
SLIDE 1

CoMex – A Mechanism for Coordination

  • f Task Execution in Group Work

Hilda Tellio˘ glu Vienna University of Technology Institute of Design and Assessment of Technology CSCW & Multidisciplinary Design Group Vienna, Austria hilda.tellioglu@tuwien.ac.at http://as43.media.tuwien.ac.at 1st International Workshop on Computer Supported Activity Coordination CSAC 2004 April 13-14, 2004, Porto, Portugal

Hilda Tellioglu – CSAC 2004 – April 13-14, 2004 – Porto, Portugal 1

slide-2
SLIDE 2

Contents

  • Collaboration within a workgroup
  • The case – The enrollment processing
  • CoMex – The Coordination Mechanism

– The methodology – The theoretical framework – The implementation – The CoMexDB – The web interface – The runtime execution

  • Conclusions

Hilda Tellioglu – CSAC 2004 – April 13-14, 2004 – Porto, Portugal 2

slide-3
SLIDE 3

Collaboration within a workgroup

  • It needs several communication, coordination and cooperation mechanisms.
  • Research has been done in

– identifing and classifing coordination processes (Crowston, 1994) – describing coordination problems within complex work processes – creating a topology of coordination problems and in trying to solve them by means of well-known coordination forms (Etcheverry et al., 2001) – producing a catalogue of coordination patterns by taking the coordination situations iden- tified by Malone and Crowston (1994)

  • Coordination models and languages

– data-driven – Linda (Ahuja, 1986), Sonia (Banville, 1996), Laura (Tolksdorf, 1996), Ariadne (Florijn et al., 1996) ... – process-oriented – IWIM (Arbab, 1996), MANIFOLD (Arbab et al., 1996; 1993) ...

Hilda Tellioglu – CSAC 2004 – April 13-14, 2004 – Porto, Portugal 3

slide-4
SLIDE 4

CoMex – The Coordination Mechanism

CoMex is a mechanism to coordinate the execution of tasks accessing coordinable entities. It uses coordination rules to describe the temporal and logical order of tasks performed in a cooperative work setting by several actors and to coordinate semantic dependencies between work activities.

  • The case = an international insurance company that uses a web-based management infor-

mation system with workflow functionality – Some of the requirements – management of information packet requests and enrollment forms clients send, management of policies they offer and maintain – Some of the artifacts – inquiry requests, enrollment forms, policies, contacts, dependents,

  • utstanding items etc.

Hilda Tellioglu – CSAC 2004 – April 13-14, 2004 – Porto, Portugal 4

slide-5
SLIDE 5

The case – The enrollment processing

Hilda Tellioglu – CSAC 2004 – April 13-14, 2004 – Porto, Portugal 5

slide-6
SLIDE 6

CoMex – The methodology (I)

  • The conceptualization of a work domain

– to understand its objects and relations between its actors – to name and describe the entities and the relationships among those – to provide a vocabulary for representing and communicating knowledge about that domain ⇒ the notion of ontology

  • Muccini & Mancinelli (2003) – an approach to identify elements to be coordinated (static

coordination) and how these entities may be coordinated (dynamic coordination)

  • CoMex is based on an object-oriented approach.
  • 1. Use case diagams
  • 4. Rules
  • 2. Data dictionary
  • 5. Activity diagrams
  • 3. Domain model
  • 6. Coordination rules

Hilda Tellioglu – CSAC 2004 – April 13-14, 2004 – Porto, Portugal 6

slide-7
SLIDE 7

CoMex – The methodology (II)

  • Use case diagrams with UML
  • Data dictionary to describe concepts used in the system and their relations to each other
  • Identification of classes, their attributes and relations ⇒ domain model
  • Restrictions and norms ⇒ rules

– Rules express the (hidden) dependencies between entities. – Rules describe what needs to be guaranteed by the system. – Rules emerge when users talk about dependencies between their artifacts and activities. – Rules need to be refined and communicated between users and systems designers. – Rules can in a first step be presented in a natural language.

R1: If an enrollment form is received, check all items attached to the enrollment. R2: If an enrollment form is received, the administrator must be notified. R3: If an enrollment form is received, the todo-list of the admin. must be modified.

Hilda Tellioglu – CSAC 2004 – April 13-14, 2004 – Porto, Portugal 7

slide-8
SLIDE 8

CoMex – The methodology (III)

  • Activity diagrams to show the tasks to be performed and their temporal and logical order
  • Coordination rules

– as coordination laws that determine how active entities are coordinated using the coordi- nation media – to specify the semantics of the model’s framework – by analyzing the temporal and logical order of tasks that must be performed in order to implement a use case in an application

CR1: receiveEnrollment meets checkItemsOfEnrollment CR2: receiveEnrollment meets notifyAdministrator CR3: receiveEnrollment meets modifyTodoListOfAdministrator

Hilda Tellioglu – CSAC 2004 – April 13-14, 2004 – Porto, Portugal 8

slide-9
SLIDE 9

CoMex – The theoretical framework (I)

  • based on processes that consist of resources, activities and dependencies (Malone & Crowston,

1994) – A dependency is a relation among activities. – There are three types of dependencies ∗ flow ∗ sharing ∗ fit – “Using these three basic types, any process can be decomposed into a structure of activities and dependencies.”(Hayashi & Herman, 2002) – Coordination is“managing dependencies between activities”(Malone & Crowston, 1994) – Dependencies can be described by using temporal relations between tasks.

Hilda Tellioglu – CSAC 2004 – April 13-14, 2004 – Porto, Portugal 9

slide-10
SLIDE 10

CoMex – The theoretical framework (II)

  • Allen’s seven primitive relations between pairs of tasks (1984) and a set of axioms to create

a temporal logic based on these relations (1983)

  • active, passive, blocking and resource management interdependencies by Raposo & Fuks

(2002)

  • The CoMex is based on task interdependencies.

Hilda Tellioglu – CSAC 2004 – April 13-14, 2004 – Porto, Portugal 10

slide-11
SLIDE 11

CoMex – The implementation

Middle Tier CoMex Web Container Client Tier EIS Tier

CoMexService (C) ComexServiceImlementation (C) CoMexConfigure.xml (M) Struts framework Web service peers CoMexMonitor (V) CoMexAdmin (V) Web browser JavaBeans (M) CoMexDB Database Servlet (C) Client JSP (V)

JDK (1.4) – MySQL (3.23.55) – Tomcat 4 Servlet/JSP Container (4.1.24) – Apache Jakarta Struts (1.1)

Hilda Tellioglu – CSAC 2004 – April 13-14, 2004 – Porto, Portugal 11

slide-12
SLIDE 12

CoMex – The CoMexDB (I)

<<table>> ActionType

  • actionTypeID[1] : int (11)
  • actionTypeName[0..1] : varchar (128)

<<table>> EntityType

  • entityTypeID[1] : int (11)
  • entityTypeName[0..1] : varchar (128)

<<table>> CoorType

  • coorTypeID[1] : int (11)
  • coorTypeName[0..1] : varchar (128)

<<table>> CR

  • firstTaskID[1] : int (11)
  • coorTypeID[1] : int (11)
  • secondTaskID[1] : int (11)

<<table>> Task

  • taskID[1] : int (11)
  • entityTypeID[1] : int (11)
  • actionTypeID[1] : int (11)
  • method[0..1] : varchar (255)

... * equals * starts * finishes * meets * overlaps * during * before

1..* 0..*

Hilda Tellioglu – CSAC 2004 – April 13-14, 2004 – Porto, Portugal 12

slide-13
SLIDE 13

CoMex – The CoMexDB (II)

insert into ActionType values (1,’receive’); insert into ActionType values (2,’submit’); insert into ActionType values (7,’store’); insert into ActionType values (8,’delete’); insert into ActionType values (9,’modify todo-list’); insert into ActionType values (10,’notify’); insert into ActionType values (11,’check items’); insert into EntityType values (1,’Enrollment’); insert into EntityType values (2,’Info Packet Request’); insert into EntityType values (3,’Policy’); insert into EntityType values (4,’Outstanding Item’);

Hilda Tellioglu – CSAC 2004 – April 13-14, 2004 – Porto, Portugal 13

slide-14
SLIDE 14

CoMex – The CoMexDB (III)

insert into CoorType values (1,’equals’); insert into CoorType values (2,’starts’); insert into CoorType values (3,’finishes’); insert into CoorType values (4,’meets’); insert into CoorType values (5,’overlaps’); insert into CoorType values (6,’during’); insert into CoorType values (7,’before’); insert into Task values (1,1,1,null); # receiveEnrollment insert into Task values (12,1,10,’notifyAdministrator’); insert into Task values (13,1,11,’checkItemsOfEnrollment’); insert into Task values (14,1,9,’modifyTodoListOfAdministrator’); insert into CR values (1,4,12); insert into CR values (1,4,13); insert into CR values (1,4,14);

Hilda Tellioglu – CSAC 2004 – April 13-14, 2004 – Porto, Portugal 14

slide-15
SLIDE 15

CoMex – The web interface

Hilda Tellioglu – CSAC 2004 – April 13-14, 2004 – Porto, Portugal 15

slide-16
SLIDE 16

CoMex – The runtime execution (I)

Enrollment Form Action Servlet of Enrollment EnrollmentAction.execute() public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception EnrollmentService es = (EnrollmentService)getService(‘‘EnrollmentService’’); es.storeEnrollment(enrollment); ComexService cs = (ComexService)getService(‘‘ComexService’’); cs.executeCR(enrollment,1,1); public void executeCR(Object object, int entityTypeID, int actiontypeID) throws Exception

Hilda Tellioglu – CSAC 2004 – April 13-14, 2004 – Porto, Portugal 16

slide-17
SLIDE 17

CoMex – The runtime execution (II)

try { Class t = null; t = Class.forName(‘‘com.tcs.delegate.EnrollmentServiceImplementation’’); java.lang.reflect.Method method[] = t.getDeclaredMethods(); for (int i = 0; i < maxNumberOfMethods; i++) { if (method[i].getName().equalsIgnoreCase(methodStr.toString()) == true) { Object args[] = new Object[1]; args[0] = object; method[I].invoke((Object)t.newInstance(),args); break; } } } catch (Exception e) {} public void checkItemsOfEnrollment(Enrollment enrollment) throws Exception; public void updateToDoListOfAdministrator(Enrollment enrollment) throws Exception; public void notifyAdministrator(Enrollment enrollment) throws Exception;

Hilda Tellioglu – CSAC 2004 – April 13-14, 2004 – Porto, Portugal 17

slide-18
SLIDE 18

Conclusions

  • CoMex as a safe, cheap and easy system to control business processes

– Definition of coordination rules – Illustration of a case from a real work setting – Methodology to apply – user involvement – Technical implementation of CoMex

  • For a coordination system the flow dependency is more relevant than the fit and share de-

pendencies.

  • The use of UML in systems design enables better communication between users and designers.

Don’t produce too many diagrams.

  • The representation of rules with UML is still a problem.
  • For the separation of coordination from computation the transfer of domain specific data to

the coordination mechanism must be avoided.

Hilda Tellioglu – CSAC 2004 – April 13-14, 2004 – Porto, Portugal 18