ABSTRACT
We propose a high-level approach to software architecture that bridges the gap between system requirements (in the problem space) and the architectural design (in the solution space). We use abstract constraint- and intent-based architectural prescriptions to enable architectural reflection, reification, and distributed configuration discovery as the basis for designing adaptive, self-configuring software systems. We discuss some key architectural properties and patterns that facilitate the design and implementation of self-configuring systems, and use these as the basis for an example prototype architecture for self-evolving systems called Distributed Configuration Routing (DCR). Finally, we propose the development of architectural prescription languages (APLs) and enhanced system design environments to provide better support for intent-based architectures.
- Brandozzi, M. and Perry, D. Architectural Prescriptions for Dependable Systems. ICSE WADS 2002, May 2002.]]Google Scholar
- Brandozzi, M. and Perry, D. From Goal-Oriented Requirements to Architectural Prescriptions: The Preskriptor Process. Intl. Workshop From Software Requirements to Architectures, May 2003, 107--113.]]Google Scholar
- Buschmann, F., Meunier, R., Rohnert, H., Sommerlad, P., Stal, M. Pattern-Oriented Software Architecture: A System of Patterns. Wiley, 1996.]] Google ScholarDigital Library
- Cheng, S., Huang, A., Garlan, D., Schmerl, B., and Steenkiste, P. An Architecture for Coordinating Multiple Self-Management Systems. WICSA-4, 2004.]]Google Scholar
- Garlan, D., Allen, R. J. and Ockerbloom, J. Exploiting Style in Architectural Design. Proc. SIGSOFT '94 FSE-2, 175--188.]] Google ScholarDigital Library
- Garlan, D., Schmerl, B. Model-Based Adaptation for Self-Healing Systems. WOSS'02, 2002, 27--32.]] Google ScholarDigital Library
- Georgiadis I., Magee J. and Kramer J. Self-Organising Software Architectures for Distributed Systems. WOSS'02, 2002.]] Google ScholarDigital Library
- Gribble, S., Welsh, M., von Behren, R., Brewer, E., Culler, D., Borisov, N., Czerwinski, S., Gummadi, R., Hill, J., Joseph, A., Katz, R., Mao, Z., Ross, S., and Zhao, B. The Ninja Architecture for Robust Internet-Scale Systems and Services. IEEE Comp. Networks, Special Issue on Pervasive Computing, Vol. 35, No. 4, Mar. 2001.]] Google ScholarDigital Library
- Hawthorne, M. and Perry, D. Applying Design Diversity to Aspects of System Architectures and Deployment Configurations to Enhance System Dependability. WADS'04, June 30, 2004.]]Google Scholar
- Hirsch, D, Inverardi, P. and Montanari, U. Graph Grammars and Constraint Solving for Software Architecture Styles. 3rd Intl. Workshop on Software Arch., 1998, 69--72.]] Google ScholarDigital Library
- Jani, D. Deriving Architecture Specifications from Goal Oriented Requirements Specifications. Master's Thesis, Dept. Electrical and Comp. Eng., The Univ. of Texas at Austin, May 2003. Supr.: Dewayne E. Perry.]]Google Scholar
- van Lamsweerde, A. Requirements Engineering in the Year 00: A Research Perspective. ICSE 2000, June 2000, 5--19.]] Google ScholarDigital Library
- van Lamsweerde, A. From System Goals to Software Architecture. SFM 2003, 25--43.]]Google ScholarCross Ref
- de Lemos, R., Fiadeiro, J. An Architectural Support for Self-Adaptive Software for Treating Faults. WOSS'02, 2002.]] Google ScholarDigital Library
- Metayer, D. Software Architecture Styles as Graph Grammars. Proc. SIGSOFT'96 FSE-4, Nov. 1996, 15--23.]] Google ScholarDigital Library
- Perry, D. The Inscape Environment. ICSE 1989, May 1989.]] Google ScholarDigital Library
- Perry, D. Wolf, A. Foundations for the Study of Software Architecture. ACM SEN, Vol. 17 No. 4, 1992, 40--52.]] Google ScholarDigital Library
- Perry, D. Generic Architecture Descriptions for Product Lines. ARES II: S/W Arch. Prod. Families 1998, 1998.]] Google ScholarDigital Library
- Reiher, P., Guy, R., Yarvis, M., and Rudenko, A. Automated Planning for Open Architectures. Proc. OPENARCH 2000-Short Paper Session, Mar. 2000, 17--20.]]Google Scholar
- Schmerl, B. and Garlan D. Exploiting Architectural Design Knowledge to Support Self-repairing Systems. 14th Intl. Conf. Software Eng. and Knowledge Eng., 2002.]] Google ScholarDigital Library
- Vanderveken, D. Deriving Architectural Descriptions from Goal-Oriented Requirements. Master's Thesis, Dept. d'Ingenierie Informatique, Univ. Catholique dl Louvain, June 2004. Suprs.: Axel van Lamsweerde and Dewayne E. Perry.]]Google Scholar
- Exploiting architectural prescriptions for self-managing, self-adaptive systems: a position paper
Recommendations
Exploiting style in architectural design environments
As the design of software architectures emerges as a discipline within software engineering, it will become increasingly important to support architectural description and analysis with tools and environments. In this paper we describe a system for ...
Middleware Architecture Evaluation for Dependable Self-managing Systems
QoSA '08: Proceedings of the 4th International Conference on Quality of Software-Architectures: Models and ArchitecturesMiddleware provides infrastructure support for creating dependable software systems. A specific middleware implementation plays a critical role in determining the quality attributes that satisfy a system's dependability requirements. Evaluating a ...
Self-adaptive architecture evolution with model checking
We apply cybernetics theory to control software behaviors in architecture-level.We propose Breeze/ADL to specify the self-adaptive architecture.We design a learning algorithm to derive feedbacks to adjust the architecture.We extend tool - Breeze to ...
Comments