Process oriented systems are pervasive in computer science and play a crucial role in various areas including services research, business processes research, mobile computing, cloud computing, or distributed sensor networks. As the application requirements, goals and needs change very rapidly along with the rapidly changing operating environments, the need for automatic process adaptation, evolution and reconfiguration arises in all the mentioned areas. My research is geared towards the vision of adaptive / autonomous processes that can adapt automatically to changing dynamic environments, requiring only the minimal development effort. The ability of processes to adapt in an automatic manner will have far reaching benefits (e.g., financial and human effort savings) in all domains where robust adaptive processes form a backbone of the information systems, such as in healthcare, commerce, manufacturing, telecommunications, e-science, education, social networking. The idea of adaptability of processes implies many fundamental research challenges: the problem of flexible representations of both data and process aspects, development of powerful and verifiable adaptation methods, addressing the interoperability problems, dealing with dynamic aspects, and with incomplete knowledge of environments, and many more.
So far, in my research I focused on facilitating seamless interoperability of heterogeneous applications and business processes implemented as services, which is the first step towards the vision of adaptive process-based systems. My research approach is characterized by three principles: (1) formal, logic representation of process related concepts using primarily description logic, rules based representations, and other techniques known, e.g., from the area of semantic web, (2) solid foundation in software engineering methodologies, existing technologies and industry standards (e.g., Web service standards, business processes modeling languages, workflows, databases), (3) application of AI techniques (e.g., planning, heuristic search, constraint optimization and satisfaction, reasoning) for solving the fundamental problems related to autonomous and adaptive processes.
Current Research and Achievements
Seamless interoperability of existing services and, eventually, the ability of processes to adapt is crucial . Various areas of research dealing with interoperability include protocol synthesis, software adapters synthesis, or component-based software engineering. Recently, interoperability of Semantic Web services (SWS) has gained attention because of the open WS standards, and the explicit shared semantics promote by the emerging SWS standards (SAWSDL, OWL-S, or WSMO). In existing research, typically, static integration scenarios are considered usual for closed environments. The novelty of my approach is in the focus on dynamic scenarios common for process-based systems (e.g., in SOA) operating in open or semi-open dynamic environments (e.g., of current corporations and of the Internet).
I started to work in the area of Semantic Web services during my two years stay at Carnegie Mellon University, initially as a Fulbright scholar and later as a full-time research scholar. I was working in research projects including the OWL-S Matchmaker (discovery and matchmaking), the OWL-S Virtual Machine (invocation of SWS processes) and the OWL-S API. I spent most of my time at CMU as a member of the DARPA Integrated Learning project team in which I was conducting research in cooperation with researchers from BBN Technologies.
In my doctoral dissertation, I focused primarily on achieving interoperability of possibly incompatible processes consisting of semantically annotated Web services operating in dynamic open environments . Specifically, I focused on process mediation algorithms, techniques for discovery of Web services suitable in contexts of process mediation, semantic monitoring, fault handling and recovery.
Process Mediation: In my approach I address the problem of interoperability by automatically (1) identifying and resolving incompatibilities, and (2) mediating between processes of service requesters and providers. I developed novel process mediation algorithms that combine automated planning, semantic reasoning, and discovery of appropriate external services that act as data mediators. The algorithms assume an open world which might change and where complete knowledge is not available. As an outcome, I developed the first solution that incorporates discovery of new services into process mediation / adapter synthesis . The developed planning algorithms can be used in other domains where the planning domain changes dynamically during the planning process (i.e., new planning operators can be found / discovered). I addressed the problem in two scenarios: (a) a setting usual in corporate environments, where the process mediation component has complete visibility of process models of the service provider and the service requester , and (b) a setting usual in open environments of the Internet, e.g., in mobile computing, where the mediation component has visibility only of the process model of the service provider . An overview paper of the overall approach was published in the IEEE Data Engineering Bulletin , and the paper giving details of the whole process mediation framework was published in the International Journal on Agent-Oriented Software Engineering .
Discovering Service Combinations and Data Providing Services: I introduced a combined and a composed match, both of which allow collision-free combinations of service to be matched for a given request [Vaculin2008-ECOWS]. This addresses the major shortcoming of the existing approaches that only support matching of individual service advertisements, and do not address a fundamental problem of avoiding possible effect collisions in the resulting service match. In realistic dynamic situations (e.g., in the context of process mediation) discovering service combinations is necessary. I proved that matching service combinations is an NP-complete problem, because of possible effect collisions (e.g., effect duplications). I developed an efficient any-time matching algorithm for retrieval of the best collision-free combined matches (presented at ICWS 2009 [Vaculin2009-ICWS]). Under many circumstances this algorithm executes in about the same time as individual services discovery. The algorithm can be applied in many diverse areas, such as (semantic) sensors matching, intelligent resources matchmaking, automated discovery / creation / provisioning of user specific (personalized) advertising / bonus packages / media content, user / groups profiles matching, etc. Currently I am working on the extended paper for the Journal of Web Semantics. I am also exploring integration of business processes with services providing access to data artifacts. So far, I focused on conceptual modeling and discovery of generic data providing services, (presented at ICWS 2008 [Vaculin2008-ICWS]). Currently I am working on the extended version of this paper which was invited for submission to the International Journal on Web Services Research.
Semantic Monitoring, Fault Handling and Recovery: I developed an event based semantic monitoring [Vaculin2007], and a fault handling and recovery model [Vaculin2008-ICNS] that both enable process mediation in open environments. Existing SWS frameworks do not address these areas. The goal of both models is to enhance existing approaches to monitoring and recovery with the advantages of the additional semantic layer in order to bring the low level WS infrastructure closer to the level of business modeling perspective (to allow monitoring and enforcement of business goals, requirements, constraints, norms, etc.). Due to use of shared domain ontologies, semantic monitoring allows monitoring of processes built by independent vendors running across the organizational boundaries. I proposed an ontology for definition of semantic events, and a language based on event algebras for specification of composite event patterns to support flexible detection of complex events with semantically rich content [Vaculin2007b]. I developed the detection mechanisms suitable for runtime monitoring with constraint memory and time, as well as for complex offline analysis of event logs and traces. The exception handling and recovery model allows designers to define process model constraints according to binding obligations, such as SLA-agreements, and allows a clear separation of the normal control flow from fault handling and recovery.
So far, I have approached interoperability and adaptation challenges in a bottom-up manner by developing the process mediation framework. My long term goal is to connect the bottom-up techniques with higher-level conceptual modeling and adaptation techniques that will enable formal specification of processes in terms of business goals, requirements, norms, and other (business) artifacts, so as to achieve the vision of adaptive / autonomous processes. I can see three important areas that I plan to address.
1. Specification of adaptive processes: The existing process specification methodologies (e.g., BPMN, YAWL) typically define complex processes in terms of control flows and information flows expressed by means of traditional constructs such as graph structures or process algebras. When the process definition or the environment changes often, traditional approaches are not suitable. The reasons are lack of declarative information defined on the semantically appropriate level; over-constrained specification of control flows which is not necessarily exactly in line with business goals, requirements and SLAs; a static nature of definitions which does not allow the processes to respond to unpredicted situations or to be evolved easily (methods such as dynamic service discovery, composition or mediation are hard to apply for existing process specifications). I will focus on addressing these problems by exploring and developing process representations defined in terms of high-level business / organizational concepts (such as organizational goals, commitments, high level requirements, norms, and data artifacts), which are technology and implementation independent. Such representation will result in more flexible processes that are easier to maintain and to deploy on cloud infrastructures.
2. Methods for processes adaptation and evolution: I strongly believe that in order to achieve realistic, robust intelligent autonomous / adaptive behaviors of process-based systems AI techniques (e.g., intelligent adaptive agent style techniques) need to be combined with process and workflow approaches. It is important to realize that achieving adaptivity of processes is virtually impossible without finding the fine-line between these two areas of research. Based on the above described representations, I will first focus on extending the planning-based mediation algorithms (classical / non-classical planing) so as to support more complex adaptations. In particular, it seems to be clear that the background knowledge will play an important role (e.g., in the form of domain ontologies, rule-bases, etc.). I plan to analyze the influence and various forms of background knowledge on achieving adaptability, and the ways of how it can be combined with the reasoning methods (e.g., planning with background knowledge is known to be very hard). Also, I want to further expand on the research in efficient discovery of advertisement combinations. In the longer term, I plan to analyze the influences of managerial decisions and behavioral economics aspects on achieving higher level of interoperability, such as an impact of economic incentives on creation shared conceptualizations.
3. Design and runtime verification: Clearly, introducing high-level representation of processes along with means for adaptation, makes it necessary to ascertain, that the possible adaptations and process evolutions do not break main functionalities of the original process (in terms of achieving the goals, following the imposed constraints, SLAs, obeying the norms, etc.). I will continue my work on semantic monitoring that allows for runtime verification of various aspects of the underlaying process with respect to the defined constraints. However, it will be necessary to consider other verification techniques, such as model checking, for design time verification. The problem of such techniques is that they are not primarily designed to incorporate background knowledge, e.g., in the form of ontologies, which presents another challenging research area.