Aligning ontology-based development with service oriented systems

11
Future Generation Computer Systems 32 (2014) 263–273 Contents lists available at ScienceDirect Future Generation Computer Systems journal homepage: www.elsevier.com/locate/fgcs Aligning ontology-based development with service oriented systems Jun Shen a,, Ghassan Beydoun a , Graham Low b , Lijuan Wang a a School of Information Systems and Technology, University of Wollongong, NSW, Australia b Australian School of Business, The University of New South Wales, Sydney, NSW, Australia highlights We proposed an ontology-based development approach for service oriented system. We proposed a three layer abstraction of ontology alignment. We proposed a semantic integration life cycle for semantic Web services. We applied our approach in the building QoS ontology for service and cloud systems. We developed multi-agent and peer-to-peer based service system to align ontologies. article info Article history: Received 20 February 2013 Received in revised form 4 July 2013 Accepted 2 August 2013 Available online 14 August 2013 Keywords: Software development life cycle Ontologies Agents Multi-agent systems Peer-to-peer systems Service oriented systems abstract This paper argues for placing ontologies at the centre of the software development life cycle for distributed component-based systems and, in particular, for service-oriented systems. It presents an ontology-based development process which relies on three levels of abstraction using ontologies: architecture layer, application layer and domain layer. The paper discusses the key roles of ontologies with respect to the various abstraction layers and their corresponding impact on the concomitant workproducts. In addition, a peer-to-peer-based service selecting and composing tool is suggested as a way of supporting the process. The paper presents the architecture of the proposed tool and illustrates the whole process in the development of a mobile banking application based on dynamic Web services. © 2013 Elsevier B.V. All rights reserved. 1. Introduction A service oriented architecture (SOA) promotes loose coupling between components to enable faster and more flexible reconfig- uration of business processes and provides a means of organising system resources in an open and flexible arrangement. From an en- terprise management perspective, the successful delivery of SOA systems translates into responsive business processes that can adjust to varying customer service requirements [1,2]. Expected responsiveness and adjustment is based on leveraging the knowl- edge of relationships between various services and mixing and matching groups of services to satisfy new requirements. Service oriented computing (SOC) has become a convincing paradigm for enterprises in tackling traditional hurdles to improving the ef- ficiency and effectiveness of their ubiquitous software applica- tions [3]. The vice President of Gartner, J. Fenn, predicted that by Corresponding author. Tel.: +61 2 42213873; fax: +61 2 42214045. E-mail addresses: [email protected] (J. Shen), [email protected] (G. Beydoun), [email protected] (G. Low), [email protected] (L. Wang). 2013, SOA will have delivered transformational results to the role and capabilities of IT for businesses [4]. Furthermore in 2012, one third of IT budgets were spent gaining access to services developed by other vendors [5]. This increased attraction to SOC comes with the expectation that energies from software development and ac- quisition will be shifted to other business activities, and at the same time deliver better alignment with business requirements. Service-oriented software engineering promises to deliver enormous tangible improvements to enable business processes. In practice it has been hard to realise, especially for complex applica- tion systems, when it is advantageous to use services from various providers. There is a need to find ways to collect available busi- ness services from the different providers and to specify how such a collection of services should be combined and integrated seam- lessly [6]. This ability to easily integrate services can increase flex- ibility and agility, not only in systems development but also in business process management. However, existing service compo- nents do not provide a clear and comprehensive definition of the business process semantics. Therefore many existing services are often isolated and opaque to information system developers. Cur- rent software techniques and tools do not alleviate this and place 0167-739X/$ – see front matter © 2013 Elsevier B.V. All rights reserved. http://dx.doi.org/10.1016/j.future.2013.08.005

Transcript of Aligning ontology-based development with service oriented systems

Future Generation Computer Systems 32 (2014) 263–273

Contents lists available at ScienceDirect

Future Generation Computer Systems

journal homepage: www.elsevier.com/locate/fgcs

Aligning ontology-based development with service oriented systemsJun Shen a,∗, Ghassan Beydoun a, Graham Low b, Lijuan Wang a

a School of Information Systems and Technology, University of Wollongong, NSW, Australiab Australian School of Business, The University of New South Wales, Sydney, NSW, Australia

h i g h l i g h t s

• We proposed an ontology-based development approach for service oriented system.• We proposed a three layer abstraction of ontology alignment.• We proposed a semantic integration life cycle for semantic Web services.• We applied our approach in the building QoS ontology for service and cloud systems.• We developed multi-agent and peer-to-peer based service system to align ontologies.

a r t i c l e i n f o

Article history:Received 20 February 2013Received in revised form4 July 2013Accepted 2 August 2013Available online 14 August 2013

Keywords:Software development life cycleOntologiesAgentsMulti-agent systemsPeer-to-peer systemsService oriented systems

a b s t r a c t

This paper argues for placing ontologies at the centre of the software development life cycle for distributedcomponent-based systems and, in particular, for service-oriented systems. It presents an ontology-baseddevelopment process which relies on three levels of abstraction using ontologies: architecture layer,application layer and domain layer. The paper discusses the key roles of ontologies with respect to thevarious abstraction layers and their corresponding impact on the concomitant workproducts. In addition,a peer-to-peer-based service selecting and composing tool is suggested as a way of supporting theprocess. The paper presents the architecture of the proposed tool and illustrates the whole process inthe development of a mobile banking application based on dynamic Web services.

© 2013 Elsevier B.V. All rights reserved.

1. Introduction

A service oriented architecture (SOA) promotes loose couplingbetween components to enable faster and more flexible reconfig-uration of business processes and provides a means of organisingsystem resources in an open and flexible arrangement. From an en-terprise management perspective, the successful delivery of SOAsystems translates into responsive business processes that canadjust to varying customer service requirements [1,2]. Expectedresponsiveness and adjustment is based on leveraging the knowl-edge of relationships between various services and mixing andmatching groups of services to satisfy new requirements. Serviceoriented computing (SOC) has become a convincing paradigm forenterprises in tackling traditional hurdles to improving the ef-ficiency and effectiveness of their ubiquitous software applica-tions [3]. The vice President of Gartner, J. Fenn, predicted that by

∗ Corresponding author. Tel.: +61 2 42213873; fax: +61 2 42214045.E-mail addresses: [email protected] (J. Shen), [email protected]

(G. Beydoun), [email protected] (G. Low), [email protected] (L. Wang).

0167-739X/$ – see front matter© 2013 Elsevier B.V. All rights reserved.http://dx.doi.org/10.1016/j.future.2013.08.005

2013, SOA will have delivered transformational results to the roleand capabilities of IT for businesses [4]. Furthermore in 2012, onethird of IT budgets were spent gaining access to services developedby other vendors [5]. This increased attraction to SOC comes withthe expectation that energies from software development and ac-quisitionwill be shifted to other business activities, and at the sametime deliver better alignment with business requirements.

Service-oriented software engineering promises to deliverenormous tangible improvements to enable business processes. Inpractice it has been hard to realise, especially for complex applica-tion systems, when it is advantageous to use services from variousproviders. There is a need to find ways to collect available busi-ness services from the different providers and to specify how sucha collection of services should be combined and integrated seam-lessly [6]. This ability to easily integrate services can increase flex-ibility and agility, not only in systems development but also inbusiness process management. However, existing service compo-nents do not provide a clear and comprehensive definition of thebusiness process semantics. Therefore many existing services areoften isolated and opaque to information system developers. Cur-rent software techniques and tools do not alleviate this and place

264 J. Shen et al. / Future Generation Computer Systems 32 (2014) 263–273

too much burden on developers attempting to reuse existing ser-vices. This hampers the realisation of the monetary benefits of thetechnology and the collective adoption of reuse by the requiredlarge number of players to ensure a critical mass of shared ser-vices [7].

The use of ontologies can pave the way for an intelligent soft-ware development environment where developers submit newbusiness requirements and an automatic tool generates the serviceoriented software system. With semantic driven composition, ser-viceswill be shared between teams of developers and acrossmulti-ple organisations connected via the Internet. We are acutely awarethat existing Web languages are not easily accessible as describedin Berners-Lee [8]. To overcome this, we aim to provide ontologi-cal support to the requirements analysis phase to ensure that anynewly created service can be appropriately indexed by a semanti-cally rich layer of ontologies. There are a number of promises andarguments around semanticWeb services [9–11], one big issue be-ing the limited generality of the isolated efforts made by indepen-dent research groups, for example, as reported in [12]. Indeed, thispaper heeds visionary comments in [13,14] that, in order to meetthe requirements of pervasiveness and autonomy in services de-velopment, the maturity and awareness of semantic Web and on-tology technologies (key components of Web 3.0) should not beoverlooked. This research uses an innovative ontology- and agent-based technology to support the SOA environment by providingautomatic identification andmerging of services whichwill in turnenable process changes in the business requirements.

The holistic semantic Web driven SOA development approachwill play a significant role in better exploitation of services at boththe technical and business level. This paper is well timed coincid-ing with the rapid development of Web 2.0 technologies whichenable a single enterprise to use theWeb to offer value-added cus-tomer services via connection to various services or applicationsfrom other public or commercial organisations. The innovationsin this paper will harness the Web as a support medium for sys-tems development enabling automatic exchange of services be-tween various development teams across multiple organisations.The significance of these innovations is more pronounced coin-ciding with challenges of dynamic composition of distributed ser-vices [15] created by the high demand for portable appliances suchas personal digital assistants (PDAs) and next-generation mobiledevices as well as for P2P applications e.g. [16,17]. It is challengingto apply a hierarchy of ontologies in developing such applications.For example, concerns remain about how tomeasure the quality ofthe ontologies and the alignments among them [18].

This paper proposes an intelligent and supportive software de-velopment environment where developers can focus on semanticenrichment of business requirements and proper alignment withbusiness processes rather than the time consuming task of ser-vice identification and integration. This paper’s contributions are: aholistic ontology based development approach for service orientedsystems such Grid and Cloud platforms; a three layer abstractionof ontology alignment; and the introduction of a semantic integra-tion life cycle for semanticWeb services. Our proposed approacheswere demonstrated by applying them in the building of quality ofservice (QoS) ontology for a service oriented system and develop-ing amulti-agent, peer-to-peer (P2P) based service system to alignontologies before tools and illustrating the process in the devel-opment of a mobile banking application based on dynamic Webservices.

The rest of the paper is organised as follows: Section 2 pro-vides an argument for placing ontologies at the heart of Softwaredevelopment life cycle (SDLC) of component-based systems gen-erally and service oriented development in particular. Section 3articulates the requirements for an ontology-based service ori-ented development and the existing supporting ontologies from

the literature. Section 4 discusses the architecture of the intelli-gent development environment which uses a MAS for peer-basedWeb service composition system. A case study highlighting theontology-based development of bank loan approval service ori-ented system is presented in Section 5. Section 6 concludes witha summary and discussion of future work.

2. Ontology-centric service orientation

It is often a complex task for developers to locate the appro-priate service components to customise and integrate into theirsystem. To reduce this cost and to automate much of the serviceselection and composition effort, we advocate an ontology-basedapproach that uses a semantically enriched representation of ser-vices and business requirements in order to enhance interoperabil-ity of services. A domain ontology can facilitate reuse of servicesundertaken across different areas (or industries). For example, theservices for certain accounting practices may vary but only slightlyacross application areas. Such practices, if well documented us-ing a domain ontology, can provide reusable services that can beadapted using appropriate application information. It is fair to saythat the development of any IS system can benefit from a domainontology and/or an application ontology with this being most evi-dent to developers during the analysis phase. Such ontologies maybe available from existing repositories (e.g. [19]) or a domain anal-ysis yielding an ontology may be considered the first stage ofdeveloping the system (e.g. as proposed in [20] or in [21]). Someindustries such as banking and finance are inclined to provide theirown ontologies to enable speedier IS development.

Unfortunately, only a small number of existing methodologiesinclude ontologies in their workproducts and processes. This sup-port is generally confined to the early phases of the development(the analysis phase). For example, Girardi and Serra specify howa domain model that includes goal and role analyses is developedfrom an initial domain ontology in their methodology [4]. Anotherexample [22] uses ontologies to mediate the transition betweengoal and task analyses. A better inclusion of ontologies into a de-velopment methodology permits the long term reuse of softwareengineering knowledge and effort and can produce reusablecomponents and designs [23]. But first some of the challengesdiscussed in [24,25] need to be addressed. Various softwarecomponents have different knowledge requirements and they re-late to the application domain from various layers of abstraction.Components may be complementary and they may have varyingdegrees of prescription to the domain requiring various degrees ofadjustment to suit the domain. For example, a user interface willoperate at a different level of abstraction to the application do-main than say a component interfacing to a data mining agent ora database service. In other words, the degree of linkage betweensoftware components and analysis models depends on the natureof components themselves and how the components relate to thesystem as a whole. An ontology based approach for developmenttherefore further complicates the analysis activities during devel-opment. Even if we assume a high degree of independence be-tween various software components and the application domain,identifying and appropriately using ontologies in the developmentof components remains difficult. Elsewhere, e.g. in [21] the use oftwo ontologies, a domain ontology and an application ontologyare advocated to guide the verification of requirement models. Inthis paper, we advocate for an additional ontology that describesthe relations between the software components and the way theyare structured in the system. For the development of a service ori-ented system, the use of this architecture ontology will in turn en-able proper assumptions to be made with relation to the domainand application ontologies and how they can be related to servicecomponents. In doing this, we not only identify various roles of an

J. Shen et al. / Future Generation Computer Systems 32 (2014) 263–273 265

Fig. 1. A three layer abstraction of ontologies support an iterative service orienteddevelopment life cycle.

ontology, but we also identify suitable layers of abstractions to de-scribe a collection of relevant ontologies that can enable reuse ofcomponents and domain analyses (as proposed in Fig. 1).

The SDLC requires the three related ontologies shown in Fig. 1.The domain ontology describes the domain knowledge for servicesto be used in the development of the requirements for a solution tothe problem. Domain ontologies may be unique to the problem it-self ormay be adapted from previous problems in similar domains.The application ontology describes the types of and nature of prob-lems to which services have been developed. This ontology is use-able to define the service capabilities and preconditions as well asindexing suitable services from any available service repositories.When various tasks in a software or business process can be imple-mented with a combination of services (old or new), service com-position applies. In other words, the system may achieve the goalby incorporating previous knowledge of a similar previous prob-lem. This composition can be automated when application re-quirements and service interfaces are aligned properly with theapplication. This is a key aim of our work. Finally, the architectureontology describes the inter-services interfaces and how they con-nect. One importantmechanism to identify suitable services at thislevel is to match the service requestor’s QoS requirements and theservice provider’s QoS provision. Therefore, alignment of an QoSontology for services at an architectural level is essential. Fig. 1 alsoprovides the methodological sketch accommodating the observa-tions of this section.

We envisage that a service-oriented systems developmentstarts with a domain ontology and an application ontology identi-fying tasks and functions required from the services in the system.These can index an appropriate set of services/capabilities froman appropriate existing library of services/capabilities. Chosen ser-vices do not necessarily have the required degree of application ordomain dependence. The application ontology will assist in identi-fying the requirements of each service. Individual application on-tologies for each service could be identified and used to verifychosen services against requirements. The architecture ontologywill be used to create a common interface between the variousservices and glue them into a working system. This third ontol-ogy is essentially a service ontology that describes the knowledgerequired for control structure and service dependences. An auto-matic tool that seeks to dynamically select a service (or its codedimplementation) to solve a problem needs to know this ontol-ogy. The collection of all ontologies will form the basis for an it-erative process to develop the architectural interfaces between allagents and verify the application requirements of chosen capabili-ties. The application ontologymay also require incremental refine-ment during the iterative process. Appropriate ontology mappings

are needed between application and architectural ontologies to fa-cilitate service composition. Verification between services task ca-pabilities and the architecture ontology is undertaken, which mayresult in further localised ontology mappings. The developmentprocess requires guidelines to develop the various ontology map-pings between the three ontologies ensuring their completenessand consistency.

The ontology-based development will enable an ontology-supported approach to support dynamic composition of webservices in a highly distributed and heterogeneous computingenvironment. The dynamic composition is adapted from [16] andhighlights how ontologies can be exploited using semanticallydriven composition of services e.g. [26]. It is underpinned byreusing existing services and noting that they typically describeatomic taskswithin a business process. The cloud and SOCpioneerssuch as Amazon and Google have developed vendor-specific WebAPIs or categorical keyword-based platforms like EC21 and GooglePlay.2 They demonstrate convincing performance metrics such asscalability and elasticity, but on the other hand, they suffer fromthe lack of interoperability between different vendors or even dif-ferent platforms (such as iOS and Android) for the same vendor.Typically they were only concerned about the application ontol-ogy as specified in our model without considering support for adomain ontology and an architecture ontology, so there are fewmechanisms to describe non-functional requirements such as QoSor semantic relationships between various service provisions. Con-siderable research is occurring into the use of light weight ontolo-gies, or namely linked data, to improve the scalability of semanticWeb services [7,12]. There are also approaches to bridging ontolo-gies and traditional data models [27].

However, so far there has been little research into developingstandardised ontologies, particularly for QoS of services for boththe service requestor and the provider between services in aservice oriented application. Notably, OWL-S3 is one effort tostandardise the description of Web services with rich semantics.OWL-S and similar efforts are suitable to for reuse as architectureontologies in our approach. However, as we will see later in thispaper (Section 4), they are not ready for direct use and they needto be properly aligned to the other ontology layers.

3. Supporting ontology-based service oriented developmentwith existing architectural ontologies

Our ontology-based approach complements existing servicerepositories which provide service implementations that may beused in both the design and implementation phases (Fig. 2). Ouruse of ontologies at three levels, as discussed in Section 2, offers aunique workbench to test the reuse of ontologies placing them atthe centre of the development life cycle. This approach ismotivatedby existing suitable ontologies. For instance, OWL-S can allow in-dividual software agents to dynamically discover, invoke, composeand monitor Web services with a high degree of automation. Ithas also been delineated to easily identify tasks for individual ser-vices, ameliorating the difficulty of providing different knowledgerequirements to different components. Another ontological engi-neering effort that can provide a starting point for an architectureontology is WSMO. Aligning both of these as architectural ontolo-gies is first described in this section, before using the QoS as a criti-cal component at this layer to demonstrate the ontology-alignmentprocess and enable a P2P automatic tool to support the ontology-based development.

1 www.amazon.com/ec2.2 play.google.com.3 http://www.daml.org/services/owl-s/.

266 J. Shen et al. / Future Generation Computer Systems 32 (2014) 263–273

Fig. 2. Ontologies can be used to give a dynamic interface to services.

3.1. Aligning OWL-S and WSMO for the ontology-based approach

OWL-S ontology consists of three main components: the ser-vices profile, the process model and the grounding. The servicesprofile is for advertising and discovering Web services. The pro-cess model is used to describe detailed operations of services anddefine composite Web services. The grounding is used to map theabstract definition of services to concrete specifications of how toaccess the services. The services profile component of the ontol-ogy can be detailed and refined to allow detailed services’ descrip-tion and evaluation. Basically, the service profile does not mandateany representation of services; rather, using the OWL sub-Class itis possible to create specialised representations of services that canbe used as service profiles. OWL-S provides one possible repre-sentation through the class ‘‘Profile’’. An OWL-S ‘‘Profile’’ describesservices individually as a combination of three basic types of infor-mation:which organisation provides each service, which functionseach service computes, and the features that specify the character-istics of each service. In this way, the complementary descriptionsabout Web services including the QoS can be extended in the ser-vices profile, so that we can improve the automation and reliabilityof Web services’ composition in a dynamic environment.

WSMO defines four high-level notions that support the de-velopment of semantic Web services: namely Ontologies, Goals,Mediators and Web services [28]. Ontologies define a commonagreed-upon terminology by providing concepts and relationshipsamong the set of services from a real world domain. Goals are de-pictions of the expectations a service requestor may have whenseeking for a service on the following aspects: functionality, ap-proach and quality of service. Mediators coordinate the hetero-geneity problem that occurs between descriptions at differentlevels [29]: data level – different terminologies, protocol level –different communication behaviour between services, and processlevel—different business processes. WSMO further defines fourtypes of mediators: OO Mediators connect and mediate heteroge-neous ontologies, GGMediators connect Goals, WGMediators linkWeb services to Goals, and WW Mediators connect Web servicesresolvingmismatches between them.Web services are descriptionsof services that are requested by service requestors, provided byservice providers and agreed between service providers and re-questers.

In [30] we studied and compared existing semantic Web ser-vices frameworks used in various industrial and governmental sec-tors. We found the user perceptions and intentions to use eitherOWL-S or WSMO were bigger concerns than the expressivenessand reasoning capabilities of both facilitators. Hence our Fig. 3shows a more general framework of the semantics integration lifecycle (SILC) for services development. Semantics and ontology areleveraged into each step in traditional Web service development

and composition environments. The SILC adopts a top-down ap-proach. It has several phases, including developing business pro-cesses (Business Process Modelling phase), adding technical andbusiness constraints to processes (Development phase), annotat-ing the composition workflow with a domain ontology to preparesemantically enriched service requests in a combined service flow(Enrichment phase), and deploying and executing in the final pro-cess (Runtime phase). Each phase of the SILC is responsible for per-forming a specific set of tasks. Instead of binding the combinedservices within the composition at design time (the developmentphase), selected services can be semantically described in the busi-ness processes. These semantic service requests can be annotatedwith the domain ontology. The domain ontology ismanagedwithinthe scope of service management. The final business process isspecified as a composite process in a workflow language enrichedwith process semantics such as OWL-S. The activities of preparingand sending a request for a Web service, discovering a service onthe basis of matching requirements defined in QoS requirementsor the service level agreement (SLA), and acquiring its responseare dependent on semantic enhancements by the business partici-pants, namely the service provider, the requester, and the registryof the whole service-oriented architecture. For example, for a mo-bile service, the location based service ontology will be a key partof the SLA, which is maintained in both the model repository andthe semantics repository. The semantics repository, together withdetails of the SLA and QoS for those stand-alone services, will inturn be a core component of servicemanagement. Here we can seeOWL-S is just one of many such efforts to provide ontological sup-port for a services system.

3.2. QoS-oriented services ontology alignment

QoS is an important criterion for e-service selection in a dy-namic environment. In general, QoS refers to the capability of anetwork to provide better service to selected network traffic overvarious technologies. For a decentralised system like a P2P basednetwork, the dynamic and unpredictable nature in e-service pro-cesses can significantly affect the service’s composition and per-formance. In addition, the dynamic e-business vision calls for aseamless integration of business processes, applications, and e-services over theWeb space and time. In other words, QoS proper-ties such as reliability and availability for an e-service process arevery important. Furthermore, changes and delay in traffic patterns,denial-of-service attacks and the effects of infrastructure failures,low performance in executions, and other quality issues over theWeb create QoS complications in a P2P network. Quite often, unre-solved QoS issues cause critical transactional applications to sufferfrom unacceptable performance degradation. Consequently, thereis a need to distinguish e-services using a set of well-defined QoScriteria.

With the large number of e-services, it is desirable that con-sumers can distinguish between ‘good’ and ‘bad’ service providers.In such a case, QoS is themeans to select a ‘better’ e-service amongvarious providers. In addition, different collaborating e-servicesapplications will compete for network resources in an unreason-able and uncontrollable manner if their interactions are not co-ordinated by agreements or specification on QoS differentiation.Naturally, these factors will force service providers to understandand achieve QoS-aware services to meet the demands. Also, a bet-ter QoS specification for e-serviceswill becomemore significant bybeing a unique selling point for a service provider. Fundamentally,theWeb servicesQoS requirement refers to both the functional andnon-functional quality aspects of an e-service. This includes per-formance, reliability, integrity, accessibility, availability, interop-erability and security [31]. The properties become even morecomplex when adding transactional features to e-services.

J. Shen et al. / Future Generation Computer Systems 32 (2014) 263–273 267

Fig. 3. Semantic integration life cycle for services development.

Notably, SILC is similar to traditional SDLC from the perspec-tive of integrating legacy systems. As many legacy systems lack se-mantic or ontological artefacts, it is challenging to reengineer suchsystems to integrate these new components. However, both OWL-S and WSMO are successfully built upon the flexibility of multi-agent systems (MAS)and the loosely-coupled feature of serviceoriented systems [30]. As we experimented in the proposed archi-tecture and case study example (Sections 4 and 5 respectively), wenoted there would not be a huge amount of extra work tomake in-vasive changes. Instead non-invasive componentised plug-play ap-proaches would be sufficient to repurpose legacy systems to workwith semantics enriched business processes.

3.3. Multi-agent system for services system

How to properly design and integrate QoS criteria in a decen-tralised e-service process is an important innovation for e-businessdevelopment in a decentralised network. It particularly lends it-self to ontology based development, as services correspond totasks that can be indexed using an application ontology. In a dy-namic environment, a higher domain ontology can be used byagents to locate appropriate providers of services and undertakedynamic evaluation through appropriate communication betweenagents [32]. [33] presents an ontology-driven framework to buildcomplex process models that can be reused in this application.More specifically, a web services modelling ontology is describedin detail in [28] and a ‘‘Generic NegotiationOntology (GNO)’’ in [34]as an upper level negotiation ontology for software agents. This ex-isting research can be reused in this application.

The automatic support we propose consists of a MAS providinga QoS evaluation to both service requestors and service providers.The system will identify service providers capability and perfor-mance so as to enhance the service composition for service clients

over the physical distributed service network. Due to the complex-ity of QoS metrics, a well-defined QoS service description does notactually exist. With a P2P architecture the QoS is gauged by a ser-vice client through cooperative interactions with other peers thatcan potentially provide the service. The scope of using ontologiesin this web services development is available given that most ofthe current work focuses on the definition of QoS ontology, vocab-ulary or measurements and to a lesser extent on a uniform eval-uation of qualities. Furthermore, a services unit of analysis nicelycorresponds to a service carried by an agent.

When an agent receives a service request that it cannot fulfil,it seeks out a service from another agent or repository of services.This may happen as follows:

(1) Identify the corresponding domain of the request using bothdomain and application ontology.

(2) Use the domain knowledge to map to the service interface inorder to index the task corresponding to the service requestedas designated by the application ontology.

(3) Map its application knowledge to the individual tasks andperform the tasks to fulfil the service request.

For example, suppose that an agent is interested in engaging in aspecific negotiation with an opponent agent. Assuming it is awareof the negotiation protocol, with limited domain knowledge andinformation about its opponent’s preferences, it needs a methodto model the opponent and a method to devise a strategy to act.By mapping its application and domain knowledge to the serviceslibrary, it identifies and employs a suitable coded implementationfor a model and strategy. As the negotiation commences, theagent feeds information to the service model interface, the modelupdates, and the agent feeds the output of the model (along withthe negotiation protocol) to the strategy interface, and follows therecommended course of action. The agent has no fixed automatednegotiation approach but, rather, has the capacity to dynamically

268 J. Shen et al. / Future Generation Computer Systems 32 (2014) 263–273

select the approach that best suits its circumstance. We willintroduce the MAS system for the P2P based service compositionin the next section.

4. The MAS based architecture for P2P service composition

A pure P2P architecture lacks a proactive mechanism toincorporate good support for complex manipulation on the layersof ontology involved in a large scale business process orientedservices system, as discussed in Section 3. In this section a newarchitecture is introduced where an agent complements passivepeers to select, compose and invoke available services, based onrepositories of services and their related ontologies.

In such a new P2P agent-based architecture dedicated to shar-ing resources, the services system generally acts as an interface toa set of resources distributed across a network. Each agent withinthe system typically acts as a gate keeper to a local repository ofresources that it shares with other similar peer agents as theybroadcast their requests. In this architecture, all agents cooperatefulfilling queries and have access to their repository of resourceswhenever a query received can be assisted by their local resources.Resources shared can be information (files of data,music etc. e.g. asspecified in systems similar to [35,36] or services as in this paperand in [25]. In our P2P framework, the system consisting of allcooperating agents responds to requests by a user (e.g. a servicerequester, a software developer, a human web user) who is alsorepresented by an agent in the P2P network that acts on his/her be-half. This agent aims to fulfil the request, e.g. locates services andresponds to queries by other similar agents. The collection of allthese agents and agents assisting them in their tasks form a P2Pcommunity-based cooperative system. For composing services us-ing their semantics, a P2P agent-based system is shown in Fig. 4. Anagent (oblong in Fig. 4) representing a user (hexagon in Fig. 4) hasaccess to a knowledge base containing services/resources that theuser iswilling to sharewith other users. Each service/file/resources(cylinder in Fig. 4) is identified by a unique identifierwithin the P2Pnetwork (e.g. Service identifier, HTML, PDF, music or video).

As agents automatically interact on behalf of users seeking ser-vices to be composed, communities of common interest emerge.These communities may overlap. Providers and users of servicesmay belong to more than one community. For instance a service to‘open an account’ may belong to the community of banking devel-opers as well as that for insurance developers. As more and moreservices are composed, agents becomemore efficient and effectiveby interacting with the agents in the communities most likely tobe able to provide them with service components. The P2P systemis responsible for locating sites where candidate services are avail-able based on previous requests. The mediation between servicerequesters and providers is always done by the system. When anagentmakes a service request, a candidate agent provider respondseither by providing details about services it can supply or refusingthe service. When all responses are received, the requesting agentcombines and refines the results to compose a list of services thatcan be composed to fulfil the request. The requester agent then se-lects services it wants to compose and initiates the composition.

After a successful composition a requester’s knowledge base isupdated to include the received and the composed services. Simi-larly for all agents involved in processing a service request, theirknowledge base is also updated with additional informationreflecting the domain and attributes of the requester agent. Thisinformation is used in future service requests. Thus as agents inter-act they develop awareness of the services possessed by their peersand which peers may be interested in the services that they them-selves offer. Each agent keeps a record of its history of service shar-ing in order to evaluate the QoS and to use this for future servicerequests. The collection of this history is in essence a distributed

QoS ontology distributed across providers. The QoS ontology canprovide assessments of past queries and providers, and also infor-mation to make QoS estimates for members. It is used to produceshort lists of candidate nodes for future queries by calculating thesimilarity between the current query and a past query and its QoS.In a fully evolved P2P system, agents may use this QoS knowledgeabout other users’ interests to request/negotiate information fromtheir peers when they do not know who has services of interest.New providers are constantly added to the history, expanding theuser-agent’s contact circle.

The strategy of service sharing can be applied to any domainthat can be prescribed by an ontology. The P2P service applicationsystem, which instantiate the service selection and execution, sub-sequently allows dynamic composition of Web services in a highlydistributed and heterogeneous computing environment [25] asmentioned in Section 2. Then at the architecture level, the sys-tem provides, to both service requestors and service providers, theQoS evaluation. The system will identify service providers’ capa-bility and performance so as to enhance the service compositionfor service clients over the distributed service network. Due to thecomplexity of QoS metrics [2,37,38], a well-defined full QoS ser-vice description does not yet exist. We propose to exploit the Webservicemodelling ontology (WSMO) [28] as a complementary con-ceptual framework to create the QoS ontology to describe variousperspectives onWeb services, to facilitate integrating the services.In a specified domain, a problem solving method unit of analy-sis nicely corresponds to a service carried by an agent. The agentsthemselves can dynamically select service implementations thatbest suit the service or the QoS required matching the requestedSLA. This selection will be made using a P2P searching mechanismto locate appropriate services from other peer agents. Cooperativecommunication between agents about their existing services, theirpast service requests and their performance will enable service re-questers to locate the peer service provider with the most suitableQoS. The coordination and communications, which might occuramong the involved agents and peers as well as service requestersand providers, would rely on the sharing andmapping between thedifferent layers of ontologies.

The suggested architecture has been implemented in theenhancedUOW-SWS tool. Specifically the UOW-SWS tool has beenextended to incorporate WSMO features to facilitate Web servicesselection via ontological QoS and spatial information. UOW-SWS isa JXTA-based (jxta.dev.java.net) P2P workflow information systemupgraded from SwinDeW-B [16].

5. Case study: ontology-based development of a loan approvalservice system

In this section we use a typical loan approval service system toexplain our ontology based development tool. It has been used bymany e-commerce application prototypes, so we had like to utiliseit in UOW-SWS prototype to explain and demonstrate our selec-tion method [39]. A loan application process deployed using ourprototype. Initially, Customer sends a loan request to a financialorganisation. A Coordinator peer, who has the knowledge of wholebusiness process, will seek appropriate peers/agents to fulfil thetask by sending Pipemessages and evaluating peers/agents’ perfor-mance. For the whole process, it consists of two small single ser-vices (i.e., task or activity): ‘‘riskAssessment’’ and ‘‘loanApproval’’.‘‘riskAssessment’’ provides the service (Assessor) about evaluatingcustomer’s reputation and loan amount, thus generating the riskassessment of the loan. Only when the risk assessment meets therequirement (e.g. good reputation and satisfactory permitted loanamount) of ‘‘loanApproval’’ (Approver), can the loan application beapproved; otherwise, the loan request is rejected.

J. Shen et al. / Future Generation Computer Systems 32 (2014) 263–273 269

Fig. 4. The P2P multi-agent system.

Fig. 5. CFG in LoanApproval case.

There have been many efforts to model services based busi-ness processes as graph based workflows, for example, [40] ex-ploited Petri nets. As Fig. 5 shows, a business process can be simply

converted into the control flow graph (CFG) form so as to en-sure the coordinator splits the business process without con-straints [39]. For the purpose of orchestrating and executingcomposite services, nodes in the CFG graph are basic activities.Each node knows a set of its predecessors and a set of successors aswell as the conditions for it to be executed, if any. In this way, thetask allocation for different peers can be intelligently performed.Therefore, the decentralised run-time environment can be effec-tively coordinated and self-managed with services located to widearea peer hostswho communicatewith each other according to thede facto standard business process or workflow definitions.

We can reuse an available banking ontology as domain ontol-ogy, and the typical tasks involved in a loan approval will form areal business application which is supported by a process ontologyat the application layer. In our prototype, we implement the ser-vices as mobile web services so that the whole implementation issufficiently complex to cover all layers of ontologies as discussedpreviously. The key to building such a system is how to implementamobile service environmentwith the support of architectural on-tologies and mobile agents or peers. Therefore, we first introducea QoS ontology (using WSMO as a modelling ontology for services’agent and peer), and its sub-Class, a geographic location ontology(using OWL-S for profiles or WSMO again). Later we will show thesystem setup and interfaces where objects defined in ontologiesare instantiated.

There have been some projects studying QoS-empoweredservice selection. In [41], the authors present a QoS-awaremiddleware-supporting quality-driven Web service composition.Two service selection approaches for constructing composite ser-vices have been proposed: local optimisation and global planning.In [38], the authors focused on the creation of QoS ontology mod-els which proposed QoS ontology frameworks aimed at formallydescribing arbitrary QoS parameters. From their ongoing work, weare aware that they have not yet considered QoS-based service se-lection. The most similar work to ours, namely METEOR-S [42],bases the distribution of semantic Web service descriptions on aclassification system expressed in service or registry ontologies.In our opinion, this solution is good in terms of globally organis-ing registries to benefit service management rather than for the

270 J. Shen et al. / Future Generation Computer Systems 32 (2014) 263–273

service discovery or selection itself. Although it is relatively effec-tive to publish and update service description information basedon their categories, it would be difficult for service requestors toselect services without understanding details of their principles. Incontrast, our UOW-SWS tool is built by taking into considerationcorrelations between various service quality measurements and isbased upon a well-founded P2P e-service workflow system.

5.1. QoS ontology for P2P based service system

Non-functional WSMO properties of the four WSMO elementstypically describe non-functional aspects such as author, creationdate and natural-language descriptions. In this paper, we intro-duced new QoS descriptors that could also be used in parallel withexisting non-functional attributes of WSMO elements. These in-clude of QoS, such as performance, availability and spatial featuresof distributed services. This QoS extension is similar to thecommon notion of non-functional properties in ‘‘Web services’’;however, our QoS parameters are more general non-functionalproperties. We develop the WSMO non-functional properties tosupport adaptive P2P-based service composition.

In our framework, coordinator roles are allocated to agents atruntime (detailed in Section 5.3). These organise the peer/agent se-lection process and distribute tasks. The resultant decentralised ar-chitecture is coordinated and self-managedwith services allocatedto peer/agent hosts who are able to communicate with each otheraccording to a real business process agreement or standard work-flow definitions. We now present a more effective representationto enable peers to evaluate a candidate composition and select themost appropriate peers for a requested service in a P2P informationsystem. Based on [38], we define an extensible class QoSPropertythat aims to extend the nonFunctionalProperties class in WSMOfor P2P-based service selection.

Class nonFunctionalProperties...other existing properties...hasQoSProperty type QoSProperty

Class QoSProperty sub-Class nonFunctionalPropertieshasPropertyName type stringhasPropertyValue type {int, float, long, others}hasPreferredValueType type {low, high}hasWeight type float

Each QoSProperty is generally described by PropertyNameand PropertyValue. For the purpose of QoS-based selection,two additional properties are defined: hasPreferredValueType andhasWeight. The hasPreferredValueType property represents the de-sired trend. For example, the lower the response time is, the bet-ter the QoS that could be achieved. The hasWeight property is avalue denoting the weight of the property, when considering sev-eral metrics. In this context, we define the weight value within therange [0, 1], while different end users may have different weightvalues for their service requirements. For instance, a peer’s ‘‘Re-sponseTime’’ can be described inWeb service profiles as following:

dc _"http://purl.org/dc/elements/1.1#",webService _http://example.org/ LoanApprovenonFunctionalProperties

dc#title hasValue "Peer 1"dc#description hasValue "ResponseTime for

LoanApprove process by peer 1"...hasPropertyName hasValue _string ("ResponseTime")hasPropertyValue hasValue _int ("500")hasPreferredValueType hasValue _string ("low")hasWeight hasValue _float ("0.8")

endNonFunctionalProperties

Fig. 6. Flow diagramming for allocating atomic services to peers.

From this example, we can see that QoS parameters for services,which support the banking domain and loan approval application,can bedefined in thisQoS ontology. They are prospectivelymappedto the relevant domain and application ontologies in which thesystemor application usersmay explicitly or implicitly define theirrequirements for underlying service systems. The effort for serviceselection and composition becomes a matchmaking process forpeers and agents to find the best candidate of each service toachieve the overall QoS tomeet the users’ requirements. Hence theontologies at different layers should be smoothly aligned.

To evaluate different non-functional properties of e-servicepeers, the central concepts in our modelling are: PreferredValue-Type, Weight and Unified Value. PreferredValueType has two possi-ble values, ‘‘low’’ and ‘‘high’’. We utilise them to identify variousnon-functional properties. For example, ‘‘ResponseTime’’ is usuallyexpected to be as short as possible when choosing an appropri-ate peer, so the PreferredValueType of ‘‘ResponseTime’’ is normally‘‘low’’. Likewise, ‘‘ComputationCost’’ is also usually deemed ‘‘low’’as it is unlikely anyone would prefer to choose a service with anexpensive computation. However, ‘‘Reliability’’ and ‘‘Availability’’are often considered as ‘‘high’’, since many systems have highreliability and availability requirements. ‘‘Weight’’ indicates theimportance and priority of certain properties during service com-position so that the weight value varies from service to service andfromproperty to property. Lastly, ‘‘Unified Value’’ gives each peer’soverall qualitymeasurewhich can be used to assess each peer’s ca-pability tomeet the requirements of a requested service. To enablethe peers’ coordinating agent to intelligently select peers and plana composition process, we sketch a selection process to assign theatomic services to appropriate peers within the service composi-tion, as shown in Fig. 6. This flow chart addresses the allocationmethod for multiple peer profile specifications and takes into ac-count the above formulated objective.

5.2. An instance of QoS ontology: a geographical location ontology

As an example of an ontology for non-functional QoS proper-ties to support mobile services based bank loan approval applica-tion, we also develop a geographical ontology. In a decentralised

J. Shen et al. / Future Generation Computer Systems 32 (2014) 263–273 271

Fig. 7. Relations between QoS profile and geographical profile for services.

network, geographical location is an important factor in both ser-vice selection and composition. In a P2P-based business process, apeer’s geographic information is usually related to services’ acces-sibility, particularly for a pervasive location based service, whichintegrates a mobile device’s location with other information in or-der to provide added value to a context-aware user [43,44]. Forexample, with the popularity of smart phones and tablets such asthe iPhone and iPad, mobile banking is becomingmore versatile. Inmany cases, agents or peers, that invoke the loan approver and loanassessor services, might be located at different work sites. Typ-ically, there is no guarantee that a service can be selected orcomposed given the requested location requirements. In practicalapplications, business process managers must deal with alterna-tives that deviate from the requested service locations. We are in-terested in identifying those alternatives where the deviation isminimal, such as the nearest available service. In order to effec-tively enhance services’ quality with respect to accessibility in aP2P network, we consider basic geographic information about awould be task-allocated peer and incorporate it into theQoS profileas an extension of the previous QoS specification. To develop a ge-ographical ontology which is generally a sub-Class of generic QoSontology, we can use either WSMO or OWL-S constructs, i.e., pro-files. Fig. 7 shows the relations between these different ontologyprofiles in the context of OWL-S.

Fig. 8 denotes the relationships between the QoS property andGeoproperty inWSMO, and the logic of using extensible geographicfeatures for distributed services. In a real environment, it is notunusual that different applications may have different require-ments, that is to say, some geographic properties (e.g. angle andregion) do not need to be considered or evaluated for some ap-plications (e.g. loan application case or simpler local services).Therefore, in order to be more flexible and practical, we definean attribute named ‘‘Essential’’ in GeoProperty, which means if‘‘isEssential’’ = 1, this kind of attribute is regarded as necessaryand cannot be neglected.

Class GeoProperty sub-Class QoSPropertyhasGeoName type stringhasGeoValue type {int, float, long, others}hasPreferedValueType type {low, high}hasWeight type floatisEssential type boolean

The above is a definition of classGeoPropertywhich is the sub-Classof QoSProperty. In order to effectively enhance service quality foraccessibility in a P2P network, we herein consider the geographic

property about the peer and incorporate it into the QoSPropertyClass as an extension of QoS specification. Here is an example fordescription of a peer’s distance:

dc _"http://purl.org/dc/elements/1.1#",webService _http://example.org/ LoanApprovenonFunctionalProperties

dc#title hasValue "Peer 1"dc#description hasValue "Distance between

peer 1 and service requestor"...hasGeoName hasValue _string ("Distance")hasGeoValue hasValue _int ("100")hasPreferedValueType hasValue _string ("low")hasWeight hasValue _float ("0.6")isEssential hasValue _boolean("1")

endNonFunctionalProperties

The metric of ‘‘Distance’’ is viewed as a basic criterion whenchoosing an appropriate peer to invoke a requested services, soit has been viewed as a necessary property in order to improveservice accessibility. It is feasible to not only establish a better linkbetween a potential service (or partially composed service) andan expected or requested set of location requirements, and alsouse this approach to rule out less viable compositions early in theprocess.

5.3. Implementation of the mobile loan approval system

Technically, a coordinator in our prototype can adaptively or-ganise the peer/agent selection process and distribute tasks. In thisway, the decentralised run-time environment can be effectivelycoordinated and self-managed with services being located to widearea peer/agent hosts, who are able to communicate with eachother according to a real business process agreement or standardworkflow definitions. In this sub-section, we design a more effec-tive and qualitativeway for P2P information systems to distinguishwhich peer (or agent) is the most appropriate for a requested ser-vice.

As we mentioned in earlier sections, QoS and spatial perspec-tives involve many non-functional properties of e-services, suchas: service availability, service accessibility, service performanceand service geographic features. In a dynamic environment, theservice selectionwith combinedQoS and geographic specificationsis often a quite complex process due to the diversity of metricswith different value types, value ranges andmeasurements. Takingaccount of correlations between those different specifications, wesimplify and unify the various specifications to make the selectionprocess less complicated and more effective. We may assign a setof random data and demonstrate the evaluation of four peers whoare available in our loan case in using the UOW-SWS prototype,i.e., pre-deployed in the JXTA network. The properties of each peeruse different metric units with correspondingly varying values. Ifthe peer’s properties are numerous, it would be extremely hard todistinguish and make an optimal decision as to which peer is themost appropriate for service composition.

We implemented a set ofQoSbased service selection algorithms(as indicated in Fig. 6—for details on these algorithms refer to[16,39]) in our P2P based semantic Web service prototype. Thisselection method for the peers’ combined specifications is rea-sonably suitable and effective to be fully adapted in a dynamicenvironment, especially in the sense of an autonomous way to se-lect a best peer to perform any specific task at different stages.

Fig. 8. Extensible high-level relationships between properties.

272 J. Shen et al. / Future Generation Computer Systems 32 (2014) 263–273

Fig. 9. P2CP network model.

To migrate UOW-SWS onto the Cloud platforms where existingvendor APIs are already available, we can easily establish a peerto cloud and peer (P2CP) model [45]. In this model Cloud userscan download data and related ontological specifications from thestorage cloud and exchange them with other peers, regardless ofwhether the other peers are cloud users or not. There are three datatransmission tunnels in this storage model. The first is the cloud-user data transmission tunnel, which is responsible for data trans-actions between the cloud storage system and the cloud users. Thesecond is the clients’ data transmission tunnel, which is responsi-ble for data transactions between individual cloud users. The thirdis the common data transmission tunnel which is responsible fordata transactions between cloud users and non-cloud users.

Fig. 9 (adapted from [45]) is an example to show how a P2CPmodel works. Therein Cloud user 2 is downloading data from datanode 1, which is in the Cloud, via cloud-user data transmissiontunnel. In the meantime, Cloud user 2 is exchanging data withCloud user 1 and Cloud user 3 via the clients’ data transmissiontunnel, while common peers 2, 5, and 6 communicate via commondata transmission tunnels. Other existingmodels such asMicrosoftSharePoint tended to balance loads between peers and Cloudserves in different ways. However, in our P2CP model, peers maycommunicate directly and flexibly between each other withouttight dependence on servers, though some advanced features suchas backing up, caching, security and versioning of data may stillbe elevated or mitigated to servers just because the peers’ storageand computing capacities are ‘‘supposedly’’ inferior to those of theCloud servers.

6. Conclusions and future work

Using off-the-shelf domain ontologies as a starting point of sys-tem development is the focus of our efforts in the applied use of

ontologies in our intelligent services development environment.This will enable the transfer and adaptation of existing techniquesfor ontologies, e.g. for mapping and translating between multi-ple ontologies to obtain a more economical approach to softwareengineering development and address interoperability and workproduct reuse. Not only will an ontology-based services frame-work be complete, consistent and produce systems that can eas-ily be evolved to new contexts but it can have a highly developedmaintenance phase to guide developers in reusing existing systemsand components previously developed (using an ontological ap-proach).

This paper promotes ontology-based software developmentwith a focus on methodologies for services system developmentwith the support of P2P architecture and MAS. The paper first pro-vided a three layer abstraction of ontologies to be applied in ser-vice oriented development life cycle. Then the paper presented asemantic integration life cycle for the development of a domainor application solution for business process problems, where ar-chitectural services ontology becomes essential and QoS turns outto be a major requirement. To make the aligned ontologies use-ful, a MAS is needed to support the P2P e-services system. We im-plemented a tool to validate our approaches with a case study todemonstrate how the concepts and constructs proposed in this pa-per work together.

Muchwork remains to refine the concepts presented in this pa-per and to ensure that they are applicable to areas where the useof ontologies is less obvious than the banking domain discussed inthis paper. Towards this, the first step is to develop required on-tological techniques. These include ontology-based techniques forconsistency checking across products and processes, and ontology-based techniques for testing completeness of products and pro-cesses within and across methodologies. Underlying complexissues need to be resolved, e.g. how to reconcile requirements frommultiple sources andmultiple versions of ontologies fromdifferentdomains, applications and service based architectures. Another is-sue is how candidate problem solving methods get identified tobe reused. It may well turn out that an ontology-based approach ismost suited to areas of applications where the set of possible agentactions are well specified in advance e.g. in modelling service ori-ented systems. Modern large scale service oriented systems, suchas Google Play, mobile applications or social networks, might putmore focus on the performance improvement of the overall sys-tem, inwhich ontology enrichment should not be an added burden.

References

[1] H. Demirkan, R.J. Kauffman, J.A. Vayghan, H. Fill, D. Karagiannis, P.P.Maglio, Service-oriented technology and management, Journal of ElectronicCommerce and Applications 7 (4) (2008) 356–376.

[2] F. Dong, J. Luo, A. Song, J. Cao, J. Shen, An effective data aggregation basedadaptive long term CPU load prediction mechanism on computational grid,Future Generation Computer Systems 28 (7) (2012) 1030–1044.

[3] M. Forte, D. Lopes de Souza, A. Francisco do Prado, Using ontologies and Webservices for content adaptation in ubiquitous computing, Journal of Systemsand Software 81 (3) (2008) 368–381.

[4] Gartner, Inc., 27 technologies in the 2008 hype cycle for emerging technolo-gies, 2008 Press Releases. Retrieved 01.10.2011.

[5] Gartner, Inc., Key predictions for it organisations and users in 2008 andbeyond, 2008 Press Releases. Retrieved 01.10.2011.

[6] S. Madougou, S. Shahand, M. Santcroos, B. van Schaik, A. Benabdelkader,A. van Kampen, S. Olabarriaga, Characterizing workflow-based activity ona production e-infrastructure using provenance data, Future GenerationComputer Systems 29 (8) (2013) 1931–1942.

[7] T. Kohlborn, A. Korthaus, T. Chan, M. Rosemann, Identification and analysis ofbusiness and software services: a consolidated approach, IEEE Transactions onServices Computing 2 (1) (2009) 50–64.

[8] T. Berners-Lee, Web for real people (Keynote address), In: 14th InternationalWorld Wide Web Conference, WWW’05, Japan, 2005.

[9] D.Martin, J. Domingue, SemanticWeb services, Part 1, IEEE Intelligent Systems22 (5) (2007) 12–17.

[10] D.Martin, J. Domingue, SemanticWeb services, Part 2, IEEE Intelligent Systems22 (6) (2007) 8–15.

J. Shen et al. / Future Generation Computer Systems 32 (2014) 263–273 273

[11] X. Shi, The challenge of semanticWeb services, IEEE Intelligent Systems 23 (2)(2008) 5.

[12] T. Pilioura, A. Tsalgatidou, Unified publication and discovery of semantic Webservices, ACM Transactions on the Web 3 (3) (2009) 1–44.

[13] O. Lassila, J. Hendler, Embracing Web 3.0, Internet Computing 11 (3) (2007)90–93.

[14] G. Goth, Reaping deep web rewards is a matter of semantics, InternetComputing 13 (3) (2009) 7–10.

[15] J. Shen, G. Grossmann, Y. Yang, M. Stumptner, M. Schrefl, T. Reiter, Analysisof business process integration in Web services contexts, Future GenerationComputer Systems 23 (3) (2007) 283–294.

[16] J. Shen, S. Yuan, A. Krishna, Dynamic selection of service peers with multipleproperty specifications, in: D. Ardagna, M. Mecella, J. Yang (Eds.), BusinessProcess Management Workshops, in: Lecture Notes in Business InformationProcessing, vol. 17, Springer, 2009, pp. 609–620.

[17] X. Yuan, G. Min, Y. Ding, Q. Liu, J. Liu, H. Yin, Q. Fang, Adaptive resourcemanagement for P2P live streaming systems, Future Generation ComputerSystems 29 (6) (2013) 1573–1582.

[18] G. Beydoun, A.A. Lopez-Lorca, F. García-Sánchez, R. Martínez-Béjar, How dowe measure and improve the quality of a hierarchical ontology? Journal ofSystems and Software 84 (12) (2011) 2363–2373.

[19] DAML Ontology Library, 2013. http://www.daml.org/ontologies/ (accessed29.06.13).

[20] V. Cordi, V. Mascardi, M. Martelli, L. Sterling, Developing an ontology for theretrieval of XML documents: a comparative evaluation of existing methodolo-gies, in: The Proceedings of 6th International Workshop on Agent-OrientedInformation Systems, AOIS, New York, NY, USA, 2004, pp. 73–87.

[21] N. Tran, G. Beydoun, G. Low, Design of a peer-to-peer information sharingMASusing MOBMAS ontology-centric agent oriented methodology, in: W. Wo-jtkowski, W.G. Wojtkowski, J. Zupancic, G. Magyar, G. Knapp (Eds.), Advancesin Information Systems Development, Springer, 2007, pp. 63–76.

[22] J. Dileo, T. Jacobs, S. Deloach, Integrating ontologies into multi-agent systemsengineering, in: The Proceedings of 4th International Bi-ConferenceWorkshopon Agent Oriented Information Systems, AOIS, Italy, 2002, pp. 15–16.

[23] Q.N.N. Tran, G.C. Low, G. Beydoun, A methodological framework forontology centric agent oriented software engineering, International Journal ofComputer Systems Science and Engineering 21 (2) (2006) 117–132.

[24] G. Beydoun, C. Gonzalez-Perez, B. Henderson-Sellers, G. Low, Developingand evaluating a generic metamodel for MAS work products, in: A. Garcia,R. Choren, C. Lucena, P. Giorgini, T. Holvoet, A. Romanovsky (Eds.), SoftwareEngineering for Multi-Agent Systems IV: Research Issues and PracticalApplications, in: LNCS, vol. 3914, Springer, 2006, pp. 126–142.

[25] G. Beydoun, F. García-Sánchez, C.M. Vincent-Torres, A.A. Lopez-Lorca, R.Martínez-Béjar, Providing metrics and automatic enhancement for hierarchi-cal taxonomies, Information Processing & Management 49 (1) (2013) 67–82.

[26] J.P. Sousa, E. Carrapatoso, B. Fonesca, M.G.C. Pimentel, R.F. Bulcao-Neto,Composition of context-aware mobile services using a semantic contextmodel, International Journal On Advances in Software 2 (2) (2009) 1–13.

[27] W. Ahmed, M.A. Aslam, A.A. Lopez-Lorca, J. Shen, G. Beydoun, D. Richards,Using ontologies to synchronize change in relational database systems, Journalof Research and Practice in Information Technology 43 (2) (2011) 89–107.

[28] D. Roman, U. Keller, H. Lausen, J. de Bruijn, R. Lara, M. Stollberg, A. Polleres, C.Feier, C. Bussler, D. Fensel, Web service modeling ontology, Applied Ontology1 (1) (2005) 77–106.

[29] I. Toma, D. Foxvog, M.C. Jaeger, Modeling QoS characteristics in WSMO,in: The Proceedings of the 1st Workshop on Middleware for Service OrientedComputing, MW4SOC’06, ACM, New York, NY, USA, 2006, pp. 42–47.

[30] L.A. Kamaruddin, J. Shen, G. Beydoun, Evaluating usage ofWSMOandOWL-S insemantic web services, in: The Proceedings of the 8th Asia-Pacific Conferenceon Conceptual Modelling, APCCM, Australian Computer Society, Melbourne,2012, pp. 53–58.

[31] A. Mani, A. Nagarajan, Understanding quality of service for Web services.http://www.ibm.com/developerworks/webservices/library/ws-quality/index.html (accessed 29.06.2013).

[32] R. Girardi, I. Serra, Using ontologies for the specification of domain-specificlanguages in multi-agent domain engineering, in: J. Grundspenkis, M.Kirikova (Eds.) Proceedings of the Sixth International Bi-Conference Work-shop on Agent-Oriented Information Systems (AOIS) at the 16th InternationalConference on Advanced Information Systems Engineering, CAISE’04, Riga,Latvia, 2004, pp. 295–308.

[33] G. Greco, A. Guzzo, L. Pontieri, D. Saccà, An ontology-driven process modelingframework, in: F. Galindo, M. Takizawa, R. Traunmüller (Eds.), Database andExpert Systems Applications, in: LNCS, vol. 3180, Springer, 2004, pp. 13–23.

[34] V. Ermolayev, N. Keberle, A Generic ontology of rational negotiation, in:D. Karagiannis, H.C. Mayr (Eds.), The Proceedings of Information SystemsTechnology and its Applications, 5th International Conference ISTA, 2006,pp. 51–66.

[35] I.A. Klampanos, J.M. Jose, An architecture for peer-to-peer informationretrieval, in: The Proceedings of the 26th Annual International ACM SIGIRConference on Research and Development in Informaion Retrieval, SIGIR’03,ACM, New York, NY, USA, 2003, pp. 401–402.

[36] T. Mine, D. Matsuno, A. Kogo, M. Amamiya, Design and implementationof agent community based peer-to-peer information retrieval method,in: M. Klusch, S. Ossowski, V. Kashyap, R. Unland (Eds.), CooperativeInformation Agents VIII, in: LNCS, vol. 3191, Springer, 2004, pp. 31–46.

[37] A. Negri, A. Poggi, M. Tomaiuolo, P. Turci, Ontologies and web services: agentsfor e-business applications, in: The Proceedings of the Fifth International JointConference onAutonomousAgents andMulti-Agent Systems, AAMAS’06, ACMPress, 2006, pp. 907–914.

[38] D.T. Tsesmetzis, I.G. Roussaki, I.V. Papaioannou, M.E. Anagnostou, QoS aware-ness support in Web-Service semantics, in: The Proceedings of the AdvancedInternational Conference on Telecommunications and International Confer-ence on Internet and Web Applications and Services, AICT/ICIW, 2006, p. 128.

[39] S. Yuan, J. Shen, Mining E-services in P2P-based workflow enactments,Journal of Online Information Review 32 (2) (2008) 163–178. Emerald GroupPublishing.

[40] F. Cicirelli, A. Furfaro, L. Nigro, A service-based architecture for dynamicallyreconfigurable workflows, Journal of Systems and Software 83 (7) (2010)1148–1164.

[41] L. Zeng, B. Benatallah, A.H.H. Ngu, M. Dumas, J. Kalagnaanam, H. Chang,QoS-aware middleware for Web services composition, IEEE Transactions onSoftware Engineering 30 (5) (2004) 311–327.

[42] METEOR-S: semantic Web services and processes.http://lsdis.cs.uga.edu/projects/meteor-s (accessed 29.06.13).

[43] G.M. Kapitsaki, G.N. Prezerakos, N.D. Tselikas, I.S. Venieris, Context-awareservice engineering: a survey, Journal of Systems and Software 82 (8) (2009)1285–1297.

[44] J.W. Kim, J.Y. Kim, C.S. Kim, Semantic LBS: ontological approach for enhancinginteroperability in location based services, in: R. Meersman, Z. Tari, P. Herrero(Eds.), On the Move to Meaningful Internet Systems: OTM 2006 Workshops,in: LNCS, vol. 4277, 2006, pp. 792–801.

[45] Z. Sun, J. Shen, A high performance peer to cloud and peer model augmentedwith hierarchical secure communications, Journal of Systems and Software 86(7) (2013) 1790–1796.

Jun Shenwas awarded a Ph.D. in 2001 fromSoutheast Uni-versity, China. He held positions at Swinburne Universityof Technology in Melbourne and the University of SouthAustralia in Adelaide before 2006. He is a Senior Lecturerat the University ofWollongong inWollongong, NSWAus-tralia. He has published more than 90 papers in journalsand conferences in the area of computer science and infor-mation systems area. His expertise is onWeb services andthe semantic Web. He has been an Editor, Associate EditorPC Chair, Guest Editor and PC Member for numerous jour-nals and conferences published by IEEE, ACM, Elsevier and

Springer. He has been a chair of the Education Chapter of the IEEENSWsection since2007. He is a Senior Member of both IEEE and ACM.

Ghassan Beydoun received a degree in Computer Scienceand a Ph.D. degree in Knowledge Systems from the Uni-versity of New South Wales. He is currently an AssociateProfessor at the School of Information Systems and Tech-nology at the University of Wollongong and an adjunctsenior research fellow at the School of Information Sys-tems, Management and Technology at the University ofNew South Wales. He has authored more than 100 papersfor international journals and conferences. He is currentlyworking on a project sponsored by an Australian ResearchCouncil Discovery Grant to investigate the best uses of on-

tologies in developing methodologies for distributed intelligent systems. His otherresearch interests include multi-agent systems applications, ontologies and theirapplications, and knowledge acquisition.

Graham Low is a Fellow of the Australian Computer Soci-ety. He received his Ph.D. from the University of Queens-land. He has been an international pioneer in areas such asthe design of agent oriented information systems, methodengineering, use of ontologies in agent oriented infor-mation systems, innovation and adoption of informationsystems, outsourcing of information systems and man-agement of information systems development and/or op-erations. He has published more than 120 high qualityresearch papers in journals and conferences. He also wonmany research grants in Australia.

LijuanWang receivedherMaster byResearchdegree fromLanzhou University of China and is a Ph.D. candidate at theUniversity ofWollongong. She holds a Chinese ScholarshipCouncil scholarship to work on service oriented systemsand cloud computing. She has published 8 papers duringher Ph.D. candidature.