Measurable and Behavioral Non-Functional Requirements in Web Service Composition

Measurable and Behavioral Non-Functional Requirements in Web Service Composition

Ilyass El Kassmi (Cadi Ayyad University, Morocco) and Zahi Jarir (Cadi Ayyad University, Morocco)
DOI: 10.4018/978-1-5225-5384-7.ch015


Handling non-functional requirements (NFRs) in web service composition has gained increasing attention in the literature. However, this challenge is still open, despite the efforts of the scientific community, due to its complexity. This complexity starts from the fact that NFRs can represent structural constraints, QoS attributes, temporal constraints, or behavioral attributes. Therefore, this characterization makes the task of web service composition lifecycle (e.g., specification, verification, integration, etc.) increasingly complicated. Therefore, this chapter investigates this point of view and suggests a complete approach supporting specification, formalization, validation, and code generation of desired composite web service. This approach has the advantage to tackle with quantifiable (i.e., measurable) and behavioral NFRs, and provide a support for composing NFRs with FRs using seamless weaving.
Chapter Preview


Web services technologies representing a more important instance of Service-Oriented Architecture (SOA) are gaining a considerable momentum as a computing paradigm to provide and support rapid development of complex and flexible services, applications and infrastructures in several domains such as Cloud computing, Machine-To-Machine paradigm (M2M), Internet of Things (IoT), etc. Web services (WSs) represent autonomous pieces of code developed in different programming languages by different providers. They offer specific functionality to fulfill a desired goal. In addition, they respect a strict separation of concerns, which is a core principle of SOA. They are also designed to facilitate interoperability among heterogeneous systems, and to be published, discovered, invoked, and integrated into composition processes to fulfill complex tasks. This integration commonly named Web service composition or aggregation is built according to user’s requirements or system’s requirements as in M2M. These requirements are known in software engineering by attributes, properties or concerns. They are classified mainly into two main classes: Functional Requirement (FR) and Non-Functional Requirement (NFR). FRs are related to the conformance of Web service composition to the desired business goal on its functionality. Whereas NFRs are focusing on how the service should perform their goals that concern in general measurable QoS (Quality of Service) properties (e.g., availability, performance).

Authors in (Galster & Bucherer, 2008) worked on a taxonomy proposition to classify non-functional attributes according to their categories, i.e. process requirements, non-functional service requirements and non-functional external requirements. They also introduced the term of “quantifiability” to evaluate NFRs. Some of these non-functional attributes are classified as quantifiable using specific metrics while others can only get quantifiable by specifying whether they are met or not met. In our opinion, an NFR can be measurable, i.e., quantifiable when a specific metric exists to evaluate it. Otherwise, it represents a behavioral NFR, which requires a specific modeling.

The topic of WS composition including NFRs has gained a lot of attention from scientific and academic researchers. These attentions focused on different challenges related to complex Web services composition such as NFRs specification, formalization, validation, integration, enforcement, etc. In general, NFRs offer several advantages such as:

  • Representing a crucial criterion for the selection of the appropriate service from discovered services offering similar functionalities (i.e., FRs): This track was raised by several contributions. Among the interesting contributions the work in (Çelik & Elçi, 2013) proposed Broker-based Semantic Agent (BSA) allowing to discover Web services, in accordance to needed functional requirements and quality of service parameters, using a semantic-based matching algorithm rather than syntactical techniques. This BSA executes semantic-based matching algorithm to verify the validity of the service in term of semantic and the matching of QoS parameters.

  • Controlling the behavior of FRs in the composition processes: The work in (Sheng, Maamar, Yao, Szabo, & Bourne, 2014) raised this advantage and suggested an approach that includes a Web service model that separates service behaviors into operational and control. The coordination of operational and control behaviors at runtime is based on conversational messages.

  • Enforcing required NFRs such as security policies in business processes: In (Schmeling, Charfi, Thome, & Mezini, 2011) the authors suggest an approach and a toolset for the specification and realization of the composition of multiple NFRs in Web services. This approach proposes a methodology supporting the NFR composition from requirements to enforcement, and putting a strong emphasis on separation of responsibilities between different roles involved in the composition process.

Key Terms in this Chapter

Web Service Composition: Represents a process aggregating web services in order to perform actions that cannot be fulfilled by a standalone service.

DIVISE: Acronym of discovery and visual search engine is a web service search engine allowing an interactive discovery and selection of services according to users’ queries and quality of service metrics.

UPPAAL: Model checking tool allowing real-time systems verification. This tool is developed with a collaboration between Uppsaala University and Aalborg University.

Formalization: Also known as formal specification, describes mathematical oriented techniques used to specify a system or its behavior.

Web Service: An autonomous function designed to allow interoperability between heterogonous systems. It is deployed by the provider to be consumed by end users.

Model Checking: Automatic checking that a model meets given specifications and the verification of the correctness of its given properties.

Non-Functional Requirement: Requirements that define constraints describing how a system should behave.

Functional Requirement: A requirement that describes a main functionality or behavior of a system.

System Verification: Methods and procedures used to check whether a system meets its requirements and specifications.

Complete Chapter List

Search this Book: