Experience on Building an Architecture Level Adaptable System

  • Xu Zhang
  • Chung-Horng Lung
Part of the Lecture Notes in Business Information Processing book series (LNBIP, volume 112)


Distributed and concurrent systems have become common in enterprises, and the complexity of these systems has increased dramatically. The self-adaptive feature can be advantageous for complex systems, because it can acclimate to a dynamically changing environment. To achieve this goal, this paper presents a Self-Adaptive Framework for Concurrency Architecture (SAFCA). SAFCA includes multiple concurrency architectural alternatives and is able to adapt to an appropriate architecture based on changes in the environment and the control policy. With an autonomic control, SAFCA can handle bursty workloads by invoking another architectural alternative at runtime instead of statically configured to accommodate the peak demands, which requires higher system resources even when they are not needed. Experimental results demonstrate that SAFCA can improve performance. The experience can be useful for building complicated systems that have multiple configurations or diverse demands, such as cloud computing.


software adaptation software architecture software performance engineering concurrency patterns 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Brun, Y., Di Marzo Serugendo, G., Gacek, C., Giese, H., Kienle, H., Litoiu, M., Müller, H., Pezzè, M., Shaw, M.: Engineering Self-Adaptive Systems through Feedback Loops. In: Cheng, B.H.C., de Lemos, R., Giese, H., Inverardi, P., Magee, J. (eds.) Self-Adaptive Systems. LNCS, vol. 5525, pp. 48–70. Springer, Heidelberg (2009)Google Scholar
  2. 2.
    International Symp. on Software Engineering for Adaptive and Self-Managing Systems (2006-2012)Google Scholar
  3. 3.
    Enterprise Management Associates, Practical Autonomic Computing: Roadmap to Self-Managing Technology. Tech. Rep., IBM, Boulder, CO (January 2006)Google Scholar
  4. 4.
    IBM Autonomic Computing Architecture Team, An Architectural Blueprint for Autonomic Computing, Tech. Rep., IBM, Hawthorne, NY (June 2006)Google Scholar
  5. 5.
    Kephart, J., Chess, D.: The Vision of Autonomic Computing. Computer 36(1), 41–52 (2003)MathSciNetCrossRefGoogle Scholar
  6. 6.
    Kramer, J., Magee, J.: Self-Managed Systems: An Architectural Challenge. In: Proc. of the Future of Software Engineering, FOSE, pp. 259–268 (2007)Google Scholar
  7. 7.
    Muller, H.A., et al.: Autonomic Computing, Tech. Rep., Software Engineering Institute (April 2006)Google Scholar
  8. 8.
    Schmidt, D., Stal, M., Rohnert, H., Buschmann, F.: Pattern-Oriented Software Architecture, Patterns for Concurrent and Networked Objects. Wiley (2000)Google Scholar
  9. 9.
    Welsh, M., et al.: A Design Framework for Highly Concurrent Systems, T.R., UC Berkeley (2000)Google Scholar
  10. 10.
    Welsh, M., Culler, D.: Adaptive Overload Control for Busy Internet Servers. In: Proc. of the 4th USENIX Conference on Internet Technologies and Systems, p. 4 (March 2003)Google Scholar
  11. 11.
    Zhang, X., Lung, C.-H., Franks, G.: Towards Architecture-based Autonomic Software Performance Engineering. In: Proc. of the 4th Conference on Software Architectures, CAL (2010)Google Scholar
  12. 12.
    Zhang, X., Lung, C.-H.: Improving Software Performance and Reliability with an Architecture-Based Self-Adaptive Framework. In: Proc. of IEEE COMPSAC (2011)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2012

Authors and Affiliations

  • Xu Zhang
    • 1
  • Chung-Horng Lung
    • 1
  1. 1.Department of Systems and Computer EngineeringCarleton UniversityOttawaCanada

Personalised recommendations