The success of web services is changing the way in which software is designed, developed, and distributed. The increasing diffusion of software in the form services, available as commodities over the Internet, has en- abled business scenarios where processes are implemented by composing loosely-coupled services chosen at runtime. Services are in fact continuously re-designed and incrementally developed, released in heterogeneous and distributed environments, and selected and integrated at runtime within external business processes. In this dynamic context, there is the need of solutions supporting the evaluation of service performance at an early stage of the software development process, or even at design time, to support users in an a priori evaluation of the impact, a given service might have when integrated in their business process. A number of useful performance verification and validation techniques are proposed to test and simulate web services, but they assume the availability of service code or at least of reliable information (e.g., collected by testing) on service behavior. Among these approaches, simulation-based techniques are mostly used to assess the behavior of the service and predict its behavior using historical data. Despite the benefits of such solutions, few proposals have addressed the problem of how service performance can be assessed at design time and how historical data can be replaced by simulation data for performance evaluation at early stage of development cycle. In this thesis, the notion of simulation is fully integrated within early phases of the software development process in order to predict the behavior of services. We propose model-based approaches that rely on the amount of information available for the simulation of the performance of service operations. We distinguish full-knowledge, partial-knowledge and zero-knowledge scenarios. In a full-knowledge scenario, the total execution times for each operation and the internal distributions of delays are known and used for performance evaluation. In a partial-knowledge scenario, partial testing results (i.e., the lower and upper bounds to the operation execution times) are used to simulate a service performance. In the zero-knowledge scenario, no testing results are considered; only simulation results are used for performance evaluation. The main contributions of this thesis can be summarized as follows. Firstly, we proposed a model-based approach that relies on Symbolic Transition System (STS) to describe the web services as finite state automata and evaluate their performance. This model was extended for testing and simulation. The testing model annotates model transitions with performance idioms, which allow to evaluate the behavior of the service. The simulation model extends the standard STS-based model with transition probabilities and delay distributions. This model is used to generate a simulation script that allows to simulate the service behavior. Our methodology used simulation along the design and pre-deployment phases of the web service lifecycle to preliminarily assess web service performance using coarse-grained information on the total execution time of each service operation derived by testing. We used testing results and provided some practical examples to validate our methodology and the quality of the performance measurements computed by simulation considering the full-knowledge and partial-knowledge scenarios. The results obtained showed that our simulation gives accurate estimation of the execution times. Secondly, the thesis proposed an approach that permits service developers and software adopters to evaluate service performance in a zero-knowledge scenario, where testing results and service code are not yet available. Our approach is built on expert knowledge to estimate the execution time of the service operation. It evaluates the complexity of the service operation using the input and output Simple Object Access Protocol (SOAP) messages, and the Web Service Description Language (WSDL) interface of the service. Then, the operation interval of execution times is estimated based on profile tables providing the time overhead needed to parse and build SOAP messages, and the performance inferred from the testing of some reference service operations. Our simulation results showed that our zero-knowledge approach gives an accurate approximation of the interval of execution times when compared with the testing results at the end of the development. Thirdly, the thesis proposed an application of our previous approaches to the definition of a framework that allows to negotiate and monitoring the performance Service Level Agreement (SLA) of the web service based on the simulation data. The solution for SLA monitoring is based on the STS-based model for testing and the solution for SLA negotiation is based on the service model for simulation. This work provides an idea about the SLA of the service in advance and how to handle the violations of the SLA on performance after the service deployment.

EARLY ASSESSMENT OF SERVICE PERFORMANCE USING SIMULATION / K.a.r. Sagbo ; relatore: E. Damiani ; correlatori: C.A. Ardagna, K. Reed ; coordinatore: E. Damiani. DIPARTIMENTO DI INFORMATICA, 2014 Mar 18. 26. ciclo, Anno Accademico 2013. [10.13130/sagbo-kouessi-arafat-romaric_phd2014-03-18].

EARLY ASSESSMENT OF SERVICE PERFORMANCE USING SIMULATION

K.A.R. Sagbo
2014

Abstract

The success of web services is changing the way in which software is designed, developed, and distributed. The increasing diffusion of software in the form services, available as commodities over the Internet, has en- abled business scenarios where processes are implemented by composing loosely-coupled services chosen at runtime. Services are in fact continuously re-designed and incrementally developed, released in heterogeneous and distributed environments, and selected and integrated at runtime within external business processes. In this dynamic context, there is the need of solutions supporting the evaluation of service performance at an early stage of the software development process, or even at design time, to support users in an a priori evaluation of the impact, a given service might have when integrated in their business process. A number of useful performance verification and validation techniques are proposed to test and simulate web services, but they assume the availability of service code or at least of reliable information (e.g., collected by testing) on service behavior. Among these approaches, simulation-based techniques are mostly used to assess the behavior of the service and predict its behavior using historical data. Despite the benefits of such solutions, few proposals have addressed the problem of how service performance can be assessed at design time and how historical data can be replaced by simulation data for performance evaluation at early stage of development cycle. In this thesis, the notion of simulation is fully integrated within early phases of the software development process in order to predict the behavior of services. We propose model-based approaches that rely on the amount of information available for the simulation of the performance of service operations. We distinguish full-knowledge, partial-knowledge and zero-knowledge scenarios. In a full-knowledge scenario, the total execution times for each operation and the internal distributions of delays are known and used for performance evaluation. In a partial-knowledge scenario, partial testing results (i.e., the lower and upper bounds to the operation execution times) are used to simulate a service performance. In the zero-knowledge scenario, no testing results are considered; only simulation results are used for performance evaluation. The main contributions of this thesis can be summarized as follows. Firstly, we proposed a model-based approach that relies on Symbolic Transition System (STS) to describe the web services as finite state automata and evaluate their performance. This model was extended for testing and simulation. The testing model annotates model transitions with performance idioms, which allow to evaluate the behavior of the service. The simulation model extends the standard STS-based model with transition probabilities and delay distributions. This model is used to generate a simulation script that allows to simulate the service behavior. Our methodology used simulation along the design and pre-deployment phases of the web service lifecycle to preliminarily assess web service performance using coarse-grained information on the total execution time of each service operation derived by testing. We used testing results and provided some practical examples to validate our methodology and the quality of the performance measurements computed by simulation considering the full-knowledge and partial-knowledge scenarios. The results obtained showed that our simulation gives accurate estimation of the execution times. Secondly, the thesis proposed an approach that permits service developers and software adopters to evaluate service performance in a zero-knowledge scenario, where testing results and service code are not yet available. Our approach is built on expert knowledge to estimate the execution time of the service operation. It evaluates the complexity of the service operation using the input and output Simple Object Access Protocol (SOAP) messages, and the Web Service Description Language (WSDL) interface of the service. Then, the operation interval of execution times is estimated based on profile tables providing the time overhead needed to parse and build SOAP messages, and the performance inferred from the testing of some reference service operations. Our simulation results showed that our zero-knowledge approach gives an accurate approximation of the interval of execution times when compared with the testing results at the end of the development. Thirdly, the thesis proposed an application of our previous approaches to the definition of a framework that allows to negotiate and monitoring the performance Service Level Agreement (SLA) of the web service based on the simulation data. The solution for SLA monitoring is based on the STS-based model for testing and the solution for SLA negotiation is based on the service model for simulation. This work provides an idea about the SLA of the service in advance and how to handle the violations of the SLA on performance after the service deployment.
18-mar-2014
Le succès des services Web est entrain de changer la façon dont le logiciel est conçu, développé et distribué. La diffusion croissante des logiciels sous forme de services, disponibles en tant que produits sur Internet, a permis la définition de scénarios d’entreprise où les processus sont mis en œuvre par la composition de services faiblement couplés, choisis au moment de l’exécution. Les services sont en effet en permanence re-conçus et développés progressivement, publiés dans des environnements hétérogènes et distribués, et sélectionnés et intégrés à l’exécution dans les processus externes d’entreprise. Dans ce contexte dynamique, il est nécessaire d’avoir des solutions permettant l'évaluation de la performance du service à un stade précoce du processus de développement des logiciels, ou encore au moment de la conception, afin de permettre aux utilisateurs de faire une évaluation “a priori” de l’impact qu’un service donné peut avoir quand il est intégré dans leur processus d’entreprise. Un certain nombre de techniques de vérification et de validation des performances utiles sont proposées pour tester et simuler les services web, mais elles requièrent la disponibilité du code source du service ou au moins d’informations fiables (par exemple, recueillies par test) sur le comportement du service. Parmi ces approches, les techniques basées sur la simulation sont principalement utilisées pour évaluer le comportement du service et prédire son comportement en utilisant des données obtenues par test. Malgré les avantages de ces solutions, peu de propositions ont abordé le problème lié à la manière dont la performance du service peut être ́évaluée au moment de la conception et comment les données de test peuvent être remplacées par les données de simulation en vue de l’évaluation de la performance à un stade précoce du cycle de développement. Dans cette thèse, la notion de simulation est entièrement intégrée dans les premières phases du processus de développement des logiciels afin de prédire le comportement des services. Nous proposons des approches basées sur l’utilisation de modèles s’appuyant sur la quantité d’informations disponibles pour la simulation de la performance des opérations du service web. Nous distinguons les scénarios full-knowledge, partial-knowledge et zero-knowledge. Dans un scénario full-knowledge, les temps d’exécution total de chaque opération et les distributions internes des délais sont connus et utilisés pour l’évaluation des performances. Dans un scénario partial-knowledge, les résultats des tests partiels (par exemple, les bornes inférieures et supérieures des temps d’exécution de l’opération) sont utilisés pour simuler la performance du service web. Dans le scénario zero-knowledge, aucun résultat de test n’est considéré, seuls les résultats de simulation sont utilisés pour l’évaluation des performances. Les principales contributions de cette thèse peuvent être résumées comme suit. Premièrement, nous avons proposé une approche basée sur l’utilisation de modèle qui s’appuie sur le Système de Transition Symbolique ( STS ) pour décrire les services web comme des automates à ́états finis et évaluer leur performance. Ce modèle a ́été étendu pour les tests et la simulation. Le modèle de test ajoute aux transitions du modèle STS standard des idiomes de performance, qui permettent d’évaluer le comportement du service. Cependant, le modèle de simulation étend le modèle STS standard avec des probabilités de transition et les distributions de délais. Ce modèle est utilisé pour générer un script de simulation permettant de simuler le comportement du service. Notre méthodologie utilise la simulation tout au long des phases de conception et de pré-déploiement du cycle de vie des services web pour une évaluation préliminaire de la performance des services web en utilisant les informations brutes sur le temps total d’exécution de chaque opération du service web provenant des tests. Nous avons utilisé les résultats des tests et fourni des exemples concrets pour valider notre méthodologie et la qualité des mesures de performance obtenues par simulation en considérant les scénarios full-knowledge et partial-knowledge. Les résultats obtenus ont montré que notre simulation donne une estimation précise des temps d’exécution. Deuxièmement, notre thèse a proposé une approche qui permet aux développeurs de services web et aux utilisateurs des logiciels d’évaluer la performance des services en considérant le scénario zero-knowledge , où les résultats des tests et le code source des services ne sont pas encore disponibles. Notre approche est fondée sur les connaissances des experts pour estimer le temps d’exécution de l’opération du service web. Il évalue la complexité de l’opération en utilisant les messages SOAP (Simple Object Access Protocol) d’entrée et de sortie et l’interface de description WSDL (Web Service Description Language) du service. Ensuite, l’intervalle du temps d’exécution de l’opération est estimé sur la base des tables de profils fournissant le temps nécessaire pour parser et construire les messages SOAP, et la performance déduite à partir du test de certaines opérations de web services de référence. Nos résultats de simulation ont montré que notre scénario zero-knowledge donne une bonne approximation de l’intervalle du temps d’exécution par rapport aux résultats des tests obtenus à la fin du développement. Troisièmement, cette thèse propose une application de nos précédentes approches pour la mise en place d’un framework qui permet de négocier et de surveiller le contrat de niveau de service (SLA) sur la performance du service web en se basant sur les données de simulation. La solution pour le suivi du contrat de niveau de service est basée sur le modèle STS étendu pour le test et la solution de négociation du niveau de service est basée sur le modèle de service étendu pour la simulation. Ce travail fournit à l’avance une idée sur le contrat de performance du service et la façon dont les violations du contrat sont traitées après le déploiement du service web.
Settore INF/01 - Informatica
SOA ; web service ; WSDL ; STS model ; Performance evaluation ; Early performance assessment ; Zero-knowledge ; Partial-knowledge ; Full-knowledge ; Complexity
DAMIANI, ERNESTO
DAMIANI, ERNESTO
Doctoral Thesis
EARLY ASSESSMENT OF SERVICE PERFORMANCE USING SIMULATION / K.a.r. Sagbo ; relatore: E. Damiani ; correlatori: C.A. Ardagna, K. Reed ; coordinatore: E. Damiani. DIPARTIMENTO DI INFORMATICA, 2014 Mar 18. 26. ciclo, Anno Accademico 2013. [10.13130/sagbo-kouessi-arafat-romaric_phd2014-03-18].
File in questo prodotto:
File Dimensione Formato  
phd_unimi_R09066.pdf

Open Access dal 18/05/2014

Tipologia: Tesi di dottorato completa
Dimensione 2.33 MB
Formato Adobe PDF
2.33 MB Adobe PDF Visualizza/Apri
Pubblicazioni consigliate

I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/2434/233318
Citazioni
  • ???jsp.display-item.citation.pmc??? ND
  • Scopus ND
  • ???jsp.display-item.citation.isi??? ND
social impact