Date of Award

2-2011

Document Type

Open Access Dissertation

Degree Name

Doctor of Philosophy (PhD)

Degree Program

Computer Science

First Advisor

Lori A. Clarke

Second Advisor

George S. Avrunin

Third Advisor

Leon J. Osterweil

Subject Categories

Computer Sciences

Abstract

Real-world processes often undergo improvements to meet certain goals, such as coping with changed requirements, eliminating defects, improving the quality of the products, and reducing costs. Identifying and evaluating the defects or errors in the process, identifying the causes of such defects, and validating proposed improvements all require careful analysis of the process.Human-intensive processes, where human contributions require considerable domain expertise and have a significant impact on the success or failure of the overall mission, are of particular concern because they can be extremely complex and may be used in critical, including life-critical, situations. To date, the analysis support for such processes is very limited. If done at all, it is usually performed manually and can be extremely time-consuming, costly and error-prone.There has been considerable success lately in using static analysis techniques to analyze hardware systems, software systems, and manufacturing processes. This thesis explores how such analysis techniques can be automated and employed to effectively analyze life-critical, human-intensive processes. In this thesis, we investigated two static analysis techniques: Finite-State Verification (FSV) and Fault Tree Analysis (FTA). We proposed a process analysis framework that is capable of performing both FSV and FTA on rigorously defined processes. Although evaluated for processes specified in the Little-JIL process definition language, this is a general framework independent of the process definition language. For FSV, we developed a translation-based approach that is able to take advantage of existing FSV tools. The process definition and property to be evaluated are translated into the input model and property representation accepted by the selected FSV tool. Then the FSV tool is executed to verify the model against the property representation. For FTA, we developed a template-based approach to automatically derive fault trees from the process definition. In addition to showing the feasibility of applying these two techniques to processes, much effort has been put on improving the scalability and the usability of the framework so that it can be easily used to analyze complex real-world processes. To scale the analysis, we investigated several optimizations that are able to dramatically reduce the translated models for FSV tools and speed up the verification. We also developed several optimizations for the fault tree derivation to make the generated fault tree much more compact and easier to understand and analyze. To improve the usability, we provided several approaches that make analysis results easier to understand. We evaluated this framework based on the Little-JIL process definition language and employed it to analyze two real-world, human-intensive processes: an in-patient blood transfusion process and a chemotherapy process. The results show that the framework can be used effectively to detect defects in such real-world, human-intensive processes.

Share

COinS