Skip to main content

Automatic Control Flow Generation from Software Architectures

  • Conference paper
Software Composition (SC 2006)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 4089))

Included in the following conference series:

Abstract

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Aldrich, J., Chambers, C., Notkin, D.: ArchJava: Connecting software architecture to implimentation. In: Proc. ICSE 2002, pp. 187–197. IEEE, Los Alamitos (2002)

    Chapter  Google Scholar 

  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. ArchJava web page, http://archjava.fluid.cs.cmu.edu/index.html

  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)

    Chapter  Google Scholar 

  5. Dykes, L., Tittel, E., Valentine, C.: XML Schemas. Sybex Inc. (2002)

    Google Scholar 

  6. Gamma, E., Helm, R., Johnson, R., Vlissides, J.: The courier pattern. Dr. Dobb’s Journal (Feburary 1996)

    Google Scholar 

  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. 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. 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. 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. 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), http://www.elsevier.nl/locate/entcs

  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)

    Chapter  Google Scholar 

  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. 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. Shaw, M., Garlan, D.: Software Architecture: Perspectives on an Emerging Discipline. Prentice-Hall, Englewood Cliffs (1996)

    MATH  Google Scholar 

  16. Szyperski, C., Gruntz, D., Murer, S.: Component Software: Beyond Object-Oriented Programming, 2nd edn. Addison-Wesley, Reading (2002)

    Google Scholar 

  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)

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2006 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Lau, KK., Ukis, V. (2006). Automatic Control Flow Generation from Software Architectures. In: Löwe, W., Südholt, M. (eds) Software Composition. SC 2006. Lecture Notes in Computer Science, vol 4089. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11821946_21

Download citation

  • DOI: https://doi.org/10.1007/11821946_21

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-37657-6

  • Online ISBN: 978-3-540-37659-0

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics