Automatic Generation of Executable Code from Software Architecture Models

  • Aristos Stavrou
  • George A. Papadopoulos


Our effort is focused on bridging the gap between software design and implementation of component-based systems using software architectures at the modeling/design level and the coordination paradigm at the implementation level. We base our work on the clear support of both software architectures and event-driven coordination models for Component-Based Software Engineering and the similarities we have identified between the fundamental concepts of software architectures and the event-driven coordination model. Exploiting the improvements realized by the latest version of UML towards the support of software architecture descriptions, we present a methodology for automating the transition from software architecture design of component-based systems described in UML 2.0 to coordination code. The presented methodology is further enhanced with a code generation tool that fully automates the production of the complete code implementing the coordination—communication part of software systems modeled with UML 2.0.


Software Architecture Sequence Diagram Coordination Model Parent Component Operation Call 
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.



The authors of this chapter would like to thank their partners in the MUSIC-IST project and acknowledge the partial financial support given to this research by the European Union (6th Framework Programme, contract number 35166).


  1. Arbab F., Herman I., and Spilling P. (1993) An overview of manifold and its implementation, Concurrency: Practice and Experience 5(1), 23–70.CrossRefGoogle Scholar
  2. Garlan D., Monroe R.T., and Wile D. (2000) ACME: An Architectural Description of Component Based Systems, Foundations of Component-Based Systems, Cambridge University Press, Cambridge, pp. 47–68.Google Scholar
  3. Jakarta Commons Digester Website (2006)
  4. Laird C. (2001) XMI and UML combine to drive product development, IBM Whitepapers, available at:
  5. Medvidovic N. and Taylor R.N. (2000) A classification and comparison framework for software architecture description languages, IEEE Transactions on Software Engineering 26(1) 70–93.CrossRefGoogle Scholar
  6. OMG (2003) Unified Modeling Language: Superstructure version 2.0.Google Scholar
  7. OMG MDA Website (2006)
  8. Papadopoulos G.A. and Arbab F. (2001) Configuration and dynamic reconfiguration of components using the coordination paradigm, Future Generation Computer Systems 17(8), 1023–1038.MATHCrossRefGoogle Scholar
  9. Papadopoulos G.A., Stavrou A., and Papapetrou O. (2006) An implementation framework for software architectures based on the coordination paradigm, Science of Computer Programming 60(1), 27–67.MathSciNetMATHCrossRefGoogle Scholar
  10. Sparx Systems Website (2006)

Copyright information

© Springer Science+Business Media, LLC 2009

Authors and Affiliations

  • Aristos Stavrou
  • George A. Papadopoulos

There are no affiliations available

Personalised recommendations