26
Process Enactment L18

Process Enactment L18. Topics Faculty processes Modelling the process Enactable process models An example process-based system Issues in Process modification

  • View
    216

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Process Enactment L18. Topics Faculty processes Modelling the process Enactable process models An example process-based system Issues in Process modification

Process Enactment

L18

Page 2: Process Enactment L18. Topics Faculty processes Modelling the process Enactable process models An example process-based system Issues in Process modification

Topics

• Faculty processes

• Modelling the process

• Enactable process models

• An example process-based system

• Issues in Process modification

• Issues in system acceptance

Page 3: Process Enactment L18. Topics Faculty processes Modelling the process Enactable process models An example process-based system Issues in Process modification

Faculty Processes

• Staff are involved in many ‘long-running’ processes:– Coursework preparation and moderator– Examination preparation and moderation

• Students are too:– Computing project: from briefing, inception, tutor

meetings, poster session, submission, possible late work, double marking by supervisor and second marker, referral to project module leader in case of dispute, agreed marks to admin, Field board approval or adjustment.

Page 4: Process Enactment L18. Topics Faculty processes Modelling the process Enactable process models An example process-based system Issues in Process modification

Coursework setting:An idealised Scenario

• Ian is the module leader for a number of modules, including Information Design, a MScIT module. On his own page on the CEMS portal is a list of the modules he leads, the modules he teaches on as a tutor and the modules for which he has other responsibilities, such as mentoring the module leader or internal moderation. Information Design has small list of pending tasks. One coursework is coloured red -, an indication of the priority derived from comparison of today’s date with the hand-in date – required period of student work minus estimated time for setting and moderation (an estimate which currently is the same for all staff, but over time will alter to reflect actual time taken)…..

Page 5: Process Enactment L18. Topics Faculty processes Modelling the process Enactable process models An example process-based system Issues in Process modification

Exam moderation process

• Current process is mostly defined by the moderation sheet, initiated by the module leader, completed by the moderator

• Problems– Leader: What is the exam length? Who is the moderator, whats

her email address, what’s the code? Are there any standards to follow?

– Moderator: What papers am I moderating? When can I expect them? Is the ball in my court or the module leaders? Where is the module specification?

– Field Leader: Whats the state of play across the board? What papers are being disputed?

– Programme Administrator: when can I send the papers to the external examiner?

Page 6: Process Enactment L18. Topics Faculty processes Modelling the process Enactable process models An example process-based system Issues in Process modification

Design principles

• Provide a single point for information about the moderation process– Guidance in the process – Relevant documents

• Make the process specific– People associated with their roles– Pre-completed forms– Current state of process– Allowable future actions – whos got the ball?

• Make the process visible– To field leader, programme assistant

Page 7: Process Enactment L18. Topics Faculty processes Modelling the process Enactable process models An example process-based system Issues in Process modification

Design issues

• How far should the information system participate?– Just advising on possible actions– Logging actions– Holding exam moderation comments and responsed– Holding the exam paper and solutions

• Access control– Who can see the state of a process - only the actors,

actors + manager, all staff in the field, everyone– Who can initiate actions – only the agent?

Page 8: Process Enactment L18. Topics Faculty processes Modelling the process Enactable process models An example process-based system Issues in Process modification

Process Models

• Use case

• Entity Life History

• Sequence Diagram

• UML State chart

Page 9: Process Enactment L18. Topics Faculty processes Modelling the process Enactable process models An example process-based system Issues in Process modification

Use Case Diagram

Set and moderate exam paper

Module leaderInternal moderator

Field leader

Programme Assistant

Page 10: Process Enactment L18. Topics Faculty processes Modelling the process Enactable process models An example process-based system Issues in Process modification

ELH

Request paper

Set paper

Sent for review

approve Send to admin

Request changes

review

Modify Send back for review

*

Paper life

Page 11: Process Enactment L18. Topics Faculty processes Modelling the process Enactable process models An example process-based system Issues in Process modification

Field leader Module leader Internal moderator Programme assistant

Set paper

review

modify

review

request

paper

changes

Revised paper

approve

Approved paper

Page 12: Process Enactment L18. Topics Faculty processes Modelling the process Enactable process models An example process-based system Issues in Process modification

Statechart

Boxes are states

Ellipses are transitions between states

Page 13: Process Enactment L18. Topics Faculty processes Modelling the process Enactable process models An example process-based system Issues in Process modification

Enactable Processes

• Processes are long-running, so can just write a program since programs are restarted when loaded.

• Important to distinguish between – ‘process class’ – the general case – the ‘schema’ – a description

• E.g. the CEMS exam moderation process 2004

– ‘process instance’ – a specific, running process, in a specific state at a given time

• E.g. setting and moderating the ISD3 exam paper according to the CEMS exam moderation process 2004

• XML-based descriptions are emerging • State-based models are easier to implement

Page 14: Process Enactment L18. Topics Faculty processes Modelling the process Enactable process models An example process-based system Issues in Process modification

Process

Role State

Transitionagent

from

to

Processinstance

event

timestamp

Current state

Page 15: Process Enactment L18. Topics Faculty processes Modelling the process Enactable process models An example process-based system Issues in Process modification

Process model in MySQL• create table processes (• pid integer not null primary key,• name char(255)• );

• create table roles (• rid char(30) not null primary key,• name char(30)• );

• create table states (• pid integer not null references processes(pid),• sid integer not null,• sdesc char(255),• scolor char(12),• primary key (pid, sid)• );• create table transitions (• pid integer not null references processes(pid),• tid integer auto_increment not null,• fromsid integer not null,• tosid integer,• name char(30),• agent char(30) references role(rid),• tdesc char(255),• primary key (pid, tid),• foreign key (pid, fromsid) references states(pid, sid),• foreign key (pid, tosid) references states(pid, sid)• );

Page 16: Process Enactment L18. Topics Faculty processes Modelling the process Enactable process models An example process-based system Issues in Process modification

Creating the exam moderation process• insert into processes values (100, 'Exam moderation process');

• insert into roles values ('internal', 'Internal Moderator');• insert into roles values ('external', 'External Examiner');• insert into roles values ('mleader', 'Module Leader');• insert into roles values ('fleader', 'Field Leader');• insert into roles values ('pa', 'Programme Assistant');

• insert into states values(100,0,'To be requested','red');• insert into states values(100,1,'Paper Requested','red');• insert into states values(100,2,'Paper Set','red');• insert into states values(100,3,'With Internal Moderator 1','orange');• insert into states values(100,4,'With Internal Moderator 2','orange');• insert into states values(100,5,'Module leader revising','orange');• insert into states values(100,6,'With Internal Moderator 3','orange');• insert into states values(100,7,'Approved', 'lightgreen');• insert into states values(100,8,'Sent to admin','green');• insert into states values(100,9,'Received','green');

• insert into transitions values(100,null,0,1,'Requested','fleader','requests %mleader to set paper.');• insert into transitions values(100,null,1,2,'Set','mleader',

'sets the examination paper, solutions and marking scheme.');• insert into transitions values(100,null,2,3,'Sent to Internal Moderator','mleader',• 'sends the examination paper to the %internal with the moderation form.');• insert into transitions values(100,null,3,4,'Reviewed','internal',• ' reviews the examination, recording brief comments on the form and more extensive ones on the question paper

or solutions. '); • insert into transitions values(100,null,4,5,'Changes requested', 'internal', • ' either returns the review to %mleader for changes');• insert into transitions values(100,null,4,7,'Approved','internal',• ' or approves the paper.');• insert into transitions values(100,null,5,6,'Modified','mleader',• 'modifies or defends the paper and returns to %internal');• insert into transitions values(100,null,6,4,'Changes reviewed','internal', • ' reviews the changes made and /or the defence.');• insert into transitions values(100,null,7,8,'Sent to Admin','mleader',• 'sends the paper to the %pa when finally agreed.');• insert into transitions values(100,null,8,9,'Received','pa','Receives the completed paper and solutions.');

Page 17: Process Enactment L18. Topics Faculty processes Modelling the process Enactable process models An example process-based system Issues in Process modification

Examinations are Process instances

• create table examinations(• eid integer not null primary key,• mcode char(20) references modules (mcode),• length int,• dateheld date,• pid integer,• sid integer,• foreign key (pid,sid) references states (pid,sid)• );

• create table events (• evdate timestamp,• eid integer not null,• pid integer not null,• tid integer not null,• );

• insert into examinations values (1,'IFI8KE-15-M', 180, '04/5/1', 100, 0);• insert into examinations values (2,'IFIE8U-20-2', 120, '04/5/1', 100, 0);

Page 18: Process Enactment L18. Topics Faculty processes Modelling the process Enactable process models An example process-based system Issues in Process modification

Also need a Faculty Model

Field

Module staff

examination

Field leader

Programmeassistant

leader

moderator

processmodel

external

Page 19: Process Enactment L18. Topics Faculty processes Modelling the process Enactable process models An example process-based system Issues in Process modification

Faculty model• create table ffields (• fcode char(8) primary key,• name char(30),• leader char(8) references staff(username),• pa char(8) references staff(username)• );

• create table modules(• mcode char(20) not null primary key,• fcode char(8) references ffields(fcode),• title char(80),• leader char(8) references staff(username),• internal char(8) references staff(username),• external char(8) references staff(username)• );

• create table staff (• username char(8) not null primary key,• fullname char(30),• email char(40),• ext char(6),• homephone char(20)• );

• insert into staff values ('iabeeson', 'Ian Beeson', '[email protected]',83156, '0117 555555');• insert into staff values ('cjwallac', 'Chris Wallace', '[email protected]',83156, '0117 888885');• insert into staff values ('amoggrid', 'Anne Moggridge', '[email protected]',83333, '0117 66666');• insert into staff values ('twakefie','Tony Wakefield','[email protected]',86666, '0117 54344');• insert into staff values ('kcurtis', 'Kate Curtis', '[email protected]',83254,null);• insert into staff values ('sp','Steve Probert','[email protected]',null, '0207 77777');

• insert into ffields values ('IS', 'Information Systems', 'amoggrid', 'kcurtis');

• insert into modules values ('IFI8KE-15-M', 'IS', 'Information Design', 'iabeeson','cjwallac','sp');• insert into modules values ('IFIE8U-20-2', 'IS', 'Information Systems Development 2', 'twakefie','cjwallac','sp');

Page 20: Process Enactment L18. Topics Faculty processes Modelling the process Enactable process models An example process-based system Issues in Process modification

Process Architecture

HTML + CSSPresentation layer:

Data layer: MySQL

Business Layer: PHP, GraphViz

Page 21: Process Enactment L18. Topics Faculty processes Modelling the process Enactable process models An example process-based system Issues in Process modification

Interaction Architecture

Index.html

Showmod.php

Showexam.php

eid

Showform.php Module spec Showprocess.php

eid eid

(update) eid, sid, tid

Showstatechart.php

Page 22: Process Enactment L18. Topics Faculty processes Modelling the process Enactable process models An example process-based system Issues in Process modification

Showexam.php pseudo code

• If required, update the state of the exam process and log the event.

• Get the exam, module and field• Get the roles• Associate staff with roles• Get the list of events and store the last time stamp• Read through the transitions for this process:

– Adding in the timestamp if transition has already occurred– Adding button to execute the transition if its fromstate = current

state (i.e. it’s a possible transition)• List all the roles and the staff• List links to useful resources – the moderation cover

sheet, specification …

Page 23: Process Enactment L18. Topics Faculty processes Modelling the process Enactable process models An example process-based system Issues in Process modification

Extensions to the basic Process (1)

• Actions on transitions– In the current demo, executing a transition just

changes state, and logs event.– In general, we want to add an action to the transition

• e.g. send an email to a role to notify them of required role • can add this to the process model (in what language?)

• Timed transitions– If the paper is not set by a given date, an alert is sent

to the field leader and the module leader:• Transition defines a date• Background process run every night would enact transitions

for process instances waiting on a timed event.

Page 24: Process Enactment L18. Topics Faculty processes Modelling the process Enactable process models An example process-based system Issues in Process modification

Extensions to the basic Process (2)• Compound processes

– Our model is ‘flat’ – no composition– Sub-processes will be common to several processes (‘uses’

relation in use cases)

• Inheritance– The process of exam moderation and coursework moderation

are very similar – there may be a common superclass which defines a common structure, of which exam and coursework are sub classes

• Concurrent processes– In the bank loan process, each loan request proceeds as a

separate process, and merge when both are done

• Process to process communication – What if an action in one process caused a transition in another – e.g. the field leader has a process in which papers are batched

for sending to the external – in batches of 10 – Completion of moderation causes batch to increment

Page 25: Process Enactment L18. Topics Faculty processes Modelling the process Enactable process models An example process-based system Issues in Process modification

Extensions to the basic Process (3)

• Schema modification– Suppose we need to modify the process class when

we discover some additional behaviour:• If the leader and the moderator cant agree, the problem is

referred to the field leader, who either approves or sends the paper for revision, which must be agreed with the field leader before sending to the programme assistant

– How do we change the process – can we just update the process model?

– Problem with existing process instances – these are in states defined by the old process model, which may not be or may be different in the new model

• This a critical problem with long-running processes.

Page 26: Process Enactment L18. Topics Faculty processes Modelling the process Enactable process models An example process-based system Issues in Process modification

System acceptance

• What functions are missing from the system?

• Can we anticipate how well this system will fit– In the context of the Information Systems

school? – With different stakeholders?

• How could we measure fitness?