{"title":"Controlling Interactions with Libraries in Android Apps Through Runtime Enforcement","authors":"O. Riganelli, D. Micucci, L. Mariani","doi":"10.1145/3368087","DOIUrl":"https://doi.org/10.1145/3368087","url":null,"abstract":"Android applications are executed on smartphones equipped with a variety of resources that must be properly accessed and controlled, otherwise the correctness of the executions and the stability of the entire environment might be negatively affected. For example, apps must properly acquire, use, and release microphones, cameras, and other multimedia devices, otherwise the behavior of the apps that use the same resources might be compromised. Unfortunately, several apps do not use resources correctly, for instance, due to faults and inaccurate design decisions. By interacting with these apps, users may experience unexpected behaviors, which in turn may cause instability and sporadic failures, especially when resources are accessed. In this article, we present an approach that lets users protect their environment from the apps that use resources improperly by enforcing the correct usage protocol. This is achieved by using software enforcers that can observe executions and change them when necessary. For instance, enforcers can detect that a resource has been acquired but not released and automatically perform the release operation, thus giving the possibility to use that same resource to the other apps. The main idea is that software libraries, in particular, the ones controlling access to resources, can be augmented with enforcers that can be activated and deactivated on demand by users to protect their environment from unwanted app behaviors. We call the software libraries augmented with one or more enforcers proactive libraries, because the activation of the enforcer decorates the library with proactive behaviors that can guarantee the correctness of the execution despite the invocation of the operations implemented by the library. For example, enforcers can detect that a resource has not been released on time and proactively release it. Our experimental results with 27 possible misuses of resources in real Android apps reveal that proactive libraries are able to effectively correct library misuses with negligible runtime overheads.","PeriodicalId":377078,"journal":{"name":"ACM Transactions on Autonomous and Adaptive Systems (TAAS)","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-11-21","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125854061","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Supporting Dynamic Workflows with Automatic Extraction of Goals from BPMN","authors":"L. Sabatucci, M. Cossentino","doi":"10.1145/3355488","DOIUrl":"https://doi.org/10.1145/3355488","url":null,"abstract":"Organizations willing to employ workflow technology have to be prepared to undertake a significant investment of time and effort due to the exceptionally dynamic nature of the business environment. Today, it is unlikely that processes are modeled once to be repeatedly executed without any changes. Goal-oriented dynamic workflows are a promising approach to provide flexibility to the execution of business processes. Many goal-oriented frameworks exist in the literature to be used for the purpose. However, modeling goals is a burden for the business analyst. This work proposes an automatic approach for extracting goals from a business process for supporting adaptive workflows. The approach consists of a static analysis of the global workflow state. Goals derive from individual BPMN elements and their interactions. For validating the theory, we developed the BPMN2Goals tool, which has been used for supporting a middleware for self-adaptation.","PeriodicalId":377078,"journal":{"name":"ACM Transactions on Autonomous and Adaptive Systems (TAAS)","volume":"25 23","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-10-17","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131639164","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Abdessalam Elhabbash, M. Salama, R. Bahsoon, P. Tiňo
{"title":"Self-awareness in Software Engineering","authors":"Abdessalam Elhabbash, M. Salama, R. Bahsoon, P. Tiňo","doi":"10.1145/3347269","DOIUrl":"https://doi.org/10.1145/3347269","url":null,"abstract":"Background: Self-awareness has been recently receiving attention in computing systems for enriching autonomous software systems operating in dynamic environments. Objective: We aim to investigate the adoption of computational self-awareness concepts in autonomic software systems and motivate future research directions on self-awareness and related problems. Method: We conducted a systemic literature review to compile the studies related to the adoption of self-awareness in software engineering and explore how self-awareness is engineered and incorporated in software systems. From 865 studies, 74 studies have been selected as primary studies. We have analysed the studies from multiple perspectives, such as motivation, inspiration, and engineering approaches, among others. Results: Results have shown that self-awareness has been used to enable self-adaptation in systems that exhibit uncertain and dynamic behaviour. Though there have been recent attempts to define and engineer self-awareness in software engineering, there is no consensus on the definition of self-awareness. Also, the distinction between self-aware and self-adaptive systems has not been systematically treated. Conclusions: Our survey reveals that self-awareness for software systems is still a formative field and that there is growing attention to incorporate self-awareness for better reasoning about the adaptation decision in autonomic systems. Many pending issues and open problems outline possible research directions.","PeriodicalId":377078,"journal":{"name":"ACM Transactions on Autonomous and Adaptive Systems (TAAS)","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-10-17","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127051679","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Collective Adaptation through Multi-Agents Ensembles","authors":"A. Bucchiarone","doi":"10.1145/3355562","DOIUrl":"https://doi.org/10.1145/3355562","url":null,"abstract":"Modern software systems are becoming more and more socio-technical systems composed of distributed and heterogeneous agents from a mixture of people, their environment, and software components. These systems operate under continuous perturbations due to the unpredicted behaviors of people and the occurrence of exogenous changes in the environment. In this article, we introduce a notion of ensembles for which, systems with collective adaptability can be built as an emergent aggregation of autonomous and self-adaptive agents. Building upon this notion of ensemble, we present a distributed adaptation approach for systems composed by ensembles: collections of agents with their respective roles and goals. In these systems, adaptation is triggered by the run-time occurrence of an extraordinary circumstance, called issue. It is handled by an issue resolution process that involves agents affected by the issue to collaboratively adapt with minimal impact on their own preferences. Central to our approach is the implementation of a collective adaptation engine (CAE) able to solve issues in a collective fashion. The approach is instantiated in the context of a smart mobility scenario through which its main features are illustrated. To demonstrate the approach in action and evaluate it, we exploit the DeMOCAS framework, simulating the operation of an urban mobility scenario. We have executed a set of experiments with the goal to show how the CAE performs in terms of feasibility and scalability. With this approach, we are able to demonstrate how collective adaptation opens up new possibilities for tackling urban mobility challenges making it more sustainable respect to selfish and competitive behaviours.","PeriodicalId":377078,"journal":{"name":"ACM Transactions on Autonomous and Adaptive Systems (TAAS)","volume":"15 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-10-17","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121175075","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Mutual Influence-aware Runtime Learning of Self-adaptation Behavior","authors":"Stefan Rudolph, Sven Tomforde, J. Hähner","doi":"10.1145/3345319","DOIUrl":"https://doi.org/10.1145/3345319","url":null,"abstract":"Self-adaptation has been proposed as a mechanism to counter complexity in control problems of technical systems. A major driver behind self-adaptation is the idea to transfer traditional design-time decisions to runtime and into the responsibility of systems themselves. To deal with unforeseen events and conditions, systems need creativity—typically realized by means of machine learning capabilities. Such learning mechanisms are based on different sources of knowledge. Feedback from the environment used for reinforcement purposes is probably the most prominent one within the self-adapting and self-organizing (SASO) systems community. However, the impact of other (sub-)systems on the success of the individual system’s learning performance has mostly been neglected in this context. In this article, we propose a novel methodology to identify effects of actions performed by other systems in a shared environment on the utility achievement of an autonomous system. Consider smart cameras (SC) as illustrating example: For goals such as 3D reconstruction of objects, the most promising configuration of one SC in terms of pan/tilt/zoom parameters depends largely on the configuration of other SCs in the vicinity. Since such mutual influences cannot be pre-defined for dynamic systems, they have to be learned at runtime. Furthermore, they have to be taken into consideration when self-improving their own configuration decisions based on a feedback loop concept, e.g., known from the SASO domain or the Autonomic and Organic Computing initiatives. We define a methodology to detect such influences at runtime, present an approach to consider this information in a reinforcement learning technique, and analyze the behavior in artificial as well as real-world SASO system settings.","PeriodicalId":377078,"journal":{"name":"ACM Transactions on Autonomous and Adaptive Systems (TAAS)","volume":"90 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-09-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127551747","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"TSLAM","authors":"Wenjuan Li, Jian Cao, Shiyou Qian, R. Buyya","doi":"10.1145/3317604","DOIUrl":"https://doi.org/10.1145/3317604","url":null,"abstract":"With the rapid development of cloud computing, various types of cloud services are available in the marketplace. However, it remains a significant challenge for cloud users to find suitable services for two major reasons: (1) Providers are unable to offer services in complete accordance with their declared Service Level Agreements, and (2) it is difficult for customers to describe their requirements accurately. To help users select cloud services efficiently, this article presents a Trust enabled Self-Learning Agent Model for service Matching (TSLAM). TSLAM is a multi-agent-based three-layered cloud service market model, in which different categories of agents represent the corresponding cloud entities to perform market behaviors. The unique feature of brokers is that they are not only the service recommenders but also the participants of market competition. We equip brokers with a learning module enabling them to capture implicit service demands and find user preferences. Moreover, a distributed and lightweight trust model is designed to help cloud entities make service decisions. Extensive experiments prove that TSLAM is able to optimize the cloud service matching process and compared to the state-of-the-art studies, TSLAM improves user satisfaction and the transaction success rate by at least 10%.","PeriodicalId":377078,"journal":{"name":"ACM Transactions on Autonomous and Adaptive Systems (TAAS)","volume":"74 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-07-25","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115826885","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Bedoor K. AlShebli, Tomasz P. Michalak, Oskar Skibski, M. Wooldridge, Talal Rahwan
{"title":"A Measure of Added Value in Groups","authors":"Bedoor K. AlShebli, Tomasz P. Michalak, Oskar Skibski, M. Wooldridge, Talal Rahwan","doi":"10.1145/3335547","DOIUrl":"https://doi.org/10.1145/3335547","url":null,"abstract":"The intuitive notion of added value in groups represents a fundamental property of biological, physical, and economic systems: how the interaction or cooperation of multiple entities, substances, or other agents can produce synergistic effects. However, despite the ubiquity of group formation, a well-founded measure of added value has remained elusive. Here, we propose such a measure inspired by the Shapley value—a fundamental solution concept from Cooperative Game Theory. To this end, we start by developing a solution concept that measures the average impact of each player in a coalitional game and show how this measure uniquely satisfies a set of intuitive properties. Then, building upon our solution concept, we propose a measure of added value that not only analyzes the interactions of players inside their group, but also outside it, thereby reflecting otherwise-hidden information about how these individuals typically perform in various groups of the population.","PeriodicalId":377078,"journal":{"name":"ACM Transactions on Autonomous and Adaptive Systems (TAAS)","volume":"29 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-07-23","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124729301","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Designing Robot Teams for Distributed Construction, Repair, and Maintenance","authors":"T. Wareham","doi":"10.1145/3337797","DOIUrl":"https://doi.org/10.1145/3337797","url":null,"abstract":"Designing teams of autonomous robots that can create target structures or repair damage to those structures on either a one-off or ongoing basis is an important problem in distributed robotics. However, it is not known if a team design algorithm for any of these tasks can both have low runtime and produce teams that will always perform their specified tasks quickly and correctly. In this article, we give the first computational and parameterized complexity analyses of several robot team design problems associated with creating, repairing, and maintaining target structures in given environments. Our goals are to establish whether efficient design algorithms exist that operate reliably on all possible inputs and, if not, under which restrictions such algorithms are and are not possible. We prove that all of our design problems are not efficiently solvable in general for heterogeneous robot teams and remain so under a number of plausible restrictions on robot controllers, environments, and target structures. We also give the first restrictions relative to which some of these problems may be efficiently solvable and discuss how theoretical results like those derived here can be combined with physical experiments to derive the best possible algorithms for real-world robot team design.","PeriodicalId":377078,"journal":{"name":"ACM Transactions on Autonomous and Adaptive Systems (TAAS)","volume":"9 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-07-19","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126496636","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Knowledge Management for Self-Organised Resource Allocation","authors":"David Burth Kurka, J. Pitt, Josiah Ober","doi":"10.1145/3337796","DOIUrl":"https://doi.org/10.1145/3337796","url":null,"abstract":"Many instances of socio-technical systems in the digital society and digital economy require some form of self-governance. Examples include community energy systems, peer production systems, participatory sensing applications, and shared management of communal living areas or workspace. Such systems have several features in common, of which three are that they are rule-oriented, self-organising, and value-sensitive, and in operation, this combination of features entails self-modification of the rules in order to satisfice a changeable set of values. This presents a fundamental dilemma for systems design. On the one hand, the system must be sufficiently unrestricted (resilient, flexible) to enable a diverse group but with a shared set of congruent values to achieve their joint purposes in collective action situations. On the other hand, it must be sufficiently restricted (stable, robust) to prevent a subset of the group from exploiting self-determination ‘against itself’ and usurp control of the system for the benefit of its own narrow interests. To address this problem, we consider a study of classical Athenian democracy which investigates how the governance model of the city-state flourished. The work suggests that exceptional knowledge management, i.e., making information available for socially productive purposes, played a crucial role in sustaining its democracy for nearly 200 years, by creating processes for aggregation, alignment, and codification of knowledge. We therefore examine the proposition that some properties can be generalised to resolve the rule-restriction dilemma by establishing a set of design principles intended to make knowledge management processes open, inclusive, transparent, and effective in self-governed social technical systems. We operationalise three of these principles in the context of a collective action situation, namely self-organised common-pool resource allocation, and present the results of a series of experiments showing how knowledge management processes can be used to obtain robust solutions for the perception of fairness, allocation decision, and punishment mechanisms. By applying this operationalisation of the design principles for knowledge management processes as a complement to institutional approaches to governance, we demonstrate empirically how it can satisfice shared values, distribute power fairly, and apply “common sense” in dealing with rule violations. We conclude by arguing that this approach to the design of socio-technical systems can provide a balance between restricted and unrestricted self-modification of conventional rules, and can thus provide the foundations for sustainable and democratic self-governance in socio-technical systems.","PeriodicalId":377078,"journal":{"name":"ACM Transactions on Autonomous and Adaptive Systems (TAAS)","volume":"14 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-07-19","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130816321","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"SimCA*","authors":"S. Shevtsov, Danny Weyns, M. Maggio","doi":"10.1145/3328730","DOIUrl":"https://doi.org/10.1145/3328730","url":null,"abstract":"Self-adaptation provides a principled way to deal with software systems’ uncertainty during operation. Examples of such uncertainties are disturbances in the environment, variations in sensor readings, and changes in user requirements. As more systems with strict goals require self-adaptation, the need for formal guarantees in self-adaptive systems is becoming a high-priority concern. Designing self-adaptive software using principles from control theory has been identified as one of the approaches to provide guarantees. In general, self-adaptation covers a wide range of approaches to maintain system requirements under uncertainty, ranging from dynamic adaptation of system parameters to runtime architectural reconfiguration. Existing control-theoretic approaches have mainly focused on handling requirements in the form of setpoint values or as quantities to be optimized. Furthermore, existing research primarily focuses on handling uncertainty in the execution environment. This article presents SimCA*, which provides two contributions to the state-of-the-art in control-theoretic adaptation: (i) it supports requirements that keep a value above and below a required threshold, in addition to setpoint and optimization requirements; and (ii) it deals with uncertainty in system parameters, component interactions, system requirements, in addition to uncertainty in the environment. SimCA* provides guarantees for the three types of requirements of the system that is subject to different types of uncertainties. We evaluate SimCA* for two systems with strict requirements from different domains: an Unmanned Underwater Vehicle system used for oceanic surveillance and an Internet of Things application for monitoring a geographical area. The test results confirm that SimCA* can satisfy the three types of requirements in the presence of different types of uncertainty.","PeriodicalId":377078,"journal":{"name":"ACM Transactions on Autonomous and Adaptive Systems (TAAS)","volume":"195 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-07-19","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122390388","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}