workflow management tool support for incident command systems michael j. stoute master’s thesis...
Post on 19-Dec-2015
217 views
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
Architecture
.wfml .wfcc
XML
Encryption/Decryption
Simulation Validation
Model Constructor
Objects
Tasks
ConnectorsNotes
Audit Log Reports Reachable States
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