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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Alhussaini, A., Balasubramaniam, B., Chandrabose, P., Kasinathan, A.: Software Restructuring and Performance Evaluation, Project Report, Department of Systems & Computer Eng., Carleton University (2004)
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)
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)
Batory, D., Sarvela, J.D., Rauschmayer, A.: Scaling Step-Wise Refinement. IEEE Trans. Soft. Eng. 30(6), 355–371 (2004)
Batory, D.: Multi-Level Models in Model Driven Development, Product-Lines, and Metaprogramming. IBM Systems Journal 45(3), 1–13 (2006)
Bosch, J.: Design and Use of Software Architectures: Adopting and Evolving a Product-Line Approach. Addison-Wesley, Reading (2000)
Czarnecki, K., Eisenecker, U.W.: Generative Programming Methods, Tools, and Applications. Addison Wesley, Reading (2000)
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)
Heineman, G.T., Councill, W.T.: Component Based Software Engineering: Putting the Pieces Together. Addison-Wesley, Reading (2001)
Hillston, J.: A Compositional Approach to Performance Modelling. Cambridge University Press, Cambridge (1996)
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)
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)
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)
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)
Lung, C.-H., Zhao, Q.: Pattern-Oriented Reengineering of a Network System. Journal of Systemics, Cybernetics and Informatics 2(5) (2004)
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)
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)
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)
Northrop, L.M., Clements, P.C.: A Framework for Software Product Line Practice, Version 5.0. Software Engineering Institute, Carnegie Mellon University (2005)
Schmidt, D., Stal, M., Rohnert, H., Buschmann, F.: Pattern-Oriented Software Architecture: Patterns for Concurrent and Networked Objects. Wiley, Chichester (2000)
Smith, C.U., Williams, L.G.: Performance Solutions A Practical Guide to Creating Responsive and Scalable Software. Addison-Wesley, Reading (2001)
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)
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)
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)
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)
Williams, L.G., Smith, C.U.: PASA: An Architectural Approach to Fixing Software Performance Problems. In: Proceedings of CMG (2002)
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)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2010 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Lung, CH., Balasubramaniam, B., Selvarajah, K., Elankeswaran, P., Gopalasundaram, U. (2010). Towards Architecture-Centric Software Generation. In: Babar, M.A., Gorton, I. (eds) Software Architecture. ECSA 2010. Lecture Notes in Computer Science, vol 6285. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-15114-9_6
Download citation
DOI: https://doi.org/10.1007/978-3-642-15114-9_6
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-15113-2
Online ISBN: 978-3-642-15114-9
eBook Packages: Computer ScienceComputer Science (R0)