Site Navigation:

ULM.gen overview

Project components

The ULM.gen components are the following:

  • UMM, the ULM.gen Meta Model, which defines the XML interchange format through specific bindings. It is also used to define Python objects from the pyulmgen component, and could be used to define objects for other language bindings, such as Java.

  • RXIE, Rose XML import/export component, which is an add-in to the Rose UML tool intended to export and import UML information in the XML interchange format, and also to handle activation of external tools such as code generators. Rose is a tool from IBM Rational (TM). RXIE is developed in Visual Basic 6, as it is bound to the COM technology from Microsoft (TM).

  • pyulmgen is a binding to UMM written in the Python scripting language. It is a set of python scripts that encode and decode XML files containing UML data in the UMM simple format, and provide Python objects that can be handled with StringTemplate. It is the core of ULM.gen framework. The Python StringTemplate is a powerful template engine under BSD license: read more about it at:

  • It is planned that other UML tools, at least an open source one, will be integrated in the near future. The ArgoUML tool would be a good candidate. Rational Software Architect under the Eclipse platform would be another commercial candidate.

It was initially planned that ULM.gen would be implemented in the Java programming language, which explains the existence of two additional Java components. Both components are used on several projects and will continue to be maintained. They could also be used as a basis to port the pyulmgen component in Java.

  • sbean: The SoftBean Introspection Utilities component offers low-level utility classes that assist in getting and setting property values on Java classes that follow the naming design patterns outlined in the JavaBeans Specification, but it is also able to manage associations between objects that are implemented with java.util.Collection's.

  • sbxb: The SoftBean XML Binding Utilities component offers services to bind an XML document to a set of Java SoftBean objects, and to generate XML data from the state of those objects.