Viewpoints and Issues in Requirements Engineering for Services Jolita Ralyté Institute of Services Science University of Geneva Geneva, Switzerland
[email protected] Abstract—While service-oriented paradigm plays a more and more extensive role in software and information systems development and service-driven architectures are increasingly adopted by public and private organizations, the Requirements Engineering (RE) discipline still fails to provide approaches and techniques dedicated for this type of development. In this paper we aim to identify viewpoints and issues particular to the RE domain adapted to the service-oriented engineering context. Based on this analysis, we introduce a framework to support RE for service engineering. Keywords-service; service requirements engineering; service value; creativity; service evolution
I.
INTRODUCTION
The notion of service plays a more and more extensive role in the domain of software and information systems engineering. Service-Oriented Computing (SOC) is emerging as the most promising paradigm to deal with the constantly increasing information and software systems complexity and to support their evolution taking into account the continuous progress in Information Technology (IT) and business domains. Of course, Internet plays a major role in this SOC ascension by enabling distributed, modular and collaborative software development and usage. Bichler and Lin [9] claim that “SOC reinvents the way enterprises work together: common tasks in a business process or supply chain can be easily outsourced to external service providers for both performance and cost reasons”. Indeed, the concept of web service [9] enables the creation of new business models – e-business – with the help of Services Oriented Architecture (SOA) [14][22][28] and various service definition and access standards like WSDL (Web Services Description Language) [45] and SOAP (Simple Object Access Protocol) [46]. Software as a Service (SaaS) [41][43] is another use of the concept of service in this discipline. SaaS focuses on separating the possession and ownership of software from its use – software applications are deployed as hosted services and provided to the customer over the Internet. The SOC literature is regularly extended with new methods and approaches supporting service-oriented development in general (e.g. [3], [14], [38], [39]), providing standard and reference models for services and serviceoriented architecture design (e.g. [2], WSPER [13], OASIS [28], W3C [44]), and proposing frameworks for modeling services and service-oriented systems (e.g. [23], Cosmo [32]) or metamodels for a particular type of service definition (e.g.
information services [4], services based on co-creation, abstraction and restriction [8]). Despite of the extensive offer of SOC-related literature, we can notice that the Requirements Engineering (RE) perspective in this context is almost nonexistent. The methods and approaches mentioned above do not pay any particular attention to the RE activity in service and serviceoriented systems engineering. In [7] Bano and Ikram identify some challenges of RE in Service-Oriented Software Development (SOSD). They consider SOSD as an evolution of the Component-Based Software Development (CBSD) and discuss how RE in CBSD can be adapted to SOSD. The identified issues and challenges mainly concern web services discovery and selection. The design perspective of the service itself is not considered. In this paper we aim to identify the main perspectives, issues and challenges to be considered in the RE for services and service systems development, and based on this analysis to introduce a dedicated RE framework. Our RE framework for service development is composed of two phases: (1) initial service requirements specification and (2) management of service requirements evolution when service is in use. We claim that most of the requirements will be discovered in the second phase. Each of the two phases is formalized as a strategic process model allowing to combine many different innovative and conventional RE techniques. The rest of the paper is organized as follow: in section II we discuss different service definitions and classifications. Section III considers RE from the service provider vs. service consumer perspective while section IV discusses different issues that should be considered in the RE process for services. In section V we introduce our RE framework for service engineering and we conclude the paper in section VI. II.
VARIABLITY IN SERVICE DEFINITIONS
While the notion of service was used for decencies in business science, in computer science it is still new and standard definition and commonly agreed understanding of the service concept is still missing. In [32] Quartel et al. demonstrate the variability of service definitions in business and computing domains by classifying them in six categories: service as an interaction, service as a capability, service as an operation, service as an application, service as feature, and service as an observable behavior. For example, in [16] a service is defined as “a provider/client interaction that creates and captures value”, while W3C [44] defines a
web service as “a software system designed to support interoperable machine-to-machine interaction over a network”. In [37] a service is defined as “a type of capability described using WSDL” and SOA-RM [28] defines a service as “a mechanism to enable access to one or more capabilities, where the access is provided using a prescribed interface and is exercised consistent with constraints and policies as specified by the service description.” Recently, the notion of information service was introduced in the domain of Information Systems (IS) as a component of a service-oriented IS [4][5] with the aim to support legacy IS evolution. Baida et al. [6] attempt to clarify the distinction between the three notions – service, e-services and web service – that are often used as synonyms, by defining their usage and scope in business, information and software sciences. Bergholtz et al. [8] propose a conceptual model that aims to capture different service perspectives and to support the definition of a service according to the selected perspective. In particular, in this model three service perspectives are identified: service as a means for co-creation of value (a customer provides some resources for service execution), service as a means for abstraction (of activities provided to the customer) and service as a means for providing restricted resource access (without ownership transfer to the customer). III.
PERSPECTIVES IN RE FOR SERVICES
Despite a large number of service definitions and different attempts to classify them, it seems that there is a common understanding concerning the duo – service provider vs. service consumer. The two roles have different objectives in the service-oriented paradigm and therefore their approaches to handle RE should also be different. This divergence can be more or less important depending on the service type and its application sector. We analyze the two viewpoints below. A. Service Consumer Viewpoint The main objective of the service consumer is to find the service which satisfies her needs and, if necessary, can be composed with other services into a software system. For example, in [24] Maiden proposes to consider software requirements specification as a composition of queries for web services. From the consumer’s point of view, the RE for services is a part of the RE for the service-oriented software system. It mainly consists in discovering and selecting available services that meet functional and quality requirements specified for the software system, and then composing the selected services into a system and evaluating their suitability and correctness according to the initial system requirements. Discovering and selecting services can be quite challenging because of the constantly increasing service offering available on the Internet. Quite a few approaches have been proposed in the literature to address the issue of service selection based on consumer’s requirements (e.g. [17], [20], [35], [33]). However, the consumer’s requirements elicitation task is rarely considered as a part of service-oriented systems engineering, and the link between
the RE and service oriented paradigm is not as clear. Even though, Chen and He [10] propose a method and a tool for personalized web-service requirements analysis where service users are invited to express their requirements in terms of goals and processes, this approach is mainly dedicated for web-service discovery and possibly for service refinement but not for service design task. B. Service Provider Viewpoint The key tasks of the service provider consist in creating the service and making it available for various consumers. Therefore, from this perspective, RE is a part of service design and development process. The wishes and expectations, rather than precise requirements, of the potential service consumers can be elicited from market demands, field studies or created as a result of some innovation process. Conventional RE approaches are not always well adapted to the service-oriented paradigm where the consumer is not always available for the traditional interview and observation-based requirements elicitation process or even the consumer does not have any requirements yet and will discover them once using the service. The service provider has to create requirements in order to attract consumers and to compete in the market. Besides, even if the requirements or wishes exist, very often they are fuzzy and volatile and the service provider has to take into consideration their evolution and management process. Therefore, the need for approaches enabling the elicitation of service consumer’s wishes, needs and requirements becomes more and more pressing. In the rest of the paper we consider different issues and proposals leading to the RE for services mainly from the service provider’s viewpoint. IV.
ISSUES SPECIFIC TO THE RE FOR SERVICES
A. Service as a Business Enabler Many new business and collaboration opportunities appear thanks to the Internet in general and the notion of eservice/web-service in particular. E-business, ecollaboration, e-government become the new trend in business and public administration. E-services, generally implemented as web services are expanding rapidly and become an essential asset for any organization which aims to stay competitive on the market. In [18] the authors explicitly distinguish e-services from web-services, they say that “e-services are deeds, processes and performances which are of a more or less intangible nature that use Internet technology, and have a commercial, business orientation” while web-services are “an implementation platform for e-services”. They insist that requirements specification for an e-service serves as a bridge between business considerations and web-services. Similarly, in [19] the authors claim that software engineers must first understand the e-services to be used in the enterprise business before building effective systems to support them. Rolland et al. [34] suggest to move from function-driven to intention-driven SOA where services would be identified
by their intentions (the business goals they allow to fulfill) rather than by the capabilities they provide in terms of operations that can be invoked. This paper introduces a model for intentional service modeling and recommends that service providers describe their web-services by using it while service consumers will use it to express their needs and select corresponding services. Therefore, we consider that understanding the intention and the business role of the service in the intra- and/or interorganizational business is one of the first steps in the service RE process. B. Service as a Value Offering A service is supposed to offer some value (generally intangible) to its consumer for which she accepts to give something in return that represents a value for the service provider (e.g. money, goods, information or another service). That means both parts expect some value from the service and the identification of this value exchange can be considered as a starting point in the service RE process. Service-oriented paradigm crates new form of value (access to the information, execution of business activities, entertainment), and new ways to combine values into value networks (e-commerce, e-government services for enterprises and citizens, collaborative platforms). Gordijn et al. [18] propose a RE approach for e-services where the value viewpoint is one of the RE viewpoints to be defined in the e-services development. This viewpoint explains why an e-service can be potentially successful from the commercial perspective and how it will satisfy consumer’s needs. It includes three descriptions: the value hierarchy, the value exchange graph and profitability sheets. Another approach presented in [19] proposes to combine goal- and valuemodeling RE techniques to analyze e-service business models. In particular, the authors propose to use i* modeling to explore strategic goals of involved enterprises and to use e3value modeling to find out how these goals can result in profitable enterprise services. To summarize, we consider that discovering service value has to be a part of the service RE process. C. Service as a Source for Innovation and Creativity As mentioned above, obtaining service consumer’s requirements is not an easy task and is not yet well explored in the related literature. Hopefully, missing precise requirements does not mean that services cannot be created. In the contrary, Maiden et al. [26] claim that requirements for software systems can be invented. Indeed, the serviceoriented paradigm opens the door to the creativity and innovation which are indispensable to deliver competitive and original services. In [25], Maiden et al. consider requirements engineering as a creative problem solving process and propose a collection of creativity theories, techniques, tools and training that can be adopted to improve requirements engineering research and practice. A tool supporting creative thinking during requirements elicitation process is presented in [21] and a report on a very positive experience in applying creativity techniques in the
requirements process for an aircraft traffic control system is presented in [27]. When the potential service consumer is identified and the value that the service will offer to her is discovered, service requirements elicitation and exploration can start either by identifying consumer’s wishes and expectations from market studies or by completely inventing them. In both cases creativity helps to improve the originality of the service while its functionality can only be validated when using the service in practice. Therefore, we claim that the RE for services should include approaches that help to foster service engineers’ creativity and to generate new ideas because most of the initial service requirements have to be invented. D. Service-Related Ethics The use of conventional information and software systems is generally restrained by a set of well defined roles, responsibilities and access rights. The notion of trust is well developed in the fields of computer science that deal with the privacy protection and secure systems. The risk of the noncompliance to these polices exist but it is considered as minimal. The situation becomes different in the context of webservices and service-oriented systems. Spohrer et al. [36] argue that the main difference between service systems (including services, people and shared information) and purely computational systems is people – unlike computational system components, the behavior of people doing work in service systems cannot be easily modeled and simulated because laws and corporate policies only partially govern people. However, these authors consider that even though this incomplete compliance creates risk it also generates opportunities. Besides, service-oriented paradigm creates opportunities for new collaborative activities enabled through web-services where rules and policies are not necessarily well established. In this case, rules and ethics for the service usage have to be discovered, recognized and approved by all its consumers throughout the service execution in practice. E. Service Evolution As enterprises are subject to constant changes and variations in their structure, business strategies and objectives, their needs in terms of software services also evolve. Besides, the arrival of new technologies and creation of original business activities generate new perspectives and opportunities for the service creation and/or evolution. Finally, as discussed above, the real and detailed service consumer’s requirements appear progressively while using the service in practice. Therefore, the development of new services has to take into account the fact that services will have to evolve. Papazoglou [31] identifies four types of service changes: structural (changes on messages, interfaces, operations), business protocol (changes on external massaging behavior), policy inducted (changes in policy assertions and constraints on the service which specify business agreement among interacting parties) and operational behavior (effects and side
effects of changing service operations). Depending on the gravity of transformation and the effects and side effects they cause, these changes can be considered as shallow or deep ones. While shallow changes are localized to a service and are relatively easy to realize, the deep ones have cascading effects on other enterprise services or on services of the business partners or even on the entire value-chain. The realization of this type of changes requires a deep understanding of the scope of the change and the impact that the change will produce on all involved services. Therefore, we consider that service requirements appear and evolve with the use of the service, and service evolution has to be managed in line with its requirements management. V.
business modeling approaches (e.g. [30]) and/or creativity and gaming techniques (e.g. [25][26][27]). Then, potential consumer’s expectations can be elicited from the market demand studies and/or by using goal modeling approaches. Finally, the service requirements creation can be supported by different creativity and innovation techniques or by more conventional RE approaches. Start
Value modeling
Discover Service Value
Business modeling
TOWARDS A RE FRAMEWORK FOR SERVICES
Based on the issues discussed above we propose a generic framework to support RE for services. We consider that a service RE process has two phases: (1) service requirements specification as a part of the service development process and (2) service requirements evolution management dealing with the requirements emerging when the service is under exploitation (see Figure 1. ).
Brainstorming and validation
Creativity and gaming
Market demand analysis
Creativity and innovation
Conflict resolution and validation
Goal modeling
Elicit Consumer's Expectations
Visualization and simulation
Conventional RE Validation
Creativity and innovation
Create Service Requirements Stop
Figure 2. Process model for service requirements specification.
Specify Service Requirements
Manage Service Requirements Evolution
Req. Spec.
New Req.
Req. Spec. for updates
Service Development
Service under execution
Service Update
Figure 1. A Framework to support RE for services.
Each phase of the framework is formalized as a strategic process model by using Map formalism [33]. This process modeling formalism allows to capture process commonality in terms of process intentions (nodes in the graph) and to express process variability and flexibility in terms of process strategies (arks in the graph) that represent different ways to reach the intentions. In Figure 2. we propose a process model for service requirements specification. As shown in this figure, this process is based on three main intentions that are Discover Service Value, Elicit Consumer’s Expectations and Create Service Requirements, and several strategies to achieve these intentions. Indeed, we propose to start the process with the service value discovery by using different service value modeling approaches like e3value (e.g. [18]), value-driven
Similarly, the process model for service requirements evolution management is illustrated in Figure 3. Here again the process is formalized in three intentions namely Indentify Requirement Change, Evaluate Change Impact and Update Requirements Specification. Start
From usage reports
Creativity and innovation Market demand analysis
Conflict resolution and validation
Identify Requirements Change
Requirements evolution management
Validation
Update Requirements Specification
Visualization and simulation
Evaluate Change Impact Requirements evolution management
Change rejection
Stop
Figure 3. Process model for service requireemnt evolution management.
Service requirements change can be incremental i.e. the identification of new and complementary requirements, or by refinement of the existing service features and capabilities. In both cases the change can be identified by analyzing service users’ comments and evaluations and any other usage reports. Creativity and innovation techniques as well as market demand analysis can also be used to identify potential service evolutions. If the identified service change requirement is considered as an important one, the evaluation of the change impact can be necessary. It can be done by
applying different simulation techniques and possibly lead to the rejection of the requirement. Finally, the specification of service requirements is updated following requirements management approaches. To summarize, our RE framework for services provides a basis for defining an evolution-driven and situation-specific RE approach for service development. The process models for both framework phases guide the RE engineer how to select and combine many different RE and other related techniques. The selection of the most appropriate techniques may depend on different situational factors such as service nature, consumer’s profile, development team, etc. New emerging techniques can be easily included in the framework by extending the two process models with new strategies. VI.
REFERENCES
[2]
[3]
[5]
[6]
[7]
[8]
CONCLUSION
While the offer of RE approaches for software and information systems development is quite rich, the perspective of service-oriented development and service engineering is rather neglected, especially from the service provider’s point of view. In this paper we discuss the particularity of RE process in software and information services engineering and evolution. First, we examine different service definitions and classifications in order to demonstrate the variability and instability of the domain. Then, we consider service requirements engineering from two opposite point of views – service provider vs. service consumer, and we argue that each viewpoint needs a different approach. Finally, we discuss different issues related to the service requirements engineering from the service provider’s point of view. In particular, we consider the notion of value that a service offers to its consumer, the role of innovation and creativity in service engineering, ethics related to the service usage, and service evolution management. Based on our study, we introduce a RE framework for service engineering by the service provider. The framework insists on the fact that service RE process is in two phases: 1. initial service requirements specification as a valuedriven, creative and innovative approach, and 2. service requirements evolution management during service usage in practice as a change management approach. This is our first tentative to formalize the RE process for services and the proposal still needs to be explored and evaluated in practice which is our future preoccupation.
[1]
[4]
S. Andreozzi, D. Montesi, and R. Moretti, “Web services quality,” Proceedings of the International Conference on Computer, Communication and Control Technologies (CCCT 2003), pp. 252– 257. V. Andrikopoulos, S. Benbernou and M. P. Papazoglou, “Managing the evolution of service specifications,” Proc. of CAiSE’08, Springer LNCS 5074, pp: 359–374. A. Arsanjani, “Service-oriented modeling and architecture,” IBM developer works, 2004.
[9] [10]
[11]
[12] [13] [14] [15]
[16] [17]
[18]
[19] [20]
[21]
[22] [23]
[24]
N. Arni-Bloch and J. Ralyté, “MISS: A Metamodel of Information System Service,” Proc. of the 17th Int. Conf. on Information System Development (ISD’08), Paphos, Cyprus, 2008. N. Arni-Bloch, J. Ralyté, and M. Léonard, “Service-Driven Information Systems Evolution: Handling Integrity Constraints Consistency,” Proceedings of PoEM 2009, LNBIP 39, 2009, pp. 191– 206. Z. Baida, J. Gordijn, and B. Omelayenko, “A shared service terminology for online service provisioning”. In M. Janssen, H. G. Sol, and R. W. Wagenaar (eds.), ICEC, vol. 60 of ACM International Conference Proceeding Series, ACM, 2004, pp. 1–10. M. Bano and N. Ikram, “Issues and challenges of Requirement Engineering in Service Oriented Software Development,” Proceedings of the 5th International Conference on Software Engineering Advances, IEEE Computer Society, pp. 64-69, 2010. M. Bergholtz, P. Johannesson and B. Anderson, “Towards a Model of Services Based on Co-creation, Abstraction and Restriction,” Proceedigns of the International Conference on Conceptual Modeling – ER 2011, LNCS 6998, Springer, pp. 476-485, 2011. M. Bichler and K.-J. Lin, “Service-Oriented Computing,” IEEE Computer, March 2006, pp. 88–90. H. Chen and K. He, “A method for service-oriented personalized requirements analysis,” Journal of Software Engineering and Applications, 4(1), 2011, pp. 59-68. M. Colombo, E. Di Nitto, M. Di Penta, D. Distante, M. Zuccalà, “Speaking a Common Language: A Conceptual Model for Describing Service-Oriented Systems,” Proc. of the 3rd International Conference on Service Oriented Computing (ICSOC 2005), December 2005, Amsterdam, The Netherlands, pp. 48-60. D.E.H. Damian, “Challenges in Requirements Engineering,” Requirements E, Springer, Springer, vol. 8, 2003, pp. 149-160. J.-J. Dubray, “Wsper an abstract SOA framework.” Technical report. www.ebpml.org/wsper/wsper/wsper_primer.pdf . Erl, T. SOA Principles of Service Design. Prentice Hall PTR, 2007. M. Galster and E. Bucherer, “A taxonomy for identifying and specifying non-functional requirements in service-oriented development,” IEEE Congress on Services-Part I, 2008. SERVICES'08, 2008, pp. 345-352. IBM service definition, accessed Dec. 2010. http://www.research.ibm.com/ssme/services.shtml. J. Garofalakis, Y. Panagis, E. Sakkopoulos, and A.Tsakalidis, “Web service discovery mechanisms: looking for a needle in a haystack?,” International Workshop on Web Engineering, 2004. J. Gordijn, P. van Eck and R. Wieringa, “Requirements engineering technique for e-services,” in D.Georgakopoulos and M.P. Papazoglou (eds), Service-Oriented Computing, Cooperative Information Systems series, The MIT Press, Cambridge, 2009, pp. 331-352. J. Gordijn, E. Yu and B. van des Raadt, “e-Service design using i* and e3value modeling,” IEEE Software, 2006, pp. 26-33. Y. Hao, Y. Zhang, and J. Cao, “WSXplorer: searching for desired web services,” Proc. of the 19th International Conference on Advanced Information Systems Engineering (CAiSE 2007), LNCS vol. 4495. Springer, 2007, pp. 173-1 87. I. K. Karlsen, N. Maiden, and A. Kerne, “Inventing Requirements with Creativity Support Tools,” Proceedings of REFSQ 2009, M. Glinz and P. Heymans (Eds.), LNCS 5512, Springer, 2009, pp. 162– 174. D. Krafzig, K. Banke, and D. Slama, Enterprise SOA: ServiceOriented Architecture Best Practices. Prentice Hall PTR, 2004. T. Le Dinh and A.V. Nguyen-Ngoc, “A conceptual framework for designing service-oriented inter-organizational information systems,” Proc. of the Symposium on Information and Communication Technology SoICT'10, pp. 147–154, 2010. N. Maiden, “Servicing your requirements,” IEEE software, vol. 23, 2006, pp. 14-16.
[25] N. Maiden, S. Jones, K. Karlsen, R. Neill, K. Zachos, A. Milne, “Requirements Engineering as Creative Problem Solving: A Research Agenda for Idea Finding”, 18th IEEE International Requirements Engineering Conference, 2010, pp. 57–66. [26] N. Maiden, S. Robertson, and J. Robertson, “Creative requirements: invention and its role in requirements engineering,” Proceedings of the 28th international conference on Software engineering, ACM, 2006, p. 1074. [27] N. Maiden, A. Gizikis, and S. Robertson, “Provoking creativity: Imagine what your requirements could be like,” IEEE software, vol. 21, 2004, pp. 68-75. [28] M. MacKenzie, et al. “Reference model for service oriented architecture 1.0.”, Technical report, Oasis, 2006. [29] B. Nuseibeh and S. Easterbrook, “Requirements engineering: a roadmap,” Proceedings of the Conference on the Future of Software Engineering, ACM New York, NY, USA, 2000, pp. 35-46. [30] A. Osterwalders and Y. Pigneur, “Business Model Generation: A Handbook for Visionaries, Game Changers and Challengers,” John Wiley & Sons, Inc., 2010. [31] M. P. Papazoglou, “The challenges of service evolution,” Proceedings of CAiSE’08, Springer LNCS 5074, 2008, pp. 1–15. [32] D.A.C. Quartel, M.W.A. Steen, S. Pokraev, and M. van Sinderen. “Cosmo: A conceptual framework for service modelling and refinement”, Information Systems Frontiers, vol. 9(2-3), 2007, pp. 225–244. [33] C. Rolland, N. Prakash and A. Benjamen, “A Multi-Model View of Process Modelling,” Requirements Engineering, 4(4), 1999, pp. 169– 187. [34] C. Rolland, R. S. Kaabi, and N. Kraiïem, “On ISOA: Intentional Services Oriented Architecture,” Proc. of the 19th International Conference on Advanced Information Systems Engineering (CAiSE 2007), LNCS 4495. Springer, 2007, pp.158-172. [35] G. Spanoudakis, A. Zisman, and A. Kozlenkov, “A Service Discovery Framework for Service Centric Systems”, Proceedings of the IEEE International Conference on Services Computing (SCC 2005), IEEE Computer Society, 2005, vol.1, pp. 25 1 -259. [36] J. Spohrer, P.P. Maglio, L. Bailey and D. Gruhl, “Steps Toward a Science of Service Systems,” COMPUTER, January 2007, pp. 71-77. [37] D. Sprott and L. Wilkes, “Understanding service-oriented architecture,” In CBDI Journal, CBDI Forum, January 2004. [38] Z. Stojanovi and A. Dahanayake, Service-Oriented Software System Engineering: Challenges and Practices, IGI Global, 2005.
[39] W.T. Tsai, “Service-oriented system engineering: a new paradigm,” IEEE international workshop on serviceoriented system engineering (SOSE), Beijing, 2005, pp. 3-8. [40] W.T. Tsai, Z. Jin, P. Wang, and B. Wu, “Requirement engineering in service-oriented system engineering,” Proc. of IEEE International Conference on e-Business Engineering, IEEE Computer Society, pp. 661–668. [41] M. Turner, D. Budgen, and P. Brereton, “Turning software into a service,” Computer, vol. 36, 2003, pp. 38-44. [42] B. Verlaine, I.J. Jureta and S. Faulkner, “Towards conceptual foundations of requirements engineering for services,” Proc. of the IEEE International Conference on Research Challendes in Information Science (RCIS), 2011, pp. 1-11. [43] G. Verma, “Software as a Service,” Pragyaan: Journal of Information Technology 9(1):32-37, June 2011. [44] W3C: Web services architecture, 2004. http://www.w3.org/TR/wsarch/ [45] W3C: Web services description language (WSDL), version 2.0 part 1: Core language. Technical report, W3C, 2007. [46] W3C: Simple Object Access Protocol (SOAP), version 1.2, 2007. http://www.w3.org/TR/soap/ [47] J. Xiang, L. Liu, W. Qiao, and J. Yang, “SREM: A Service Requirements Elicitation Mechanism based on Ontology,” Computer Software and Applications Conference, 2007. COMPSAC 2007. 31st Annual International, 2007. [48] K. Zachos, N. Maiden, X. Zhu and S. Jones, “Discovering web services to specify more complete system requirements,” Proc. of the 19th International Conference on Advanced 1nformation Systems Engineering (CAiSE 2007), LNCS, vol. 4495, 2007, pp. 142-157. [49] K. Zachos, N. Maiden, X. Zhu, and S. Jones, “Does Service Discovery Enhance Requirements Specification? A Preliminary Empirical Investigation,” Service-Oriented Computing: Consequences for Engineering Requirements, 2006. SOCCER'06, 2006, pp. 2-2. [50] K. Zachos, N. Maiden, and R. Howells-Morris, “Discovering Web Services to Improve Requirements Specifications: Does It Help?,” Proc. of the 14th Int. Conference on Requirements Engineering: Foundation for Software Quality (REFSQ), LNCS 5025, 2008, pp. 168-182. [51] J. Zhou and E. Niemela, “Toward semantic qos aware web services: Issues, related studies and experience,” Proceedings of the 2006 IEEE/WIC/ACM International Conference on Web Intelligence, IEEE Computer Society, 2006, pp. 553-557.