Towards Architecture-Centric Software Generation

  • Chung-Horng Lung
  • Balasangar Balasubramaniam
  • Kamalachelva Selvarajah
  • Poopalasinkam Elankeswaran
  • Umatharan Gopalasundaram
Part of the Lecture Notes in Computer Science book series (LNCS, volume 6285)


Architecture-centric software generation has the potential to support flexible design and large-scale reuse. This paper describes the development of an architecture-centric framework that consists of multiple architecture alternatives, from which the architect can select and generate a working prototype in a top-down manner through a user interface rather than building it from scratch. The framework is primarily built with well-understood design patterns in distributed and concurrent computing. The development process involves extensive domain analysis, variability management, and bottom-up component engineering effort. The framework enables the architect or designer to effectively conduct upfront software architecture analysis and/or rapid architectural prototyping.


domain analysis variability management architecture-centric development generative technique patterns concurrency 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Alhussaini, A., Balasubramaniam, B., Chandrabose, P., Kasinathan, A.: Software Restructuring and Performance Evaluation, Project Report, Department of Systems & Computer Eng., Carleton University (2004)Google Scholar
  2. 2.
    Bardram, J.E., Christensen, H.B., Hansen, K.M.: Architectural Prototyping: An Approach for Grounding Architectural Design and Learning. In: Proc. of the 4th Working IEEE/IFIP Conf. on Software Architecture, pp. 15–24 (2004)Google Scholar
  3. 3.
    Batory, D., Chen, G., Robertson, E., Wang, T.: Design Wizards and Visual Programming Environments for GenVoca Generators. IEEE Trans. on Soft. Eng. 26(5), 441–452 (2000)CrossRefGoogle Scholar
  4. 4.
    Batory, D., Sarvela, J.D., Rauschmayer, A.: Scaling Step-Wise Refinement. IEEE Trans. Soft. Eng. 30(6), 355–371 (2004)CrossRefGoogle Scholar
  5. 5.
    Batory, D.: Multi-Level Models in Model Driven Development, Product-Lines, and Metaprogramming. IBM Systems Journal 45(3), 1–13 (2006)CrossRefGoogle Scholar
  6. 6.
    Bosch, J.: Design and Use of Software Architectures: Adopting and Evolving a Product-Line Approach. Addison-Wesley, Reading (2000)Google Scholar
  7. 7.
    Czarnecki, K., Eisenecker, U.W.: Generative Programming Methods, Tools, and Applications. Addison Wesley, Reading (2000)Google Scholar
  8. 8.
    Franks, G., Al-Omari, T., Woodside, M., Das, O., Derisavi, S.: Enhanced Modeling and Solution of Layered Queueing Networks. IEEE Transactions on Software Engineering 35(2), 148–161 (2009)CrossRefGoogle Scholar
  9. 9.
    Heineman, G.T., Councill, W.T.: Component Based Software Engineering: Putting the Pieces Together. Addison-Wesley, Reading (2001)Google Scholar
  10. 10.
    Hillston, J.: A Compositional Approach to Performance Modelling. Cambridge University Press, Cambridge (1996)CrossRefzbMATHGoogle Scholar
  11. 11.
    Kazman, R., Klein, M., Barbacci, M., Longstaff, T., Lipson, H., Carriere, J.: The Architecture Tradeoff Analysis Method. In: Proc. of the 4th Int’l. Conf. on Eng. of Complex Comp. Sys., pp. 68–78 (1998)Google Scholar
  12. 12.
    Lee, J.-C., Zhang, X.: Performance Investigation of a Network System on Different Linux Kernels. Project Report 2004, Dept. of Systems & Comp. Eng., Carleton University (2004)Google Scholar
  13. 13.
    Lung, C.-H., Kalaichelvan, K.: A Quantitative Approach to Software Architecture Sensitivity Analysis. Int’l. Journal of Software Eng. and Knowledge Eng. 10(1), 97–114 (2000)CrossRefGoogle Scholar
  14. 14.
    Lung, C.-H., Zhao, Q., Xu, H., Mar, H., Kanagaratnam, P.: Experience of Communications Software Evolution and Performance Improvement with Patterns. In: Proc. of IASTED Software Engineering, Feburary 2004, pp. 321–326 (2004)Google Scholar
  15. 15.
    Lung, C.-H., Zhao, Q.: Pattern-Oriented Reengineering of a Network System. Journal of Systemics, Cybernetics and Informatics 2(5) (2004)Google Scholar
  16. 16.
    Lung, C.-H., Zaman, M., Goel, N.: Reflection on Software Architecture Practices – What Works, What Remains to Be Seen, and What Are the Gaps. In: Proc. of the 5th Working Conf. on Software Architecture (2005)Google Scholar
  17. 17.
    Lung, C.-H., Balasubramaniam, B., Selvarajah, K., Elankeswaran, P., Gopalasundaram, U.: Architecture-Centric Software Generation: An Experimental Study on Distributed Systems. In: Proc. of Generative Programming and Component Engineering for QoS Provisioning in Distributed Systems (October 2006)Google Scholar
  18. 18.
    Martensson, F., Grahn, H., Mattsson, M.: Prototype-based Software Architecture Evaluation – Component Quality Attribute Evaluation. In: Proc. of the 4th Conf. on Software Engineering Research and Practice, Sweden, pp. 11–17 (2004)Google Scholar
  19. 19.
    Northrop, L.M., Clements, P.C.: A Framework for Software Product Line Practice, Version 5.0. Software Engineering Institute, Carnegie Mellon University (2005)Google Scholar
  20. 20.
    Schmidt, D., Stal, M., Rohnert, H., Buschmann, F.: Pattern-Oriented Software Architecture: Patterns for Concurrent and Networked Objects. Wiley, Chichester (2000)zbMATHGoogle Scholar
  21. 21.
    Smith, C.U., Williams, L.G.: Performance Solutions A Practical Guide to Creating Responsive and Scalable Software. Addison-Wesley, Reading (2001)Google Scholar
  22. 22.
    Sztipanovits, J., Karsai, G.: Generative Programming for Embedded Systems. In: Proc. of the 1st Conf. on Generative Programming and Component Eng., pp. 32–49 (2002)Google Scholar
  23. 23.
    Thaker, S., Batory, D., Kitchin, D., Cook, W.: Safe Composition of Product Lines. In: Proc. of the 6th Int’l. Conf. on Generative Programming and Component Eng., pp. 95–104 (2007)Google Scholar
  24. 24.
    Trujillo, S., Batory, D., Diaz, O.: Feature Oriented Model Driven Development: A Case Study for Portlets. In: Proc. of the 29th Int’l. Conf. on Software Eng., pp. 44–53 (2007)Google Scholar
  25. 25.
    Trujillo, S., Azanza, M., Diaz, O.: Generative Metaprogramming. In: Proc of the 6th Int’l Conf. on Generative Programming and Component Engineering, October 2007, pp. 105–114 (2007)Google Scholar
  26. 26.
    Williams, L.G., Smith, C.U.: PASA: An Architectural Approach to Fixing Software Performance Problems. In: Proceedings of CMG (2002)Google Scholar
  27. 27.
    Woodside, C.M., Franks, G., Petriu, D.C.: The Future of Software Performance Engineering. In: Proc. of the 29th International Conference on Software Engineering, pp. 171–187 (2007)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2010

Authors and Affiliations

  • Chung-Horng Lung
    • 1
  • Balasangar Balasubramaniam
    • 2
  • Kamalachelva Selvarajah
    • 1
  • Poopalasinkam Elankeswaran
    • 2
  • Umatharan Gopalasundaram
    • 2
  1. 1.Department of Systems and Computer EngineeringCarleton UniversityOttawaCanada
  2. 2.Nortel NetworksOttawaCanada

Personalised recommendations