310 likes | 431 Views
Workflow Management Tool Support for Incident Command Systems. Michael J. Stoute Master’s Thesis Defense Monmouth University December 19 th 2005. Outline. Introduction Motivation WIFA (Workflow Intuitive Formal Approach) WIFA Modeling Tool Conclusion Demo. Introduction-ICS.
E N D
Workflow Management Tool Support for Incident Command Systems Michael J. Stoute Master’s Thesis Defense Monmouth University December 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
T2 T6 T5 T4 T1 T7 T8 T3 Example 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).
Initial State/Starting Task • Initial State: • At the initial state S0, • for any task TiT, • 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
3 2 0 1 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
T4 T2 T5 T7 T1 T6 T3 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) • … … c23 = 1
T2 T6 T5 T4 T1 T7 T8 T3 Modeling Power • Sequential Execution • Conflict • Concurrency • Synchronization • Loop c23 = 0 c67 = 1 A(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
Encryption/Decryption XML .wfml .wfcc Audit Log Reports Reachable States Architecture Objects Model Constructor Tasks Connectors Notes Simulation Validation
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 if next 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}} T2 T6 T5 T4 T1 T7 T8 T3
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 Exists An Ending Task Exists No Dangling Tasks Exist No 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 change next 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