6 research outputs found

    A Causal Model to predict the Effect of Business Process Evolution on Quality of Service

    Get PDF
    International audienceManaging Quality of Service (QoS) of Service-based systems is a key challenge to produce systems that fulfill their requirements. Verifying the respect of a QoS contract in a system becomes more and more difficult as systems are more and more complex. Moreover, systems have to evolve in order to fulfil constantly changing requirements. As QoS properties are influenced by hidden factors such as connection rate or the system execution itself, determining the cause of a performance degradation is not mainstream. We propose in this paper to identify the causal relations to make explicit the hidden factors of influence. We more specifically focus on the consequences of system evolution with respect to QoS properties: using causal relations, we aim at predicting the possible overhead caused by an evolution. This paper shows through an example of Business Process how our evolution analysis helps to understand the effect of evolution on QoS property such as the Response Time. We show its efficiency by comparing the prediction with measured values

    Un processus de développement pour contrôler l'évolution des processus métiers en termes de QoS

    Get PDF
    National audienceLes systèmes informatiques sont de plus en plus complexes. Leur développement doit être rapide et réactif afin de pouvoir répondre à des besoins utilisateurs en constante évolution. Les architectures orientées services offrent des éléments de solutions pour palier ce problème en proposant le concept de service, l'encapsulation d'une fonctionnalité donnée, et en offrant un couplage lâche des services constituants le système. Toutefois, si ces caractéristiques permettent de faire évoluer facilement le système, il n'en reste pas pour autant difficile de comprendre concrètement l'effet d'une évolution sur le système, notamment en terme de Qualité de Service (QoS) Cheng. Nous présentons ici un canevas de développement nommé Service Modeling for Impact of evoLution framEwork (SMILE), qui, associé à un processus de développement, permet de contrôler l'évolution de processus métiers en terme de QoS

    Une approche de vérification d'exécution de modèles par contrats

    Get PDF
    National audienceOne of the main goal of model-driven engineering is the manipulation of models as exclusive software artifacts. Model execution is in particular a means to substitute models for code. We focus in this paper on verifying model executions. We use a contract-based approach to specify an execution semantics for a meta-model. We show that an execution semantics is a seamless extension of a rigorous meta-model specification and composed of complementary levels, from static element definition to dynamic elements, execution specifications as well. We use model transformation contracts for controlling the dynamic consistent evolution of a model during its execution.Un des buts fondateurs de l'ingénierie des modèles est la manipulation des modèles en tant qu'éléments logiciels productifs. L'exécution de modèles est notamment un moyen de remplacer l'écriture du code. Nous nous intéressons dans cet article à la vérification d'exécution de modèles. Nous utilisons pour cela une approche par contrat pour spécifier une sémantique d'exécution pour un méta-modèle donné. Nous montrons qu'une sémantique d'exécution est un prolongement naturel d'un méta-modèle rigoureusement défini et est formée de niveaux complémentaires, de la définition d'éléments statiques et dynamiques ainsi que de spécifications d'exécution de ces éléments. Nous utilisons des contrats de transformation de modèles pour vérifier la cohérence de l'évolution dynamique d'un modèle pendant son exécution

    Déterminer l'impact d'une évolution dans les processus métiers

    Get PDF
    National audienceAvec l'augmentation de la taille et de la complexité des systèmes à bases de services, la tâche du concepteur dans l'évolution des processus métiers est devenue ardue. Une simple modification localisée du processus peut entrainer une dégradation des propriétés non fonc- tionnelles (temps de réponse, sécurité, taille des messages, etc.) de l'application toute entière. Pouvoir déterminer l'impact d'une évolution sur l'ensemble du système aiderait le concepteur à se rendre compte a priori des conséquences potentielles de l'évolution. Nous proposons de construire un canevas de conception et d'évolution à base de modèles pour aider le concepteur à déterminer l'effet d'une évolution sur le système en s'appuyant sur des analyses d'impact

    Une approche agile, fiable et minimale pour le maintien de la qualité de service lors de l'évolution d'applications à base de processus métiers

    No full text
    Current softwares are built using "agile" development methods, to better consider the need to adapt to new user requirements. Developers and designers are getting closer to future software users by making short iterative cycles, where the future user gives a fast feedback on the increment made to the software and emits new user requirement to be fulfilled in future increments. These iterations can be seen as evolutions, as an answer to the definition of a new user requirement, or due to a change in the execution environment or in the architecture of the software. In the Service-Oriented Architecture (SOA) world, the design of software is composed of service choreography, or service orchestration using business processes. The design of these applications is equivalent to connecting the services control flow and data flow. As a result, the evolution step becomes a complex step, where a simple modification on a sub-part of a business process can have consequences on the entire system, causing for example its slowing down at runtime. From the Quality of Service (QoS) point of view, ensuring the fiability of the evolution process to maintain software QoS is critical. As a result, it is necessary to propose agile, reliable evolution mecanisms ensuring QoS preservation during the evolution of software made of business processes. In other words, we need to control that an evolution does not violate any QoS contract initially set up. Depending of the contract, this garanty must be established either at design time or at runtime. In the latter case, the verification process must be minimal and local, in order to not degrade the software performance. To achieve this goal, we propose to realise an agile development cycle, centered on the QoS preservation during the evolution. It is necessary to care about the evolutive concern of a system from the initial design step, by identifying required information to determine if the QoS continues to be correct and not violated by an evolution. Considering that this information is known by many stakeholders, it is also necessary to set up interaction points during the development cycle, during which information is shared in order to keep building a syntactically and semantically coherent software and to minimally (re)check QoS contracts. The contributions of this thesis are applied in Blink, a development cycle for evolution, and Smile, a framework to maintain QoS during the evolution of a service-oriented software made of business processes. While Blink is intended to identify the different actors and to make their interactions explicit, Smile proposes the realisation of an evolution loop. This loop enables the design, analysis and application of an evolution, by detecting the potential QoS contract violation. The evolution analysis determines its effect on the software QoS, by defining causal relations among variables, operations, services and other parts of the system. In this way, by identifying elements that are causally affected by the evolution, and by avoiding the elements that are not, our approach enables the limitation of the number of elements to (re)check in order to assure a reliable evolution step, with a minimal (re)check step. We show on the concrete case of a crisis management system, composed of eleven bu- siness processes and ten scenarios, that the combined use of Blink and Smile enables for each evolution the identification of its effect on the system, and the QoS preservation of the system.Les logiciels actuels adoptent une méthodologie de développement dite "agile" pour mieux prendre en compte la nécessité de s'adapter constamment aux nouveaux besoins des utilisateurs. Les concepteurs et développeurs se rapprochent alors des futurs utilisateurs du logiciel en proposant des cycles courts d'itération, où le futur utilisateur fait un retour rapide sur l'incrément apporté au logiciel, et fait part de nouveaux besoins à prendre en compte dans les incréments à venir. Ces itérations peuvent être vues comme des évolutions, faisant suite à la définition d'un nouveau besoin de l'utilisateur, à un changement de l'en- vironnement d'exécution, ou encore à une remise en question de l'architecture du logiciel. Dans l'écosystème des architectures orientées services, la conception d'applications passe par la chorégraphie ou l'orchestration de services par des processus métiers. Concevoir ces applications consiste alors à mettre en relation les flots de contrôle et de données de ces services. La phase d'évolution devient une phase complexe, où une simple modification lo- calisée à une sous-partie d'un processus métier peut avoir des conséquences sur l'ensemble du système logiciel, causant par exemple son ralentissement lors de l'exécution. Du point de vue de la qualité de service (QoS), la maîtrise de la fiabilité du processus d'évolution pour maintenir la qualité de service d'un logiciel est alors critique. Il est donc nécessaire de pouvoir proposer des mécanismes d'évolution agiles et fiables permettant le maintien de la QoS lors de l'évolution d'applications à base de processus métiers. En d'autres termes, il s'agit de s'assurer qu'une évolution ne viole pas les contrats de QoS définis initialement. Cette garantie doit être établie en fonction du contrat soit lors de la conception soit lors de l'exécution. Dans ce dernier cas, le processus de vérification doit être minimal et localisé, afin de ne pas dégrader les performances du système logiciel. Pour cela, nous proposons de mettre en œuvre un cycle de développement agile, centré sur le maintien de la QoS lors de l'évolution. Il s'agit de prendre l'aspect évolutif du système, ceci dès l'étape de conception initiale, en identifiant les informations requises pour déter- miner si la QoS est correcte et si elle est non violée par une évolution. Ces informations étant détenues par plusieurs intervenants, il est également nécessaire d'établir les points d'interaction au cours du cycle de développement, au cours desquels les informations seront partagées de façon à ce que le logiciel qui en est issu reste syntaxiquement et sémantique- ment cohérent et que les contrats de QoS soient (re)vérifiés a minima. Les contributions de cette thèse sont donc mises en œuvre dans Blink, un cycle de développement pour l'évolu- tion, et Smile, un canevas de développement pour le maintien de la qualité de service lors de l'évolution d'applications orientées service définies à base de processus métiers. Tandis que le cycle de développement Blink vise à identifier les différents rôles présents dans l'équipe de développement et à expliciter leurs interactions, le canevas Smile propose la réalisation d'une boucle d'évolution. Cette boucle permet de concevoir, d'analyser et d'appliquer une évolution, en détectant les potentielles violations de contrat de QoS. Pour cela, l'analyse de l'évolution détermine son effet sur la QoS du logiciel, en établissant des relations de causalité entre les différentes variables, opérations, services et autres parties du système. Ainsi, en identifiant les éléments causalement affectés par l'évolution et en écartant ceux qui ne le sont pas, notre approche permet de limiter le nombre d'éléments à (re)vérifier, garantissant ainsi une étape d'évolution fiable, avec une étape de (re)vérification minimale. Nous montrons sur un cas concret de système de gestion de crises, constitué de onze processus métiers et de dix scénarios, que l'utilisation conjointe de Blink et de Smile permet d'identifier, pour chaque évolution, quel sera son effet sur le reste du système, et si la qualité de service sera maintenue ou non

    An agile, reliable and minimalist approach to preserve the quality of service of business-processes based applications during their evolutions

    No full text
    Les logiciels actuels adoptent une méthodologie de développement dite agile et itérative, où chaque itération peut être vue comme une évolution du logiciel, pour prendre en compte les nouveaux besoins des utilisateurs. Dans l’écosystème des architectures orientées services, la conception de logiciels passe par l’orchestration de services par des processus métiers. La phase d’évolution devient une phase complexe, où une simple modification d'une sous-partie d’un processus métier peut avoir des conséquences sur l’ensemble du logiciel, causant par exemple son ralentissement à l’exécution ou la dégradation de sa qualité de service (QoS). Il est nécessaire de pouvoir maintenir la QoS lors de l’évolution de logiciels à base de processus métiers en proposant des mécanismes d’évolution agiles, fiables et minimal afin de ne pas dégrader les performances du logiciel. Les contributions de cette thèse sont mises en œuvre dans notre cycle de développement Blink, centré sur le maintien de la QoS lors de l’évolution, et Smile, un canevas de développement pour le maintien de la QoS lors de l’évolution d’applications orientées service définies à base de processus métiers. Ce dernier repose sur une analyse de l’évolution déterminant son effet sur la QoS du logiciel, en établissant des relations de causalité entre variables, opérations, services et autres parties du système. En identifiant les éléments causalement affectés par l’évolution et en écartant ceux qui ne le sont pas, notre approche permet de limiter le nombre d’éléments à re-vérifier, garantissant ainsi une étape d’évolution fiable, avec une étape de re-vérification minimale.Current softwares are built using agile and iterative development methods, where each iteration can be seen as a software evolution, to consider the new needs of users. In the Service-Oriented Architecture (SOA) world, the design of software is made of service orchestration using business processes. The evolution step becomes a complex step, where a simple modification on a sub-part of a business process can have consequences on the entire system, causing for example its slowing down or its Quality of Service (QoS) degradation. As a result, it is necessary to preserve the QoS of software made of business processes by proposing agile and reliable evolution mechanisms that have to be minimal in order to not degrade the software performances. The contributions of this thesis are Blink, a development cycle to maintain the QoS during evolution, and Smile, a framework to maintain QoS during the evolution of a service-oriented software made of business processes. Smile relies on an evolution analysis determining its effect of the software QoS, by establishing causal relations between variables, operations, services and other parts of the system. By identifying the elements that are causally affected by the evolution and by ruling out the ones that are not, our approach enables the limitation of the number of elements to (re)check in order to assure a reliable evolution step, with a minimal (re)check step
    corecore