119 research outputs found

    Autonomic Pervasive Applications Driven by Abstract Specifications

    Get PDF
    Conference in conjunction with ICAC 2012 (International Conference on Autonomic Computing)International audiencePervasive application architectures present stringent requirements that make their development especially hard. In particular, they need to be flexible in order to cope with dynamism in different forms (e.g. service and data providers and consumers). The current trend to build applications out of remote services makes the availability of constituent application components inherently dynamic. Developers can no longer assume that applications are static after development or at run time. Unfortunately, developing applications that are able to cope with dynamism is very complex.Existing development approaches do not provide explicit support for managing dynamism. In this paper we describe Rondo, a tool suite for designing pervasive applications. More specifically, we present our propositions in pervasive application specification, which borrows concepts from service-oriented component assembly, model-driven engineering (MDE) and continuous deployment, resulting in a more flexible approach than traditional application definitions. Then the capabilities of our application model are demonstrated with an example application scenario designed using our approach

    Adaptive monitoring: A systematic mapping

    Get PDF
    Context: Adaptive monitoring is a method used in a variety of domains for responding to changing conditions. It has been applied in different ways, from monitoring systems’ customization to re-composition, in different application domains. However, to the best of our knowledge, there are no studies analyzing how adaptive monitoring differs or resembles among the existing approaches. Objective: To characterize the current state of the art on adaptive monitoring, specifically to: (a) identify the main concepts in the adaptive monitoring topic; (b) determine the demographic characteristics of the studies published in this topic; (c) identify how adaptive monitoring is conducted and evaluated by the different approaches; (d) identify patterns in the approaches supporting adaptive monitoring. Method: We have conducted a systematic mapping study of adaptive monitoring approaches following recommended practices. We have applied automatic search and snowballing sampling on different sources and used rigorous selection criteria to retrieve the final set of papers. Moreover, we have used an existing qualitative analysis method for extracting relevant data from studies. Finally, we have applied data mining techniques for identifying patterns in the solutions. Results: We have evaluated 110 studies organized in 81 approaches that support adaptive monitoring. By analyzing them, we have: (1) surveyed related terms and definitions of adaptive monitoring and proposed a generic one; (2) visualized studies’ demographic data and arranged the studies into approaches; (3) characterized the main approaches’ contributions; (4) determined how approaches conduct the adaptation process and evaluate their solutions. Conclusions This cross-domain overview of the current state of the art on adaptive monitoring may be a solid and comprehensive baseline for researchers and practitioners in the field. Especially, it may help in identifying opportunities of research; for instance, the need of proposing generic and flexible software engineering solutions for supporting adaptive monitoring in a variety of systems.Peer ReviewedPostprint (author's final draft

    Crowdsourcing: A Taxonomy and Systematic Mapping Study

    Get PDF
    Context: Crowdsourcing, or tapping into the power of the crowd for problem solving, has gained ever-increasing attraction since it was first introduced. Crowdsourcing has been used in different disciplines, and it is becoming well-accepted in the marketplace as a new business model which utilizes Human Intelligence Tasks (HITs). Objective: While both academia and industry have extensively delved into different aspects of crowdsourcing, there seems to be no common understanding of what crowdsourcing really means and what core and optional features it has. Also, we still lack information on the kinds and disciplines of studies conducted on crowdsourcing and how they defined it in the context of their application area. This paper will clarify this ambiguity by analysing the distribution and demographics of research in crowdsourcing and extracting taxonomy of the variability and commonality in the constructs defining the concept in the literature. Method: We conduct a systematic mapping study and analyse 113 papers, selected via a formal process, and report and discuss the results. The study is combined by a content analysis process to extract a taxonomy of features describing crowdsourcing. Results: We extract and describe the taxonomy of features which characterize crowdsourcing in its four constituents; the crowd, the crowdsourcer, the crowdsourced task and the crowdsourcing platform. In addition, we report on different mappings between these features and the characteristics of the studied papers. We also analyse the distribution of the research using multiple criteria and draw conclusions. For example, our results show a constantly increasing interest in the area, especially in North America and a significant interest from industry. Also, we illustrate that although crowdsourcing is shown to be useful in a variety of disciplines, the research in the field of computer science still seems to be dominant in investigating it. Conclusions: This study allows forming a clear picture of the research in crowdsourcing and understanding the different features of crowdsourcing and their popularity, what type of research was conducted, where and how and by whom. The study enables researchers and practitioners to estimate the current status of the research in this new field. Our taxonomy of extracted features provides a reference model which could be used to configure crowdsourcing and also define it precisely and make design decisions on which of its variation to adopt

    Monitoring the quality of service to support the service based system lifecycle

    Get PDF
    Service Oriented Computing (SOC) has been established in the last recent years as a successful paradigm in Software Engineering. The systems built under this paradigm, known as Service Based System (SBS), are composed of several services, which are usually third-party software run by external service providers. SBS rely on these service providers to ensure that their services comply with the agreed Quality of Service (QoS). In contrast to other systems, the dynamic behaviour of SBS requires up-to-date QoS information for its proper management in the different stages of its lifecycle, from their initial construction until their decommission. Providing such QoS information has resulted in different technological solutions built around a monitor. Nonetheless, several research challenges in the field remain still open, ranging from theoretical aspects of quality assurance to architectonical challenges in decentralized monitoring. Based on the current research challenges for service monitoring, the research gaps in which we aim to contribute are twofold: - To investigate on the definition and structure of the different quality factors of services, and provide a framework of common understanding for the definition of what to monitor. - To investigate on the different features required to support the activities of the whole SBS lifecycle (i.e. how to monitor), and develop a monitoring framework that accomplishes such features. As a result of this thesis, we provide: What to monitor - A distribution of the quality models along the time dimension and the identification of their relationships. - An analysis of the size and definition coverage of the proposed quality models. - A quantified coverage of the different ISO/IEC 25010 quality factors given by the proposals. - The identification of the most used quality factors, and provided the most consolidated definitions for them. How to monitor - The elicitation of the requirements of the different activities in the SBS lifecycle. - The definition of the set of features that supports the elicited requirements. - A modular service-oriented monitoring framework, named SALMon, implementing the defined features. SALMon has been validated by including it in several frameworks supporting the different activities of the SBS lifecycle. Finally, we have conducted a performance evaluation of SALMon over real web services.La Computació Orientada a Serveis (SOC) ha esdevingut en els darrers anys un paradigma exitós en el camp de l'Enginyeria del Software. Els sistemes construïts sota aquest paradigma, coneguts com Sistemes Basats en Serveis (SBS), estan composats de diversos serveis, que són, usualment, programari de tercers executats per proveïdors de serveis externs. Els SBS depenen dels proveïdors dels serveis per garantir que els serveis compleixen amb la Qualitat del Servei (QoS) acordada. En contrast amb altres sistemes, el comportament dinàmic dels SBS requereix d'informació actualitzada del QoS per a la correcta administració de les diferents etapes del cicle de vida dels SBS: des de la seva construcció inicial fins a la seva clausura. Proveir d'aquesta informació de QoS ha resultat en diferents solucions tecnològiques construïdes al voltant d'un monitor. Malgrat això, diversos reptes de recerca en el camp encara romanen obertes, des d'aspectes teòrics de l'assegurança de qualitat, a reptes arquitectònics en la monitorització descentralitzada. Basat en els reptes de recerca actuals per a la monitorització de serveis, els forats de recerca en els que pretenem contribuir són dobles: - Investigar en la definició i estructura dels diferents factors de qualitat dels serveis, i proveir un marc de treball d'entesa comuna per a la definició de què monitoritzar. - Investigar en les diferents característiques requerides per donar suport a les activitats de tot el cicle de vida dels SBS (i.e. com monitoritzar), i desenvolupar una plataforma de monitorització que acompleixi aquestes característiques. Com a resultats de la tesis, proveïm: Què monitoritzar - Una distribució dels models de qualitat al llarg de la dimensió temporal i la identificació de les seves interrelacions. - Un anàlisi de la mida i definició de la cobertura dels models de qualitat proposats. - Una cobertura quantificada dels diferents factors de qualitat ISO/IEC 25010 donat en les diferents propostes. - La identificació dels factors de qualitat més utilitzats, i la definició dels termes més consolidats. Com monitoritzar - L'elicitació dels requeriments per a les diferents activitats en el cicle de vida dels SBS. - La definició del conjunt de característiques que donen suport als requeriments elicitats. - Una platforma modular orientada a serveis, anomenat SALMon, que implementa les característiques definides. SALMon ha estatvalidat incloent la plataforma en diversos marcs de treball donant suport a les diferents activitat

    Veröffentlichungen und Vorträge 2009 der Mitglieder der Fakultät für Informatik

    Get PDF

    Verifying predictive services'quality with Mercury

    Get PDF
    Due to the success of service technology, there are lots of services nowadays that make predictions about the future in domains such as weather forecast, stock market and bookmakers. The value delivered by these predictive services relies on the quality of their predictions. This paper presents Mercury, a tool that measures predictive service quality in the domain of weather forecast, and automates the context-dependent selection of the most accurate predictive service to satisfy a customer query. To do so, candidate predictive services are monitored so that their predictions can be eventually compared with real observations obtained from some trusted source. Mercury is a proof-of-concept to show that the selection of predictive services can be driven by the quality of their predictions. Its service-oriented architecture (SOA) aims to support the easy adaptation to other prediction domains and makes feasible its integration in self-adaptive SOA systems, as well as its direct use by end-users as a classical web application. Thoughout the paper, we show how Mercury was built.Preprin

    Exploring and categorizing maintainability assurance research for service and microservice-based systems

    Get PDF
    Im Laufe des Softwarelebenszyklus eines Programms innerhalb einer sich ständig wechselnden Softwareumgebung ist es wahrscheinlich, dass dieses Programm regelmäßig gewartet werden muss. Wartungen kosten Geld und somit ist es wichtig, dass ebensolche Wartungen effizient und effektiv durchgeführt werden können. Im Laufe der Geschichte der Softwareentwicklung traten unter anderem zwei Architekturmuster hervor: Serviceorientierte Architektur und Microservices. Da diese Architekturmuster ein hohes Maß an Wartbarkeit versprechen, wurden viele Altsysteme hin zu diesen modernen Architekturen migriert. Es kann fatale Folgen für Unternehmen haben, wenn Änderungen an einem System nicht schnell, risikofrei und fehlerfrei umgesetzt werden können. Es wurden bereits viele Forschungsarbeiten bezogen auf die Wartbarkeit von serviceorientierter Architektur publiziert. Systeme basierend auf Microservices fanden jedoch, bezogen auf Wartbarkeitssicherung, nicht viel Beachtung. Sämtliche Forschungsarbeiten befinden sich verteilt auf viele Literaturdatenbanken, wodurch ein umfassender Überblick erschwert wird. Um einen solchen Überblick bereitzustellen, führten wir im Rahmen dieser Bachelorarbeit eine systematische Literaturstudie durch, die sich mit der Wartbarkeitssicherung von serviceorienter Architektur und Systemen basierend auf Microservices beschäftigt. Zur Durchführung dieser systematischen Literaturstudie entwickelten wir eine Reihe von relevanten Forschungsfragen sowie ein striktes Forschungsprotokoll. Aufbauend auf diesem Protokoll sammelten wir insgesamt 223 Forschungsarbeiten von verschiedenen Herausgebern. Diese Arbeiten wurden bezüglich ihres Inhalts zuerst in drei Gruppen von Kategorien unterteilt (architektonisch, thematisch und methodisch). Danach wurden die jeweils relevantesten Forschungsrichtungen aus jeder thematischen Kategorie herausgearbeitet und vorgestellt. Zum Abschluss wurden deutliche Unterschiede der in den Forschungsarbeiten präsentierten Inhalte in Bezug auf serviceorientierte Architektur und Microservice-basierte Systeme herausgearbeitet und dargestellt. Unsere Ergebnisse zeigten eine deutliche Unterrepräsentation von Forschungsarbeiten zur Wartbarkeitssicherung für Microservice-basierte Systeme. Während der Untersuchung der Kategorien konnten wir diverse Forschungsrichtungen innerhalb dieser feststellen. Ein Beispiel hierfür ist die Forschungsrichtung "change impact in business processes" in der Kategorie "Change Impact and Scenarios". Abschließend konnten wir einige Unterschiede bezogen auf die gesammelten Forschungsarbeiten zwischen Systemen basierend auf einer serviceorientierten Architektur und Systemen basierend auf Microservices feststellen. Ein solcher Unterschied kann zum Beispiel in der Kategorie "Antipatterns and Bad Smells" gefunden werden. Im Vergleich zu Forschungsarbeiten, welche sich auf serviceorientierte Architektur beziehen, beinhalten Forschungsarbeiten im Zusammenhang mit Systemen auf Basis von Microservices nur grundlegende Informationen zu Antipatterns, jedoch keine Herangehensweisen, um diese zu erkennen. Aufgrund unserer Ergebnisse schlagen wir einen stärkeren Fokus auf Forschung zur Wartbarkeitssicherung in Microservice-basierten Systemen vor. Mögliche zukünftige Forschungsarbeiten könnten überprüfen, ob Herangehensweisen zur Wartbarkeitssicherung von serviceorientierter Architektur auch bei Microservices anwendbar sind. Darüber hinaus schlagen wir die Durchführung von systematischen Literaturstudien vor, welche Themen wie "runtime adaptation", "testing" und "legacy migration" untersuchen, da diese Themen in unserer Literaturstudie ausgeschlossen wurden.It is very likely that software running in an everchanging environment needs to evolve at multiple points during its lifecycle. Because maintenance costs money, it is important for such tasks to be as effective and efficient as possible. During the history of software development service- and microservice-based architectures have emerged among other architectures. Since these architectures promise to provide a high maintainability, many legacy systems are or were migrated towards a service- or microservice-based architecture. In order to keep such systems running, maintenance is inevitable. While a lot of research has been published regarding maintainability assurance for service-based systems, microservice-based systems have not gotten a lot of attention. All published research is spread across several scientific databases which makes it difficult to get an extensive overview of existing work. In order to provide such overview of maintainability assurance regarding service- and microservice-based systems, we conducted a systematic literature review. To support our literature review, we developed a set of meaningful research questions and a rigid research protocol. Based on our protocol we collected a set of 223 different papers. These papers were first categorized into a threefold set of categories (architectural, thematical and methodical). After that, the most relevant research directions from each thematical category were extracted and presented. Lastly, we extracted and presented notable differences between approaches relating to service-oriented architecture or microservice-based systems. Our findings show a clear underrepresentation of maintainability assurance approaches suitable for microservice-based systems. We further discovered that regarding our formed categories, we could find several research directions such as change impact in business processes in "Change Impact and Scenarios". In the end, we could identify some differences between service- and microservice-based systems concerning approaches we retrieved in this thesis. A difference, for example was that in comparison with papers related to service-oriented architecture in "Antipatterns and Bad Smells", microservices related papers only contained basic information on antipatterns, but no approaches to detect them. Due to our findings we suggest a higher participation in research regarding maintainability assurance for microservice-based systems. Possible future work in this area could include further research on the applicability of service-oriented maintainability assurance approaches or techniques in microservice-based systems. Furthermore, future researchers could conduct follow-up literature reviews and investigate topics such as runtime adaptation, testing and legacy migration, since we excluded such topics from this thesis
    corecore