Browse Prior Art Database

Universal Code Generator Based on Templates and Design Models

IP.com Disclosure Number: IPCOM000013714D
Original Publication Date: 1999-Oct-01
Included in the Prior Art Database: 2003-Jun-18
Document File: 1 page(s) / 37K

Publishing Venue

IBM

Related People

Jose Defreita: AUTHOR

Abstract

Disclosed is an approach which combines Unified Modeling Language (UML) design models and tagged templates to generate code. Templates represent design patterns, while tags are place-holders for model constructs. The combination of both provides the flexibility (through regeneration) to change not only the models, but also the frameworks, architecture and products on which a solution is based. A tool implementing this approach consists basically of a tag interpreter and a model navigator (please refer to the figure below). The tool accepts as input an UML model and a template, which contains tags. Tags are replaced by corresponding model elements, for example, class or attribute names. The tool does not concern itself with anything else in the template, other than the tags. This means that templates could consist of code in any programming language, that they could be an arbitrary document, Extensible Markup Language (XML), etc. It also means that templates can be easily changed, without affecting the generation tool. Ideally, UML models should be expressed in XMI (XML Metadata Interchange Format), thus ensuring modeling tool independence. Although the Tag Interpreter understands a limited tag vocabulary,

This text was extracted from a PDF file.
This is the abbreviated version, containing approximately 91% of the total text.

Page 1 of 1

Universal Code Generator Based on Templates and Design Models

      Disclosed is an approach which combines Unified Modeling Language (UML) design models and tagged templates to generate code. Templates represent design patterns, while tags are place-holders for model constructs. The combination of both provides the flexibility (through regeneration) to change not only the models, but also the frameworks, architecture and products on which a solution is based. A tool implementing this approach consists basically of a tag interpreter and a model navigator (please refer to the figure below). The tool accepts as input an UML model and a template, which contains tags. Tags are replaced by corresponding model elements, for example, class or attribute names. The tool does not concern itself with anything else in the template, other than the tags. This means that templates could consist of code in any programming language, that they could be an arbitrary document, Extensible Markup Language (XML), etc. It also means that templates can be easily changed, without affecting the generation tool.

Ideally, UML models should be expressed in XMI (XML Metadata

Interchange Format), thus ensuring modeling tool independence.

Although the Tag Interpreter understands a limited tag vocabulary,

additional "user" tags may be used. A user tag is a keyword which

is associated with a value (in the figure above, an ini file is

used to this effect). The value could represent a Java package

name, f...