Flexible Process Execution using Semantic Services (PhD Thesis, finished)
Today’s business, healthcare, and scientific applications increasingly make use of dedicated services that offer functionality or provide access to data by means of well defined and standardized interfaces. However, complex applications usually require the (dynamic) combination of multiple services into structured composite services, also named processes.
Traditional approaches to process management tend to focus on manual design (and tool supported definition) of processes. Moreover, failures have to be anticipated and appropriate failure handling strategies need to be explicitly modeled as part of the process definition. The underlying process models used to describe processes almost always consider the crash failure model where i.) services may fail because of a crash, ii.) return an exceptional event if they were not able to perform its expected behavior (for whatever reason), or iii.) middleware in-between may crash. As such, they lack the ability to recover from application level failures where services work as expected but return outputs that are undesired, that is, prevent subsequent services in the process from succeeding. The problem of detecting such application level failure situations and providing automatic healing mechanisms that ensure correct execution is still not universally solved.
Semantic services enhance single services and allow for fine-grained and extensible description of their functional capabilities including preconditions and effects as well as non-functional properties such as QoS attributes, transactional attributes, usage cost and billing attributes, and so on. More importantly, semantic service annotation frameworks such as OWL-S and WSMO are based on description logics (DL). This allows to formalize the interpretation (i.e., the semantic) of the terminological knowledge of the application domain in a well-understood way and to reason about this knowledge.
This PhD thesis focuses on the following problems of process execution:
- Support scalability in large-scale and dynamic (mobile) environments.
- Provide a novel and highly general approach for detecting undesired result failures during process execution, based on DL, and to create support for application transpartent forward recovery from crash failures as well as undesired result failures while still guaranteeing correct execution.
- Provide new ways for dynamic runtime adaption of process execution, for instance, to dynamically distribute it over several peers in a peer-to-peer execution environment.
This thesis project is the continuation of the work at UNIBAS that started at UMIT in Fall 2004.