WS-CDL is a very rich language that is specially designed to describe choreography of services. However it is very poor to adopt reusability mechanisms for making the choreography easy to design and confident to use. The main challenge is that there is no mechanism to make a reusable sub choreography which is able to expose an interface. Therefore, it is impossible to inject variables like exception variables from performing choreography into performed sub choreography.
In this paper, a complex element namely Template is added to WS-CDL making it more adequate to support reusability. A template is an abstract definition of an interaction pattern which is appeared frequently through a family of business services choreographies. The paper is also details how to use the template as black box in main choreography including assigning the variables to template interface parameters. We enhanced meta model of WS-CDL by adding template related elements, then produced a simple engine that loads the our enhanced meta model of WS-CDL, the file paths of main and template choreographies and automatically generate an output file includes a compiled choreography code expressed with standard WS-CDL.
Service-oriented computing is meant to support loose relationships between organizations; Serviceoriented
architectures often have the goal to integrate various distributed services of one or more
organizations in a flexible way to be able to quickly react on business changes.
Distributed services provided a new way of distributed computing that achieve the interoperability between
heterogonous application through platform and language independent interfaces. The creation of value
added services by composition of existing ones is gaining a significant momentum. Distributed service
composition is meant to support loose relationships between implemented services in order to provide new
functions. A composite service is the one resulting from the integration, coordination and synchronization
of different service components. In this paper, we generated A Services Composition Model (SCM) that
provides a general solution for the services composition problem by realizing the requirements of a new
service using the requirements of the already existing service. We explained in details all the steps of the
composition process; services registration, services discovery, services selection, services invoking, and
services integration. Although the SCM is not bounded to one particular algorithm to compose services, we
generated an application as an example to test our Service Composition Model.
We also generated the Services Composition Language (SCL) as a simple text-based language which
allows the user to express the requirements of his request, the inserted request will then be analyzed using
our Parsing Algorithm to determine the name of the requested services, after that our Service Composition
Algorithm will execute all the steps of the composition process and return the result of the composition to
the user.
This document discusses formalizing BPEL-TC (Business Process Execution Language - Temporal Customization) through π-calculus. BPEL-TC is an extension of BPEL and WSDL-TC that handles process decomposition, assembly and temporally customized web services. The document provides background on related work using process algebra to formalize BPEL. It then describes the BPEL-TC approach and key activities like receive, reply and invoke. Finally, it explains how π-calculus can be used to formally represent BPEL-TC processes and their changing connectivity.
SOME INTEROPERABILITY ISSUES IN THE DESIGNING OF WEB SERVICES : CASE STUDY ON...ijwscjournal
In today’s environment most of the commercial web based project developed in the industry as well
enumerous number of funded project/and studies taken as part of research oriented initiatives in the
academia suffer from major technical issues as to how design, develop and deploy the Web Services that
can run in variety of heterogeneous environments. In this paper we address the issues of
interoperability between Web Services, the metrics which can be used to measure the interoperability
and simulate the Online shopping application by developing the Credit Card Verification Software
using Luhn’s Mod 10 algorithm having Java Client written in NetBeans and the BankWebService in
C# .NET.
Evaluation of QoS based Web- Service Selection Techniques for Service Composi...Waqas Tariq
This document discusses quality of service (QoS) based techniques for selecting web services for service composition. It begins by providing background on service-oriented computing and defining service composition. The document then reviews three approaches to web service selection: functional, non-functional, and user-based. It focuses on non-functional (QoS-based) service selection, describing the specifications of QoS-based service selection techniques, including QoS modeling, categorization, user preferences, evaluation criteria, and aggregating evaluation results. The document aims to evaluate various QoS-based service selection techniques and identify criteria for comparing them.
This document provides an overview of service-oriented architecture (SOA) and metrics to measure coupling in SOA. It first defines key concepts in SOA like loosely coupled services, service orientation, and service-oriented computing. It then discusses the three planes of SOA - service foundations, service composition, and service management and monitoring. Finally, it proposes using metrics to measure coupling between services to predict maintainability during the design phase of SOA systems.
Ontology based dynamic business process customizationieijjournal
The document discusses ontology-based customization of dynamic business processes. It proposes using a human semantic web approach to customize processes for consumers. The framework detects customization needs by identifying discrepancies between primary and secondary business processes. It then enacts customizations automatically using rules and notifications. The approach uses ontologies, semantic web technologies like RDF, and categorization tools to map processes and overcome semantic mismatches between heterogeneous descriptions.
Semantic web based software engineering by automated requirements ontology ge...IJwest
This paper presents an approach for automated generation of requirements ontology using UML diagrams in service-oriented architecture (SOA). The goal of this paper is to convenience progress of software engineering processes like software design, software reuse, service discovering and etc. The proposed method is based on a four conceptual layers. The first layer includes requirements achieved by stakeholders, the second one designs service-oriented diagrams from the data in first layer and extracts XMI codes of them. The third layer includes requirement ontology and protocol ontology to describe behavior of services and relationships between them semantically. Finally the forth layer makes standard the concepts exists in ontologies of previous layer. The generated ontology exceeds absolute domain ontology because it considers the behavior of services moreover the hierarchical relationship of them. Experimental results conducted on a set of UML4Soa diagrams in different scopes demonstrate the improvement of the proposed approach from different points of view such as: completeness of requirements ontology, automatic generation and considering SOA.
This document describes SWORD, a toolkit for composing web services. SWORD represents each service as a rule specifying its inputs and outputs. When a user wants to create a composite service, SWORD uses a rule engine to determine if it can be realized by composing existing services. If so, SWORD generates a composition plan specifying the sequence of services to invoke. SWORD has been implemented in a prototype and can compose information-providing services like those providing data about people, movies, etc. without requiring emerging standards like WSDL or SOAP.
Service-oriented computing is meant to support loose relationships between organizations; Serviceoriented
architectures often have the goal to integrate various distributed services of one or more
organizations in a flexible way to be able to quickly react on business changes.
Distributed services provided a new way of distributed computing that achieve the interoperability between
heterogonous application through platform and language independent interfaces. The creation of value
added services by composition of existing ones is gaining a significant momentum. Distributed service
composition is meant to support loose relationships between implemented services in order to provide new
functions. A composite service is the one resulting from the integration, coordination and synchronization
of different service components. In this paper, we generated A Services Composition Model (SCM) that
provides a general solution for the services composition problem by realizing the requirements of a new
service using the requirements of the already existing service. We explained in details all the steps of the
composition process; services registration, services discovery, services selection, services invoking, and
services integration. Although the SCM is not bounded to one particular algorithm to compose services, we
generated an application as an example to test our Service Composition Model.
We also generated the Services Composition Language (SCL) as a simple text-based language which
allows the user to express the requirements of his request, the inserted request will then be analyzed using
our Parsing Algorithm to determine the name of the requested services, after that our Service Composition
Algorithm will execute all the steps of the composition process and return the result of the composition to
the user.
This document discusses formalizing BPEL-TC (Business Process Execution Language - Temporal Customization) through π-calculus. BPEL-TC is an extension of BPEL and WSDL-TC that handles process decomposition, assembly and temporally customized web services. The document provides background on related work using process algebra to formalize BPEL. It then describes the BPEL-TC approach and key activities like receive, reply and invoke. Finally, it explains how π-calculus can be used to formally represent BPEL-TC processes and their changing connectivity.
SOME INTEROPERABILITY ISSUES IN THE DESIGNING OF WEB SERVICES : CASE STUDY ON...ijwscjournal
In today’s environment most of the commercial web based project developed in the industry as well
enumerous number of funded project/and studies taken as part of research oriented initiatives in the
academia suffer from major technical issues as to how design, develop and deploy the Web Services that
can run in variety of heterogeneous environments. In this paper we address the issues of
interoperability between Web Services, the metrics which can be used to measure the interoperability
and simulate the Online shopping application by developing the Credit Card Verification Software
using Luhn’s Mod 10 algorithm having Java Client written in NetBeans and the BankWebService in
C# .NET.
Evaluation of QoS based Web- Service Selection Techniques for Service Composi...Waqas Tariq
This document discusses quality of service (QoS) based techniques for selecting web services for service composition. It begins by providing background on service-oriented computing and defining service composition. The document then reviews three approaches to web service selection: functional, non-functional, and user-based. It focuses on non-functional (QoS-based) service selection, describing the specifications of QoS-based service selection techniques, including QoS modeling, categorization, user preferences, evaluation criteria, and aggregating evaluation results. The document aims to evaluate various QoS-based service selection techniques and identify criteria for comparing them.
This document provides an overview of service-oriented architecture (SOA) and metrics to measure coupling in SOA. It first defines key concepts in SOA like loosely coupled services, service orientation, and service-oriented computing. It then discusses the three planes of SOA - service foundations, service composition, and service management and monitoring. Finally, it proposes using metrics to measure coupling between services to predict maintainability during the design phase of SOA systems.
Ontology based dynamic business process customizationieijjournal
The document discusses ontology-based customization of dynamic business processes. It proposes using a human semantic web approach to customize processes for consumers. The framework detects customization needs by identifying discrepancies between primary and secondary business processes. It then enacts customizations automatically using rules and notifications. The approach uses ontologies, semantic web technologies like RDF, and categorization tools to map processes and overcome semantic mismatches between heterogeneous descriptions.
Semantic web based software engineering by automated requirements ontology ge...IJwest
This paper presents an approach for automated generation of requirements ontology using UML diagrams in service-oriented architecture (SOA). The goal of this paper is to convenience progress of software engineering processes like software design, software reuse, service discovering and etc. The proposed method is based on a four conceptual layers. The first layer includes requirements achieved by stakeholders, the second one designs service-oriented diagrams from the data in first layer and extracts XMI codes of them. The third layer includes requirement ontology and protocol ontology to describe behavior of services and relationships between them semantically. Finally the forth layer makes standard the concepts exists in ontologies of previous layer. The generated ontology exceeds absolute domain ontology because it considers the behavior of services moreover the hierarchical relationship of them. Experimental results conducted on a set of UML4Soa diagrams in different scopes demonstrate the improvement of the proposed approach from different points of view such as: completeness of requirements ontology, automatic generation and considering SOA.
This document describes SWORD, a toolkit for composing web services. SWORD represents each service as a rule specifying its inputs and outputs. When a user wants to create a composite service, SWORD uses a rule engine to determine if it can be realized by composing existing services. If so, SWORD generates a composition plan specifying the sequence of services to invoke. SWORD has been implemented in a prototype and can compose information-providing services like those providing data about people, movies, etc. without requiring emerging standards like WSDL or SOAP.
International Journal of Engineering Research and Development (IJERD)IJERD Editor
journal publishing, how to publish research paper, Call For research paper, international journal, publishing a paper, IJERD, journal of science and technology, how to get a research paper published, publishing a paper, publishing of journal, publishing of research paper, reserach and review articles, IJERD Journal, How to publish your research paper, publish research paper, open access engineering journal, Engineering journal, Mathemetics journal, Physics journal, Chemistry journal, Computer Engineering, Computer Science journal, how to submit your paper, peer reviw journal, indexed journal, reserach and review articles, engineering journal, www.ijerd.com, research journals,
yahoo journals, bing journals, International Journal of Engineering Research and Development, google journals, hard copy of journal
AN ARCHITECTURE FOR WEB SERVICE SIMILARITY EVALUATION BASED ON THEIR FUNCTION...ijwscjournal
By increasing popularity of SOC, using Web services in applications has increased too. SOC creates a loosely coupled environment in which the actual execution environment might differ significantly from the one with the presupposed conditions during application design. Therefore, although an appropriate Web service might have been selected, by passing time, the Web service may not be efficient enough or may not be applicable under specific conditions.
For service-oriented systems to be flexible and self-adaptive, it is necessary to automatically select and use a similar service instead of the one which causes the above mentioned problems. Finding a similar service means specifying the proper services which fulfill the same requirements as those fulfilled by the problematic service.
In most of the previous works, a number of the best services (k) are selected and ordered based on functional similarity. The user must select one of these services based on his/her preferences. One important metric in selecting a similar service is considering QoS properties and user preferences about QoS. Because of the importance of this issue, in the present paper, an architecture is proposed in which, in addition to functional similarity, QoS properties and user preferences are also considered in selecting a similar service.
A COMPOSITE DESIGN PATTERN FOR SERVICE INJECTION AND COMPOSITION OF WEB SERVI...ijwscjournal
In this paper we present a Service Injection and composition Design Pattern for Unstructured Peer-to-Peer networks, which is designed with Aspect-oriented design patterns, and amalgamation of the Strategy, Worker Object, and Check-List Design Patterns used to design the Self-Adaptive Systems. It will apply selfreconfiguration planes dynamically without the interruption or intervention of the administrator for handling service failures at the servers. When a client requests for a complex service, Service Composition should be done to fulfil the request. If a service is not available in the memory, it will be injected as Aspectual Feature Module code. We used Service Oriented Architecture (SOA) with Web Services in Java to Implement the composite Design Pattern. As far as we know, there are no studies on composition of design patterns for Peer-to-peer computing domain. The pattern is described using a java-like notation for the classes and interfaces. A simple UML class and Sequence diagrams are depicted.
AN ADAPTIVE APPROACH FOR DYNAMIC RECOVERY DECISIONS IN WEB SERVICE COMPOSITIO...ijwscjournal
Service Oriented Architecture facilitates automatic execution and composition of web services in
distributed environment. This service composition in the heterogeneous environment may suffer from
various kinds of service failures. These failures interrupt the execution of composite web services and
lead towards complete system failure. The dynamic recovery decisions of the failed services are
dependent on non-functional attributes of the services. In the recent years, various methodologies
have been presented to provide recovery decisions based on time related QoS (Quality of Service)
factors. These QoS attributes can be categorized further. Our paper categorized these attributes as
space and time. In this paper, we have proposed an affinity model to quantify the location affinity for
composition of web services. Furthermore, we have also suggested a replication mechanism and
algorithm for taking recovery decisions based on time and space based QoS parameters and usage
pattern of the services by the user.
EARLY PERFORMANCE PREDICTION OF WEB SERVICESijwscjournal
The document describes a methodology for early performance prediction of web services. It involves modeling web services using UML diagrams, simulating the model using a tool called SMTQA, and analyzing performance metrics. The methodology was applied to model a general web services system using use case and sequence diagrams. The model was simulated and found that internet connections and the service broker disk were bottlenecks based on high average waiting times and request dropping probabilities.
Performance Prediction of Service-Oriented Architecture - A surveyEditor IJCATR
Performance prediction and evaluation for SOA based applications assist software consumers to estimate their applications
based on service specifications created by service developers. Incorporating traditional performance models such as Stochastic Petri
Nets, Queuing Networks, and Simulation present drawbacks of SOA based applications due to special characteristics of SOA such as
lose coupling, self-contained and interoperability. Although, researchers have suggested many methods in this area during last decade,
none of them has obtained popular industrial use. Based on this, we have conducted a comprehensive survey on these methods to
estimate their applicability. This survey classified these approaches according to their performance metrics analyzed, performance
models used, and applicable project stage. Our survey helps SOA architects to select the appropriate approach based on target
performance metric and researchers to identify the SOA state-of-art performance prediction
Performance Evaluation of Web Services In Linux On MulticoreCSCJournals
Contemporary Business requires the ability to seamlessly exchange information between internal
business units, customers, and partner, is vital for success. Most organizations employ a variety of
different applications to store and exchange data in dissimilar way and therefore cannot “communicate” to
one another productively [1]. Service Oriented Architecture (SOA) components provide services to other
components via communication protocols typically over a network [2].The technologies like DCOM, RMI,
COBRA, Web Services etc. are developed using SOA, which contributed best to fulfill requirements to
some extent, but components result from these technologies are mostly either language specific or
platform specific,[3]. The services or components developed for one platform may not be able to
communicate and reusable in other platform, as they are mostly language specific or platform specific.
“World Wide Web Consortium (W3C) International community to develop web standards” issued WS-*
specifications for programming language vendors for Web services, which confirms a standard means of
interoperating between different software applications running on a variety of platforms or frameworks
[4][5]. This paper tests web services performance gain along with interoperability, reusability by using
“NAS Parallel Benchmarks (NPB)” set of program [6] developed by NASA Advanced Supercomputing
Division to evaluate the performance of supercomputers.
FUZZY-BASED ARCHITECTURE TO IMPLEMENT SERVICE SELECTION ADAPTATION STRATEGYijwscjournal
One of the main requirements in service based applications is runtime adaptation to changes that occur in
business, user, environment, and computational contexts. Changes in contexts lead to QOS degrade.
Continues adaptation mechanism and strategies are required to stay service based applications(SBA) in
safe state. In this paper a framework for runtime adaptation in service based application isintroduced. It
checks user requirements change continuously and dynamically adopts architecture model. Also it checks
providers QOS attributes continuously and if adaptation requirement is triggered, runs service selection
adaptation strategy to satisfy user preferences. Thusit is a context aware and automatically adaptable
framework for SBA applications. Wehave implemented a fuzzy based system for web service selection unit.
Due to ambiguity of context’s data and cross-cutting effects of quality of services, using fuzzy would result
an optimised decision. Finally we illustrated that using of it has a good performance for web service based
applications.
The document proposes integrating the IRS-II (Internet Reasoning Service) semantic web services framework with the WSPAB (Web Service Personal Address Book) approach. This would solve limitations of each approach. WSPAB allows classification and selection of services but lacks semantic capabilities. IRS-II allows semantic description and execution of services but lacks user-specific information. The integration would leverage IRS-II's semantic abilities with WSPAB's user profiles to provide personalized, semantically enriched service discovery and selection. The document outlines the components and functioning of each approach, and how their integration could provide users with semantic, personalized web services matching their needs.
Flow models describe groups of flows that exhibit consistent behavior characteristics. The main types are peer-to-peer, client-server, hierarchical client-server, and distributed computing. A hierarchical client-server model has multiple server tiers like servers communicating with support servers or managers. Distributed computing can reverse the client-server direction or use a hybrid peer-to-peer and client-server approach depending on how tasks are distributed.
1) The document discusses challenges with achieving interoperability between ultra large scale systems due to heterogeneity in platforms, data, and semantics.
2) It proposes a three-layered model for interoperability using web service technologies and semantic web approaches to address these challenges.
3) Key aspects of interoperability discussed include different levels (e.g. syntactic, semantic), use of ontologies to provide common understandings and resolve conflicts, and semantic web service approaches like OWL-S that semantically annotate service descriptions.
An Adaptive Service Choreography approach based on Ontology-Driven Policy Ref...dannyijwest
Business corporations usually require choreography of services to be dynamic and adaptable. One way
for answering this demand is to develop the services having dynamic behaviours. However, it is not
enough and their behaviours must be composed dynamically too.
The current model such as WS-CDL has a static structure to specify choreography and is not able to
describe the choreography of services in a dynamic fashion. From another view, there are various types
of changes that each needs to be handled diversely. This work is going to bring adaptability into service
choreography model in response to policy changes. Precisely, this target will be met when choreography
model has dynamic structure and also the policy changes can be automatically (semi-automatically)
refined and propagated into the elements of model. Our proposal is describing choreography model on
the basis policy-enabled UML state machine which the policy can be refined through a ontology based
process
Composite Design Pattern For Feature- Oriented Service Injection And Composit...dannyijwest
With the advent of newly introduced programming models like Feature-Oriented Programming (FOP), we
feel that it will be more flexible to include the new service invocation function into the service providing
server as a Feature Module for the self-adaptive distributed systems. A composite design patterns shows a
synergy that makes the composition more than just the sum of its parts which leads to ready-made software
architectures. In this paper we describe the amalgamation of Visitor and Case-Based Reasoning Design
Patterns to the development of the Service Invocation and Web Services Composition through SOA with the
help of JWS technologies and FOP. As far as we know, there are no studies on composition of design
patterns for self adaptive distributed computing domain. We have provided with the sample code developed
for the application and simple UML class diagram is used to describe the architecture
COMPOSITE DESIGN PATTERN FOR FEATUREORIENTED SERVICE INJECTION AND COMPOSITIO...dannyijwest
This document proposes a composite design pattern for feature-oriented service injection and composition of web services in distributed computing systems with service-oriented architecture (SOA). The pattern combines the visitor and case-based reasoning patterns. It allows new services to be included as feature modules at runtime. When a complex service is requested, the case-based reasoning pattern selects the best matching web service description language (WSDL) based on input parameters. If a single server cannot fulfill the request, the visitor pattern is used to invoke services on other servers to compose the response. The pattern provides capabilities for web service composition, invocation and flexible inclusion of new services.
This document provides an overview of service-oriented architecture (SOA) and metrics to measure coupling in SOA. It first defines key concepts in SOA like loosely coupled services, service orientation, and service-oriented computing. It then discusses the three planes of SOA - service foundations, service composition, and service management and monitoring. Finally, it proposes using metrics to measure coupling between services to predict maintainability during the design phase of SOA systems.
WEB SERVICES COMPOSITION METHODS AND TECHNIQUES: A REVIEWijcseit
This document provides a review of existing approaches for web service composition. It begins with an introduction and background on key concepts related to web services and composition such as ontologies, semantic web architecture, semantic annotations, reasoners, matching, and quality of service. It then discusses current methods for web service composition, distinguishing between manual/static composition done at design time versus automatic/dynamic composition done at runtime. The document categorizes and compares different composition approaches and aims to help focus future research efforts.
CONTEMPORARY SEMANTIC WEB SERVICE FRAMEWORKS: AN OVERVIEW AND COMPARISONSijwscjournal
The growing proliferation of distributed information systems, allows organizations to offer their business processes to a worldwide audience through Web services. Semantic Web services have emerged as a means to achieve the vision of automatic discovery, selection, composition, and invocation of Web services by encoding the specifications of these software components in an unambiguous and machine-interpretable form. Several frameworks have been devised as enabling technologies for Semantic Web services. In this paper, we survey the prominent Semantic Web service frameworks. In addition, a set of criteria is identified and the discussed frameworks are evaluated and compared with respect to these criteria. Knowing the strengths and weaknesses of the Semantic Web service frameworks can help researchers to utilize the most appropriate one according to their needs.
CONTEMPORARY SEMANTIC WEB SERVICE FRAMEWORKS: AN OVERVIEW AND COMPARISONSijwscjournal
The growing proliferation of distributed information systems, allows organizations to offer their business processes to a worldwide audience through Web services. Semantic Web services have emerged as a means to achieve the vision of automatic discovery, selection, composition, and invocation of Web services by encoding the specifications of these software components in an unambiguous and machine-interpretable
form. Several frameworks have been devised as enabling technologies for Semantic Web services. In this paper, we survey the prominent Semantic Web service frameworks. In addition, a set of criteria is identified and the discussed frameworks are evaluated and compared with respect to these criteria. Knowing the strengths and weaknesses of the Semantic Web service frameworks can help researchers to utilize the most appropriate one according to their needs.
WEB SERVICES COMPOSITION METHODS AND TECHNIQUES: A REVIEWijcseit
This document provides a review of web service composition methods and techniques. It begins with an abstract that discusses the increasing need for web service composition as more services become available online. The document then reviews several key concepts related to web service composition, such as ontologies, semantic annotations, quality of service measures, and description languages. It categorizes composition approaches as either syntactic or semantic-based. Syntactic composition relies on syntax alone while semantic composition leverages semantic descriptions. The document discusses various composition methods including manual/static composition, automatic/dynamic composition, and semi-automatic/dynamic or static composition. It provides examples of techniques used for each method. Overall, the document aims to help researchers focus their efforts on developing lasting solutions for
International Journal of Computer Science, Engineering and Information Techno...ijcseit
Web Services are modular, self-describing, self-contained and loosely coupled applications that can be
published, located, and invoked across the web. With the increasing number of web services available on
the web, the need for web services composition is becoming more and more important. Nowadays, for
answering complex needs of users, the construction of new web services based on existing ones is required.
This problem is known as web services composition. However, it is one of big challenge problems of recent
years in a distributed and dynamic environment. The various approaches in field of web service
compositions proposed by the researchers. In this paper we present a review of existing approaches for
web service composition and compare them among each other with respect to some key requirements. We
hope this paper helps researchers to focus on their efforts and to deliver lasting solutions in this field.
SIMILARITY MEASURES FOR WEB SERVICE COMPOSITION MODELSijwscjournal
This document discusses similarity measures for comparing web service composition models. It begins with an abstract that introduces the concept of web service compositions and the need for similarity measures to determine how close one composition is to a given specification. It then provides background on related work involving syntactic, semantic and behavioral similarity measures for web services. The main part of the document proposes a set of similarity measures for comparing web service composition models, including state similarity measures based on state name, type, output parameters, and service type. It represents compositions as finite state machines to define states and transitions. The goal is to measure the degree of closeness between compositions regardless of their modeling language.
Similarity measures for web service composition modelsijwscjournal
A Web service composition is an interconnected set of multiple specialized Web service operations, which
complement each other to offer an improved tool capable of solving more complex problems. Manual
design and implementation of Web service compositions are among the most difficult and error prone tasks.
To face this complexity and to reduce errors at design time, the developer can alternatively search and
reuse existing compositions that have solved similar problems. Thus the problem of designing and
implementing Web service compositions can be reduced to the problem of finding and selecting the
composition closest to an initial specification. To achieve this goal, there is the need to define and use
similarity measures to determine how close is a given composition with respect to any given specification.
Comparison of Web service compositions can be done using two possible sources: composition designs
(models), and execution logs of compositions. In particular, in this paper a set of similarity measures are
described for Web service composition models. The main objective is to measure and assess the degree of
closeness between two given compositions of Web services regardless of their modelling language.
International Journal of Engineering Research and Development (IJERD)IJERD Editor
journal publishing, how to publish research paper, Call For research paper, international journal, publishing a paper, IJERD, journal of science and technology, how to get a research paper published, publishing a paper, publishing of journal, publishing of research paper, reserach and review articles, IJERD Journal, How to publish your research paper, publish research paper, open access engineering journal, Engineering journal, Mathemetics journal, Physics journal, Chemistry journal, Computer Engineering, Computer Science journal, how to submit your paper, peer reviw journal, indexed journal, reserach and review articles, engineering journal, www.ijerd.com, research journals,
yahoo journals, bing journals, International Journal of Engineering Research and Development, google journals, hard copy of journal
AN ARCHITECTURE FOR WEB SERVICE SIMILARITY EVALUATION BASED ON THEIR FUNCTION...ijwscjournal
By increasing popularity of SOC, using Web services in applications has increased too. SOC creates a loosely coupled environment in which the actual execution environment might differ significantly from the one with the presupposed conditions during application design. Therefore, although an appropriate Web service might have been selected, by passing time, the Web service may not be efficient enough or may not be applicable under specific conditions.
For service-oriented systems to be flexible and self-adaptive, it is necessary to automatically select and use a similar service instead of the one which causes the above mentioned problems. Finding a similar service means specifying the proper services which fulfill the same requirements as those fulfilled by the problematic service.
In most of the previous works, a number of the best services (k) are selected and ordered based on functional similarity. The user must select one of these services based on his/her preferences. One important metric in selecting a similar service is considering QoS properties and user preferences about QoS. Because of the importance of this issue, in the present paper, an architecture is proposed in which, in addition to functional similarity, QoS properties and user preferences are also considered in selecting a similar service.
A COMPOSITE DESIGN PATTERN FOR SERVICE INJECTION AND COMPOSITION OF WEB SERVI...ijwscjournal
In this paper we present a Service Injection and composition Design Pattern for Unstructured Peer-to-Peer networks, which is designed with Aspect-oriented design patterns, and amalgamation of the Strategy, Worker Object, and Check-List Design Patterns used to design the Self-Adaptive Systems. It will apply selfreconfiguration planes dynamically without the interruption or intervention of the administrator for handling service failures at the servers. When a client requests for a complex service, Service Composition should be done to fulfil the request. If a service is not available in the memory, it will be injected as Aspectual Feature Module code. We used Service Oriented Architecture (SOA) with Web Services in Java to Implement the composite Design Pattern. As far as we know, there are no studies on composition of design patterns for Peer-to-peer computing domain. The pattern is described using a java-like notation for the classes and interfaces. A simple UML class and Sequence diagrams are depicted.
AN ADAPTIVE APPROACH FOR DYNAMIC RECOVERY DECISIONS IN WEB SERVICE COMPOSITIO...ijwscjournal
Service Oriented Architecture facilitates automatic execution and composition of web services in
distributed environment. This service composition in the heterogeneous environment may suffer from
various kinds of service failures. These failures interrupt the execution of composite web services and
lead towards complete system failure. The dynamic recovery decisions of the failed services are
dependent on non-functional attributes of the services. In the recent years, various methodologies
have been presented to provide recovery decisions based on time related QoS (Quality of Service)
factors. These QoS attributes can be categorized further. Our paper categorized these attributes as
space and time. In this paper, we have proposed an affinity model to quantify the location affinity for
composition of web services. Furthermore, we have also suggested a replication mechanism and
algorithm for taking recovery decisions based on time and space based QoS parameters and usage
pattern of the services by the user.
EARLY PERFORMANCE PREDICTION OF WEB SERVICESijwscjournal
The document describes a methodology for early performance prediction of web services. It involves modeling web services using UML diagrams, simulating the model using a tool called SMTQA, and analyzing performance metrics. The methodology was applied to model a general web services system using use case and sequence diagrams. The model was simulated and found that internet connections and the service broker disk were bottlenecks based on high average waiting times and request dropping probabilities.
Performance Prediction of Service-Oriented Architecture - A surveyEditor IJCATR
Performance prediction and evaluation for SOA based applications assist software consumers to estimate their applications
based on service specifications created by service developers. Incorporating traditional performance models such as Stochastic Petri
Nets, Queuing Networks, and Simulation present drawbacks of SOA based applications due to special characteristics of SOA such as
lose coupling, self-contained and interoperability. Although, researchers have suggested many methods in this area during last decade,
none of them has obtained popular industrial use. Based on this, we have conducted a comprehensive survey on these methods to
estimate their applicability. This survey classified these approaches according to their performance metrics analyzed, performance
models used, and applicable project stage. Our survey helps SOA architects to select the appropriate approach based on target
performance metric and researchers to identify the SOA state-of-art performance prediction
Performance Evaluation of Web Services In Linux On MulticoreCSCJournals
Contemporary Business requires the ability to seamlessly exchange information between internal
business units, customers, and partner, is vital for success. Most organizations employ a variety of
different applications to store and exchange data in dissimilar way and therefore cannot “communicate” to
one another productively [1]. Service Oriented Architecture (SOA) components provide services to other
components via communication protocols typically over a network [2].The technologies like DCOM, RMI,
COBRA, Web Services etc. are developed using SOA, which contributed best to fulfill requirements to
some extent, but components result from these technologies are mostly either language specific or
platform specific,[3]. The services or components developed for one platform may not be able to
communicate and reusable in other platform, as they are mostly language specific or platform specific.
“World Wide Web Consortium (W3C) International community to develop web standards” issued WS-*
specifications for programming language vendors for Web services, which confirms a standard means of
interoperating between different software applications running on a variety of platforms or frameworks
[4][5]. This paper tests web services performance gain along with interoperability, reusability by using
“NAS Parallel Benchmarks (NPB)” set of program [6] developed by NASA Advanced Supercomputing
Division to evaluate the performance of supercomputers.
FUZZY-BASED ARCHITECTURE TO IMPLEMENT SERVICE SELECTION ADAPTATION STRATEGYijwscjournal
One of the main requirements in service based applications is runtime adaptation to changes that occur in
business, user, environment, and computational contexts. Changes in contexts lead to QOS degrade.
Continues adaptation mechanism and strategies are required to stay service based applications(SBA) in
safe state. In this paper a framework for runtime adaptation in service based application isintroduced. It
checks user requirements change continuously and dynamically adopts architecture model. Also it checks
providers QOS attributes continuously and if adaptation requirement is triggered, runs service selection
adaptation strategy to satisfy user preferences. Thusit is a context aware and automatically adaptable
framework for SBA applications. Wehave implemented a fuzzy based system for web service selection unit.
Due to ambiguity of context’s data and cross-cutting effects of quality of services, using fuzzy would result
an optimised decision. Finally we illustrated that using of it has a good performance for web service based
applications.
The document proposes integrating the IRS-II (Internet Reasoning Service) semantic web services framework with the WSPAB (Web Service Personal Address Book) approach. This would solve limitations of each approach. WSPAB allows classification and selection of services but lacks semantic capabilities. IRS-II allows semantic description and execution of services but lacks user-specific information. The integration would leverage IRS-II's semantic abilities with WSPAB's user profiles to provide personalized, semantically enriched service discovery and selection. The document outlines the components and functioning of each approach, and how their integration could provide users with semantic, personalized web services matching their needs.
Flow models describe groups of flows that exhibit consistent behavior characteristics. The main types are peer-to-peer, client-server, hierarchical client-server, and distributed computing. A hierarchical client-server model has multiple server tiers like servers communicating with support servers or managers. Distributed computing can reverse the client-server direction or use a hybrid peer-to-peer and client-server approach depending on how tasks are distributed.
1) The document discusses challenges with achieving interoperability between ultra large scale systems due to heterogeneity in platforms, data, and semantics.
2) It proposes a three-layered model for interoperability using web service technologies and semantic web approaches to address these challenges.
3) Key aspects of interoperability discussed include different levels (e.g. syntactic, semantic), use of ontologies to provide common understandings and resolve conflicts, and semantic web service approaches like OWL-S that semantically annotate service descriptions.
An Adaptive Service Choreography approach based on Ontology-Driven Policy Ref...dannyijwest
Business corporations usually require choreography of services to be dynamic and adaptable. One way
for answering this demand is to develop the services having dynamic behaviours. However, it is not
enough and their behaviours must be composed dynamically too.
The current model such as WS-CDL has a static structure to specify choreography and is not able to
describe the choreography of services in a dynamic fashion. From another view, there are various types
of changes that each needs to be handled diversely. This work is going to bring adaptability into service
choreography model in response to policy changes. Precisely, this target will be met when choreography
model has dynamic structure and also the policy changes can be automatically (semi-automatically)
refined and propagated into the elements of model. Our proposal is describing choreography model on
the basis policy-enabled UML state machine which the policy can be refined through a ontology based
process
Composite Design Pattern For Feature- Oriented Service Injection And Composit...dannyijwest
With the advent of newly introduced programming models like Feature-Oriented Programming (FOP), we
feel that it will be more flexible to include the new service invocation function into the service providing
server as a Feature Module for the self-adaptive distributed systems. A composite design patterns shows a
synergy that makes the composition more than just the sum of its parts which leads to ready-made software
architectures. In this paper we describe the amalgamation of Visitor and Case-Based Reasoning Design
Patterns to the development of the Service Invocation and Web Services Composition through SOA with the
help of JWS technologies and FOP. As far as we know, there are no studies on composition of design
patterns for self adaptive distributed computing domain. We have provided with the sample code developed
for the application and simple UML class diagram is used to describe the architecture
COMPOSITE DESIGN PATTERN FOR FEATUREORIENTED SERVICE INJECTION AND COMPOSITIO...dannyijwest
This document proposes a composite design pattern for feature-oriented service injection and composition of web services in distributed computing systems with service-oriented architecture (SOA). The pattern combines the visitor and case-based reasoning patterns. It allows new services to be included as feature modules at runtime. When a complex service is requested, the case-based reasoning pattern selects the best matching web service description language (WSDL) based on input parameters. If a single server cannot fulfill the request, the visitor pattern is used to invoke services on other servers to compose the response. The pattern provides capabilities for web service composition, invocation and flexible inclusion of new services.
This document provides an overview of service-oriented architecture (SOA) and metrics to measure coupling in SOA. It first defines key concepts in SOA like loosely coupled services, service orientation, and service-oriented computing. It then discusses the three planes of SOA - service foundations, service composition, and service management and monitoring. Finally, it proposes using metrics to measure coupling between services to predict maintainability during the design phase of SOA systems.
WEB SERVICES COMPOSITION METHODS AND TECHNIQUES: A REVIEWijcseit
This document provides a review of existing approaches for web service composition. It begins with an introduction and background on key concepts related to web services and composition such as ontologies, semantic web architecture, semantic annotations, reasoners, matching, and quality of service. It then discusses current methods for web service composition, distinguishing between manual/static composition done at design time versus automatic/dynamic composition done at runtime. The document categorizes and compares different composition approaches and aims to help focus future research efforts.
CONTEMPORARY SEMANTIC WEB SERVICE FRAMEWORKS: AN OVERVIEW AND COMPARISONSijwscjournal
The growing proliferation of distributed information systems, allows organizations to offer their business processes to a worldwide audience through Web services. Semantic Web services have emerged as a means to achieve the vision of automatic discovery, selection, composition, and invocation of Web services by encoding the specifications of these software components in an unambiguous and machine-interpretable form. Several frameworks have been devised as enabling technologies for Semantic Web services. In this paper, we survey the prominent Semantic Web service frameworks. In addition, a set of criteria is identified and the discussed frameworks are evaluated and compared with respect to these criteria. Knowing the strengths and weaknesses of the Semantic Web service frameworks can help researchers to utilize the most appropriate one according to their needs.
CONTEMPORARY SEMANTIC WEB SERVICE FRAMEWORKS: AN OVERVIEW AND COMPARISONSijwscjournal
The growing proliferation of distributed information systems, allows organizations to offer their business processes to a worldwide audience through Web services. Semantic Web services have emerged as a means to achieve the vision of automatic discovery, selection, composition, and invocation of Web services by encoding the specifications of these software components in an unambiguous and machine-interpretable
form. Several frameworks have been devised as enabling technologies for Semantic Web services. In this paper, we survey the prominent Semantic Web service frameworks. In addition, a set of criteria is identified and the discussed frameworks are evaluated and compared with respect to these criteria. Knowing the strengths and weaknesses of the Semantic Web service frameworks can help researchers to utilize the most appropriate one according to their needs.
WEB SERVICES COMPOSITION METHODS AND TECHNIQUES: A REVIEWijcseit
This document provides a review of web service composition methods and techniques. It begins with an abstract that discusses the increasing need for web service composition as more services become available online. The document then reviews several key concepts related to web service composition, such as ontologies, semantic annotations, quality of service measures, and description languages. It categorizes composition approaches as either syntactic or semantic-based. Syntactic composition relies on syntax alone while semantic composition leverages semantic descriptions. The document discusses various composition methods including manual/static composition, automatic/dynamic composition, and semi-automatic/dynamic or static composition. It provides examples of techniques used for each method. Overall, the document aims to help researchers focus their efforts on developing lasting solutions for
International Journal of Computer Science, Engineering and Information Techno...ijcseit
Web Services are modular, self-describing, self-contained and loosely coupled applications that can be
published, located, and invoked across the web. With the increasing number of web services available on
the web, the need for web services composition is becoming more and more important. Nowadays, for
answering complex needs of users, the construction of new web services based on existing ones is required.
This problem is known as web services composition. However, it is one of big challenge problems of recent
years in a distributed and dynamic environment. The various approaches in field of web service
compositions proposed by the researchers. In this paper we present a review of existing approaches for
web service composition and compare them among each other with respect to some key requirements. We
hope this paper helps researchers to focus on their efforts and to deliver lasting solutions in this field.
SIMILARITY MEASURES FOR WEB SERVICE COMPOSITION MODELSijwscjournal
This document discusses similarity measures for comparing web service composition models. It begins with an abstract that introduces the concept of web service compositions and the need for similarity measures to determine how close one composition is to a given specification. It then provides background on related work involving syntactic, semantic and behavioral similarity measures for web services. The main part of the document proposes a set of similarity measures for comparing web service composition models, including state similarity measures based on state name, type, output parameters, and service type. It represents compositions as finite state machines to define states and transitions. The goal is to measure the degree of closeness between compositions regardless of their modeling language.
Similarity measures for web service composition modelsijwscjournal
A Web service composition is an interconnected set of multiple specialized Web service operations, which
complement each other to offer an improved tool capable of solving more complex problems. Manual
design and implementation of Web service compositions are among the most difficult and error prone tasks.
To face this complexity and to reduce errors at design time, the developer can alternatively search and
reuse existing compositions that have solved similar problems. Thus the problem of designing and
implementing Web service compositions can be reduced to the problem of finding and selecting the
composition closest to an initial specification. To achieve this goal, there is the need to define and use
similarity measures to determine how close is a given composition with respect to any given specification.
Comparison of Web service compositions can be done using two possible sources: composition designs
(models), and execution logs of compositions. In particular, in this paper a set of similarity measures are
described for Web service composition models. The main objective is to measure and assess the degree of
closeness between two given compositions of Web services regardless of their modelling language.
Suitability of UML State Machine for Modeling Choreography of Services dannyijwest
This document discusses using UML state machines to model service choreography. It begins by defining requirements for choreography modeling languages, including supporting interaction patterns, multiple levels of abstraction (logical and implementation), and dynamic structure. It then categorizes choreography languages and discusses state-based approaches. The document focuses on using UML state machines to model choreography, examining how they can capture interaction patterns and support logical/implementation levels and dynamic structure through properties like hierarchy, quality of service associations, and events. It concludes UML state machines are a good candidate for modeling choreography, especially when adaptability is required.
The document describes a conceptual model for services in the PLASTIC project. It builds on previous work modeling mobile distributed computing platforms. The conceptual model represents components, services, and their relationships using a UML-like notation. It extends an existing SeCSE conceptual model by introducing new concepts like context, location, adaptation, and relationships between services and software components. The goal is to develop a common vocabulary that all project partners can use to facilitate communication and modeling tasks.
SOME INTEROPERABILITY ISSUES IN THE DESIGNING OF WEB SERVICES : CASE STUDY ON...ijwscjournal
In today’s environment most of the commercial web based project developed in the industry as well enumerous number of funded project/and studies taken as part of research oriented initiatives in the academia suffer from major technical issues as to how design, develop and deploy the Web Services that
can run in variety of heterogeneous environments. In this paper we address the issues of interoperability between Web Services, the metrics which can be used to measure the interoperability and simulate the Online shopping application by developing the Credit Card Verification Software using Luhn’s Mod 10 algorithm having Java Client written in NetBeans and the BankWebService in C# .NET.
EARLY PERFORMANCE PREDICTION OF WEB SERVICESijwscjournal
The document describes a methodology for early performance prediction of web services. It involves modeling web services using UML diagrams, simulating the model using a tool called SMTQA, and analyzing performance metrics. The methodology was applied to model a general web services system using use case and sequence diagrams. The model was simulated and bottleneck resources like Internet connections and disks were identified based on high average waiting times and probability of request dropping.
Referring Expressions with Rational Speech Act Framework: A Probabilistic App...IJDKP
This paper focuses on a referring expression generation (REG) task in which the aim is to pick
out an object in a complex visual scene. One common theoretical approach to this problem is
to model the task as a two-agent cooperative scheme in which a ‘speaker’ agent would generate
the expression that best describes a targeted area and a ‘listener’ agent would identify the target.
Several recent REG systems have used deep learning approaches to represent the speaker/listener
agents. The Rational Speech Act framework (RSA), a Bayesian approach to pragmatics that can
predict human linguistic behavior quite accurately, has been shown to generate high quality and
explainable expressions on toy datasets involving simple visual scenes. Its application to large scale
problems, however, remains largely unexplored. This paper applies a combination of the probabilistic
RSA framework and deep learning approaches to larger datasets involving complex visual scenes
in a multi-step process with the aim of generating better-explained expressions. We carry out
experiments on the RefCOCO and RefCOCO+ datasets and compare our approach with other endto-end deep learning approaches as well as a variation of RSA to highlight our key contribution.
Experimental results show that while achieving lower accuracy than SOTA deep learning methods,
our approach outperforms similar RSA approach in human comprehension and has an advantage
over end-to-end deep learning under limited data scenario. Lastly, we provide a detailed analysis
on the expression generation process with concrete examples, thus providing a systematic view
on error types and deficiencies in the generation process and identifying possible areas for future
improvements.
EARLY PERFORMANCE PREDICTION OF WEB SERVICESijwscjournal
Web Service is an interface which implements business logic. Performance is an important quality aspect of Web services because of their distributed nature. Predicting the performance of web services during early stages of software development is significant. In this paper we model web service using Unified Modeling Language, Use Case Diagram, Sequence Diagram, Deployment Diagram. We obtain the Performance metrics by simulating the web services model using a simulation tool Simulation of Multi-Tier Queuing Architecture. We have identified the bottle neck resources.
EARLY PERFORMANCE PREDICTION OF WEB SERVICESijwscjournal
Web Service is an interface which implements business logic. Performance is an important quality aspect of Web services because of their distributed nature. Predicting the performance of web services during early stages of software development is significant. In this paper we model web service using Unified Modeling Language, Use Case Diagram, Sequence Diagram, Deployment Diagram. We obtain the Performance metrics by simulating the web services model using a simulation tool Simulation of Multi-Tier Queuing Architecture. We have identified the bottle neck resources.
This document provides an overview of service oriented architecture (SOA) and directions for SOA. It introduces a conceptual framework for understanding software integration as different layers, from the communication layer to the presentation layer. It then evaluates existing SOA realization approaches like WS-* specifications, ebXML, semantic web services, and RESTful services based on this framework. The document concludes by outlining future directions in SOA to further simplify the problem of integration.
WEB SERVICES DISCOVERY AND RECOMMENDATION BASED ON INFORMATION EXTRACTION AND...ijwscjournal
This paper shows that the problem of web services representation is crucial and analyzes the various factors that influence on it. It presents the traditional representation of web services considering traditional textual descriptions based on the information contained in WSDL files. Unfortunately, textual web services descriptions are dirty and need significant cleaning to keep only useful information. To deal with this problem, we introduce rules based text tagging method, which allows filtering web service description to keep only significant information. A new representation based on such filtered data is then introduced. Many web services have empty descriptions. Also, we consider web services representations based on the
WSDL file structure (types, attributes, etc.). Alternatively, we introduce a new representation called symbolic reputation, which is computed from relationships between web services. The impact of the use of these representations on web service discovery and recommendation is studied and discussed in the
experimentation using real world web services.
Semelhante a EXTENDING WS-CDL TO SUPPORT REUSABILITY (20)
Electric vehicle and photovoltaic advanced roles in enhancing the financial p...IJECEIAES
Climate change's impact on the planet forced the United Nations and governments to promote green energies and electric transportation. The deployments of photovoltaic (PV) and electric vehicle (EV) systems gained stronger momentum due to their numerous advantages over fossil fuel types. The advantages go beyond sustainability to reach financial support and stability. The work in this paper introduces the hybrid system between PV and EV to support industrial and commercial plants. This paper covers the theoretical framework of the proposed hybrid system including the required equation to complete the cost analysis when PV and EV are present. In addition, the proposed design diagram which sets the priorities and requirements of the system is presented. The proposed approach allows setup to advance their power stability, especially during power outages. The presented information supports researchers and plant owners to complete the necessary analysis while promoting the deployment of clean energy. The result of a case study that represents a dairy milk farmer supports the theoretical works and highlights its advanced benefits to existing plants. The short return on investment of the proposed approach supports the paper's novelty approach for the sustainable electrical system. In addition, the proposed system allows for an isolated power setup without the need for a transmission line which enhances the safety of the electrical network
Use PyCharm for remote debugging of WSL on a Windo cf5c162d672e4e58b4dde5d797...shadow0702a
This document serves as a comprehensive step-by-step guide on how to effectively use PyCharm for remote debugging of the Windows Subsystem for Linux (WSL) on a local Windows machine. It meticulously outlines several critical steps in the process, starting with the crucial task of enabling permissions, followed by the installation and configuration of WSL.
The guide then proceeds to explain how to set up the SSH service within the WSL environment, an integral part of the process. Alongside this, it also provides detailed instructions on how to modify the inbound rules of the Windows firewall to facilitate the process, ensuring that there are no connectivity issues that could potentially hinder the debugging process.
The document further emphasizes on the importance of checking the connection between the Windows and WSL environments, providing instructions on how to ensure that the connection is optimal and ready for remote debugging.
It also offers an in-depth guide on how to configure the WSL interpreter and files within the PyCharm environment. This is essential for ensuring that the debugging process is set up correctly and that the program can be run effectively within the WSL terminal.
Additionally, the document provides guidance on how to set up breakpoints for debugging, a fundamental aspect of the debugging process which allows the developer to stop the execution of their code at certain points and inspect their program at those stages.
Finally, the document concludes by providing a link to a reference blog. This blog offers additional information and guidance on configuring the remote Python interpreter in PyCharm, providing the reader with a well-rounded understanding of the process.
Redefining brain tumor segmentation: a cutting-edge convolutional neural netw...IJECEIAES
Medical image analysis has witnessed significant advancements with deep learning techniques. In the domain of brain tumor segmentation, the ability to
precisely delineate tumor boundaries from magnetic resonance imaging (MRI)
scans holds profound implications for diagnosis. This study presents an ensemble convolutional neural network (CNN) with transfer learning, integrating
the state-of-the-art Deeplabv3+ architecture with the ResNet18 backbone. The
model is rigorously trained and evaluated, exhibiting remarkable performance
metrics, including an impressive global accuracy of 99.286%, a high-class accuracy of 82.191%, a mean intersection over union (IoU) of 79.900%, a weighted
IoU of 98.620%, and a Boundary F1 (BF) score of 83.303%. Notably, a detailed comparative analysis with existing methods showcases the superiority of
our proposed model. These findings underscore the model’s competence in precise brain tumor localization, underscoring its potential to revolutionize medical
image analysis and enhance healthcare outcomes. This research paves the way
for future exploration and optimization of advanced CNN models in medical
imaging, emphasizing addressing false positives and resource efficiency.
ACEP Magazine edition 4th launched on 05.06.2024Rahul
This document provides information about the third edition of the magazine "Sthapatya" published by the Association of Civil Engineers (Practicing) Aurangabad. It includes messages from current and past presidents of ACEP, memories and photos from past ACEP events, information on life time achievement awards given by ACEP, and a technical article on concrete maintenance, repairs and strengthening. The document highlights activities of ACEP and provides a technical educational article for members.
Literature Review Basics and Understanding Reference Management.pptxDr Ramhari Poudyal
Three-day training on academic research focuses on analytical tools at United Technical College, supported by the University Grant Commission, Nepal. 24-26 May 2024
Harnessing WebAssembly for Real-time Stateless Streaming PipelinesChristina Lin
Traditionally, dealing with real-time data pipelines has involved significant overhead, even for straightforward tasks like data transformation or masking. However, in this talk, we’ll venture into the dynamic realm of WebAssembly (WASM) and discover how it can revolutionize the creation of stateless streaming pipelines within a Kafka (Redpanda) broker. These pipelines are adept at managing low-latency, high-data-volume scenarios.
DEEP LEARNING FOR SMART GRID INTRUSION DETECTION: A HYBRID CNN-LSTM-BASED MODELgerogepatton
As digital technology becomes more deeply embedded in power systems, protecting the communication
networks of Smart Grids (SG) has emerged as a critical concern. Distributed Network Protocol 3 (DNP3)
represents a multi-tiered application layer protocol extensively utilized in Supervisory Control and Data
Acquisition (SCADA)-based smart grids to facilitate real-time data gathering and control functionalities.
Robust Intrusion Detection Systems (IDS) are necessary for early threat detection and mitigation because
of the interconnection of these networks, which makes them vulnerable to a variety of cyberattacks. To
solve this issue, this paper develops a hybrid Deep Learning (DL) model specifically designed for intrusion
detection in smart grids. The proposed approach is a combination of the Convolutional Neural Network
(CNN) and the Long-Short-Term Memory algorithms (LSTM). We employed a recent intrusion detection
dataset (DNP3), which focuses on unauthorized commands and Denial of Service (DoS) cyberattacks, to
train and test our model. The results of our experiments show that our CNN-LSTM method is much better
at finding smart grid intrusions than other deep learning algorithms used for classification. In addition,
our proposed approach improves accuracy, precision, recall, and F1 score, achieving a high detection
accuracy rate of 99.50%.
Understanding Inductive Bias in Machine LearningSUTEJAS
This presentation explores the concept of inductive bias in machine learning. It explains how algorithms come with built-in assumptions and preferences that guide the learning process. You'll learn about the different types of inductive bias and how they can impact the performance and generalizability of machine learning models.
The presentation also covers the positive and negative aspects of inductive bias, along with strategies for mitigating potential drawbacks. We'll explore examples of how bias manifests in algorithms like neural networks and decision trees.
By understanding inductive bias, you can gain valuable insights into how machine learning models work and make informed decisions when building and deploying them.
The CBC machine is a common diagnostic tool used by doctors to measure a patient's red blood cell count, white blood cell count and platelet count. The machine uses a small sample of the patient's blood, which is then placed into special tubes and analyzed. The results of the analysis are then displayed on a screen for the doctor to review. The CBC machine is an important tool for diagnosing various conditions, such as anemia, infection and leukemia. It can also help to monitor a patient's response to treatment.
Advanced control scheme of doubly fed induction generator for wind turbine us...IJECEIAES
This paper describes a speed control device for generating electrical energy on an electricity network based on the doubly fed induction generator (DFIG) used for wind power conversion systems. At first, a double-fed induction generator model was constructed. A control law is formulated to govern the flow of energy between the stator of a DFIG and the energy network using three types of controllers: proportional integral (PI), sliding mode controller (SMC) and second order sliding mode controller (SOSMC). Their different results in terms of power reference tracking, reaction to unexpected speed fluctuations, sensitivity to perturbations, and resilience against machine parameter alterations are compared. MATLAB/Simulink was used to conduct the simulations for the preceding study. Multiple simulations have shown very satisfying results, and the investigations demonstrate the efficacy and power-enhancing capabilities of the suggested control system.
Advanced control scheme of doubly fed induction generator for wind turbine us...
EXTENDING WS-CDL TO SUPPORT REUSABILITY
1. International Journal on Web Service Computing (IJWSC), Vol.2, No.1, March 2011
DOI : 10.5121/ijwsc.2011.2101 1
EXTENDING WS-CDL TO SUPPORT REUSABILITY
Farhad Mardukhi, Naser NematBaksh and Kamran Zamanifar
Department of Computer Engineering, Isfahan University, Isfahan, Isfahan
{Mardukhi, Nemat, Zamanifar}@eng.ui.ac.ir
ABSTRACT
WS-CDL is a very rich language that is specially designed to describe choreography of services.
However it is very poor to adopt reusability mechanisms for making the choreography easy to design and
confident to use. The main challenge is that there is no mechanism to make a reusable sub choreography
which is able to expose an interface. Therefore, it is impossible to inject variables like exception variables
from performing choreography into performed sub choreography.
In this paper, a complex element namely Template is added to WS-CDL making it more adequate to
support reusability. A template is an abstract definition of an interaction pattern which is appeared
frequently through a family of business services choreographies. The paper is also details how to use the
template as black box in main choreography including assigning the variables to template interface
parameters. We enhanced meta model of WS-CDL by adding template related elements, then produced a
simple engine that loads the our enhanced meta model of WS-CDL, the file paths of main and template
choreographies and automatically generate an output file includes a compiled choreography code
expressed with standard WS-CDL.
KEYWORDS
Web service, Choreography, Reusability, Interaction Pattern, Template
1. INTRODUCTION
Service-oriented architecture (SOA) is a new modern paradigm for developing distributed
software systems. Each system is composed of a set of independent and interoperable entities
namely Web services. Web Services are software components that provide self-contained
functionality via Internet-enabled, interoperable interfaces for their clients in stateless
communications.
A Service oriented system is usually large-scale and complex resulting in high development
cost, low productivity and usually high risk to develop [2]. The most promised solution for this
problem in software engineering is reusability [14]. Though, the SOA is defined on the basis of
some main concepts in which reusability is one, this concept is not supported at all levels of
SOA standard stack as well.
Each Web service behaves as a reusable block box entity that provides its functionality through
its interface. The interface of a Web service is published as WSDL1
[16] in UDDI2
repository.
The client invokes the computing ability of a service when it knows about its capabilities when
parses WSDL. Invocation of single Web service is a simple interaction scenario however
complex multi party interactions will be appeared when a numbers of services corporate to
make a composite application (service). A simple interaction with a service (service invocation)
actually is a type of reuse which is handled in current SOA standard stack; however the
reusability of complex interaction among services is not supported [1,6]. In other words, the
1
. Web Service Definition Language
2
. Universal Description Discovery and Integration
2. International Journal on Web Service Computing (IJWSC), Vol.2, No.1, March 2011
2
functionality interface of a Web service is easily reused in current SOA standards; however the
reuse of interactional (behavioral) interface of a Web service taking part in a corporation is not
resolved. This paper regards to this issue in multi-party interactions among services entitled as
service choreography.
The concepts of choreography come into regard when two or more parties wish to embed
complex long-running multi-party interactions within their corporations [4]. Choreography
defines the sequence of dependencies between interactions between multiple parties in order to
implement a business corporation comprising multiple web services. W3C define choreography
as a view which covers collaborative process involving services where their interactions are
described from a global perspective [4,9]. From this view, WS-CDL3
is a known and standard
language supported by W3C. It is a work-flow based language which describes the interactions
and their dependencies to establish choreography.
In several related researches, the reused interactions are known as interaction patterns [1,7,12].
Each interaction pattern describes a problem which occurs over and over again in
collaborations, and then describes the core of the solution to that problem. Interaction patterns
today play key roles for developing high quality software systems:
• Reduce a component's dependence on its environment by defining interaction protocols
between components separately from the components themselves. Specify these
interactions in terms of abstract interfaces, and implement components to communicate
with each other through them.
• Avoid poor design of interaction protocols between collaborating components. Poor design
of interactions can lead to unwanted behavior and internal dependencies that complicate
system architecture. Interaction patterns
• Make the systems to be evolved accord to requirement changes.
This work is going to bring the interaction patterns into choreography of services, here WS-
CDL. This goal will be met when two corresponding questions is addressed; how to define an
interaction pattern and how to be reused it, both in WS-CDL syntax style.
In WS-CDL, there is a tag entitled as Perform used to execute a separate choreography through
the main choreography. This feature only calls an independent choreography at a specified point
of main choreography process. Comparing with interaction pattern concept, performed
choreography in WS-CDL lacks capabilities expected for reusability; hence it is not true to call
it as an interaction pattern. Because it does not support even the minimum requirements needed
for developing and reusing interaction patterns. For example, there is no a way to parameterize
the performed (reused) choreography.
2. BASIC CONCEPTS AND PROBLEM STATEMENT
Service oriented applications are usually leveraged in distributed computation environments
which face several complexities like heterogeneity, dynamism and uncertainty conditions of
environment and user requirements [15]. Such complexities define key requirements for service-
oriented applications. The main requirement is development of independent and reusable
entities which are able to interoperate and compose. The reusable elements of a service oriented
application can be divided into three main categories in accordance with the architecture of
SOA (figure 1):
(1) Computation Patterns: A computation pattern collects a set of functions delivered on its
interface.
(2) Composition Patterns: A Composition pattern controls the computation elements to play
correctly in a composition. A composition pattern is a pattern of data and control flow
among computation patterns. These patterns are two main types: Workflow Patterns and
3
. Web Service Choreography Language
3. International Journal on Web Service Computing (IJWSC), Vol.2, No.1, March 2011
Interaction Patterns [5,11]
sequence of tasks. The later describes an abstract interaction protocol among services.
(3) Management Patterns: A management pattern
rules derived from human knowledge to manage and configure the runtime
components.
Figure 1. Pattern Types relative to SOA architecture
This work targets to develop
interaction pattern in choreography of services.
business collaboration as a known term, service choreography.
works, inspired from [4,9] and also the level of choreography abstraction defined in W3C
specification [8], defines a set of independent roles and their interaction behaviors.
Choreography is discussed from two points of views: public and local.
choreography is a centralized abstract process basically that d
services which collaborate to obtain a common goal
is decentralized processes amongst the participants that describes interaction
service taking part in choreography.
choreography from public view
describe the choreography from local perspective.
2.1. TEMPLATES AND APPLICATIONS
Template is an abstract structure which is often used to provide a blueprint or an outline for
concrete structures. In this work, a template describes an abstract choreography to explain a
generic conversation among services
interaction protocol appeared in a business domain.
developing software systems which some cases
1) Standard business Processes
through deferent business
many businesses. The payment process is
through consumer business
template while developing processes
designed by an expert in figure 2.a and two different businesses
applications by mapping
exception handling logics)
Journal on Web Service Computing (IJWSC), Vol.2, No.1, March 2011
[5,11]. The former describes the frequent abstract process including a
sequence of tasks. The later describes an abstract interaction protocol among services.
A management pattern is usually expressed by high level
rules derived from human knowledge to manage and configure the runtime
Pattern Types relative to SOA architecture
This work targets to develop a mechanism namely template aids us to develop and
ion pattern in choreography of services. We point to interaction of services through
business collaboration as a known term, service choreography. Choreography in view of this
] and also the level of choreography abstraction defined in W3C
specification [8], defines a set of independent roles and their interaction behaviors.
Choreography is discussed from two points of views: public and local. In public perspective,
is a centralized abstract process basically that describes observable behaviors of
services which collaborate to obtain a common goal and from local point of view, choreography
is decentralized processes amongst the participants that describes interaction behavior of each
service taking part in choreography. WS-CDL is a known and standard language to describe the
from public view and BPEL4Chor[16] and WSMO[17] are two famous
describe the choreography from local perspective.
AND APPLICATIONS
Template is an abstract structure which is often used to provide a blueprint or an outline for
concrete structures. In this work, a template describes an abstract choreography to explain a
generic conversation among services and provides a designed solution to address similar
interaction protocol appeared in a business domain. Templates are applied to various areas for
s which some cases are followed.
Processes: There are many standard processes which can be used
business scenarios. For example, the payment process can be used in
The payment process is developed as a template which can be adopted
consumer business processes. They have to inject associative instances into
while developing processes. Figure 2 shows this issue where a template is
designed by an expert in figure 2.a and two different businesses customize
mapping their instances (service end points, information types,
exception handling logics) to template interfaces (figure 2.b and 2.c).
Journal on Web Service Computing (IJWSC), Vol.2, No.1, March 2011
3
abstract process including a
sequence of tasks. The later describes an abstract interaction protocol among services.
is usually expressed by high level pattern of
rules derived from human knowledge to manage and configure the runtime behavior of
a mechanism namely template aids us to develop and use
We point to interaction of services through
Choreography in view of this
] and also the level of choreography abstraction defined in W3C
specification [8], defines a set of independent roles and their interaction behaviors.
In public perspective,
escribes observable behaviors of
and from local point of view, choreography
behavior of each
CDL is a known and standard language to describe the
are two famous that
Template is an abstract structure which is often used to provide a blueprint or an outline for
concrete structures. In this work, a template describes an abstract choreography to explain a
a designed solution to address similar
various areas for
here are many standard processes which can be used
can be used in
which can be adopted
instances into
Figure 2 shows this issue where a template is
customize it for their
ces (service end points, information types,
4. International Journal on Web Service Computing (IJWSC), Vol.2, No.1, March 2011
4
Figure 2. Applying a template on two business cases
2) Implementation of Patterns: like other software architectures, SOA has its own
patterns. They are classified into two categories, workflow patterns [4,8,2] and
interaction patterns [5,2]. In this work, templates are specified as assistance for
creating interaction patterns.
3) Discovery a specified choreography for displaying a required service behavior
from a repository is an interesting application of templates. This requirement has
not deal with yet in SOA. It is like service discovery, but the search items are
service behavioral interface not service functionality interface. Figure 3 shows
this application. Suppose a party is playing a role in choreography like CH1. He
needs some services to accomplish its works. He sends its request to a directory
and receives a list of candidate choreographies. After selecting more suitable
one, he retrieves its role Interface from selected choreography, as a service
consumer. Then he injects its own instances into retrieved Interface via a
Mapping element. Actually CH1 uses CH2 as a Template. Figure 20 depicts this
scenario.
Figure 2. The repository of Service Choreography (Behaivor)
4) Templates can be used in Software Product Line (SPL) techniques to create more
reusable services and functions [14]. SPL is a bunch of techniques to predict reusable
parts in software. It could improve software maintenance, software quality and decrease
software cost and times. Templates are very suitable facilities to implement predicted
reusable parts.
5) There are a lot of unpredictable changes in service oriented applications especially
within composition layer. Thus, a choreography model must be dynamic to be able to
adapt itself against those changes. WS-CDL structure is not rich enough to support this
requirement. The choreography is given dynamic structure when equipped by templates.
5. International Journal on Web Service Computing (IJWSC), Vol.2, No.1, March 2011
5
Of course, the template is not only and albeit complete way to make a dynamic
choreography model.
2.2. WS-CDL AND REUSABILITY
This work focuses on WS-CDL because it is the most productive and popular language for
defining the choreography and being used widely both in research and industrial projects.
However, some problems are not addressed by WS-CDL as well. For example, WS-CDL has a
static work-flow based structures and it is not possible to alter its parts during run time. The
choreography in WS-CDL outlined in two main parts: package and choreography. The package
part is a static view to choreography and declares the data types, variables, channel type, role,
relationships, and so on. The process of choreography during life time is depicted at
choreography part [5,9].
Also, the reusability of predefined elements of choreography is addressed very poorly in WS-
CDL. This later problem is an important problem when addressed can help address first problem
too[12].
Standard WS-CDL has introduced a structure namely “Perform activity” to use of external or
internal sub choreographies. A main choreography calls sub choreography just as an
independent choreography by performs activity. There is no ability to transfer data through the
interface of sub choreography. This ability of WS-CDL is very simple and it is very far from the
capabilities expected for reusability; some of weaknesses are below:
This language’s documents [9] haven’t said any things about reusing of some elements such as
Exception Blocks , Finalizer Blocks and Variable Definitions within performed sub
choreographies. This could be a notable weakness. Because performed choreography has to
again define some static elements like RoleTypes, Information types and Channel Types, but
they are package level elements and defining them through choreography part is inflexible. In
this reason, sub choreographies face problems when intending to share several elements.
A possible objection to define a new extension, template, is “why have we tried to introduce a
new extension instead of improving and extending Perform activity?” Firstly, as a general
solution, the WS-CDL designers declared that defining new extensions for handling new
requirements is preferable than altering standard format of its elements [9]. Secondly, on the
basis of choreography definition the Perform activity element is used for running an instance of
a called choreography at a particulate point. This is very different from those requirements the
interaction patters follow. The interaction pattern is going to make the choreography easy to
design. Beyond these reasons, suppose that the Perform activity element is extended to support
reusability. In this situation, Perform activity must substitute all elements of performed
choreography interface by corresponding elements of host choreography. When the performed
choreography is defined within a package out of host choreography, the host must be aware of
all shared data between its enclosed package and the package encompasses the performed
choreography (figure 3).
For example CH2 which is included in a package entitled ExternalPackage uses RoleType1,
ChannleTypes1 and Relationship type. These types must be informed to host choreography,
CH1. It means that Relationship1 must be a connection between true roleTypes which are
shared between CH1 and CH21.
This situation is against “loosely coupling” as a fundamental principle in SOA. According to
this principle, “services must be designed to interact without the need for tight and cross-
service dependencies [8,12]”.
To resolve this problem we should prepare a new mechanism to inject necessary instances (e.g.
RoleTypes, Relationships etc) into performed choreography so that performed choreographies
can be designed independent of host choreographies. This new mechanism in this work is called
mapping when a Template is used.
6. International Journal on Web Service Computing (IJWSC), Vol.2, No.1, March 2011
6
Figure 3. CH1 has to be aware of used elements by CH2
2.2. REUSABLE CHOREOGRAPHY DESIGN: OUTLINED PROCESS
In a usual development process for making a service based application, firstly the choreography
process is designed, then each party of choreography must designed own behavior interface
manually or automatically derived from choreography. The behavior interface of each party
should be complement with internal behavior of a service to access to internal resources.
Currently, the BPEL4
is promised language to implement the behavior of a party. After
generating the BPEL of each party, it is executed by orchestration engine like BizTalk,
ActiveBpel etc. This works targets to bring the benefits of reusability into choreography design
phase.
Reusability in choreography means developing mechanisms to design the choreography as a set
choreography templates and reuse them during the design of next choreographies.
Choreography template is an interaction pattern (protocol) which is appeared frequently among
a family of business process.
For example, a credit card validation needs usually a common interaction scenario between the
bank party and card owner. Therefore, the interactions among the card owner and bank are
modeled as a template.
Figure 4. The outlined process of Template-enabled Choreography design
3 TEMPLATE STRUCTURE
4
. Business Process Execution Language
7. International Journal on Web Service Computing (IJWSC), Vol.2, No.1, March 2011
7
The Template is organized at three main parts as below. Template exposes its capabilities
through Interface. Entrance is to initialize and check preconditions before Template being used,
and internal contents of Template are declared within Body section.
Template = Interface1
+ Entrance0..1
+ Body1
Accord to above equation, for each Template there is just one Interface and one Body and
Entrance is optional part. Template is taken in host choreography by a new defined
extension:UseTemplate. UseTemplate has a Mapping sub element to inject necessary instances
from host choreography into the Template. This issue is called with “element injection”.
3.1. TEMPLATE SYNTAX
The overall syntax for Template is shown in figure 5.a where Name attribute is an identifier,
Author and Version attributes respectively define authoring properties and Versioning of the
Template, and targetNamespace attribute defines address of a Namespace including all
necessary data schema used for defining the Template elements. The sign “?” is attached to the
parts which are optional. The figure 5.b depicts the Meta model of Template expressed by
XSD5
. XSD provides an easily approachable description of the XML Schema definition
language [13].
<complexType name="tTemplate">
<complexContent>
<extension base="cdl:tExtensibleElements">
<sequence>
<element name="body" type="cdl:tBody"/>
<element name="interface" type="cdl:tInterface"/>
<element name="entrance" type="cdl:tEntrance" minOccurs="0"/>
</sequence>
<attribute name="name" type="NCName" use="required"/>
<attribute name="author" type="string" use="optional"/>
<attribute name="version" type="string" use="optional"/>
<attribute name="targetNamespace" type="anyURI" use="required"/>
</extension>
</complexContent>
</complexType>
Figure 5. a) The structure of Template b) The Template Meta model
The Template is considered as a complex type of Package in choreography. Therefore, to insert
Template as an extension into Package the figure 6 demonstrates the essential XSD.
Figure 6. The Schema of Package element of WS-CDL when Template is added
5
. XML Schema Definition, http://www.w3.org/TR/xmlschema11-2/
<complexType name="tPackage">
<complexContent>
<extension base="cdl:tExtensibleElements">
<sequence>
<element name="informationType" type="cdl:tInformationType" minOccurs="0"
maxOccurs="unbounded"/>
<element name="token" type="cdl:tToken" minOccurs="0" maxOccurs="unbounded"/>
<element name="tokenLocator" type="cdl:tTokenLocator" minOccurs="0" maxOccurs="unbounded"/>
<element name="roleType" type="cdl:tRoleType" minOccurs="0" maxOccurs="unbounded"/>
<element name="relationshipType" type="cdl:tRelationshipType" minOccurs="0"
maxOccurs="unbounded"/>
<element name="participantType" type="cdl:tParticipantType" minOccurs="0" maxOccurs="unbounded"/>
<element name="channelType" type="cdl:tChannelType" minOccurs="0" maxOccurs="unbounded"/>
<element name="choreography" type="cdl:tChoreography" minOccurs="0" maxOccurs="unbounded"/>
<element name="template" type="cdl:tTemplate" minOccurs="0 maxOccurs="unbounded"/>
</sequence>
<attribute name="name" type="NCName" use="required"/>
<attribute name="author" type="string" use="optional"/>
<attribute name="version" type="string" use="optional"/>
<attribute name="targetNamespace" type="anyURI" use="required"/>
</extension>
</complexContent>
</complexType>
8. International Journal on Web Service Computing (IJWSC), Vol.2, No.1, March 2011
8
3.1. 1. Template Body Syntax
The main idea of Template extension is reusability of sub workflows. Therefore, the body
section of Template should be included in dynamic structures of standard WS-CDL language
[9]. They are called activity in WS-CDL. In Figure 7 we have tBody’s schema in XSD.
<complexType name="tBody">
<sequence>
<group ref="cdl:activity" maxOccurs ="unbounded"/>
</sequence>
</complexType>
Figure 7. The XSD schema of tBody part of Template
3.1. 3. Interfaces
The Interface is the most important concept used in Template extension. Generally, interface
and inheritance are two prominent concepts for obtaining reusability especially in object
oriented systems. Interfaces are used for pattern definitions, dependency injection, loosely
coupling etc in programming techniques [5, 6]. An interface is observable view of an object.
A Template uses Interface to display its observable functions. Of course, the Interface in current
object oriented programming has more capabilities; Nevertheless Interfaces have a sort of
utilizations in this work. For example, Interface declares what elements must be mapped while
element injection or what Template is appropriate for a particular purpose.
Regard to figure 8, each interface has zero or more Elements. When a Template is being used
Interface’s elements will be mapped to real elements of host choreography. If a template has no
element to be mapped, the Interface part will be leaved empty. Each element has a unique name
inside Template. This name is also used for mapping real instances to that element. The
elementType’s values are detailed in Figure 9 encompass the statics elements within Package
and Choreography parts. TockenLocator is not included in this list, because it is not an
identified element but it is a query mechanism for selecting the Token element. Token is a
reference for a piece of data in a variable or message [4].
<complexType name="tInterface">
<complexContent>
<extension base="cdl:tExtensibleElements">
<sequence>
<element name="element" type="cdl:tElement" minOccurs="0"
maxOccurs="unbounded"/>
</sequence>
</extension>
</complexContent>
</complexType>
<complexType name="tElement">
<complexContent>
<extension base="cdl:tExtensibleElements">
<attribute name="name" type="NCName" use="required"/>
<attribute name="required" type="boolean" use="optional" default="true"/>
<attribute name="elementType" type="cdl:tInjectableTypes" use="required"/>
</extension>
</complexContent>
</complexType>
Figure 8. XSD schema for Interface
9. International Journal on Web Service Computing (IJWSC), Vol.2, No.1, March 2011
9
Figure 9.Acceptable elements for Package part of a Template derived from WS-CDL (The white
items are not acceptable)
The default value for required attribute is true. When an element is required within an Interface,
Template users have to map real instances of host choreography into it.
3.1.4. Entrance sub element
This element is created to initialize and check preconditions of a Template before applying.
Figure 10 depicts an overview of Entrance’s structure. This element accesses to all instances
injected into Template, and is responsible to set up the Template. It performs two main
activates: Initialization and Precondition. Firstly, Template Injector runs Initialization activity.
This part helps to setting up Template injection process. After that, all conditions in
Precondition part will be checked. When a condition evaluates to false, injecting process’s state
will be changed into Failure. Entrance is internal element for Template presents all essential
information needed to initialize and deploy the Template. Figure 11 shows how designers can
use Entrance element through a process namely injecting process to generate the final
choreography. It includes four main steps:
Initialization: This step provides the initial conditions for performing the injection process as
detailed below:
• The mapping between the instances of host choreography to parameter of Template.
• Providing the default structures as Error exception handler.
• Providing enough capabilities to instantiate the Template and making decision about
possibility of mapping all context data types (instances) to the Interface of Template.
<complexType name="tEntrance">
<complexContent>
<extension base="cdl:tExtensibleElements">
<sequence>
<element name="tStandardPackage" type="cdl:tInitialization"
minOccurs="0"/>
<element name="tPreconditions" type="cdl:tPreconditions"
minOccurs="0"/>
</sequence>
</extension>
</complexContent>
</complexType>
Figure 10. a) Outlined structure of tEntrance b)XSD schema of tEntrance element
10. International Journal on Web Service Computing (IJWSC), Vol.2, No.1, March 2011
10
Figure 11. a) The element injection process b) A hierarchal structure of Entrance element
Failure: is a step to handle raised errors. For example, any error exception during Initialization
or Precondition parts triggers this step.
Precondition: This step checks preconditions must be met to use the Template. Each
precondition is an XPath Boolean expression which declares a specified condition must be met
by host choreography. For example, the requirements of security for using the Template are
expressed in precondition part.
<complexType name="tPreconditions">
<complexContent>
<extension base="cdl:tExtensibleElements">
<sequence>
<element name="condition" type="cdl:tCondition" maxOccurs="unbounded"/>
</sequence>
<attribute name="causeException" type="QName"use="optional"/>
</extension>
</complexContent>
</complexType>
<complexType name="tCondition">
<complexContent>
<extension base="cdl:tExtensibleElements">
<attribute name="name" type="NCName" use="required"/>
<attribute name="check" type="cdl:tBoolean-expr" use="required"/>
<attribute name="causeException" type="QName" use="optional"/>
</extension>
</complexContent>
</complexType>
Figure 13 is the schema of tEntrance type.
Deployment: The deployment is a state which the final choreography is generated and it must
be deployed on participants. The deployment can be regarded as a generating the behavioral
interface of participants from generated choreography. This step is out of this paper scope.
4.5. UseTemplate element
Last sections explained how to define Template. This section presents the mechanism to use it
within choreography. A new element, UseTemplate is added to WS-CDL for this purpose. It
syntax is shown in figure 16. Two main arribues, templateName and version, are used to
identify used Template. In spite of syntax of Perform activity in WS-CDL, UseTemplate doesn’t
have a ChoreographyInstanceID. Because ChoreographyInstanceID is a reference to an
instance of choreographies are being executed during runtime. In mapping sub element, all used
static structures in Template, have to be defined. They are defined in Interface part of
Templates.
11. International Journal on Web Service Computing (IJWSC), Vol.2, No.1, March 2011
11
According to the previous sections, Template’s Body consists some dynamic elements of WS-
CDL. Hence, UseTemplate element just can be used in dynamic parts of a choreography
definition. As a result, a new sub element is added to Activity group, as you can see in Figure
7.a.
<complexType name="tUseTemplate">
<complexContent>
<extension base="cdl:tExtensibleElements">
<sequence minOccurs="0" maxOccurs="unbounded">
<element name="mapping" type="cdl:tMapping"/>
</sequence>
<attribute
name="templateName" type="NCName" use="required"/>
<attribute name="version" type="string" use="optional"/>
</extension>
</complexContent>
</complexType>
Figure 14. The syntax of UseTemplate
4.5.1 Mapping
We have a Mapping element to inject real instances of used element into a Template. Figure 15
depicted its structure.
Target element is a reference to an element within a Template that will be bound to Source one.
Then, the Source is a real instance for Target and will be injected into it. A structural exception
will be raised if type of Source element doesn’t mach to type of Target element, during
deployment time. This type is defined in element type attribute of mapping elements.
<complexType name="tMapping">
<complexContent>
<extension base="cdl:tExtensibleElements">
<sequence>
<element name="source" type="cdl:tVariableRef2"/>
<element name="target" type="cdl:tVariableRef2"/>
</sequence>
<attribute name="elementType" type="cdl:tInjectableTypes"
use="required"/>
</extension>
</complexContent>
</complexType>
<complexType name="tVariableRef2">
<complexContent>
<extension base="cdl:tExtensibleElements">
<attribute name="elementName" type="QName" use="required"/>
</extension>
</complexContent>
</complexType>
<simpleType name="tInjectableTypes">
<restriction base="string">
<enumeration value="informationType"/>
……
<enumeration value="finalizerBlock"/>
</restriction>
</simpleType> </simpleType>
Figure 15. The XSD schema of mapping element
Target element is a reference to an element within a Template that will be bound to Source one.
Then, the Source is a real instance for Target and will be injected into it. A structural exception
will be raised if type of Source element doesn’t mach to type of Target element, during
deployment time. This type is defined in element type attribute of mapping elements.
12. International Journal on Web Service Computing (IJWSC), Vol.2, No.1, March 2011
12
5. IMPLEMENTATION AND CASE STUDY
For realizing the Template-enabled choreography, we built a prototype to generate the deployed
choreography from host choreography that uses Template choreographies. Deployed
choreography is a compiled and error-free choreography specified with standard WS-CDL. A
snapshot of the prototype is shown in figure 16. There are three input files to the prototype. The
first file is a standard Meta model of choreography based on WS-CDL. The second is an extended
Meta model of choreography based on our extensions to WS-CDL, and third file is the source
choreography which enriched by Template (figure 17). The output file of this prototype is a final
choreography which is able to be deployed.
Figure 16. A snapshot of implemented prototype
To test the prototype, we modelled a typical Build To Order process by extended WS-CDL and save it in
a XML file. Then, this file is given to the prototype. The prototype generated the final choreography
correctly as what we had expected. The input file source code is depicted partially in figure 15.
<cdl:package
targetNamespace="http://www.cdlEtention/TemplateSample/"
name="BuyerSellerByTemplate" author="Farhad Mardukhi and Mahdi
Etehadi" version="1.0" xmlns:cdl="http://www.w3.org/2005/10/cdl"
xmlns:tns="http://www.cdlEtention/TemplateSample/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.w3.org/2005/10/cdl
D:UniversityMSPAYANN~1FinalCDLSCH~1.XSD"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:bs="http://cdlEtention/TemplateSample/cdl/BuyerSellerExampleB
yTemplate">
<cdl:informationType name="BooleanType" type="xsd:boolean"/>
………
<cdl:informationType name="StringType" type="xsd:string"/>
<cdl:token informationType="tns:StringType" name="BuyerRef"/>
……..
<cdl:token informationType="tns:StringType" name="ShipperRef"/>
<cdl:roleType name="BuyerRoleType">
<cdl:behavior name="BuyerBehavior"/>
………
</cdl:roleType>
<cdl:relationshipType name="BuyerSeller">
…..
</cdl:relationshipType>
<cdl:relationshipType name="SellerCreditCheck">
<cdl:roleType typeRef="tns:SellerRoleType"/>
………..
</cdl:channelType>
<cdl:channelType name="Buyer2SellerChannelType">
<cdl:passing channel="tns:ToBuyerChannelType" new="true"/>
<cdl:roleType typeRef="tns:SellerRoleType"/>
<cdl:reference>
<cdl:token name="tns:SellerRef"/>
</cdl:reference>
</cdl:channelType>
…………………..
<cdl:choreography name="Main" root="true">
<cdl:relationship type="tns:BuyerSeller"/>
<cdl:template
targetNamespace="http://www.cdlEtention/TemplateSample/"
name="BarteringLoop">
<cdl:body xmlns:n1="http://www.cdlEtention/TemplateSample/">
<cdl:workunit name="BarteringLoop"
repeat="Template_barteringDone = false">
<cdl:description type="documentation">
Repeat until bartering has been completed
</cdl:description>
<cdl:choice>
<cdl:silentAction roleType="tns:SomeBuyerRoleType"/>
<cdl:sequence>
<cdl:interaction channelVariable="tns:Template_Buyer2SellerC"
name="AcceptQuoteInteraction" operation="quoteAccept">
………………………
</cdl:interaction>
<cdl:interaction channelVariable="tns:Template_Buyer2SellerC"
name="SendChannelInteraction" operation="sendChannel">
………………….
</cdl:interaction>
<cdl:assign roleType="tns:SomeBuyerRoleType">
<……………….
</cdl:assign>
</cdl:sequence>
<cdl:sequence>
<cdl:interaction channelVariable="tns:Template_Buyer2SellerC"
name="RequestNewPrice"
operation="quoteUpdate">
</cdl:interaction>
</cdl:sequence>
</cdl:choice>
</cdl:workunit>
</cdl:body>
<cdl:interface>
<cdl:element elementType="variable"
name="Template_barteringDone"/>
<cdl:element elementType="roleType"
name="Template_BuyerRoleType"/>
13. International Journal on Web Service Computing (IJWSC), Vol.2, No.1, March 2011
13
<cdl:relationship type="tns:SellerCreditCheck"/>
<cdl:relationship type="tns:SellerShipper"/>
<cdl:relationship type="tns:ShipperBuyer"/>
<cdl:variableDefinitions>
<cdl:variable channelType="tns:Buyer2SellerChannelType"
name="Buyer2SellerC" roleTypes="tns:BuyerRoleType
tns:SellerRoleType"/>
<cdl:sequence>
<cdl:interaction channelVariable="tns:Buyer2SellerC"
name="BuyerRequestsQuote" operation="requestForQuote">
………………….
</cdl:interaction>
<cdl:useTemplate templateName="BarteringLoop">
<cdl:mapping elementType="variable">
<cdl:source elementName="barteringDone"/>
<cdl:target elementName="Template_barteringDone"/>
</cdl:mapping>
…………………….
<cdl:mapping elementType="informationType">
<cdl:source elementName="QuoteUpdateType"/>
<cdl:target elementName="Template_QuoteUpdateType"/>
</cdl:mapping>
</cdl:useTemplate>
………………….
</cdl:choice>
</cdl:sequence>
</cdl:choreography>
<cdl:element elementType="variable"
name="Template_Buyer2SellerC"/>
<cdl:element elementType="roleType"
name="Template_SellerRoleType"/>
<cdl:element elementType="relationship"
name="Template_BuyerSeller"/>
<cdl:element elementType="informationType"
name="Template_QuoteAcceptType"/>
<cdl:element elementType="channelType"
name="Template_ToBuyerChannelType"/>
<cdl:element elementType="variable"
name="Template_DeliveryDetailsC"/>
<cdl:element elementType="informationType"
name="Template_QuoteUpdateType"/>
</cdl:interface>
</cdl:template>
</cdl:package>
Figure 17. A typical process for Building an Order described by extended WS-CDL.
6. RELATED WORKS
Reusability is a major need for all software system. This is why now the component oriented
development is being a promised technology in this area. Though, the most current programming
language support reusability but almost able to reuse computational elements and lack reusability of
interaction (composition) elements. Interaction patterns is a related idea were introduced by some
researchers [1,8,5] to model the interactions among components via a set of generic interaction patterns.
[18] Gathered a notable number of interaction patterns appeared at often businesses. Attempts to bring the
reusability to choreography language are very low. WS-CDL as choreography standard language only
supports an activity, Perform, to call predefined sub choreography [9]. But this feature is very far from
what we expect from a real reusability mechanism.
6. CONCLUSIONS
The most promised solution for managing the complexity of modern software is reusability. Interaction
pattern is an important type of reusable entities for collaborative systems. For service oriented
applications, an interaction pattern is a generic conversation protocol between several services. Currently
in standard service choreography (interaction) languages there is a very poor structure to support
interaction patterns. For example, WS-CDL as a popular language has only a structure namely Perform
activity to run an instance of a sub choreography at run time. This is not considered as a proper structure
to bring reusability into choreography. Therefore, this work proposed a new extension, Template, to
resolve this problem. The Template is a generic definition of interaction protocol between some services.
The template displays its functions through its interface. The caller (host) choreography adopts the
Template by mapping its elements to the parameters declared at interface of Template. This mechanism
helps designers to factor the code and design the choreography easier. Also, a simple prototype was built
to generate the final choreography automatically. The final choreography is a compiled and error-free
choreography in WS-CDL which can be deployed to the participants of choreography. Making a
repository of interaction patterns, developing the interaction pattern discovery and also making the
Template more adequate are the works left for future.
REFERENCES
[1] Alistair Barros, Marlon Dumas & Arthur ter Hofstede: Service Interaction Patterns.
In Proceedings of the 3rd International Conference on Business Process Management, Nancy,
France, September 2005. Springer Verlag, pp. 302-318.
14. International Journal on Web Service Computing (IJWSC), Vol.2, No.1, March 2011
14
[2] M.P Papazoglou , P. Traverso, Schabram Dustdar & F. Leymann, (2007) ," Service-Oriented
Computing: State of the Art and Research Challenges", Journal of Innovative Technology for
Computer Professionals, IEEE Computer Society, November 2007.
[3] M. Etehadi, F. Mardukhi & N. Nematbakhsh, N, (2009). “A Graphical Representation for WS-
CDL Supporting Multi Levels of Abstraction”. IEEE Services Computing Conference, APSCC
2009. Asia-Pacific : 7-11 Dec. 2009.
[4] M. Barros, M. Dumas & P. Oaks. (2005),”A Critical Overview of the Web Services Choreography
Description Language (WS-CDL)”, BPTrends [Online accessed: Jan, 2011]. Available:
http://www.bptrends.com.
[5] E. Börger & B.Thalheim, (2008), “Modeling Workflows, Interaction Patterns, Web Services and
Business Processes: The ASM-Based Approach”, Proceedings of the 1st international conference
on Abstract State Machines, B and Z. London, UK, Springer-Verlag, p. 24-38. [Doi: 10.1007/978-
3-540-87603-8_3]
[6] K. Czarnecki,(1998),”Generative Programming: Principles and Techniques of Software
Engineering Based on Automated Configuration and Fragment-Based Component Models”, Ph.D
thesis, Technische Universität Ilmenau, Germany.
[7] E. Stroulia & J.NG, (2009),”Service interaction patterns. Proceedings of the 2009 Conference of
the Center for Advanced Studies on Collaborative Research”. Ontario, Canada, ACM, p. 337-337.
[Doi: 10.1145/1723028.1723093]
[8] W.M. Aalst, A.J. Mooij, C. Stahl & K. Wolf, (2009),”Service Interaction: Patterns, Formalization,
and Analysis. Formal Methods for Web Services”, B. Marco, P. Luca Z. Gianluigi, Springer-
Verlag: 42-88. [Doi: 10.1007/978-3-642-01918-0_2]
[9] W3C,”Web Services Choreography Description Language Version 1.0”,(2005), W3C Candidate
Recommendation, URI= http://www.w3.org/TR/2005/CR-ws-cdl-10-20051109, ( online accessed
Dec, 2010).
[10] W3C, “XML Path Language (XPath) Version 1.0”,(1999), W3C Recommendation,URI=
http://www.w3.org/TR/xpath/ (online accessed= Nov, 2010)
[11] N. Russell, A.H.M. ter Hofstede, W.M.P. van der Aalst & N. Mulyar, (2006), “Workflow Control-
Flow Patterns, A Revised View”, BPM Center Report BPM-06-22 , (BPMcenter.org), (online
accessed= Nov, 2010).
[12] G. Decker & J. M. Zaha,(2006), ”Pattern-based evaluation of WS-CDL”, Queensland University,
Australia, URI=http://sky.fit.qut.edu.au/~dumas/LetsDance/WSCDLEval.pdf (accessed= Jan
2011).
[13] W3C, (2005) “WS-CDL XSD schema”, URI=http://www.w3.org/TR/2005/CR-ws-cdl-10-
20051109/#WS-CDL-XSD-Schemas (online accessed = Feb 2011).
[14] F. Mardukhi & N. Nematbakhsh, (2007), ” Engineering Practices and Guidelines to Enhance Reuse
Adequacy in Software Product Line Analysis”, SETP 2007, pp:133-140
[15] Z. Li & M. Parashar,(2006), "Enabling Dynamic Composition and Coordination for Autonomic
Grid Applications using the Rudder Agent Framework", The Knowledge Engineering Review, Vol.
00:0, pp: 1-15
[16] G. Decker, O. Kopp, F. Leymann & M. Weske, (2007), “BPEL4Chor: Extending BPEL for
Modeling Choreographies”. Proceedings of the IEEE 2007 International Conference on Web
Services, IEEE Computer Society, pp: 296-303.
[17] D. Roman, J. Scicluna, C. Feier, M. Stollberg & D. Fensel, “Ontology-based Choreography and
Orchestration of WSMO Services”, http://www.wsmo.org/TR/d14/v0.1/, (online accessed= Jan
2011)
[18] N. Mulyar, W. M.P. van der Aalst1, L. Aldred & N. Russell, (2007), Service Interaction Patterns:
A Configurable Framework”, accessed online: http://citeseerx.ist.psu.edu/viewdoc/
summary?doi=10.1.1.106.3612
15. International Journal on Web Service Computing (IJWSC), Vol.2, No.1, March 2011
Authors
F. Mardukhi received his B.Sc degree in Computer Engineering from Sharif University of Technology,
Iran in 1996 and Master of Sofware Engineering from University of Isfahan, Iran in 2002. Currently he
is pursuing his Ph.D degree in the Engineering Faculty og Engineer
interests include Web Service technology, Coordination problem, and adaptive software systems. He is
working on dyamic and adaptive choreography models for Web services in B2B coporation.
Dr. N. Nematbakhsh received his B.Sc degree of Science in Mathamatics from Isfahan University, Iran
in 1973 and Master of Science in Computer Science in 1978 from Worcester Polytechnic Institute, USA.
He received the Ph.D in Computer Engineering from University of Bradford, England in 1989
working as Assistant Professor in the Department of Computer Engineering, Isfahan University. His
expericed areas include Software Engineering Methods, Service Oriented Computig and Software
Realibility.
Dr. K. Zamanifar received his B.Sc and M.
University of Tehran, Iran (1976-1985). He also received the Ph.D in Computer Science from School of
Computer Studies, University of Leeds, England in 1996. He is working as Associative Professor in the
Department of Computer Engineering, Isfahan University. He is member of Management Committee of
Computer Society of Iran and member of Iranian Association of Electrical and Electronic Enigeering.
He activated at the most conferences as member of Executiv
Parallel and Distributed Systems, Distributed Operating System, Concurrent Systems and Computer
Supported Cooperative Work.
Journal on Web Service Computing (IJWSC), Vol.2, No.1, March 2011
received his B.Sc degree in Computer Engineering from Sharif University of Technology,
Iran in 1996 and Master of Sofware Engineering from University of Isfahan, Iran in 2002. Currently he
is pursuing his Ph.D degree in the Engineering Faculty og Engineering in Isfahan University. His
interests include Web Service technology, Coordination problem, and adaptive software systems. He is
working on dyamic and adaptive choreography models for Web services in B2B coporation.
Sc degree of Science in Mathamatics from Isfahan University, Iran
in 1973 and Master of Science in Computer Science in 1978 from Worcester Polytechnic Institute, USA.
He received the Ph.D in Computer Engineering from University of Bradford, England in 1989. He is
working as Assistant Professor in the Department of Computer Engineering, Isfahan University. His
expericed areas include Software Engineering Methods, Service Oriented Computig and Software
Dr. K. Zamanifar received his B.Sc and M.Sc degree in Electrical and Electronic Engeering from
1985). He also received the Ph.D in Computer Science from School of
Computer Studies, University of Leeds, England in 1996. He is working as Associative Professor in the
Department of Computer Engineering, Isfahan University. He is member of Management Committee of
Computer Society of Iran and member of Iranian Association of Electrical and Electronic Enigeering.
He activated at the most conferences as member of Executive Committee. His research interests are
Parallel and Distributed Systems, Distributed Operating System, Concurrent Systems and Computer
Journal on Web Service Computing (IJWSC), Vol.2, No.1, March 2011
15