Towards an IDM Approach of Transforming Web Services into ACME Providing Quality of Service Amel Mhamdi#1, Raoudha Maraoui#2, Mohamed Graiet#3, Mourad Kmimech#4, Mohamed Tahar Bhiri#5, Eric Cariou*6

#MIRACL, ISIMS BP 1030, Sfax 3018, TUNISIA [email protected] [email protected] [email protected] [email protected] [email protected] *Université de Pau et des pays de l'Adour Avenue de l'Université BP 1155 64013 PAU CEDEX France [email protected]

Abstract— In this paper, the work developed aims at contributing Functional requirements alone are insufficient to develop a to the research related to the Quality of Service (QoS) for Web good quality web services and nonfunctional requirements are services. We started this research by providing a comprehensive just as important as they provide the basis for the QoS web review and description of the QoS specifications that comprise services. Therefore, incorporating QoS specifications into web some already existing factors contributing to the QoS and some newly proposed ones. These include the availability, accessibility, services functionalities is crucial for a high quality web reliability, integrity, the response time of the service, security, services. Hence, it is necessary for the service providers to performance, etc. Hence, the aim of this research is two folds, first, consider the QoS specifications when designing and it helps the designers and developers to provide better web services developing web services. and second, and it helps ensure consistent software architecture as In this paper, we focused, on the one hand, on formalizing a a reference model for many applications. To achieve this, we reliable composition of a web service based on non-functional model, first, the meta-QoS model of the Web services. Then, we properties of Web services; that is the quality of the service. formalize the QoS of the Web services by referring to ARMANI To achieve this, we describe a Web service composition using which provides a language of predicates that is powerful enough to the ACME concept of the architectural style and ARMANI, to reconcile any mismatches and, thus, provide a reliable composition of the Web services. We also, handle the mediation of the detect architecture’s software disparities. Then, we automate composite Web services with the ACME using an automatic MDE partially our proposed formalization methodology using an approach and implementing a tool for this aim: Web services MDE (Model-Driven Engineering) approach. In this context, compositions are transformed onto ACME specifications. We are we recover the meta-model of the proposed composite Web the, able to check the composition of the Web services through the services and we elaborate the ACME meta-model. These ACME verification tools. meta-models respectively play the role of source and target meta-models for the exogenous transformation of composite Web services to ACME. In addition, we implemented I. INTRODUCTION SWQoS2ACME, a tool for transforming a composite Web Recent developments of the Internet technology, guided by service software architecture into on ACME using the MDE the XML (eXtensible Markup Language) and its underlying language ATL (ATLAS Transformation Langage) [1]. We are technologies extend the role of the web from a simple source then able to check the composition of the Web services of information to a middleware application B2B (Business to through the ACME verification tools. Business). This new trend of the Internet is guided by the This paper is organized as follows: In Sections 2 and 3, concept of the Web services. Indeed, Web services are critical respectively, we present related works and then, we describe for many application areas and there can exist several Web our automatic MDE approach for on exogenous services with have the same functionality causing problems to transformation from Web services to on ACME. In Section 4, the service requesters when they have to select an appropriate we study the meta-model for Web services and we propose a web service. However, they usually present different qualities model of a service quality manager. Afterwards, we present in such as service availability, reliability, security and so forth. details, in Section 5, the informal and formal specifications of the QoS properties. In Section 6, we propose the formalization We use an MDE approach to formalize a composition of these properties with the ADL ACME. Then we describe of Web services. This composition reifies all non-functional some transformation rules. Finally, we conclude this paper properties: the transactional properties and quality of the and give an outlook for certain future works. service (Fig. 1).

II. RELATED WORKS

Although, there are many researches which tried to identify and classify the QoS parameters; there is no specific consensus on all important QoS for web services. Most of the work [2][3] took into consideration these parameters to which other parameters are associated with. There are several proposals of QoS model for Web services. We can classify the models in three classes. That which suggests a classification based on attributes Fig 1. The proposed approach for an automatic transformation of a independent of the service environment (functional part) composite Web service. and attributes depending on the service environment (non- functional part) [2]. This model provides a general Figure 1 illustrates the principle of an automatic translation approach that some attributes of the QoS must be of a composition of the Web services in ACME. measured by examining the service implementation. We distinguish two levels of specification: M2 (a meta- Another modelling [3] identified and organized by the model level) and M1 (a model level), as defined by the MDA QoS attributes of the web services into categories approach. An M1 level model is said to be conformed to an (attributes related to the execution, to the transaction M2 meta-model if it satisfies the consistency rules described support, to security and the price and configuration in the meta-model in addition to the specific rules outlined at management). It is likely that the consumer of a service the M1 model level. In our approach, the M2 level contains does not require all the categories of the service quality. the Web services composition meta-model on one hand and Other works [4] have classified the QoS attributes into two the ACME/ARMANI one on the other hand. The M1 level parts: the specific services and generic QoS. These are allows the definition of Web services models conformed to divided into measurable parameters and unmeasurable the Web services composition meta-model. ones. This classification takes into consideration the To achieve the formalization of the Web service specific qualities of services that are related to the business composition in the ACME and check the consistency of this logic of applications. In our work, we try to model the composition, we describe the meta-model of the Web service QoS of the non-functional parameters; these parameters composition (M2) using the concept of the architectural style are divided into measurable and unmeasurable parameters. of ACME. A Web service composition in M1 is described We try in this present work to formalize the service quality using the concept of the ACME system. The source and target of the web services with an architecture description models (Web service composition and architectural style of language. Yet, most approaches that formalize the web Web services described in ACME) and the tool services, with an ADL, ignore the specification of the non- SWQoS2ACME are consistent with their meta-models for the functional properties such as stability and performance. Web services, ACME and ATL. These meta-models are We must be able to define the QoS of the Web services consistent with the Ecore meta-model. through the ADL specifications since the ADL techniques IV. METAMODELING OF THE QUALITE OF THE SERVICE OF WEB are a way to check the properties of the web services. We SERVICE can, then, check the properties of the composition and the QoS of the web services through the ADL ACME. In this section, we provide an overview of the meta-model In our work, we have used model transformations to of quality of service we have defined. This meta-model reifies translate the specification of a source technology domain (web all the characteristics of a reliable composition of the web services) to a target model (ACME / Armani). In our case, we services. It provides the description of the QoS and this by used an exogenous transformation since the source and target integrating a set of specifications as a slight extension of meta-models are different. [5] shows that each type of WSDL. transformation is divided into three main categories of the It also explores the ability of the UML as a metalanguage transformation technique: the declarative approach, the for the QoS meta-model and ensures the ability of reuse imperative approach and hybrid approach. In our work, we because our meta-model wants independence of any used the ATL language to implement the hybrid approach of application domain or specific technologies. transformation. To achieve this goal, we rely on the MDE We modeled in an earlier work [7] the manager of approach defined in the following section. mediation for a Web service composition. The manager is seen as a set of service integration of web III. PROPOSED APPROACH services (IMWS) which aims at resolving heterogeneities between Web services and contains explicitly the non functional service manager (NFMS), a set of adaptive components, connectors, systems, ports, roles, representations, interface service (MAI) for all functional properties (FSM) and rep-maps (map representation). Moreover, it provides a and a set of data mediation service (MDM) on the rather powerful predicates language called ARMANI [12] heterogeneity of data exchanged between web services with functions that are appropriate to the field of software compounds. architecture. In our work, we modeled the non-functional QoS The ARMANI language [6] allows to describe parameters; they are divided into measurable parameters architectural properties in the invariant or heuristics forms (SMM) and unmeasurable parameters (SMU) (Fig. 2). attached to any architectural element (component, family, Then, we focus on a measurable service manager. system, connector, etc.). Such properties are achievable within These specifications are the most used. They define the the ACMEStudio environment [13]. In the same way, the quantitative attributes that could be measured. ADL ACME supports the type concept. One can define the In our approach, we decomposed these attributes into two types of architectural elements (component type, connector categories that measure the performance (response time, type, role type, port type and style type). The concept property maximum volume) and which measure stability (availability, of ACME used in the type and instance levels allows attaching accessibility, successability).[8] nonfunctional properties to the architectural elements. Lastly, the ACME provides basic types (int, float, boolean and string) and type builders (enum, record, set and sequence). B. Formalization of QoS of Web services Our work began with the improvement of an existing style. We have studied the work of [14] dealing with the composition of Web services without mediation approach, or control over the execution flow of services. We have formalized this protocol mediation to ensure that the composition of Web services [15]. Figure 4 shows an ACME Fig 2. A meta model of Service Manger Measurable description of style implementing the transactional aspect of the composition of Web services. We extended the message element by integrating the Family WSM = { specifications of reliability and service element by integrating Property Type Interfaces = Enum {Client,Service}; the specifications of availability, response time and Property Type legalSoapVersions = Enum {SOAP1_1, accessibility that will ensure its existence and usefulness. We SOAP1_2}; also extended the operation element to specify the rate. Finally ……} we extended the binding element by integrating the reliability Fig 3. The ACME description of the style with non functional properties specifications that will ensure complete delivery of the message (Fig. 3). VI. EXOGENOUS TRANSFORMATION OF COMPOSITE WEB SERVICES TO ACME Works that establish automatic connections between Web services and static and dynamic verification tools are not numerous. In the first part of this paper we proposed a manual translation without explicit rules for Web services to ACME. The objective of this part is to automatically transform the composite Web services into ACME using an MDE automation approach. Indeed, the MDE is a form of generative engineering, which can represent and manipulate models as first-class entities. However to achieve this automation, we recovered the meta-model of composite Web Fig 2. A meta model of Service Manger Measurable services and developed the meta-model part of ACME. In addition, we designed and implemented in ATL a tool V. SPECIFYING PROPERTIES OF WEB SERVICES FROM THE SWQoS2ACME for transforming software architecture of PROPOSED META MODEL Web services onto ACME composite languages. A. The ADL ACME In our automation approach described in Section 3, the The ADL ACME [10] [11], developed at Carnegie source and target models (Web service composition and Mellon, is a common foundation for architecture description architectural style of Web services described in ACME) and languages. It aims at enabling the exchange of architectural the program SWQoS2ACME are consistent with their meta- specifications across different ADLs. ACME is based on models for Web services, and ACME ATL. These meta- seven types of entities to describe the architecture: models are consistent with the Ecore meta-model. A. Overview of the tool SWQoS2ACME transformation: structural tests, mutation analysis, statistical analysis, contracts [17], [18], [19], [20]. In this section, we present in a detailed way the SWQoS2ACME tool written in ATL allowing the REFERENCES transformation of the software architecture of the Web services towards an ACME model. In order to design and [1] R F. Jouault : Contribution à l’étude des languages de transformation de develop our SWQoS2ACME tool, we used the following modèles. thèse de doctorat, Ecole Dotorale sciences et technologies de constructions: standard rule, defined in the context of models l’information et des matériaux,Nantes » 2006. element offered by the model transformation language ATL. [2] S. Araban and L. S. Sterling. Measuring quality of service for contract Our SWQoS2ACME tool is entirely declarative since we have aware web services. In First Australian Workshop on Engineering Service-Oriented Systems, pages 54–56, 2004 not used any ATL imperative construct (such as imperative [3] R. Shuping A model for web services discovery with qos. SIGecom blocs and called rules).In the following, we present the Exch., 4(1) :1–10, 2003. standard/lazy rules forming our tool. [4] R.Ben Hlima , Conception, implantation et expérimentation d’une An ATL module corresponds to the transformation of a set architecture en bus pour l’auto-réparation des applications distribuées à of source models into a set of target models in accordance base de services web, l’Université Toulouse III - Paul Sabatier et la Faculté des Sciences Économiques et de Gestion – Sfax, Le Jeudi 14 with their meta-models. Its structure is formed by a header Mai 2009, section, an optional import section, a set of helpers and a set [5] B.Makhlouf , Vers la génération de modèles de simulation, Février 2010 of rules. [6] M. Kmimech, M. Tahar Bhiri, M. Graiet and P. Aniorté.: Checking The header section defines the names of the transformation component assembly in ACME: an approach applied on UML 2.0 module and the variables according to the source and target components model. In 4nd IEEE International Conference on Software models. Engineering Advances (ICSEA'2009), Portugal, IEEE CS Press, Septembre 2009. module webservice2ACME; -- Module Template [7] Maraoui R., Graiet M., Kmimech M., Bhiri M.T., and Elayeb B., Formalisation of protocol mediation for web service composition with create OUT : ACME from IN : webservice; ACME/ARMANI ADL, Service Computation IARIA 2010-Lisbon- Portugal, Nov 2010. OUT and IN are the names of the source and target models. [8] L. Xuanzhe , L. Zhou,H. Gang ,M. Hong, QoS-Aware Web Services They are not used thereafter. Both model, types are Discovery and Subscription Supported by Service Pool , 2007. respectively Web Service and ACME. Thus, they must [9] X.Zhou, Y.Cai, E.Chow, An integrated approach with feedback conform to the meta-model defining their type. control for robust Web QoS design, 2006, vol. 29, no 16 (330 p.) [10] D.Garlan, R.T Ronroe, D. Wile ACME.: An Architecture Description VII. CONCLUSION Interchange Language , Proceedings of CASCON 97, Toronto, Ontario, November,169--183,1997. [11] D.Garlan, R. T. Monroe, and D. Wile. ACME: Architectural Description This work presented a general framework to ensure a safe of Composed-Based Systems. Gary Leavens and Murali Sitaraman, ed.s design and execution of software architectures specifically for Kluwer, 2000. the Web services composition. We formalize this composition [12] D.Garlan, R. T. Monroe, and D. Wile. ACME: Architectural Description mechanism by implementing non-functional properties such of Component-based. Capturing software architecture design expertise with ARMANI. Technical Report CMU-CS-98--163, Carnegie Mellon as transactional and QoS. To do so we use ACME to check University School of Computer Science,2001. assembling consistency of Web service composition. We [13] Group2006, http://www.cs.cmu.edu/˜ACME/ACME Studio/. address this issue by describing the Web services composition [14] C. Gacek. C, and C. Gamble (2008): Mismatch Avoidance in Web meta-model using ACME style architecture. Services Software Architectures. Journal of Universal Computer In a second part, we proposed an MDE approach which Science, vol. 14, no. 8 (2008), 1285-1313. allows transforming a meta-model of composite Web services [15] M. Graiet M., R. Maraoui, M. Kmimech,M.T. Bhiri , W. into an ACME meta-model composed. To do so, we Gaaloul:Towards an approach of formal verification of mediation protocol based on Web services, 12th International Conference on elaborated two meta-model: the Web services meta-model, Information Integration and Web-based Applications & Services and the partial ACME one. We then designed and (iiWAS2010), Paris-France, November 2010. implemented a SWQoS2ACME tool in order to transform a [16] Cuadrado,J. S., Jouault. F, Molina. J. G, and Bézivin. J (2009) Web services model conform to its meta-model to a partial Optimization Patterns for OCL- Based Model Transformations. Models ACME model conform to its meta-model. in Software Engineering,2009. [17] Küster, J. M. Definition and validation of model transformations. In our future works we are considering the following Software and systems Modeling, in press 2006. perspectives: [18] Mottu, J. M., Baudry, Brottier. E and LeTrao. Y (2005) Génération automatique de tests pour les transformartions de modèles. Première  Using existing techniques developed by the Semantic journée sur IDM, Paris,2005. Web initiatives to promote the automation of [19] Baudry. B, Ghosh. S, Fleurey. F,France. R, Le Traon. Y and Mottu. J. messages and the selection of mediator models. M. Barries to systematic model transformation testing. Communications of the ACM, Vol. 53, No. 6 (2009).  Improve the efficiency of our SWQoS2ACME using [20] E. Cariou, N. Belloir, F. Barbier, and N. Djemam. OCL Contracts for the OCL patterns for model transformation [16]. the Verification of Model Transformations. In Proceedings of the  Assessing the SWQoS2ACME quality using Workshop the Pragmatics of OCL and Other Textual Specification verification techniques applicable on model Languages at MODELS 2009, volume 24. Electronic Communications of the EASST, 2009.