Composable Code Generation for Model-Based Development

  • Kirk Schloegel
  • David Oglesby
  • Eric Engstrom
  • Devesh Bhatt
Part of the Lecture Notes in Computer Science book series (LNCS, volume 2826)


Many engineering and application domains, including distributed real-time and embedded (DRE) systems, are increasingly employing a graphical model-based development approach. However, the full potential of this approach has not yet been realized due to the complexity of automatically generating non-standard types of code. In this paper, we present a new framework for generating code that is referred to as composable code generation. Under this framework, code generators are not written as monolithic programs that are separate from their corresponding graphical models as has been the practice in the past. Instead, code generators are composed of modular entity-specific generation routines that are attached directly to modeling entities, their meta-data, or to collections of modeling entities. Code is built up by traversing the model, querying each entity that is encountered for a specific type of code generation routine and then executing each accessed routine. We describe this framework in detail and provide experimental results from a DRE application domain.


Code Generation Modeling Notation Modeling Entity Generation Routine Java Code Generator 
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.
  2. 2.
    DOME is an open source research project, available at
  3. 3.
    Egyed, A., Balzer, R.: Unfriendiy COTS Integration– Instrumentation and Interfaces for Improved Plugability. In: Proc. of 16th Conf. on Automated Software Engineering (ASE 2001) (2001)Google Scholar
  4. 4.
    Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, Reading (1995)Google Scholar
  5. 5.
    Gu, Z., Kodase, S., Wang, S., Shin, K.: A Model-Based Approach to System-Level Dependency and Real-Time Analysis of Embedded Software. In: Proc. of IEEE Real-Time and Embedded Technology and Applications Symposium (RTAS 2003) (May 2003)Google Scholar
  6. 6.
    Carter, K.: Supporting Model Driven Architecture with eXecutable UML. Technical Report (2002),
  7. 7.
    Ledeczi, A., Bakay, A., Maroti, M., Volgyesi, P., Nordstrom, G., Sprinkle, J., Karsai, G.: Composing Domain-specific Design Environments. In: Computer, pp. 44–51 (November 2001)Google Scholar
  8. 8.
    Lee, E., et al.: PTOLEMY II: Heterogeneous Concurrent Modelling and Design in Java (2002),
  9. 9.
    The MathWorks, Inc. MATLAB User Guide. Natick, MA 01760-1500 (1998)Google Scholar
  10. 10.
    Oglesby, D., Schloegel, K., Bhatt, D., Engstrom, E.: A Pattern-based Framework to Address Abstraction, Reuse, and Cross-domain Aspects in Domain Specific Visual Languages. In: Proc. of OOPSLA 2001 (2001)Google Scholar
  11. 11.
    Quatrani, T.: Visual Modeling with Rational Rose and UML. Addison-Wesley Object Technology Series (1997)Google Scholar
  12. 12.
    Schoegel, K., Oglesby, D., Engstrom, E., Bhatt, D.: A New Approach to Capture Multimodel Interactions in Support of Cross-domain Analyses (2001)Google Scholar
  13. 13.
    Xerox Corporation. The AspectJTM Programming Guide (2002),

Copyright information

© Springer-Verlag Berlin Heidelberg 2003

Authors and Affiliations

  • Kirk Schloegel
    • 1
  • David Oglesby
    • 1
  • Eric Engstrom
    • 1
  • Devesh Bhatt
    • 1
  1. 1.Honeywell InternationalMinneapolisUSA

Personalised recommendations