Various unexpected events frequently happen in workflow system. Thus workflow system should be equipped with handlers to cope with the unexpected events. But practically we cannot expect for a workflow system to prepare all the handlers for the potentially occurring events. It is more reasonable to let process designers specify exceptional situations and define corresponding exception handlers at process build time. In there when exceptional events occur, the workflow system detects the exceptions and invokes corresponding exception handlers. To support this mechanism, a workflow system should provide a means to specify exceptions and facilities to detect exception and invoke corresponding exception handlers. In this thesis, we devise an exception specification method using event-transition approach and its handling mechanism using design pattern. Detecting exceptions and mechanism for invoking exception handling routines are developed and embedded into our research workflow system (ICU/COWS).
워크플로우 시스템에서 기대치 않은 다양한 이벤트가 일어난다. 결국 워크플로우 시스템에서는 이런 다양한 이벤트를 처리하기 위한 방안이 강구되어야 한다. 하지만, 실제적으로 워크플로우 시스템이 잠재적으로 일어날 수 있는 모든 이벤트들에 대한 처리루틴을 마련하기를 기대할 수 없다. 설계하는 과정에서 프로세스 디자이너가 예외적인 상황을 명세하고, 이에 대한 처리루틴을 제공하는 것이 더 적절하다. 런타임시 예외적인 이벤트가 발생할 때, 워크플로우 시스템은 이를 감지하고, 부합하는 핸들러를 호출하는 것이다. 이러한 메커니즘을 제공하기 위해서, 워크플로우 시스템은 예외상황을 명세하고, 예외상황을 감지하고, 처리하는 방안이 모색되어야 한다. 본 논문은 워크플로우 시스템에서의 예외상황 명세 및 처리에 관한 것이다. 먼저, 예외상황의 특성들에 대한 고려하였다. 가령, 예외 상황 처리 모델들을 제시하고, Guarded block을 도입하였다. 예외 상황을 명세에 이를 반영하기 위해 XPDL을 확장하였으며, 예를 제시하였다. 이는 이벤트-전이 접근 방법을 사용한 것이다. 추가적으로 예외 상황 명세에 대한 유효성 검증 알고리즘과 예를 보여준다. 그리고, 런타임시에 디자인 패턴을 사용한 처리 메커니즘을 설계하였다. 제시된 디자인 패턴은 예외상황 처리의 문제점(Problems), 해결책으로는 구조(Structure), 참여자(Participants), 참여자간의 협력관계(Collaboration) 등으로 구성되어 있다. 본 논문에서 제시된 기법들은 연구실에서 개발중인 ICU/COWS 시스템에 일부 기능으로 구현되었다.