29 research outputs found
An Integrated Methodology for Creating Composed Web/Grid Services
This thesis presents an approach to design, specify, validate, verify, implement, and evaluate composed web/grid services. Web and grid services can be composed to create new services
with complex behaviours. The BPEL (Business Process Execution Language) standard was created to enable the orchestration of web services, but there have also been investigation of
its use for grid services. BPEL specifies the implementation of service composition but has no formal semantics; implementations are in practice checked by testing. Formal methods are
used in general to define an abstract model of system behaviour that allows simulation and reasoning about properties. The approach can detect and reduce potentially costly errors at
design time.
CRESS (Communication Representation Employing Systematic Specification) is a domainindependent,
graphical, abstract notation, and integrated toolset for developing composite web service. The original version of CRESS had automated support for formal specification in
LOTOS (Language Of Temporal Ordering Specification), executing formal validation with MUSTARD (Multiple-Use Scenario Testing and Refusal Description), and implementing in
BPEL4WS as the early version of BPEL standard. This thesis work has extended CRESS and its integrated tools to design, specify, validate, verify, implement, and evaluate composed web/grid
services. The work has extended the CRESS notation to support a wider range of service compositions, and has applied it to grid services as a new domain. The thesis presents two new
tools, CLOVE (CRESS Language-Oriented Verification Environment) and MINT (MUSTARD Interpreter), to respectively support formal verification and implementation testing. New work
has also extended CRESS to automate implementation of composed services using the more recent BPEL standard WS-BPEL 2.0
A programming system for process coordination in virtual organisations
PhD thesisDistributed business applications are increasingly being constructed by composing them from services provided by various online businesses. Typically, this leads to trading partners coming together to
form virtual organizations (VOs). Each member of a VO maintains their autonomy, except with respect to their agreed goals. The structure of the Virtual Organisation may contain one dominant organisation who dictates the method of achieving the goals or the members may be considered peers of equal importance. The goals of VOs can be defined by the shared global business processes they contain. To be able to execute these business processes, VOs require a flexible enactment model as there may be no single ‘owner’ of the business process and therefore no natural place to
enact the business processes. One solution is centralised enactment using a trusted third party, but in some cases this may not be acceptable (for instance because of security reasons). This thesis will present a programming system that allows centralised as well as distributed enactment where
each organisation enacts part of the business process. To achieve distributed enactment we must address the problem of specifying the business process in a manner that is amenable to distribution.
The first contribution of this thesis is the presentation of the Task Model, a set of languages and notations for describing workflows that can be enacted in a centralised or decentralised manner.
The business processes that we specify will coordinate the services that each organisation owns.
The second contribution of this thesis is the presentation of a method of describing the observable behaviour of these services. The language we present, SSDL, provides a flexible and extensible way of describing the messaging behaviour of Web Services. We present a method for checking that a set of services described in SSDL are compatible with each other and also that a workflow interacts with a service in the desired manner. The final contribution of this thesis is the presentation of an abstract architecture and prototype implementation of a decentralised workflow engine. The
prototype is able to enact workflows described in the Task Model notation in either a centralised or decentralised scenario
Leveraging service-oriented business applications to a rigorous rule-centric dynamic behavioural architecture.
Today’s market competitiveness and globalisation are putting pressure on organisations to join their efforts, to focus more on cooperation and interaction and to add value to their businesses. That is, most information systems supporting these cross-organisations are characterised as service-oriented business applications, where all the emphasis is put on inter-service interactions rather than intra-service computations.
Unfortunately for the development of such inter-organisational service-oriented business systems, current service technology proposes only ad-hoc, manual and static standard web-service languages such as WSDL, BPEL and WS-CDL [3, 7].
The main objective of the work reported in this thesis is thus to leverage the development of service-oriented business applications towards more reliability and dynamic adaptability, placing emphasis on the use of business rules to govern activities, while composing services. The best available software-engineering techniques for adaptability, mainly aspect-oriented mechanisms, are also to be integrated with advanced formal techniques. More specifically, the proposed approach consists of the following incremental steps. First, it models any business activity behaviour governing any service-oriented business process as Event-Condition-Action (ECA) rules. Then such informal rules are made more interaction-centric, using adapted architectural connectors. Third, still at the conceptual-level, with the aim of adapting such ECA-driven connectors, this approach borrows aspect-oriented ideas and mechanisms, and proposes to intercept events, select the properties required for interacting entities, explicitly and separately execute such ECA-driven behavioural interactions and finally dynamically weave the results into the entities involved. To ensure compliance and to preserve the implementation of this architectural conceptualisation, the work adopts the Maude language as an executable operational formalisation. For that purpose, Maude is first endowed with the notions of components and interfaces. Further, the concept of ECA-driven behavioural interactions are specified and implemented as aspects. Finally, capitalising on Maude reflection, the thesis demonstrates how to weave such interaction executions into associated services
A Calculus for Orchestration of Web Services
We introduce COWS (Calculus for Orchestration of Web Services), a new foundational language for SOC whose design has been influenced by WS-BPEL, the de facto standard language for orchestration of web services. COWS combines in an original way a number of ingredients borrowed from well-known process calculi, e.g. asynchronous communication, polyadic synchronization, pattern matching, protection, delimited receiving and killing activities, while resulting different from any of them. Several examples illustrates COWS peculiarities and show its expressiveness both for modelling imperative and orchestration constructs, e.g. web services, flow graphs, fault and compensation handlers, and for encoding other process and orchestration languages
Recommended from our members
Runtime monitoring of service based systems
With the growing popularity of web services the demand of highly reliable service based systems (SBS) is increasing. Formal verification and testing are performed to ensure the correctness of a system before it is deployed in a real environment. But the high complexity of complete fielded systems puts their effectiveness into questions. Runtime monitoring is the potential technique to cover the area not covered by formal verification and testing. This technique aims to assure the correctness of the current execution of a system. Substantial amount of research has been carried out in runtime monitoring to ensure the reliability of autonomous legacy software. However in service based system some significant complications arises as they focus on systems with no autonomous components, that make the approaches applied to monitor legacy software inadequate for service based system. In this thesis we present a framework for runtime monitoring of service based systems. We establish the necessity of introducing new types of inconsistencies beyond the classical inconsistencies that may occur during the execution of service based systems and develop reasoning mechanism to detect them at run time.
In the proposed framework, the properties to be monitored include: (i) behavioural properties of the co-ordination process of the service based system, (ii) functional properties that express functional requirements for the individual services of a service based system or groups of such services, (ii) assumptions regarding the behaviour of the service based system and its constituent services and their effects on the state of the system and (iii) Quality-of- Service (QOS) properties for the service based systems and its constituent services. All types of properties are expressed in a property specification language which is based on event- calculus [Sha99]. The behavioural properties to be monitored at run-time are extracted automatically from the specification of the co-ordination process of a service-based system in BPEL [Bpe03] while the other types of properties to be monitored must be specified by the providers of the system. These properties must be specified in terms of: (i) events that can be observed at run-time and correspond to either operation invocation and response messages or the assignment of values to global variables used by the co-ordination process of the system, and (ii) conditions over the state of the co-ordination process of the system and/or the individual services deployed by it. These restrictions ensure that property monitoring can be based solely on events which are generated by virtue of the normal operation of the system without the need for instrumenting the individual services deployed by it. The property specification language that is used by this framework is a first-order logic language that incorporates special predicates to signify assertions about time and, to this end, it provides a very expressive framework for specifying properties of service based system, which may include temporal characteristics.
At run-time, the framework deploys an event receiver that catches events which are exchanged by the different services and the co-ordination process of the system and stores them in an event database. This database is accessed by a monitor that can detect different types of violations of properties. These types are: (i) violations of functional properties and quality-of-service properties by the recorded behaviour of the service based system, (ii) violations and potential violations of behavioural properties, functional properties and quality- of-service properties by the expected system behaviour, and (iii) unjustified and potentially unjustified actions which the system has taken by wrongly assuming that certain pre-conditions associated with the undertaken actions were satisfied at run-time. The detection of these types of violations is fully automatic and is based on an algorithm that has been developed as a variant of algorithms for integrity constraint checking in temporal deductive databases [Ple93, Cho95]. We have implemented a prototype of the proposed monitoring framework and showed the effectiveness of the monitoring prototype through several case studies