%
% 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}
}