workflow management tool support for incident command systems michael j. stoute master’s thesis...

30
Workflow Management Tool Support for Incident Command Systems Michael J. Stoute Master’s Thesis Defense Monmouth University December 19 th 2005

Post on 19-Dec-2015

217 views

Category:

Documents


0 download

TRANSCRIPT

Workflow Management Tool Support for

Incident Command Systems

Michael J. Stoute

Master’s Thesis DefenseMonmouth UniversityDecember 19th 2005

Outline

Introduction Motivation WIFA (Workflow Intuitive Formal Approach) WIFA Modeling Tool Conclusion Demo

Introduction-ICS

Incident Command Systems (ICS) Manages and allocates people, resources

and services during terrorist incidents and natural disasters

Monitor and adapt to the incident events Volunteer-based workforce

Motivation

ICS needs to adapt to ever changing surroundings

Volunteers with little to no formal training on Workflows or even basic computer knowledge

Need workflow support to know the current state and what needs to be done.

Related Work

Two Types of Formal Modeling Techniques: Formal and not Intuitive

Very powerful and need formal training Petri-Nets State Charts

Intuitive and not Formal MILANO

Tool claims simplicity Sacrifices Expressive Power; such as representation

of loops

Objective

Define a new formalism for modeling and analysis of workflows (WIFA model)

Build Tool to implement the model. On-the-fly changes On-the-fly validation Intuitive Formal

What is a Workflow

Process that contains tasks and rules about how the tasks are executed.

Tasks executed by humans or other apps Tasks related and dependant based on

business policies and rules These policies and rules govern how a task is

executed

WIFA Model Definitions

Workflow = (T, P, C, A, S0) where

T={T1, T2, … Tm} A set of tasks, m 1

P=(pij)m x m Precedence matrix of the task set

C=(cij)m x m Conflict matrix of the task set

A=(A(T1), A(T2), …,A(Tm)) Pre-Condition set for each task.

S0 {0, 1, 2, 3}m is the initial state

Example

00000000

10000000

00000010

01100000

00010000

10000000

00001000

00000110

P

T1

T2

T3

T6

T4T5

T7

T8

T = {T1, T2, …, T8},A(T1) = Ø, A(T2) = {{T1}, {T6}}, A(T3) = {{T1}},

A(T4) = {{T2}}, A(T5) = {{T4}},

A(T6) = A(T7) = {{T5}}, A(T8) = {{T3, T7}}.

S0 = (1, 0, 0, 0, 0, 0, 0, 0).

00000000

00100000

01000000

00000000

00000000

00000000

00000000

00000000

C

Initial State/Starting Task

Initial State: At the initial state S0,

for any task Ti T, if there is no Tj such that pji = 1,

then S0(Ti) = 1;

otherwise S0(Ti) = 0

Task Ti does not have any predecessors It is executable immediately

StateValues S (Ti)=0 Ti is not executable and not executed previously

S (Ti)=1 Ti is executable and not executed previously

S (Ti)=2 Ti is not executable and executed previously

S (Ti)=3 Ti is executable and executed previously

State Transition Rules

A set of rules to guide workflow execution Sa(Tj) = 1

If cij = 0 then Sb(Tj) = 1; otherwise Sb(Tj) = 0

0 1 2 3

Example S0 =(1, 0, 0, 0, 0, 0, 0) S1 =(2, 1, 1, 0, 0, 0, 0) S2 =(2, 2, 0, 1, 0, 0, 0) S3 =(2, 0, 2, 0, 0, 1, 0) … …

T1

T2T4

T3T6

T7

T5 c23 = 1

Modeling Power

Sequential Execution Conflict Concurrency Synchronization Loop

T1

T2

T3

T6

T4T5

T7

T8

c23 = 0c67 = 1A(T2) = {{T1},{T6}}A(T8) = {T3, T7}

Well-Formed Workflow Definitions Reachable Set Well-Formed

No Dangling Tasks At least one ending state

Confusion Free – to simplify the logic of workflows such that the volunteers can follow it

And-In-And-Out

And-In-XOR-Out

XOR-In-And-Out

XOR-In-XOR-Out

WIFA Modeling Tool

Editor Validator Simulator

Architecture

.wfml .wfcc

XML

Encryption/Decryption

Simulation Validation

Model Constructor

Objects

Tasks

ConnectorsNotes

Audit Log Reports Reachable States

WIFA Modeling Tool

C#

Language used to develop the WIFA Modeling Tool

.NET Framework 1.1 Derived from C family Benefits

Automatic Garbage Collection Variables are type-safe No pointers

XML

XML: eXtensible Markup Language Storage medium for the Workflows Benefits

Not platform specific Provides common medium for sharing data

Validator

Validate at any time Validates that the Workflow is well-formed

Checks for Starting Task Checks for Ending Task Checks for Dangling Tasks Checks for Live Locks (Infinite Loops) Checks for Dead Locks

Error List & Highlighting

Validation Pseudo-Code

For each task in the workflow find parent tasks (preset of a task) find children tasks (postset of a task) find sibling tasks (postset of all tasks in the preset) if task is XOR-out and postset > 1 then task branch count=size of postset global branch count +=size of postset end ifnext task

Validation Pseudo-Code

While first tasks < first tasks total number of branches { For each task { Generate a Path() Increment Each Current Path() } }}

Result: {{1,2,6,5,7,8}, {1,4,5,7,8}, {1,3,8}}

T1

T2

T3

T6

T4T5

T7

T8

Validation Pseudo-Code

for (i=0; i<number of unique paths; i++) { ResetTasks while (workflow not finished and not in a loop) { Move a single Step forward in the Simulation Check for Loops to avoid running forever }}

Then Using Information Gathered From Execution Validates:A Starting Task ExistsAn Ending Task ExistsNo Dangling Tasks ExistNo Live Locks Exist (Infinite Loops)No Dead Locks Exist

Simulator

Execute a workflow According to state transition rules

Provides Execution Control Step forward and Step back On-the-fly changes

Simulation Pseudo-Code

For each task in the workflow if task is marked for execution executeTask() else if task is XOR-In and at least 1 predecessor has executed set task state as executable else if task is And-In and all predecessors have executed set task state as executable else task state does not changenext task

Simulation Pseudo-Code

void ExecuteTask() { if hasConflict if in simulation mode Alert user, who then chooses which task to execute else Use current unique path to pick a branch set all tasks that were in conflict back to not executable end if

set selected task state as executed add task to current execution path}

Conclusion

WIFA Supports all phases of Workflow Management Design, Modification, Validation, Simulation All implemented with Volunteers in mind

Provides on-the-fly validation and modification.

Intuitive Usability Assessment

Results: Useful and Usability was acceptable.

Future Work

Role-based Access Control Decision Support Separate Workflow Instances Communicating Interorganizational Workflows Conversion between other Workflow

Applications

DEMO