Abstract
A software architecture design captures the main decisions regarding the quality-attribute requirements for a system. When constructing these designs, the architect normally evaluates and combines solutions with different quality-attribute tradeoffs. This exploration of the design space can be seen as a searching problem, in which the architect’s expertise is what directs the search towards a “good-enough” solution. Nonetheless, given complexity of this search, assisting the architect with adequate tool support becomes indispensable. In this context, we have investigated the utility of a planning-based tool approach called DesignBots to explore design alternatives. Specifically, the approach considers quality-attribute issues as goals achievable by combinations of architectural mechanisms, which are generated by a mixed-initiative and hierarchical planning engine. Our experiences with DesignBots show that the planning approach effectively helps architects to explore design alternatives productively.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Amandi, A., Campo, M., Zunino, A.: JavaLog: A Framework-based Integration of Java and Prolog for Agent-oriented Programming. In: Ledley, R.S. (ed.) Computer Languages, Systems and Structures, Elsevier Science, Amsterdam (2004)
Arshad, N., Heimbigner, D., Wolf, A.: Deployment and Dynamic Reconfiguration Planning for Distributed Software Systems. In: Proceedings ICTAI 2003, pp. 39–46 (2003)
Bachmann, F., Bass, L., Klein, M.: Preliminary Design of ArchE: A Software Architecture Design Assistance. Technical Report CMU/SEI-2003-TR-021 (2003)
Bass, L., Clements, P., Kazman, R.: Software Architecture in Practice, 2nd edn. Addison-Wesley, Reading (2003)
Bass, L., Ivers, J., Klein, M., Merson, P., Wallnau, K.: Encapsulating Quality Attribute Knowledge. In: Proceedings WICSA 2005, pp. 193–194 (2005), ISBN 0-7695-2548-2
Bondarev, E., Chaudron, M., de With, P.: Quality-Oriented Design Space Exploration for Component-Based Architectures. Computer Science Reports. TUE Department of Mathematics and Computer Science. Eindhoven University of Technology, Eindhoven, The Netherlands (February 2006)
Buschmann, F., Meunier, R., Rohnert, H., Sommerlad, P., Stal, M.: Pattern-Oriented Software Architecture. In: A System of Patterns, Wiley & Sons, Chichester (1996)
Campo, M., Díaz-Pace, A., Zito, M.: Developing Object-oriented Enterprise Quality Frameworks using Proto-frameworks. In: Software: Practice and Experience, vol. 32(8), pp. 837–843. Wiley, Chichester (2002)
Clarke, J., Dolado, J., Harman, M., Hierons, R., Jones, R., Lumkinm, M., Mitchell, B., Mancoridis, S., Rees, K., Roper, M., Shepperd, M.: Reformulating Software Engineering as a Search Problem. In: Software, I.E.E. (ed.) Software IEE Proceedings, vol. 150(3), pp. 161–175 (2003), ISSN: 1462-5970
Coyne, R.: Design Reasoning Without Explanations. AI Magazine 11(4), 72–80 (1990)
Chung, L., Nixon, B., Yu, E.: Using Non-Functional Requirements to Systematically Select Among Alternatives in Architectural Design. In: Proceedings 1st International Workshop on Architectures for Software Systems, Seattle, pp. 31–43 (April 24-28, 1995)
de Bruin, H., van Vliet, H.: Quality-Driven Software Architecture Composition. Journal of Systems and Software 66(3), 269–284 (2003)
Diaz-Pace, A.: A Planning-based Approach for the Exploration of Quality-driven Design Alternatives in Software Architectures. PhD. Thesis. UNICEN University, Faculty of Sciences, Tandil, Argentina (2004)
Garlan, D., Monroe, R., Wile, D.: ACME: Architectural Description of Component-based Systems. In: Foundations of Component-based Systems, Cambridge Press (2000)
Garlan, D., Cheng, S., Schmerl, B.: Increasing System Dependability through Architecture-based Self-repair. In: de Lemos, Gacek, Romanovsky (eds.) Architecting Dependable Systems, Springer, Heidelberg (2003)
Grunske, L.: Identifying “Good” Architectural Design Alternatives with Multi-Objective Optimization Strategies. In: International Conference on Software Engineering (ICSE), Workshop on Emerging Results, Shanghai, ACM 1-59593-085-X/06/0005, pp. 849–852 (May 20-28, 2006)
Kazman, R., Klein, M., Clements, P.: ATAM: Method for Architecture Evaluation. Technical Report CMU/SEI-2000-TR-004 (August 2002)
Long, D., Fox, M.: Progress in AI Planning Research and Applications. Upgrade/Novatica 159. III (5), 10–25 (2002)
Nau, D., Au, T.-C., Ilghami, O., Kuter, U., Murdock, J.W., Wu, D., Yaman, F.: SHOP2: An HTN planning system. Journal of AI Research 20, 379–404 (2003)
Rich, C., Waters, R.: The Programmer´s Apprentice. Addison-Wesley, Reading (1990)
Smith, G., Gero, J.: What does an agent mean by being "situated"? Design Studies 26, 535–561 (2005)
Wilkins, D., desJardins, M.: A Call for Knowledge-based Planning. In: AI Magazine, vol. 22(1), Springer, Heidelberg (2001)
Yang, Q.: Intelligent Planning: A Decomposition and Abstraction based Approach. Springer, New York (1997)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2007 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Díaz-Pace, J.A., Campo, M.R. (2007). Using Planning Techniques to Assist Quality-Driven Architectural Design Exploration. In: Overhage, S., Szyperski, C.A., Reussner, R., Stafford, J.A. (eds) Software Architectures, Components, and Applications. QoSA 2007. Lecture Notes in Computer Science, vol 4880. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-77619-2_3
Download citation
DOI: https://doi.org/10.1007/978-3-540-77619-2_3
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-77617-8
Online ISBN: 978-3-540-77619-2
eBook Packages: Computer ScienceComputer Science (R0)