Jump to: navigation, search

JET FAQ Can JET handle UML models as input?

Revision as of 09:21, 11 July 2007 by Pelder.ca.ibm.com (Talk | contribs) (New Article)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)


Can JET load and traverse UML2 models?


UML2 Models (.uml, .uml2 or Rational Software Architect .emx files) are EMF-based models. So, yes, JET can read them. Here are some tips for doing it:

  1. Open plugin.xml on your JET transformation, switch the the Extensions tab, expand 'org.eclipse.jet.transform', click '(transform)', and set the modelLoader field to 'org.eclipse.jet.emf'.
  1. The UML2 meta model is very large, and I find must users are not intimately familiar with the navigation features. JET has a special XPath enhancement to make life a little easier. An XPath step such as $parent/foo is interpreted as "the contents of the EReference named 'foo' on the object identified by $parent". But, if there is not 'foo' feature, JET will then attempt to find a contained class of $parent (i.e. something in eContents()) whose eClass name is 'foo'. So, the following are equivalent:
/contents/nestedPackages/ownedTypes[@name = 'Person']/ownedAttributes[@name = 'address']/type/@name

/Model/Package/Class[@name = 'Person']/Property[@name = 'address']/type/@name
  1. JET doesn't cannot access stereotypes or steroetype properties. If you need, custom XPath functions could be created to access these.