A Tactic-Driven Process for Developing Reusable Components

  • George Kakarontzas
  • Ioannis Stamelos
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4039)


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.


Model Program Quality Attribute Server Component Quality Response Abstract State Machine 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 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
  2. 2.
    Crnkovic, I., et al.: Concerning Predicatbility in Dependable Component-Based Systems: Classification of Quality Attributes. In: de Lemos, R., Gacek, C., Romanovsky, A. (eds.) Architecting Dependable Systems III. LNCS, vol. 3549, pp. 257–278. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  3. 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. 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
  5. 5.
    Veanes, M., et al.: Online testing with model programs. SIGSOFT Softw. Eng. Notes 30(5), 273–282 (2005)CrossRefGoogle Scholar
  6. 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. 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. 8.
  9. 9.
    Bass, L., Clements, P., Kazman, R.: Software Architecture in Practice, 2nd edn. Addison-Wesley, Reading (2003)Google Scholar
  10. 10.
    Barnett, M., et al.: Validating Use-Cases with the AsmL Test Tool. In: Proc. of the Third International Conference On Quality Software (QSIC 2003), p. 238. IEEE, Los Alamitos (2003)CrossRefGoogle Scholar
  11. 11.
    Glässer, U., Gurevich, Y., Veanes, M.: Abstract Communication Model for Distributed Systems. IEEE Transactions on Software Engineering 30(7), 458–472 (2004)CrossRefGoogle Scholar
  12. 12.
    Liu, Y., Gordon, I.: Performance Prediction of J2EE Applications Using Messaging Protocols. In: Heineman, G.T., Crnković, I., Schmidt, H.W., Stafford, J.A., Szyperski, C., Wallnau, K. (eds.) CBSE 2005. LNCS, vol. 3489, pp. 1–16. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  13. 13.
    Liu, Y., et al.: Predicting the Performance of Middleware-based Applications at the Design Level. In: Proc. of the 4th international workshop on Software and performance (WOSP 2004), pp. 166–170. ACM Press, New York (2004)CrossRefGoogle Scholar
  14. 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
  15. 15.
    Bass, L., et al.: Quality Attribute Design Primitives and the Attribute Driven Design Method. In: van der Linden, F.J. (ed.) PFE 2002. LNCS, vol. 2290, pp. 169–186. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  16. 16.
    Bass, L., John, B.E.: Linking usability to software architecture patterns through general scenarios. Journal of Systems and Software 66(3), 187–197 (2003)CrossRefGoogle Scholar
  17. 17.
    ASM website (2005),
  18. 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
  19. 19.
    Hillston, J.: A Compositional Approach to Performance Modelling. Cambridge University Press, Cambridge (1996)CrossRefGoogle Scholar
  20. 20.
    Cavarra, A., Riccobene, E., Scandurra, P.: Integrating UML Static and Dynamic Views and Formalizing the Interaction Mechanism of UML State Machines. In: Börger, E., Gargantini, A., Riccobene, E. (eds.) ASM 2003. LNCS, vol. 2589, pp. 229–243. Springer, Heidelberg (2003)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • George Kakarontzas
    • 1
  • Ioannis Stamelos
    • 1
  1. 1.Department of InformaticsAristotle University of ThessalonikiThessalonikiGreece

Personalised recommendations