Automatic Control Flow Generation from Software Architectures

  • Kung-Kiu Lau
  • Vladyslav Ukis
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4089)


In a traditional software architecture, control originates in components and flows to other components via connectors. The system’s control flow is fixed at design time, when components and their inter-connections are specified. Code generated from the design inherits this control flow, and consists of component code and glue code that tightly couples connected components. This means that code generated from a given software architecture is system-specific, and is therefore neither generic nor reusable. In this paper we describe an approach which allows separate reuse of component code and connector code, and thus making it possible to build architectures from pre-existing components and generic connectors. Furthermore, we show we can implement such architectures by generating control flow at run-time automatically.


Software Architecture Connection Structure Component Code Generic Connector Connector Type 
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.
    Aldrich, J., Chambers, C., Notkin, D.: ArchJava: Connecting software architecture to implimentation. In: Proc. ICSE 2002, pp. 187–197. IEEE, Los Alamitos (2002)CrossRefGoogle Scholar
  2. 2.
    Arbab, F.: The IWIM model for coordination of concurrent activities. In: Hankin, C., Ciancarini, P. (eds.) COORDINATION 1996. LNCS, vol. 1061, pp. 34–56. Springer, Heidelberg (1996)Google Scholar
  3. 3.
  4. 4.
    Dashofy, E.M., van der Hoek, A., Taylor, R.N.: A highly-extensible, XML-based architecture description language. In: Proc. Working IEEE/IFIP Conference on Software Architecture, pp. 103–112. IEEE Computer Society Press, Los Alamitos (2001)CrossRefGoogle Scholar
  5. 5.
    Dykes, L., Tittel, E., Valentine, C.: XML Schemas. Sybex Inc. (2002)Google Scholar
  6. 6.
    Gamma, E., Helm, R., Johnson, R., Vlissides, J.: The courier pattern. Dr. Dobb’s Journal (Feburary 1996)Google Scholar
  7. 7.
    Garlan, D., Monroe, R.T., Wile, D.: Acme: Architectural description of component-based systems. In: Leavens, G.T., Sitaraman, M. (eds.) Foundations of Component-Based Systems, pp. 47–68. Cambridge University Press, Cambridge (2000)Google Scholar
  8. 8.
    Khare, R., Guntersdorfer, M., Oreizy, P., Medvidovic, N., Taylor, R.N.: xADL: Enabling architecure-centric tool integration with XML. In: Proc. 34th Hawaii Int. Conf. on System Sciences (2001)Google Scholar
  9. 9.
    Lau, K.-K., Ukis, V.: Component metadata in component-based software development: A survey. Preprint 34, School of Computer Science, The University of Manchester, Manchester, M13 9PL, UK (October 2005)Google Scholar
  10. 10.
    Lau, K.-K., Ukis, V.: Deployment contracts for software components. Preprint 36, School of Computer Science, The University of Manchester, Manchester, M13 9PL, UK (February 2006)Google Scholar
  11. 11.
    Lau, K.-K., Ukis, V., Velasco, P., Wang, Z.: A component model for separation of control flow from computation in component–based systems. In: Proceedings of the 1st International Workshop on Aspect-Based and Model-Based Separation of Concerns in Software Systems, Nuremberg, Germany, ENTCS (November 2005),
  12. 12.
    Lau, K.-K., Velasco Elizondo, P., Wang, Z.: Exogenous connectors for software components. In: Heineman, G.T., Crnković, I., Schmidt, H.W., Stafford, J.A., Szyperski, C., Wallnau, K. (eds.) CBSE 2005. LNCS, vol. 3489, pp. 90–106. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  13. 13.
    Mehta, N.R., Medvidovic, N., Phadke, S.: Towards a taxonomy of software connectors. In: Proc. 22nd International Conference on Software Engineering, pp. 178–187. ACM Press, New York (2000)Google Scholar
  14. 14.
    Pruitt, S., Stuart, D., Sull, W., Cook, T.W.: The merit of XML as an architecture description language meta-language. Microelectronics and Computer Technology Corporation (1998)Google Scholar
  15. 15.
    Shaw, M., Garlan, D.: Software Architecture: Perspectives on an Emerging Discipline. Prentice-Hall, Englewood Cliffs (1996)zbMATHGoogle Scholar
  16. 16.
    Szyperski, C., Gruntz, D., Murer, S.: Component Software: Beyond Object-Oriented Programming, 2nd edn. Addison-Wesley, Reading (2002)Google Scholar
  17. 17.
    Taylor, R.N., Medvidovic, N., Anderson, K.M., Whitehead Jr., E.J., Robbins, J.E., Nies, K.A., Oreizy, P., Dubrow, D.L.: A component- and message-based architectural style for GUI software. Software Engineering 22(6), 390–406 (1996)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Kung-Kiu Lau
    • 1
  • Vladyslav Ukis
    • 1
  1. 1.School of Computer ScienceThe University of ManchesterManchesterUnited Kingdom

Personalised recommendations