1 |
AN APPROACH FOR IDENTIFYING SERVICE COMPOSITION PATTERNS FROM EXECUTION LOGSTang, Ran 30 September 2010 (has links)
Different types of web resources, such as Web Services, HTTP-based APIs and websites,
can be located on the web to provide various services, such as information access and online
banking. Such services are the basic building blocks to compose more complex functionality that
cannot be achieved by a single service. Many service-oriented applications can be composed to
fulfill similar functional requirements. Among various applications, a set of services can be
frequently used together to deliver a unique functionality. Such set of services are called a service
composition pattern. More specifically, a service composition pattern consists of a set of services
and the control flow among the services. The reuse of the service composition patterns can
facilitate the composition of new applications, improve existing applications and optimize
maintenance process of services. To facilitate the identification and reuse of service composition
patterns, we propose an approach that mines the service composition patterns from execution logs
produced by service-oriented applications during runtime. Since the execution logs can be
produced by heterogeneous web resources, we propose a unified description schema to describe
various web resources in order to identify functionally similar services of different types. This
helps reveal complete service composition patterns. Then we identify frequently associated
services using Apriori algorithm and heuristics. Finally, we recover the control flow among the
services using the event graph and process mining techniques. The effectiveness of the approach
is evaluated through two case studies. The result shows that the unified description schema
facilitates the identification of similar services of different types and our approach can effectively
identify service composition patterns. / Thesis (Master, Electrical & Computer Engineering) -- Queen's University, 2010-09-29 18:08:07.55
|
2 |
ApAM : un environnement pour le développement et l'exécution d'applications ubiquitaires / ApAM : An environment for the development and execution of ubiquitous applicationsDamou, Elmehdi 25 October 2013 (has links)
Simplifier notre interaction avec les entités informatiques interconnectées de notre environnement et faciliter l'exploitation des informations générées par celles-ci est l'objectif des environnements et applications ubiquitaires. Le comportement des applications ubiquitaires dépend de l'état et de la disponibilité des entités (logicielles ou dispositifs) qui compose l'environnement ubiquitaire dans lequel ils évoluent, ainsi que des préférences et localisation des utilisateurs. Développer et exécuter des applications ubiquitaires est un véritable défi que notre approche essaie de relever au travers de l'environnement d'exécution ApAM. Considérant que l'environnement d'exécution est imprévisible, nous partons du principe qu'une application ubiquitaire doit disposer d'une grande flexibilité dans le choix de ses composants et que cette composition doit être automatique. Nous proposons une description abstraite et implicite de la composition (où les composants et les liens entre eux ne sont pas décrits explicitement), ce qui permet de construire l'application incrémentalement pendant la phase d'exécution. La plate-forme d'exécution ApAM implémente ces mécanismes de composition incrémentale et s'en sert pour conférer aux applications ubiquitaires la capacité de « résister » et de s'adapter aux changements imprévisibles de l'environnement d'exécution. Cette propriété dite de résilience est au cœur de notre approche car elle permet aux programmeurs de développer « simplement » des applications « résilientes » sans avoir à décrire les diverses adaptations à réaliser, et même sans connaitre toutes les perturbations de l'environnement auquel elles seront soumises. Notre proposition offre le moyen de développer et d'exécuter des applications ayant un haut niveau de résilience vis-à-vis des évolutions de leur contexte d'exécution, grâce à des mécanismes automatiques capables de construire et de modifier à l'exécution l'architecture logicielle des applications ubiquitaire. Les mécanismes fournis sont génériques mais peuvent être étendus et spécialisés pour s'adapter plus finement à certaines applications ou à des domaines métiers spécifiques. / The goal of ubiquitous environments and applications is to simplify our interaction with interconnected software and hardware entities, and to allow the exploitation of the information that they gather and generate. The behavior of ubiquitous applications depends on the state and the availability of the software and hardware entities that compose the ubiquitous environment in which they are constantly evolving, as well as, the preferences and locations of users. Developing and executing ubiquitous applications is a difficult challenge that our approach attempts to address with the creation of the ApAM execution environment. Knowing that the execution environment is unpredictable, we believe that ubiquitous applications require a large amount of flexibility in choosing the components that compose the application, and that the composition should be automated. We propose an abstract and implicit description of the composition, where components and bindings are not explicitly described. This allows to incrementally building an application at runtime. The ApAM execution platform implements the mechanisms to achieve incremental composition and uses them to provide ubiquitous applications with the resilience and adaptability necessary to face unpredictable changes that originate in the execution environment. Resilience is a core property of our approach because it allows developers to easily build applications without the need to either describe nor predict the multiple adaptations required to support environmental disturbances which the applications will encounter. Our proposal offers the means of developing and executing applications with a high level of resilience in regards to their continuously evolving context. This is possible thanks to the mechanisms described in this dissertation that allow building and changing, at runtime, ubiquitous applications. These mechanisms are generic but can be extended or specialized in order to solve domain or application-specific issues.
|
Page generated in 0.1392 seconds