% % GENERATED FROM http://acme.able.cs.cmu.edu % by : anonymous % IP : ec2-18-116-23-59.us-east-2.compute.amazonaws.com % at : Wed, 27 Nov 2024 17:14:00 -0500 GMT % % Selection : Year = 2018 % @Article{2018/Moreno/FlexibleLatency, AUTHOR = {Moreno, Gabriel A. and C\'{a}mara, Javier and Garlan, David and Schmerl, Bradley}, TITLE = {Flexible and Efficient Decision-Making for Proactive Latency-Aware Self-Adaptation}, YEAR = {2018}, MONTH = {May}, JOURNAL = {ACM Transactions on Autonomous and Adaptive Systems}, VOLUME = {13}, NUMBER = {1}, ABSTRACT = {Proactive latency-aware adaptation is an approach for self-adaptive systems that considers both the current and anticipated adaptation needs when making adaptation decisions, taking into account the latency of the available adaptation tactics. Since this is a problem of selecting adaptation actions in the context of the probabilistic behavior of the environment, Markov decision processes (MDP) are a suitable approach. However, given all the possible interactions between the different and possibly concurrent adaptation tactics, the system, and the environment, constructing the MDP is a complex task. Probabilistic model checking has been used to deal with this problem, but it requires constructing the MDP every time an adaptation decision is made to incorporate the latest predictions of the environment behavior. In this article, we describe PLA-SDP, an approach that eliminates that run-time overhead by constructing most of the MDP offine. At run time, the adaptation decision is made by solving the MDP through stochastic dynamic programming, weaving in the environment model as the solution is computed. We also present extensions that support different notions of utility, such as maximizing reward gain subject to the satisfaction of a probabilistic constraint, making PLA-SDP applicable to systems with different kinds of adaptation goals.}, NOTE = {https://doi.org/10.1145/3149180}, KEYWORDS = {Latency-aware, Self-adaptation} } @Article{2018:Camara:UncertaintyReduction, AUTHOR = {C\'{a}mara, Javier and Peng, Wenxin and Garlan, David and Schmerl, Bradley}, TITLE = {Reasoning about Sensing Uncertainty and its Reduction in Decision-Making for Self-Adaptation}, YEAR = {2018}, MONTH = {1 December}, JOURNAL = {Science of Computer Programming}, VOLUME = {167}, PAGES = {51-69}, PDF = {http://acme.able.cs.cmu.edu/pubs/uploads/pdf/scp-uncertainty.pdf}, ABSTRACT = {Adaptive systems are expected to adapt to unanticipated run-time events using imperfect information about themselves, their environment, and goals. This entails handling the effects of uncertainties in decision-making, which are not always considered as a first-class concern. This paper contributes a formal analysis technique that explicitly considers uncertainty in sensing when reasoning about the best way to adapt, together with uncertainty reduction mechanisms to improve system utility. We illustrate our approach on a Denial of Service (DoS) attack scenario and present results that demonstrate the benefits of uncertainty-aware decision-making in comparison to using an uncertainty-ignorant approach, both in the presence and absence of uncertainty reduction mechanisms.}, KEYWORDS = {Formal Methods, Self-adaptation} } @InProceedings{Ruchkin/2018/IPL, AUTHOR = {Ruchkin, Ivan and Sunshine, Joshua and Iraci, Grant and Schmerl, Bradley and Garlan, David}, TITLE = {IPL: An Integration Property Language for Multi-Model Cyber-Physical Systems}, YEAR = {2018}, MONTH = {15-17 July}, BOOKTITLE = {22nd International Symposium on Formal Methods (FM2018)}, ADDRESS = {Oxford, UK}, PDF = {http://acme.able.cs.cmu.edu/pubs/uploads/pdf/fm2018-paper-camera-ready-1.pdf}, ABSTRACT = {Design and verification of modern systems requires diverse models, which often come from a variety of disciplines, and it is challenging to manage their heterogeneity – especially in the case of cyber-physical systems. To check consistency between models, recent approaches map these models to flexible static abstractions, such as architectural views. This model integration approach, however, comes at a cost of reduced expressiveness because complex behaviors of the models are abstracted away. As a result, it may be impossible to automatically verify important behavioral properties across multiple models, leaving systems vulnerable to subtle bugs. This paper introduces the Integration Property Language (IPL) that improves integration expressiveness using modular verification of properties that depend on detailed behavioral semantics while retaining the ability for static system-wide reasoning. We prove that the verification algorithm is sound and analyze its termination conditions. Furthermore, we perform a case study on a mobile robot to demonstrate IPL is practically useful and evaluate its performance.}, NOTE = {Appendices}, KEYWORDS = {Cyberphysical Systems, Formal Methods, Model Checking} } @InProceedings{SEAMS:SWIM:2018, AUTHOR = {Moreno, Gabriel A. and Schmerl, Bradley and Garlan, David}, TITLE = {SWIM: An Exemplar for Evaluation and Comparison of Self-Adaptation Approaches for Web Applications}, YEAR = {2018}, MONTH = {28-29 May}, BOOKTITLE = {Proceedings of the 13th International Symposium on Software Engineering for Adaptive and Self-Managing Systems}, ADDRESS = {Gothenburg, Sweden}, PDF = {http://acme.able.cs.cmu.edu/pubs/uploads/pdf/seams18-swim-cr.pdf}, ABSTRACT = {Research in self-adaptive systems often uses web applications as target systems, running the actual software on real web servers. This approach has three drawbacks. First, these systems are not easy and/or cheap to deploy. Second, run-time conditions cannot be replicated exactly to compare diferent adaptation approaches due to uncontrolled factors. Third, running experiments is time- consuming. To address these issues, we present SWIM, an exemplar that simulates a web application. SWIM can be used as a target system with an external adaptation manager interacting with it through its TCP-based interface. Since the servers are simulated, this use case addresses the irst two problems. The full beneit of SWIM is attained when the adaptation manager is built as a simulation module. An experiment using a simulated 60-server cluster, processing 18 hours of traic with 29 million requests takes only 5 minutes to run on a laptop computer. SWIM has been used for evaluating self-adaptation approaches, and for a comparative study of model-based predictive approaches to self-adaptation.}, NOTE = {Best Artifact Paper Award Winner}, KEYWORDS = {Self-adaptation} } @Unpublished{2018/APTArtifact, AUTHOR = {Wagner, Ryan and Garlan, David and Fredrikson, Matthew}, TITLE = {An Advanced Persistent Threat Simulation Range for Research of Self-Adaptive Systems}, YEAR = {2018}, PDF = {http://acme.able.cs.cmu.edu/pubs/uploads/pdf/APT_Testbed.pdf}, ABSTRACT = {While security is important to self-adaptive systems research, it is particularly difficult to simulate the characteristics of the most insidious adversary, the advanced persistent threat (APT). The research community requires an APT simulation environment that provides the realism and depth that is necessary for a sufficient simulation, but this should not be too complex, difficult, or expensive to use. Additionally, a successful simulation environment must ensure that malware does not escape into the wild. We present a cyber range for self-adaptive systems researchers to simulate APTs, complete with an example system under test and attack scenario.}, NOTE = {Submitted for publication}, KEYWORDS = {Science of Security} } @InProceedings{2018:SEAMS:Uncertainty, AUTHOR = {Moreno, Gabriel A. and C\'{a}mara, Javier and Garlan, David and Klein, Mark}, TITLE = {Uncertainty Reduction in Self-Adaptive Systems}, YEAR = {2018}, MONTH = {28-29 May}, BOOKTITLE = {Proc. of the 13th International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS)}, ADDRESS = {Gothenburg, Sweden}, PDF = {http://acme.able.cs.cmu.edu/pubs/uploads/pdf/seams18-ur-cr.pdf}, ABSTRACT = {Self-adaptive systems depend on models of themselves and their environment to decide whether and how to adapt, but these models are often affected by uncertainty. While current adaptation decision approaches are able to model and reason about this uncertainty, they do not consider ways to reduce it. This presents an opportunity for improving decision-making in self-adaptive systems, because reducing uncertainty results in a better characterization of the current and future states of the system and the environment (at some cost), which in turn supports making better adaptation decisions. We propose uncertainty reduction as the natural next step in uncertainty management in the field of self-adaptive systems. This requires both an approach to decide when to reduce uncertainty, and a catalog of tactics to reduce different kinds of uncertainty. We present an example of such a decision, examples of uncertainty reduction tactics, and describe how uncertainty reduction requires changes to the different activities in the typical self-adaptation loop.}, KEYWORDS = {Self-adaptation, uncertainty} } @InProceedings{SEsCPS:Explanation:2018, AUTHOR = {Sukkerd, Roykrong and Simmons, Reid and Garlan, David}, TITLE = {Towards Explainable Multi-Objective Probabilistic Planning}, YEAR = {2018}, MONTH = {27 May}, BOOKTITLE = {Proceedings of the 4th International Workshop on Software Engineering for Smart Cyber-Physical Systems (SEsCPS\'18)}, ADDRESS = {Gothenburg, Sweden}, PDF = {http://acme.able.cs.cmu.edu/pubs/uploads/pdf/ICSE-WS-SEsCPS-13.pdf}, ABSTRACT = {Use of multi-objective probabilistic planning to synthesize behavior of CPSs can play an important role in engineering systems that must self-optimize for multiple quality objectives and operate under uncertainty. However, the reasoning behind automated planning is opaque to end-users. They may not understand why a particular behavior is generated, and therefore not be able to calibrate their confidence in the systems working properly. To address this problem, we propose a method to automatically generate verbal explanation of multi-objective probabilistic planning, that explains why a particular behavior is generated on the basis of the optimization objectives. Our explanation method involves describing objective values of a generated behavior and explaining any tradeoff made to reconcile competing objectives. We contribute: (i) an explainable planning representation that facilitates explanation generation, and (ii) an algorithm for generating contrastive justification as explanation for why a generated behavior is best with respect to the planning objectives. We demonstrate our approach on a mobile robot case study.}, KEYWORDS = {Explainable Software, Self-adaptation} } @InProceedings{2018:Wagner:HotSoS, AUTHOR = {Wagner, Ryan and Garlan, David and Fredrikson, Matthew}, TITLE = {Poster: Quantitative Underpinnings of Secure, Graceful Degradation}, YEAR = {2018}, MONTH = {10-11 April}, BOOKTITLE = {Proceedings of the 2018 Symposium of Hot Topics in the Science of Security}, ADDRESS = {Raleigh, North Carolina}, PDF = {http://acme.able.cs.cmu.edu/pubs/uploads/pdf/hotsos-gracefuldegradation.pdf}, KEYWORDS = {Science of Security} } @InProceedings{2018:SEAMS:Uncertainty:Kinneer, AUTHOR = {Kinneer, Cody and Coker, Zack and Wang, Jiacheng and Garlan, David and Le Goues, Claire}, TITLE = {Managing Uncertainty in Self-Adaptive Systems with Plan Reuse and Stochastic Search}, YEAR = {2018}, MONTH = {28-29 May}, BOOKTITLE = {Proceedings of the 13th International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS)}, PDF = {http://acme.able.cs.cmu.edu/pubs/uploads/pdf/seams-uncertainty-kinneerpdf.pdf}, ABSTRACT = {Many software systems operate in environments where change and uncertainty are the rule, rather than exceptions. Techniques for self-adaptation allow these systems to automatically respond to environmental changes, yet they do not handle changes to the adaptive system itself, such as the addition or removal of adaptation tactics. Instead, changes in a self-adaptive system often require a human planner to redo an expensive planning process to allow the system to continue satisfying its quality requirements under different conditions; automated techniques typically must replan from scratch. We propose to address this problem by reusing prior planning knowledge to adapt in the face of unexpected situations. We present a planner based on genetic programming that reuses existing plans. While reuse of material in genetic algorithms has recently applied successfully in the area of automated program repair, we find that naïvely reusing existing plans for self-* planning actually results in a loss of utility. Furthermore, we propose a series of techniques to lower the costs of reuse, allowing genetic techniques to leverage existing information to improve planning utility when replanning for unexpected changes.}, NOTE = {Selected as a distinguished paper}, KEYWORDS = {Planning, Self-adaptation, Stochastic Search, uncertainty} } @Article{2018/MOSAICO, AUTHOR = {C\'{a}mara, Javier and Schmerl, Bradley and Moreno, Gabriel A. and Garlan, David}, TITLE = {MOSAICO: Offline Synthesis of Adaptation Strategy Repertoires with Flexible Trade-Offs}, YEAR = {2018}, MONTH = {September}, JOURNAL = {Automated Software Engineering}, VOLUME = {25}, NUMBER = {3}, PAGES = { 595–626}, PDF = {http://acme.able.cs.cmu.edu/pubs/uploads/pdf/Cámara2018_Article_MOSAICOOfflineSynthesisOfAdapt.pdf}, ABSTRACT = {Self-adaptation improves the resilience of software-intensive systems, enabling them to adapt their structure and behavior to run-time changes (e.g., in workload and resource availability). Many of these approaches reason about the best way of adapting by synthesizing adaptation plans online via planning or model checking tools. This method enables the exploration of a rich solution space, but optimal solutions and other guarantees (e.g., constraint satisfaction) are computationally costly, resulting in long planning times during which changes may invalidate plans. An alternative to online planning involves selecting at run time the adaptation best suited to the current system and environment conditions from among a predefined repertoire of adaptation strategies that capture repair and optimization tasks. This method does not incur run-time overhead but requires additional effort from engineers, who have to specify strategies and lack support to systematically assess their quality. In this article, we present MOSAICO, an approach for offline synthesis of adaptation strategy repertoires that makes a novel use of discrete abstractions of the state space to flexibly adapt extra-functional behavior in a scalable manner. The approach supports making trade-offs: (i) among multiple extra-functional concerns, and (ii) between computation time and adaptation quality (varying abstraction resolution). Our results show a remarkable improvement on system qualities in contrast to manually-specified repertoires. More interestingly, moderate increments in abstraction resolution can lead to pronounced quality improvements, whereas high resolutions yield only negligible improvement over medium resolutions.}, NOTE = {Springer Link}, KEYWORDS = {Formal Methods, Planning, Rainbow, Self-adaptation} } @Misc{2018:Ruchkin:IPL, AUTHOR = {Ruchkin, Ivan and Sunshine, Joshua and Iraci, Grant and Schmerl, Bradley and Garlan, David}, TITLE = {Appendix for IPL: An Integration Property Language for Multi-Model Cyber-Physical Systems}, YEAR = {2018}, PDF = {http://acme.able.cs.cmu.edu/pubs/uploads/pdf/fm2018-appendix.pdf}, NOTE = {Paper Reference} } @InProceedings{Mendonca:AKSAS:2018, AUTHOR = {Mendon\c{c}a, Nabor C. and Garlan, David and Schmerl, Bradley and C\'{a}mara, Javier}, TITLE = {Generality vs. Reusability in Architecture-Based Self-Adaptation: The Case for Self-Adaptive Microservices}, YEAR = {2018}, MONTH = {24-28 September}, BOOKTITLE = {The 12th European Conference on Software Architecture: Companion Proceedings}, ADDRESS = {Madrid, Spain}, PDF = {http://acme.able.cs.cmu.edu/pubs/uploads/pdf/aksas2018-final.pdf}, ABSTRACT = {Why is it so difficult to build self-adaptive systems by reusing existing self-adaptation services and frameworks? In this paper, we argue that one possible explanation is that there is a fundamental mismatch between the adaptation needs of modern software systems, and the architectural models and adaptation mechanisms supported by current self-adaptation solutions. We identify and discuss the main reasons leading to this problem by looking into a number of representative self-adaptation solutions that have been proposed in recent years, including open source frameworks and cloud-based services, from two perspectives: generality, i.e., their ability to support a variety of architectural models and adaptation mechanisms, and reusability, i.e., their ability to be reused without requiring substantial effort from software developers. We then make the case that recent industry progress toward microservices and their enabling technologies can open the way to the development of more general and reusable self-adaptation solutions.}, KEYWORDS = {Self-adaptation} } @Article{Mead:SEE:2018, AUTHOR = {Mead, Nancy and Garlan, David and Shaw, Mary}, TITLE = {Half a Century of Software Engineering Education: The CMU Exemplar}, YEAR = {2018}, MONTH = {September}, JOURNAL = {IEEE Software, Special Issue on 50th Anniversary of Software Engineering}, VOLUME = {35}, NUMBER = {5}, PAGES = {25 -- 31}, URL = {https://ieeexplore.ieee.org/document/8409913}, ABSTRACT = {Now, more than ever, the software profession needs rigorous software engineering education based on enduring principles. This must reach the increasing diversity of the developer community and the diverse paths the developer takes into the profession. }, NOTE = {Issue received the 2018 APEX Award of Excellence}, KEYWORDS = {Education, Software Engineering} }