• Refine Query
  • Source
  • Publication year
  • to
  • Language
  • 52
  • 11
  • 10
  • 2
  • 2
  • 1
  • 1
  • Tagged with
  • 87
  • 87
  • 35
  • 32
  • 27
  • 27
  • 20
  • 15
  • 13
  • 10
  • 10
  • 9
  • 9
  • 9
  • 9
  • About
  • The Global ETD Search service is a free service for researchers to find electronic theses and dissertations. This service is provided by the Networked Digital Library of Theses and Dissertations.
    Our metadata is collected from universities around the world. If you manage a university/consortium/country archive and want to be added, details can be found on the NDLTD website.
41

Modélisation de la configuration automatique dans des systèmes auto-adaptatifs basés sur l'architecture / Modeling self-configuration in Architecture-based self-adaptive systems

El Ballouli, Rim 20 March 2019 (has links)
Les systèmes modernes subissent des pressions pour s'adapter à leur environnement en constante évolution afin de rester utiles. Traditionnellement, cette adaptation a été gérée lors des temps morts du système. il y a une demande croissante d'automatiser ce processus et de le réaliser pendant le fonctionnement du système. Les systèmes auto-adaptatifs ont été introduits en tant que réalisation de systèmes s'adaptant en permanence. Les systèmes auto-adaptatifs peuvent modifier au moment de l'exécution leur comportement et / ou leur structure en fonction de leur perception de l'environnement, du système lui-même et de leurs exigences. L'objectif de ce travail est de réaliser l'auto-configuration, une propriété essentielle et essentielle des systèmes auto-adaptatifs. L'auto-configuration est la capacité de reconfiguration automatique et dynamique en réponse aux changements. Cela peut inclure l’installation, l’intégration, le retrait et la composition / décomposition d’éléments du système.Cette thèse présente le framework Dr-BIP, une extension du framework BIP pour la modélisation de systèmes à configuration automatique qui repose sur une approche basée sur un modèle et basée sur des composants et des connecteurs pour prescrire des systèmes. La combinaison de ces deux approches exploite les avantages de chacune d’elles, faisant de leur combinaison une méthodologie idéale pour la réalisation de systèmes complexes à configuration automatique.Un modèle de système Dr-BIP est un modèle d'exécution qui capture le système en cours d'exécution à trois niveaux d'abstraction différents, à savoir les variantes de comportement, de configuration et de configuration. La configuration du système est capturée par le composant et les connecteurs. Dans un système de composants et de connecteurs, la configuration automatique peut avoir trois niveaux de granularité différents, notamment la possibilité d'ajouter ou de supprimer des connecteurs, d'ajouter ou de supprimer des composants et d'ajouter ou de supprimer des sous-systèmes. Dr-BIP prend en charge l'ajout et le retrait explicites de composants et de sous-systèmes, mais l'ajout et le retrait implicites de connecteurs. Le principal avantage de compter sur une addition et une suppression implicites de connecteurs est la possibilité de garantir, par la construction, des topologies de configuration spécifiques.Pour capturer les trois niveaux d'abstraction, nous introduisons des motifs en tant que structures principales pour prescrire un système Dr-BIP à configuration automatique. Un motif définit un ensemble de composants qui évoluent en fonction de règles d'interaction et de reconfiguration. Un système est composé de plusieurs motifs pouvant éventuellement partager des composants et évoluer ensemble. Les règles d'interaction dictent la manière dont les composants composant le système peuvent interagir, tandis que les règles de reconfiguration dictent l'évolution de la configuration du système. Enfin, nous montrons que le cadre proposé est à la fois minimal et expressif en modélisant quatre systèmes différents à configuration automatique. Enfin, nous proposons un langage de modélisation pour codifier les concepts du cadre et fournir une implémentation d’interprète. / Modern systems are pressured to adapt in response to their constantly changing environment to remain useful. Traditionally, this adaptation has been handled at down times of the system. there is an increased demand to automate this process and achieve it whilst the system is running. Self-adaptive systems were introduced as a realization of continuously adapting systems. Self-adaptive systems are able to modify at runtime their behavior and/or structure in response to their perception of the environment, the system itself, and their requirements. The focus of this work is on realizing self-configuration, a key and essential property of self-adaptive systems. Self-configuration is the capability of reconfiguring automatically and dynamically in response to changes. This may include installing, integrating, removing and composing/decomposing system elements.This thesis introduces the Dr-BIP framework, an extension of the BIP framework for modeling self-configuring systems that relies on a model-based and component & connector approach to prescribe systems. The combination of both of these approaches exploits the benefits of each, making their combination an ideal methodology to realize complex self-configuring systems.A Dr-BIP system model is a runtime model which captures the running system at three different levels of abstraction namely behavior, configuration, and configuration variants. The system's configuration is captured by component and connectors. In a component and connector system, self-configuration can have three different levels of granularity which includes the ability to add or remove connectors, add or remove components, and add or remove subsystems. Dr-BIP supports explicit addition and removal of both components and subsystems, but implicit addition and removal of connectors. The main advantage of relying on an implicit addition and removal of connectors is the ability to guarantee by construction specific configuration topologies.To capture the three levels of abstraction, we introduce motifs as primary structures to prescribe a self-configuring Dr-BIP system. A motif defines a set of components that evolve according to interaction and reconfiguration rules. A system is composed of multiple motifs that possibly share components and evolve together. Interaction rules dictate how components composing the system can interact and reconfiguration rules dictate how the system configuration can evolve over time. Finally, we show that the proposed framework is both minimal and expressive by modeling four different self-configuring systems. Last but not least, we propose a modeling language to codify the framework concepts and provision an interpreter implementation.
42

Understanding and automating application-level caching / Entendendo e automatizando cache a nível de aplicação

Mertz, Jhonny Marcos Acordi January 2017 (has links)
O custo de serviços na Internet tem encorajado o uso de cache a nível de aplicação para suprir as demandas dos usuários e melhorar a escalabilidade e disponibilidade de aplicações. Cache a nível de aplicação, onde desenvolvedores manualmente controlam o conteúdo cacheado, tem sido adotada quando soluções tradicionais de cache não são capazes de atender aos requisitos de desempenho desejados. Apesar de sua crescente popularidade, este tipo de cache é tipicamente endereçado de maneira ad-hoc, uma vez que depende de detalhes específicos da aplicação para ser desenvolvida. Dessa forma, tal cache consiste em uma tarefa que requer tempo e esforço, além de ser altamente suscetível a erros. Esta dissertação avança o trabalho relacionado a cache a nível de aplicação provendo uma compreensão de seu estado de prática e automatizando a identificação de conteúdo cacheável, fornecendo assim suporte substancial aos desenvolvedores para o projeto, implementação e manutenção de soluções de caching. Mais especificamente, este trabalho apresenta três contribuições: a estruturação de conhecimento sobre caching derivado de um estudo qualitativo, um levantamento do estado da arte em abordagens de cache estáticas e adaptativas, e uma técnica que automatiza a difícil tarefa de identificar oportunidades de cache O estudo qualitativo, que envolveu a investigação de dez aplicações web (código aberto e comercial) com características diferentes, permitiu-nos determinar o estado de prática de cache a nível de aplicação, juntamente com orientações práticas aos desenvolvedores na forma de padrões e diretrizes. Com base nesses padrões e diretrizes derivados, também propomos uma abordagem para automatizar a identificação de métodos cacheáveis, que é geralmente realizado manualmente por desenvolvedores. Tal abordagem foi implementada como um framework, que pode ser integrado em aplicações web para identificar automaticamente oportunidades de cache em tempo de execução, com base na monitoração da execução do sistema e gerenciamento adaptativo das decisões de cache. Nós avaliamos a abordagem empiricamente com três aplicações web de código aberto, e os resultados indicam que a abordagem é capaz de identificar oportunidades de cache adequadas, melhorando o desempenho das aplicações em até 12,16%. / Latency and cost of Internet-based services are encouraging the use of application-level caching to continue satisfying users’ demands, and improve the scalability and availability of origin servers. Application-level caching, in which developers manually control cached content, has been adopted when traditional forms of caching are insufficient to meet such requirements. Despite its popularity, this level of caching is typically addressed in an adhoc way, given that it depends on specific details of the application. Furthermore, it forces application developers to reason about a crosscutting concern, which is unrelated to the application business logic. As a result, application-level caching is a time-consuming and error-prone task, becoming a common source of bugs. This dissertation advances work on application-level caching by providing an understanding of its state-of-practice and automating the decision regarding cacheable content, thus providing developers with substantial support to design, implement and maintain application-level caching solutions. More specifically, we provide three key contributions: structured knowledge derived from a qualitative study, a survey of the state-of-the-art on static and adaptive caching approaches, and a technique and framework that automate the challenging task of identifying cache opportunities The qualitative study, which involved the investigation of ten web applications (open-source and commercial) with different characteristics, allowed us to determine the state-of-practice of application-level caching, along with practical guidance to developers as patterns and guidelines to be followed. Based on such patterns and guidelines derived, we also propose an approach to automate the identification of cacheable methods, which is often manually done and is not supported by existing approaches to implement application-level caching. We implemented a caching framework that can be seamlessly integrated into web applications to automatically identify and cache opportunities at runtime, by monitoring system execution and adaptively managing caching decisions. We evaluated our approach empirically with three open-source web applications, and results indicate that we can identify adequate caching opportunities by improving application throughput up to 12.16%. Furthermore, our approach can prevent code tangling and raise the abstraction level of caching.
43

Empirically-based self-diagnosis and repair of domain knowledge

Jones, Joshua K. 17 December 2009 (has links)
In this work, I view incremental experiential learning in intelligent software agents as progressive agent self-adaptation. When an agent produces an incorrect behavior, then it may reflect on, and thus diagnose and repair, the reasoning and knowledge that produced the incorrect behavior. In particular, I focus on the self-diagnosis and self-repair of an agent's domain knowledge. The implementation of systems with the capability to self-diagnose and self-repair involves building both reasoning processes capable of such learning and knowledge representations capable of supporting those reasoning processes. The core issue my dissertation addresses is: what kind of metaknowledge (knowledge about knowledge) may enable the agent to diagnose faults in its domain knowledge? In providing a solution to this issue, the central contribution of this research is a theory of the kind of metaknowledge that enables a system to reason about and adapt its conceptual knowledge. For this purpose, I propose a representation that explicitly encodes metaknowledge in the form of procedures called Empirical Verification Procedures (EVPs). In the proposed knowledge representation, an EVP is associated with each concept within the agent's domain knowledge. Each EVP explicitly semantically grounds the associated concept in the agent's perception, and can thus be used as a test to determine the validity of knowledge of that concept during diagnosis. I present the formal and empirical evaluation of a system, Augur, that makes use of EVP metaknowledge to adapt its own domain knowledge in the context of a particular subclass of classification problem that I call compositional classification, in which the overall classification task can be broken into a hierarchically organized set of subtasks. I hypothesize that EVP metaknowledge will enable a system to automatically adapt its knowledge in two ways: first, by adjusting the ways that inputs are categorized by a concept, in accordance with semantics fixed by an associated EVP; and second, by adjusting the semantics of concepts themselves when they fail to contribute appropriately to system goals. The latter adaptation is realized by altering the EVP associated with the concept in question. I further hypothesize that the semantic grounding of domain concepts in perception through the use of EVPs will increase the generalization power of a learner that operates over those concepts, and thus make learning more efficient. Beyond the support of these hypotheses, I also present results pertinent to the understanding of learning in compositional classification settings using structured knowledge representations.
44

An API for adaptive loop scheduling in shared address space architectures

Govindaswamy, Kirthilakshmi. January 2003 (has links) (PDF)
Thesis (M.S.)--Mississippi State University. Department of Computer Science and Engineering. / Title from title screen. Includes bibliographical references.
45

Modeling and verification of functional and non functional requirements of ambient, self adaptative systems

Ahmad, Manzoor 07 October 2013 (has links) (PDF)
The overall contribution of this thesis is to propose an integrated approach for modeling and verifying the requirements of Self Adaptive Systems using Model Driven Engineering techniques. Model Driven Engineering is primarily concerned with reducing the gap between problem and software implementation domains through the use of technologies that support systematic transformation of problem level abstractions to software implementations. By using these techniques, we have bridged this gap through the use of models that describe complex systems at multiple levels of abstraction and through automated support for transforming and analyzing these models. We take requirements as input and divide it into Functional and Non Functional Requirements. We then use a process to identify those requirements that are adaptable and those that cannot be changed. We then introduce the concepts of Goal Oriented Requirements Engineering for modeling the requirements of Self Adaptive Systems, where Non Functional Requirements are expressed in the form of goals which is much more rich and complete in defining relations between requirements. We have identified some problems in the conventional methods of requirements modeling and properties verification using existing techniques, which do not take into account the adaptability features associated with Self Adaptive Systems. Our proposed approach takes into account these adaptable requirements and we provide various tools and processes that we developed for the requirements modeling and verification of Self Adaptive Systems. We validate our proposed approach by applying it on two different case studies in the domain of Self Adaptive Systems.
46

Multi-objective optimisation methods applied to complex engineering systems

Oliver, John M. January 2014 (has links)
This research proposes, implements and analyses a novel framework for multiobjective optimisation through evolutionary computing aimed at, but not restricted to, real-world problems in the engineering design domain. Evolutionary algorithms have been used to tackle a variety of non-linear multiobjective optimisation problems successfully, but their success is governed by key parameters which have been shown to be sensitive to the nature of the particular problem, incorporating concerns such as the number of objectives and variables, and the size and topology of the search space, making it hard to determine the best settings in advance. This work describes a real-encoded multi-objective optimising evolutionary algorithm framework, incorporating a genetic algorithm, that uses self-adaptive mutation and crossover in an attempt to avoid such problems, and which has been benchmarked against both standard optimisation test problems in the literature and a real-world airfoil optimisation case. For this last case, the minimisation of drag and maximisation of lift coefficients of a well documented standard airfoil, the framework is integrated with a freeform deformation tool to manage the changes to the section geometry, and XFoil, a tool which evaluates the airfoil in terms of its aerodynamic efficiency. The performance of the framework on this problem is compared with those of two other heuristic MOO algorithms known to perform well, the Multi-Objective Tabu Search (MOTS) and NSGA-II, showing that this framework achieves better or at least no worse convergence. The framework of this research is then considered as a candidate for smart (electricity) grid optimisation. Power networks can be improved in both technical and economical terms by the inclusion of distributed generation which may include renewable energy sources. The essential problem in national power networks is that of power flow and in particular, optimal power flow calculations of alternating (or possibly, direct) current. The aims of this work are to propose and investigate a method to assist in the determination of the composition of optimal or high-performing power networks in terms of the type, number and location of the distributed generators, and to analyse the multi-dimensional results of the evolutionary computation component in order to reveal relationships between the network design vector elements and to identify possible further methods of improving models in future work. The results indicate that the method used is a feasible one for the achievement of these goals, and also for determining optimal flow capacities of transmission lines connecting the bus bars in the network.
47

Understanding and automating application-level caching / Entendendo e automatizando cache a nível de aplicação

Mertz, Jhonny Marcos Acordi January 2017 (has links)
O custo de serviços na Internet tem encorajado o uso de cache a nível de aplicação para suprir as demandas dos usuários e melhorar a escalabilidade e disponibilidade de aplicações. Cache a nível de aplicação, onde desenvolvedores manualmente controlam o conteúdo cacheado, tem sido adotada quando soluções tradicionais de cache não são capazes de atender aos requisitos de desempenho desejados. Apesar de sua crescente popularidade, este tipo de cache é tipicamente endereçado de maneira ad-hoc, uma vez que depende de detalhes específicos da aplicação para ser desenvolvida. Dessa forma, tal cache consiste em uma tarefa que requer tempo e esforço, além de ser altamente suscetível a erros. Esta dissertação avança o trabalho relacionado a cache a nível de aplicação provendo uma compreensão de seu estado de prática e automatizando a identificação de conteúdo cacheável, fornecendo assim suporte substancial aos desenvolvedores para o projeto, implementação e manutenção de soluções de caching. Mais especificamente, este trabalho apresenta três contribuições: a estruturação de conhecimento sobre caching derivado de um estudo qualitativo, um levantamento do estado da arte em abordagens de cache estáticas e adaptativas, e uma técnica que automatiza a difícil tarefa de identificar oportunidades de cache O estudo qualitativo, que envolveu a investigação de dez aplicações web (código aberto e comercial) com características diferentes, permitiu-nos determinar o estado de prática de cache a nível de aplicação, juntamente com orientações práticas aos desenvolvedores na forma de padrões e diretrizes. Com base nesses padrões e diretrizes derivados, também propomos uma abordagem para automatizar a identificação de métodos cacheáveis, que é geralmente realizado manualmente por desenvolvedores. Tal abordagem foi implementada como um framework, que pode ser integrado em aplicações web para identificar automaticamente oportunidades de cache em tempo de execução, com base na monitoração da execução do sistema e gerenciamento adaptativo das decisões de cache. Nós avaliamos a abordagem empiricamente com três aplicações web de código aberto, e os resultados indicam que a abordagem é capaz de identificar oportunidades de cache adequadas, melhorando o desempenho das aplicações em até 12,16%. / Latency and cost of Internet-based services are encouraging the use of application-level caching to continue satisfying users’ demands, and improve the scalability and availability of origin servers. Application-level caching, in which developers manually control cached content, has been adopted when traditional forms of caching are insufficient to meet such requirements. Despite its popularity, this level of caching is typically addressed in an adhoc way, given that it depends on specific details of the application. Furthermore, it forces application developers to reason about a crosscutting concern, which is unrelated to the application business logic. As a result, application-level caching is a time-consuming and error-prone task, becoming a common source of bugs. This dissertation advances work on application-level caching by providing an understanding of its state-of-practice and automating the decision regarding cacheable content, thus providing developers with substantial support to design, implement and maintain application-level caching solutions. More specifically, we provide three key contributions: structured knowledge derived from a qualitative study, a survey of the state-of-the-art on static and adaptive caching approaches, and a technique and framework that automate the challenging task of identifying cache opportunities The qualitative study, which involved the investigation of ten web applications (open-source and commercial) with different characteristics, allowed us to determine the state-of-practice of application-level caching, along with practical guidance to developers as patterns and guidelines to be followed. Based on such patterns and guidelines derived, we also propose an approach to automate the identification of cacheable methods, which is often manually done and is not supported by existing approaches to implement application-level caching. We implemented a caching framework that can be seamlessly integrated into web applications to automatically identify and cache opportunities at runtime, by monitoring system execution and adaptively managing caching decisions. We evaluated our approach empirically with three open-source web applications, and results indicate that we can identify adequate caching opportunities by improving application throughput up to 12.16%. Furthermore, our approach can prevent code tangling and raise the abstraction level of caching.
48

Smells arquiteturais de monitoramento em sistemas adaptativos

Serikawa, Marcel Akira 19 August 2016 (has links)
Submitted by Aelson Maciera (aelsoncm@terra.com.br) on 2017-04-17T18:58:23Z No. of bitstreams: 1 DissMAS.pdf: 4063634 bytes, checksum: deabb30ec4d63266b4b9dc58fe79287a (MD5) / Approved for entry into archive by Ronildo Prado (ronisp@ufscar.br) on 2017-04-20T12:22:31Z (GMT) No. of bitstreams: 1 DissMAS.pdf: 4063634 bytes, checksum: deabb30ec4d63266b4b9dc58fe79287a (MD5) / Approved for entry into archive by Ronildo Prado (ronisp@ufscar.br) on 2017-04-20T12:22:39Z (GMT) No. of bitstreams: 1 DissMAS.pdf: 4063634 bytes, checksum: deabb30ec4d63266b4b9dc58fe79287a (MD5) / Made available in DSpace on 2017-04-20T12:26:34Z (GMT). No. of bitstreams: 1 DissMAS.pdf: 4063634 bytes, checksum: deabb30ec4d63266b4b9dc58fe79287a (MD5) Previous issue date: 2016-08-19 / Não recebi financiamento / Adaptive systems are able to adapt themselves according to changes in its execution environment or the user's needs. Monitors are essential for the development of such systems because they are responsible for collecting and pre-processing the context data. By a search in systems found in repositories and literature, it was observed that monitors are sometimes designed and implemented in an inappropriate way, exhibiting the following characteristics: i) they are Obscure in the source code; ii) they have a unique monitoring rate and iii) they are forced to have a pre-determined execution order. These characteristics lead to difficulties in maintenance, evolution and often problems related to performance. Design decisions that lead to these difficulties can be characterized as architectural smells. The documentation of smells helps developers identifying refactoring opportunities of a system and also highlights practices that should be analyzed during the design and development of new systems. Therefore, this master thesis proses two architectural smells for adaptive systems: the Obscure Monitor and Oppressed Monitors. The first occurs when the monitors are not evident in the system and the second occurs when the monitors are subject to the same monitoring rate and have a strict execution order. In order to check the influence of the presence of theses smells five maintenance activities were applied in two versions of a system called PhoneAdapter, the original version with the presence of the smells and the refactored one in which the smells were removed. The results indicate that the maintenance and evolution of the refactored system are facilitated in most activities. / Sistemas Adaptativos são capazes de se adaptarem às mudanças de seu ambiente de execução ou das necessidades do usuário. Monitores são essenciais para o desenvolvimento desse tipo de sistema, pois, são responsáveis por coletar e preprocessar dados do contexto. Em um levantamento de sistemas realizado em repositórios e na literatura especializada, notou-se que monitores são por vezes projetados e implementados de uma forma inadequada, exibindo as seguintes características: i) ficam obscuros no código-fonte; ii) possuem uma taxa de monitoramento única e iii) são forçados a ter uma ordem de execução pré-determinada. Isso leva a dificuldades na manutenção, evolução e muitas vezes problemas relacionados a desempenho. Decisões de projetos que levam a essas dificuldades podem ser caracterizadas como smells arquiteturais. A documentação de smells auxilia desenvolvedores a identificar oportunidades de refatorações do sistema, bem como evidenciar práticas que devem ser avaliadas durante o projeto e desenvolvimento de novos sistemas. Portanto, nesta dissertação de mestrado são propostos dois smells arquiteturais: o Obscure Monitor e o Oppressed Monitors. O primeiro ocorre quando os monitores não estão evidentes no sistema e o segundo ocorre quando os monitores estão sujeitos a uma mesma taxa de monitoramento e também possuem uma ordem de execução rígida. Como avaliação preliminar foi realizado um estudo exploratório em um sistema adaptativo chamado PhoneAdapter. Para verificar a influência da presença desses smells foram realizadas cinco atividades de manutenção em duas versões desse sistema, a original com os smells e uma refatorada na qual os smells foram removidos. Os resultados obtidos indicam que a manutenção e evolução de tais sistemas são facilitadas na maioria dessas atividades.
49

Understanding and automating application-level caching / Entendendo e automatizando cache a nível de aplicação

Mertz, Jhonny Marcos Acordi January 2017 (has links)
O custo de serviços na Internet tem encorajado o uso de cache a nível de aplicação para suprir as demandas dos usuários e melhorar a escalabilidade e disponibilidade de aplicações. Cache a nível de aplicação, onde desenvolvedores manualmente controlam o conteúdo cacheado, tem sido adotada quando soluções tradicionais de cache não são capazes de atender aos requisitos de desempenho desejados. Apesar de sua crescente popularidade, este tipo de cache é tipicamente endereçado de maneira ad-hoc, uma vez que depende de detalhes específicos da aplicação para ser desenvolvida. Dessa forma, tal cache consiste em uma tarefa que requer tempo e esforço, além de ser altamente suscetível a erros. Esta dissertação avança o trabalho relacionado a cache a nível de aplicação provendo uma compreensão de seu estado de prática e automatizando a identificação de conteúdo cacheável, fornecendo assim suporte substancial aos desenvolvedores para o projeto, implementação e manutenção de soluções de caching. Mais especificamente, este trabalho apresenta três contribuições: a estruturação de conhecimento sobre caching derivado de um estudo qualitativo, um levantamento do estado da arte em abordagens de cache estáticas e adaptativas, e uma técnica que automatiza a difícil tarefa de identificar oportunidades de cache O estudo qualitativo, que envolveu a investigação de dez aplicações web (código aberto e comercial) com características diferentes, permitiu-nos determinar o estado de prática de cache a nível de aplicação, juntamente com orientações práticas aos desenvolvedores na forma de padrões e diretrizes. Com base nesses padrões e diretrizes derivados, também propomos uma abordagem para automatizar a identificação de métodos cacheáveis, que é geralmente realizado manualmente por desenvolvedores. Tal abordagem foi implementada como um framework, que pode ser integrado em aplicações web para identificar automaticamente oportunidades de cache em tempo de execução, com base na monitoração da execução do sistema e gerenciamento adaptativo das decisões de cache. Nós avaliamos a abordagem empiricamente com três aplicações web de código aberto, e os resultados indicam que a abordagem é capaz de identificar oportunidades de cache adequadas, melhorando o desempenho das aplicações em até 12,16%. / Latency and cost of Internet-based services are encouraging the use of application-level caching to continue satisfying users’ demands, and improve the scalability and availability of origin servers. Application-level caching, in which developers manually control cached content, has been adopted when traditional forms of caching are insufficient to meet such requirements. Despite its popularity, this level of caching is typically addressed in an adhoc way, given that it depends on specific details of the application. Furthermore, it forces application developers to reason about a crosscutting concern, which is unrelated to the application business logic. As a result, application-level caching is a time-consuming and error-prone task, becoming a common source of bugs. This dissertation advances work on application-level caching by providing an understanding of its state-of-practice and automating the decision regarding cacheable content, thus providing developers with substantial support to design, implement and maintain application-level caching solutions. More specifically, we provide three key contributions: structured knowledge derived from a qualitative study, a survey of the state-of-the-art on static and adaptive caching approaches, and a technique and framework that automate the challenging task of identifying cache opportunities The qualitative study, which involved the investigation of ten web applications (open-source and commercial) with different characteristics, allowed us to determine the state-of-practice of application-level caching, along with practical guidance to developers as patterns and guidelines to be followed. Based on such patterns and guidelines derived, we also propose an approach to automate the identification of cacheable methods, which is often manually done and is not supported by existing approaches to implement application-level caching. We implemented a caching framework that can be seamlessly integrated into web applications to automatically identify and cache opportunities at runtime, by monitoring system execution and adaptively managing caching decisions. We evaluated our approach empirically with three open-source web applications, and results indicate that we can identify adequate caching opportunities by improving application throughput up to 12.16%. Furthermore, our approach can prevent code tangling and raise the abstraction level of caching.
50

A Model-Based Approach to Engineer Self-Adaptive Systems with Guarantees / En modelbaserad metod för att utveckla självadaptiva system med garantier

Iftikhar, Muhammad Usman January 2017 (has links)
Modern software systems are increasingly characterized by uncertainties in the operating context and user requirements. These uncertainties are difficult to predict at design time. Achieving the quality goals of such systems depends on the ability of the software to deal with these uncertainties at runtime. A self-adaptive system employs a feedback loop to continuously monitor and adapt itself to achieve particular quality goals (i.e., adaptation goals) regardless of uncertainties. Current research applies formal techniques to provide guarantees for adaptation goals, typically using exhaustive verification techniques. Although these techniques offer strong guarantees for the goals, they suffer from well-known state explosion problem. In this thesis, we take a broader perspective and focus on two types of guarantees: (1) functional correctness of the feedback loop, and (2) guaranteeing the adaptation goals in an efficient manner. To that end, we present ActivFORMS (Active FORmal Models for Self-adaptation), a formally founded model-driven approach for engineering self-adaptive systems with guarantees. ActivFORMS achieves functional correctness by direct execution of formally verified models of the feedback loop using a reusable virtual machine. To efficiently provide guarantees for the adaptation goals with a required level of confidence, ActivFORMS applies statistical model checking at runtime. ActivFORMS supports on the fly changes of adaptation goals and updates of the verified feedback loop models that meet the changed goals. To demonstrate the applicability and effectiveness of the approach, we applied ActivFORMS in several domains: warehouse transportation, oceanic surveillance, tele assistance, and IoT building security monitoring. / Marie Curie CIG, FP7-PEOPLE-2011-CIG, Project ID: 303791

Page generated in 0.0343 seconds