A Tactic-Driven Process for Developing Reusable Components
True reusability of components assumes that they not only offer the functionality prescribed by their APIs, but also that they conform to a well-defined set of quality attributes so that we know if a component can be successfully reused in a new software product. One of the problems with quality attributes however is that it is hard to identify the characteristics of components that contribute to their emergence. End-user quality attributes are versatile and difficult to predict but their occurrence is not of an accidental nature. In this paper we propose a methodology for the exploration of candidate architectural tactics during component analysis and design for the achievement of desirable quality effects. Our approach is based on executable specifications of components that are augmented with the required tactic-related parameters to form a testbed for quality-driven experimentation. We believe that the proposed approach delivers both reusable components as well as reusable models.
KeywordsModel Program Quality Attribute Server Component Quality Response Abstract State Machine
Unable to display preview. Download preview PDF.
- 1.ISO/IEC 9126-1: Software Engineering - Product Quality - Part 1: Quality Model. ISO/IEC Standard, ISO/IEC 9126-1:2001(E) (2001)Google Scholar
- 3.Szyperski, C.: Component technology: What, Where, and How? In: Invited talk in ICSE 2003: Proceedings of the 25th International Conference on Software Engineering, pp. 684–693. IEEE Computer Society, Los Alamitos (2003)Google Scholar
- 4.Bachmann, F., et al.: Illuminating the Fundamental Contributors to Software Architecture Quality. Technical Report, CMU/SEI-2002-TR-025, Software Engineering Institute, Carnegie Mellon University (2002)Google Scholar
- 6.Bachmann, F., et al.: Deriving Architectural Tactics: A Step Toward Methodical Architectural Design. Technical Report, CMU/SEI-2003-TR-004 (March 2003)Google Scholar
- 7.Gurevich, Y.: Evolving Algebras 1993: Lipari Guide. In: Borger, E. (ed.) Specification and Validation Methods, pp. 9–36. Oxford University Press, Oxford (1995)Google Scholar
- 8.AsmL Website (2005), http://research.microsoft.com/fse/asml
- 9.Bass, L., Clements, P., Kazman, R.: Software Architecture in Practice, 2nd edn. Addison-Wesley, Reading (2003)Google Scholar
- 14.Wallnau, K.C.: Volume III: A Technology for Predictable Assembly from Certifiable Components. Carnegie Mellon University – Software Engineering Institute, Technical Report CMU/SEI-2003-TR-009 (April 2003)Google Scholar
- 17.ASM website (2005), http://www.eecs.umich.edu/gasm/
- 18.Barnett, M., Schulte, W.: Spying on Components: A Runtime Verification Technique. In: OOPSLA 2001 Workshop on Specification and Verification of ComponentBased Systems (2001)Google Scholar