I'm a Senior Member of the Technical Staff at the Software Engineering
Institute (SEI), and a Software Engineering PhD student at Carnegie Mellon University. 

Software-reliant systems are increasingly expected to operate in changing and uncertain
environments. My research interest is in self-adaptive systems, which are able to change
their structure and behavior to deal with changes in operational context, available
resources, and user needs. In particular, my research focuses on how the timeliness of
adaptations can improve the effectiveness of self-adaptive systems. 



Stochastic Game Analysis and Latency Awareness for Proactive Self-Adaptation (with Javier Camara and David Garlan), Proceedings of the International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS) (2014)

Although different approaches to decision-making in self-adaptive systems have shown their effectiveness in the past...



Architecture-Based Self-Protection: Composing and Reasoning about Denial-of-Service Mitigations (with Bradley Schmerl, Javier Camara, Jeffrey Gennari, David Garlan, Paulo Casanova, Thomas J. Glazierr, and Jeffrey M. Barnes), Proceedings of Symposium and Bootcamp on the Science of Security (HotSoS) (2014)

Security features are often hardwired into software applications, making it difficult to adapt security responses...



An Optimal Real-Time Voltage and Frequency Scaling for Uniform Multiprocessors (with Dionisio de Niz), Proceedings of the 18th IEEE International Conference on Embedded and Real-Time Computing Systems and Applications (RTCSA 2012) (2012)

Power consumption is an increasing concern in real-time systems that operate on battery power or...



Architecture Evaluation without an Architecture: Experience with the Smart Grid (with Rick Kazman, Len Bass, and James Ivers), Proceedings of the International Conference on Software Engineering (ICSE) (2011)

This paper describes an analysis of some of the challenges facing one portion of the...



Designing for Incentives: Better Information Sharing for Better Software Engineering (with Mark Klein, David C. Parkes, and Kurt Wallnau), Proceedings of the FSE/SDP Workshop on the Future of Software Engineering Research (FoSER) (2010)

Software-reliant systems permeate all aspects of modern society. The resulting interconnectedness and associated complexity has...


Technical Reports/Notes


Socio-Adaptive Systems Challenge Problems Workshop Report (with Scott Hissam and Mark H. Klein), Special Report CMU/SEI-2013-SR-010. Software Engineering Institute, Carnegie Mellon University (2013)

Socio-adaptive systems are systems in which human and computational elements interact as peers. The behavior...



Resource Allocation in Dynamic Environments (with Jeffrey Hansen, Scott Hissam, Craig Meyers, Daniel Plakosh, Joe Seibel, and Lutz Wrage), Technical Report CMU/SEI-2012-TR-011. Software Engineering Institute, Carnegie Mellon University (2012)

This technical report examines two challenges related to resource allocation that can negatively affect system...



Overview of the Lambda-* Performance Reasoning Frameworks (with Jeffery Hansen), Technical Report CMU/SEI-2008-TR-020. Software Engineering Institute, Carnegie Mellon University (2009)

The Predictable Assembly from Certifiable Code (PACC) Initiative at the Carnegie Mellon Software Engineering Institute...



Using Containers to Enforce Smart Constraints for Performance in Industrial Systems (with Scott A. Hissam and Kurt C. Wallnau), Technical Note CMU/SEI-2005-TN-040. Software Engineering Institute, Carnegie Mellon University (2005)

Today, software engineering is concerned less with individual programs than with large-scale networks of interacting...



Performance Property Theories for Predictable Assembly from Certifiable Components (PACC) (with Scott A. Hissam, Mark H. Klein, John Lehoczky, Paulo Merson, and Kurt C. Wallnau), Technical Report CMU/SEI-2004-TR-017. Software Engineering Institute, Carnegie Mellon University (2004)

This report develops a queueing-theoretic solution to predict, for a real-time system, the average-case latency...