% % GENERATED FROM http://acme.able.cs.cmu.edu % by : anonymous % IP : ec2-18-225-95-229.us-east-2.compute.amazonaws.com % at : Thu, 21 Nov 2024 18:07:02 -0500 GMT % % Selection : Year = 2006 % @Article{DiscoTectTSE, AUTHOR = {Schmerl, Bradley and Aldrich, Jonathan and Garlan, David and Kazman, Rick and Yan, Hong}, TITLE = {Discovering Architectures from Running Systems}, YEAR = {2006}, MONTH = {July}, JOURNAL = {IEEE Transactions on Software Engineering}, VOLUME = {32}, NUMBER = {7}, PDF = {http://acme.able.cs.cmu.edu/pubs/uploads/pdf/discotect-tse.pdf}, ABSTRACT = {One of the challenging problems for software developers is guaranteeing that a system as built is consistent with its architectural design. In this paper, we describe a technique that uses runtime observations about an executing system to construct an architectural view of the system. In this technique, we develop mappings that exploit regularities in system implementation and architectural style. These mappings describe how low-level system events can be interpreted as more abstract architectural operations and are formally defined using Colored Petri Nets. In this paper, we describe a system, called DiscoTect, that uses these mappings and we introduce the DiscoSTEP mapping language and its formal definition. Two case studies showing the application of DiscoTect suggest that the tool is practical to apply to legacy systems and can dynamically verify conformance to a preexisting architectural specification.}, NOTE = {Also available from IEEE. Appendix A, Appendix B}, KEYWORDS = {DiscoTect, Rainbow, Self-Repair, Software Architecture} } @InProceedings{Fairbanks2006, AUTHOR = {Fairbanks, George and Scherlis, William and Garlan, David}, TITLE = {Design Fragments Make Using Frameworks Easier}, YEAR = {2006}, MONTH = {22-27 October}, BOOKTITLE = {Proceedings of ACM SIGPLAN Conference on Object Oriented Programs, Systems, Languages, and Applications (OOPSLA) 2006}, ADDRESS = {Portland, OR, USA}, PDF = {http://acme.able.cs.cmu.edu/pubs/uploads/pdf/OOPSLA-06.pdf}, ABSTRACT = {Object oriented frameworks impose new burdens on programmers that libraries did not, such as requiring the programmer to understand the method callback sequence, respecting behavior constraints within these methods, and devising solutions within a constrained solution space. To overcome these burdens, we express the repeated patterns of engagement with the framework as a design fragment. We analyzed the 20 demo applets provided by Sun and created a representative catalog of design fragments of conventional best practice. By evaluating 36 applets pulled from the internet we show that these design fragments are common, many applets copied the structure of the Sun demos, and that creation of a catalog of design fragments is practical. Design fragments give programmers immediate benefit through tool-based conformance assurance and long-term benefit through expression of design intent.}, KEYWORDS = {Design Fragments, Design Patterns, Frameworks} } @InProceedings{Fairbanks2006a, AUTHOR = {Fairbanks, George and Bierhoff, Kevin and D'Souza, Desmond}, TITLE = {Software Architecture at a Large Financial Firm}, YEAR = {2006}, MONTH = {22-27 October}, BOOKTITLE = {Proceedings of ACM SIGPLAN Conference on Object Oriented Programs, Systems, Languages, and Applications (OOPSLA) 2006}, ADDRESS = {Portland, OR, USA}, PDF = {http://acme.able.cs.cmu.edu/pubs/uploads/pdf/oopsla06-exp.pdf}, ABSTRACT = {System builders have historically used informal software architecture models to understand options, make choices, and communicate with others. Research into software architecture over the past fifteen years has indicated that more precise architecture models may be beneficial. At a large financial firm, we applied precise software architecture techniques on four software projects and this experience has revealed a number of practical issues. We made the following observations across the projects: 1) Architecture models can be used to bridge gaps between business requirements and technology, 2) A small collection of techniques and a detail knob are practical and useful in a variety of projects, 3) Architecture modeling techniques amplify the skills of the architects, 4) A model of domain concepts and relationships is helpful when building architecture models, and 5) It is difficult to know when to stop adding detail to your architecture model. We believe that these observations motivate future research and can help practitioners make software architecture more effective in practice.}, KEYWORDS = {Software Architecture} } @InProceedings{Kim2006, AUTHOR = {Kim, Jung Soo and Garlan, David}, TITLE = {Analyzing Architectural Styles with Alloy}, YEAR = {2006}, MONTH = {17 July}, BOOKTITLE = {Workshop on the Role of Software Architecture for Testing and Analysis 2006 (ROSATEA 2006)}, ADDRESS = {Portland, ME, USA}, PDF = {http://acme.able.cs.cmu.edu/pubs/uploads/pdf/rosatea2006-final.pdf}, ABSTRACT = {The backbone of many architectures is an architectural style that provides a domain-specific design vocabulary and set of constraints on how that vocabulary can be used. Hence, designing a sound and appropriate architectural style becomes an important and intellectually challenging activity. Unfortunately, although there are numerous tools to help in the analysis of individual architectures, relatively less work has been done on tools to help the style designer. In this paper we show how to map an architectural style, expressed formally in an architectural description language, into a relational model that can be automatically checked for properties such as whether a style is consistent, whether a style satisfies some predicate over the architectural structure, whether two styles are compatible for composition, and whether one style refines another.}, KEYWORDS = {Acme, Formal Methods, Software Architecture} } @InProceedings{Garlan2006, AUTHOR = {Garlan, David and Schmerl, Bradley}, TITLE = {An Architecture for Personal Cognitive Assistance}, YEAR = {2006}, MONTH = {5-7 July}, BOOKTITLE = {18th International Conference on Software Engineering and Knowledge Engineering}, ADDRESS = {San Francisco Bay, USA}, PDF = {http://acme.able.cs.cmu.edu/pubs/uploads/pdf/seke06.pdf}, ABSTRACT = {Current desktop environments provide weak support for carrying out complex user-oriented tasks. Although individual applications are becoming increasingly sophisticated and featurerich, users must map their high-level goals to the low-level operational vocabulary of applications, and deal with a myriad of routine tasks (such as keeping up with email, keeping calendars and web sites up-to-date, etc.). An alternative vision is that of a personal cognitive assistant. Like a good secretary, such an assistant would help users accomplish their high-level goals, coordinating the use of multiple applications, automatically handling routine tasks, and, most importantly, adapting to the individual needs of a user over time. In this paper we describe the architecture and its implementation for a personal cognitive assistant called RADAR. Key features include (a) extensibility through the use of a plug-in agent architecture (b) transparent integration with legacy applications and data of today?s desktop environments, and (c) extensive use of learning so that the environment adapts to the individual user over time.}, KEYWORDS = {Personal Assistance, RADAR, Software Architecture} } @Article{Poladian2006, AUTHOR = {Sousa, Jo\~{a}o and Poladian, Vahe and Garlan, David and Schmerl, Bradley and Shaw, Mary}, TITLE = {Task-Based Adaptation for Ubiquitous Computing}, YEAR = {2006}, MONTH = {May}, JOURNAL = {IEEE Transactions on Systems, Man, and Cybernetics, Part C: Applications and Reviews, Special Issue on Engineering Autonomic Systems}, VOLUME = {36}, NUMBER = {3}, PDF = {http://acme.able.cs.cmu.edu/pubs/uploads/pdf/tbuc.pdf}, ABSTRACT = {An important domain for autonomic systems is the area of ubiquitous computing: users are increasingly surrounded by technology that is heterogeneous, pervasive, and variable. In this paper we describe our work in developing self-adapting computing infrastructure that automates the configuration and reconfiguration of such environments. Focusing on the engineering issues of self-adaptation in the presence of heterogeneous platforms, legacy applications, mobile users, and resource variable environments, we describe a new approach based on the following key ideas: (a) Explicit representation of user tasks allows us to determine what service qualities are required of a given configuration; (b) Decoupling task and preference specification from the lower level mechanisms that carry out those preferences provides a clean engineering separation of concerns between what is needed and how it is carried out; and (c) Efficient algorithms allow us to calculate in real time near-optimal resource allocations and reallocations for a given task.}, NOTE = {Also available at IEEE Xplore}, KEYWORDS = {Aura, Autonomic Systems, Ubiquitous Computing} } @Article{Garlan2006a, AUTHOR = {Seceleanu, Tiberiu and Garlan, David}, TITLE = {Developing adaptive systems with synchronized architectures}, YEAR = {2006}, MONTH = {November}, JOURNAL = {The Journal of Systems and Software}, VOLUME = {79}, NUMBER = {11}, PAGES = {1514-1526}, URL = {http://dx.doi.org/10.1016/j.jss.2006.03.047}, ABSTRACT = {In this paper we show how to specify and refine self-adapting systems, by employing the state-based formalism called action systems. Assuming a fixed set of possible configurations, we use a recently-introduced synchronization operator to achieve separation of concerns between adaptation policy, fault tolerance and steady-state system execution. Using action systems allows us to apply standard refinement techniques, aimed for correct implementations of higher-level models. We illustrate this idea by applying it to the problem of coping with dynamically-varying user requirements and possible fault situations.}, KEYWORDS = {Autonomic Systems, Software Architecture} } @Unpublished{Schmerl2006a, AUTHOR = {Schmerl, Bradley and Butler, Shawn and Garlan, David}, TITLE = {Architecture-based Simulation for Security and Performance}, YEAR = {2006}, PDF = {http://acme.able.cs.cmu.edu/pubs/uploads/pdf/simulator.pdf}, ABSTRACT = {Architectural analysis is key to producing high quality architectures. In this demonstration we present two extensions to AcmeStudio, and domain-neutral Architecture Development Environment, to add Performance and Security Simulation. Using AcmeStudio as the integration platform for these analyses allows comparisons and trade-offs between these different quality attributes.}, NOTE = {Submitted for publication.}, KEYWORDS = {AcmeStudio, Architectural Analysis, Architectural Style, Software Architecture} } @InProceedings{Garlan2006c, AUTHOR = {Garlan, David and Schmerl, Bradley}, TITLE = {Architecture-driven Modelling and Analysis}, YEAR = {2006}, BOOKTITLE = {Proceedings of the 11th Australian Workshop on Safety Related Programmable Systems (SCS'06)}, VOLUME = {69}, EDITOR = {Cant, Tony}, SERIES = {Conferences in Research and Practice in Information Technology}, ADDRESS = {Melbourne, Australia}, PDF = {http://acme.able.cs.cmu.edu/pubs/uploads/pdf/aSCSa-final.pdf}, ABSTRACT = {Over the past 15 years there has been increasing recognition that careful attention to the design of a system?s software architecture is critical to satisfying its requirements for quality attributes such as performance, security, and dependability. As a consequence, during this period the field of software architecture has matured significantly. However, current practices of software architecture rely on relatively informal methods, limiting the potential for fully exploiting architectural designs to gain insight and improve the quality of the resulting system. In this paper we draw from a variety of research results to illustrate how formal approaches to software architecture can lead to enhancements in software quality, including improved clarity of design, support for analysis, and assurance that implementations conform to their intended architecture.}, KEYWORDS = {Acme, AcmeStudio, Architectural Analysis, Architectural Style, Landmark, Software Architecture} } @InProceedings{Cheng2006, AUTHOR = {Cheng, Shang-Wen and Garlan, David and Schmerl, Bradley}, TITLE = {Architecture-based Self-adaptation in the Presence of Multiple Objectives}, YEAR = {2006}, MONTH = {21-22 May}, BOOKTITLE = {ICSE 2006 Workshop on Software Engineering for Adaptive and Self-Managing Systems (SEAMS)}, ADDRESS = {Shanghai, China}, PDF = {http://acme.able.cs.cmu.edu/pubs/uploads/pdf/seams06.pdf}, ABSTRACT = {In the world of autonomic computing, the ultimate aim is to automate human tasks in system management to achieve high-level stakeholder objectives. One common approach is to capture and represent human expertise in a form executable by a computer. Techniques to capture such expertise in programs, scripts, or rule sets are effective to an extent. However, they are often incapable of expressing the necessary adaptation expertise and emulating the subtleties of trade-offs in high-level decision making. In this paper, we propose a new language of adaptation that is suffi-ciently expressive to capture the subtleties of choice, deriving its ontology from system administration tasks and its underlying formalism from utility theory.}, KEYWORDS = {Landmark, Rainbow, Self-adaptation, Self-Repair} }