Advertisement

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)

Abstract

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.

Keywords

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

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  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