%
% GENERATED FROM http://acme.able.cs.cmu.edu
% by : anonymous
% IP : ec2-18-226-163-123.us-east-2.compute.amazonaws.com
% at : Sat, 20 Jul 2024 13:25:00 -0400 GMT
%
% Selection : Year = 2008
%
@InBook{Prediction2008,
AUTHOR = {Poladian, Vahe and Cheng, Shang-Wen and Garlan, David and Schmerl, Bradley},
TITLE = {Improving Architecture-Based Self-Adaption Through Resource Prediction},
YEAR = {2008},
BOOKTITLE = {Software Engineering for Self-Adaptive Systems},
VOLUME = {5525},
EDITOR = {Cheng, Betty H.C. and de Lemos, Rog\'{e}rio and Giese, Holger and Inverardi, Paola and Magee, Jeff},
SERIES = {Lecture Notes in Computer Science},
PUBLISHER = {LNCS},
CHAPTER = {15},
PDF = {http://acme.able.cs.cmu.edu/pubs/uploads/pdf/LNCS-SEfSASChapter-2009-0222-web.pdf},
ABSTRACT = {An increasingly important concern for modern systems design is how best to incorporate self-adaptation into systems so as to improve their ability to dynamically respond to faults, resource variation, and changing user needs. One promising approach is to use architectural models as a basis for monitoring, problem detection, and repair selection. While this approach has been shown to yield positive results, current systems use a reactive approach: they respond to problems only when they occur. In this paper we argue that self-adaptation can be improved by adopting an anticipatory approach in which predictions are used to inform adaptation strategies. We show how such an approach can be incorporated into an architecture-based adaptation framework and demonstrate the benefits of the approach.},
KEYWORDS = {Rainbow, Resource prediction, Self-adaptation}
}
@InBook{Sousa2008,
AUTHOR = {Sousa, Jo\~{a}o and Schmerl, Bradley and Steenkiste, Peter and Garlan, David},
TITLE = {Activity Oriented Computing},
YEAR = {2008},
BOOKTITLE = {Advances in Ubiquitous Computing: Future Paradigms and Directions},
EDITOR = {Mostefaoui, Soraya Kouadri and Maamar, Zakaria and Giaglis, George},
ADDRESS = {Herschey, PA},
PUBLISHER = {IGI Publishing},
PDF = {http://acme.able.cs.cmu.edu/pubs/uploads/pdf/AOC.pdf},
ABSTRACT = {This chapter introduces a new way of thinking about software systems for supporting the activities of end-users. In this approach, models of user activities are promoted to first class entities, and software systems are assembled and configured dynamically based on activity models. This constitutes a fundamental change of perspective over traditional applications: activities take the main stage and may be long-lived, whereas the agents that carry them out are plentiful and interchangeable. The core of the chapter describes a closed-loop control design that enables activity-oriented systems to become self-aware and self-configurable, and to adapt to dynamic changes both in the requirements of user activities and in the environment resources. The chapter discusses how that design addresses challenges such as user mobility, resolving conflicts in accessing scarce resources, and robustness in the broad sense of responding adequately to user expectations, even in unpredictable situations, such as random failures, erroneous user input, and continuously changing resources. The chapter further summarizes challenges and ongoing work related to managing activities where humans and automated agents collaborate, human-computer interactions for managing activities, and privacy and security aspects.},
NOTE = {Book link: http://www.igi-pub.com/books/details.asp?ID=7314},
KEYWORDS = {Aura, Ubiquitous Computing}
}
@InProceedings{Sousa2008-WICSA,
AUTHOR = {Sousa, Jo\~{a}o and Schmerl, Bradley and Poladian, Vahe and Brodsky, Alex},
TITLE = {UDesign: End-User Design Applied to Monitoring and Control Applications for Smart Spaces},
YEAR = {2008},
MONTH = {18-22 February},
BOOKTITLE = {Proceedings of the 2008 Working IFIP/IEEE Conference on Software Architecture},
ADDRESS = {Vancouver, BC, Canada},
PDF = {http://acme.able.cs.cmu.edu/pubs/uploads/pdf/uDesign-final.pdf},
ABSTRACT = {This paper introduces an architectural style for enabling end-users to quickly design and deploy software systems in domains characterized by highly personalized and dynamic requirements.
The style offers an intuitive metaphor based on boxes, pipes, and wires, but retains enough preciseness that systems can be automatically assembled and dynamically reconfigured based on uDesign descriptions. uDesign was primarily motivated and validated within monitoring and control applications for smart spaces, but we envision possible extensions to other domains.
Our contribution differs from early attempts at end-user programming in the level of abstraction, software architecture rather than programming, and in the subject of description: run-time rather than code structures.
To validate the approach, the paper presents (a) two case studies, one in health care and one in home security, (b) the formal semantics of uDesign’s primitives, and (c) a mapping of those primitives to an existing software infrastructure: the Aura infrastructure.},
KEYWORDS = {Architectural Style, Aura, Service Composition, Ubiquitous Computing}
}
@Article{AANSG08,
AUTHOR = {Abi-Antoun, Marwan and Aldrich, Jonathan and Nahas, Nagi and Schmerl, Bradley and Garlan, David},
TITLE = {Differencing and Merging of Architectural Views},
YEAR = {2008},
MONTH = {March},
JOURNAL = {Automated Software Engineering Journal},
VOLUME = {15},
NUMBER = {1},
ABSTRACT = {Differencing and merging architectural views is an important activity in software engineering. However, existing approaches are still based on restrictive assumptions, such as requiring view elements to have unique identiers or exactly matching types, which is often not the case in many application domains.
We propose an approach based on structural information. We generalize a published polynomial-time tree-to-tree correction algorithm that detects inserts, renames and deletes, into a novel algorithm that additionally detects restricted moves.
Our algorithm also supports forcing and preventing matches between view elements. We incorporate the algorithm into tools to compare and merge Component-and-Connector (C&C) architectural views. We provide an empirical evaluation of the algorithm. We illustrate the tools using extended examples, and use them to detect and reconcile interesting differences between real architectural views.},
NOTE = {Final version available online at http://dx.doi.org/10.1007/s10515-007-0023-3.},
KEYWORDS = {Acme, ArchJava, Software Architecture}
}
@InProceedings{Sousa2008a,
AUTHOR = {Sousa, Jo\~{a}o and Poladian, Vahe and Garlan, David and Schmerl, Bradley and Steenkiste, Peter},
TITLE = {Steps toward Activity-Oriented Computing},
YEAR = {2008},
MONTH = {14 April},
BOOKTITLE = {Proceedings of the 2008 NSF Next Generation Software Program Workshop},
ADDRESS = {Miami, FL},
PDF = {http://acme.able.cs.cmu.edu/pubs/uploads/pdf/IPDPS-web.pdf},
ABSTRACT = {Most pervasive computing technologies focus on helping users with computer-oriented tasks. In this NSF-funded project, we instead focus on using computers to support user-centered “activities” that normally do not involve the use of computers. Examples may include everyday tasks around such as answering the doorbell or doing laundry. A focus on activity-based computing brings to the foreground a number of unique challenges. These include activity definition and representation, system design, interfaces for managing activities, and ensuring robust operation. Our project focuses on the first two challenges.},
KEYWORDS = {Aura, Ubiquitous Computing}
}
@PhdThesis{Cheng:2008:Thesis,
AUTHOR = {Cheng, Shang-Wen},
TITLE = {Rainbow: Cost-Effective Software Architecture-Based Self-Adaptation},
YEAR = {2008},
MONTH = {May},
SCHOOL = {Carnegie Mellon University},
URL = {http://reports-archive.adm.cs.cmu.edu/anon/isr2008/abstracts/08-113.html},
NOTE = {Institute for Software Research Technical Report CMU-ISR-08-113},
KEYWORDS = {Rainbow}
}
@InProceedings{Sousa2008b,
AUTHOR = {Sousa, Jo\~{a}o and Balan, Rajesh and Poladian, Vahe and Garlan, David and Satyanarayanan, Mahadev},
TITLE = {User Guidance of Resource-Adaptive Systems},
YEAR = {2008},
MONTH = {July},
BOOKTITLE = {ICSOFT'08 International Conference on Software and Data Technologies},
ADDRESS = {Porto, Portugal},
ABSTRACT = {This paper presents a framework for engineering resource-adaptive software systems targeted at small
mobile devices. The proposed framework empowers users to control tradeoffs among a rich set of servicespecific
aspects of quality of service. After motivating the problem, the paper proposes a model for
capturing user preferences with respect to quality of service, and illustrates prototype user interfaces to elicit
such models. The paper then describes the extensions and integration work made to accommodate the
proposed framework on top of an existing software infrastructure for ubiquitous computing.
The research question addressed here is the feasibility of coordinating resource allocation and
adaptation policies in a way that end-users can understand and control in real time. The evaluation covered
both systems and the usability perspectives, the latter by means of a user study. The contributions of this
work are: first, a set of design guidelines for resource-adaptive systems, including APIs for integrating new
applications; second, a concrete infrastructure that implements the guidelines. And third, a way to model
quality of service tradeoffs based on utility theory, which our research indicates end-users with diverse
backgrounds are able to leverage for guiding the adaptive behaviors towards activity-specific quality goals.},
KEYWORDS = {Aura, Resource Aware Computing}
}
@PhdThesis{Poladian2008:Thesis,
AUTHOR = {Poladian, Vahe},
TITLE = {Tailoring Configuration to User's Tasks under Uncertainty},
YEAR = {2008},
MONTH = {April},
SCHOOL = {Carnegie Mellon University},
URL = {http://reports-archive.adm.cs.cmu.edu/anon/2008/abstracts/08-121.html},
ABSTRACT = {The expansion of computing infrastructure has opened the possibility of a world in which users
can compute everywhere. Despite such advances, computing resources are often scarce and
changing, limiting a user�s ability to take advantage of the applications and devices, and requiring
changes to the application runtime settings.
Currently, the burden of managing the computing environment (devices, applications, and resources)
falls on the user. A user must manually start applications and adjust their settings according
to the available resources. Assigning such chores of configuration to the user has a
number of disadvantages. First, it consumes user�s precious cognitive resources. Second, effectively
managing the environment requires skills that a typical user might not have. Third, even
with adequate low-level expertise, managing the environment optimally (or even adequately) can
be difficult.
Ideally, the computing needs of a user are seamlessly matched with the capabilities of the environment:
devices, applications, and available resources. The user should enjoy the best possible
application quality, without worrying about managing the low-level computing mechanisms.
In this dissertation, we describe a novel approach that substantially automates the control of the
configuration of the environment for a user�s task: finding and starting applications, configuring
their runtime settings, and allocating possibly limited resources. Our approach simultaneously
satisfies two important requirements: utility and practicality. Utility ensures that configuration
decisions take into account user�s preferences for specific applications and quality of service.
Practicality ensures that configuration has low runtime overhead in terms of the latency of configuration
decisions and its usage of resources.
First, we model configuration analytically as a problem of optimizing user�s utility based on
three inputs: (1) user�s preferences, (2) application capability, and (3) resource availability.
Formally, automating the control of the configuration requires solving an optimization problem,
and then using the optimization solution to control the environment.
Next, we design a software infrastructure that is based on the analytical model. The infrastructure
implements efficient algorithms to solve the problem of configuration, eliminating the need
for manual configuration. We validate our approach using experiments and simulation, demonstrating
that the infrastructure satisfies the requirements of utility and practicality while substantially
automating configuration.},
NOTE = {Technical Report CMU-CS-08-121}
}
@TechReport{Garlan:2008:EvoStyle,
AUTHOR = {Garlan, David},
TITLE = {Evolution Styles: Formal foundations and tool support for software architecture evolution},
YEAR = {2008},
MONTH = {June},
NUMBER = {CMU-CS-08-142},
INSTITUTION = {School of Computer Science, Carnegie Mellon University},
PDF = {http://acme.able.cs.cmu.edu/pubs/uploads/pdf/CMU-CS-08-142.pdf},
ABSTRACT = {Architecture evolution is a central feature of virtually all software systems. As new market opportuni-ties, technologies, platforms, and frameworks become available systems must change their organiza-tional structures to accommodate them, requiring large-scale and systematic restructuring. Today arc-hitects have few tools to help them plan and execute such evolutionary paths. In particular, they have almost no assistance in reasoning about questions such as: How should we stage the evolution to achieve business goals in the presence of limited development resources? How can we reduce risk in incorporating new technologies and infrastructure required by the target architecture? How can we make principled tradeoffs between time and development effort? What kinds of changes can be made independently, and which require coordinated system-wide modifications? How can an evolution plan be represented and communicated within an organization? In this report we outline first steps towards a formal basis for assisting architects in developing and reasoning about architectural evolution paths. The key insight behind the approach is that at an architectural level of abstraction many system evolutions follow certain common patterns – or evolution styles. By taking advantage of regularity in the space of common architectural evolutions, and by making the notion of evolutions styles a first-class entity that can be formally defined, we can provide automated assistance for expressing architecture evolution, and for reasoning about both the correctness and quality of evolution paths.},
KEYWORDS = {Architectural Style}
}
@Unpublished{Garg/2008,
AUTHOR = {Garg, Kirti and Garlan, David and Schmerl, Bradley},
TITLE = {Architecture Based Information Flow Analysis for Software Security},
YEAR = {2008},
PDF = {http://acme.able.cs.cmu.edu/pubs/uploads/pdf/ArchSTRIDE08.pdf},
ABSTRACT = {Using information flow modeling to perform security analysis is a common technique used during software design. While much theoretical work has been conducted in this area, there are few tools to assist with such analysis. In many instances the security analysis must be done by hand, requiring consid-erable expertise, time, and effort. Most available tools require custom code to be written for the analysis, and are consequently not well integrated with the software process, and not easily tailored to different security requirements. In this paper we describe the use of an Architecture Description Language (ADL) to (a) represent information flow in a software system, and (b) analyze the security-related properties of a system. We use a formal predicate-based de-scription of the security properties and policies, which allows for automated analysis of the information flow to uncover common security vulnerabilities. A key advantage to using ADLs is that security properties become declarative and can be automatically checked by constraint-based tools and without the need to write custom code.},
KEYWORDS = {Architectural Analysis, Science of Security}
}