The goal of ASTRO is to develop tools supporting the evolution and adaptation of distributed business processes during their lifecycle, from design to run-time . These tools should be capable of analyzing business processes in detail and detect problems both at design and at run time, as well as suggest alternative solutions. Research activities are structured according to these main tasks:
- Business Requirements: the aim of this research is to develop a framework for representing strategies and goals of an organization in terms of business requirements. The framework allows to describe how an organizational strategy is operationalized into activities and implemented by business processes. It also allows to represent the contracts (assumptions) on the interactions between the different business applications.
- Service Verification: the idea is to provide business analysts, service designers, and programmers with tools that allow for detecting problems at design time. The designer implements its own process in a suitable language, e.g., Concrete BPEL4WS. This process interacts with external and available processes, e.g., abstract BPEL4WS that specify the interactions with other processes. Given the concrete internal process, the abstract external processes that have been published and that can be downloaded, and a set of business requirements, the WS-VERIFY tool allows to check whether the requirements are violated. If this is the case, an "error flow", i.e., a flow of interaction that causes the problem is reported to the developer that can modify the BPEL4WS process and re-iterate the verification step.
- Service Monitoring: service monitoring allows to detect conditions or violation of properties at run-time. It can be used to detect problems or to report situations of particular interest. It can detect that a property has been violated (e.g., since an external service has been modified) or that a particular sequence of events has occurred (e.g., the user has rejected an offer). We have developed a tool (WS-MON) that, given a property or a situation to be monitored, automatically generates code that can be executed at run time and that can check whether the service execution respects the property or whether the situation is arising.
- Service Synthesis: this is a technique for the automated composition of new services. Given as set of abstract BPEL4WS processes, and a composition requirement, WS-SYNT automatically generates a concrete BPEL4WS process that, when executed, interacts with the components and satisfies the requirement. The synthesized BPEL4WS code can then be inspected by the developer, and possibly modified, and thus checked with service verification techniques.
- Service Adaptation: this is a technique for the run-time adaptation of Web services. During the execution of a service instance, whenever a constraint associated to the service is violated, the execution of the service is blocked and WS-ADAPT automatically generates an adaptation process that, interacting with a set of available services, brings the system in a state that satisfies the constraint. The identified adaptation process is executed and then the service can continue its execution.
- Semantics: semantics is essential to verify, monitor, and synthesize services that do what we want. We have therefore extended the tools and techniques described above to work with languages that allow for semantic descriptions of web services, including OWL-S and, for the future, WSMO. Our approach aims at composing semantic web services into executable processes, in order to reduce effort, time and errors due to the manual development at the programming level.