Automatic Generation of Executable Code from Software Architecture Models
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.
KeywordsSoftware Architecture Sequence Diagram Coordination Model Parent Component Operation Call
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).
- 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
- Jakarta Commons Digester Website (2006) http://jakarta.apache.org/commons/digester
- Laird C. (2001) XMI and UML combine to drive product development, IBM Whitepapers, available at: http://www-128.ibm.com/developerworks/xml/library/x-xmi/
- OMG (2003) Unified Modeling Language: Superstructure version 2.0.Google Scholar
- OMG MDA Website (2006) http://www.omg.org/mda/
- Sparx Systems Website (2006) http://www.sparxsystems.com.au/