Round Trip Engineering

It is imperative for future productivity of expander development to simplify, and automate to a large extent, the round trip engineering loop of expander development. This round trip engineering process includes extensions to both the meta-model and the expanders. This implies:

• The nearly complete generation or expansion of elements-io, nsx-prime, and the expander data representation classes based on the XML meta-model.

• The ability of expander developers to introduce extensions by working merely on the meta-model and the expander templates without having to bother about the interactions, and import/export.

Of course, this is a development that has become possible thanks to the existence of the expanders themselves. Originally, the expanders codebase needed to contain data classes to represent the various data objects of the meta-model, and reader/writer classes to read/write the meta-models from/to files. Now that the expanders are fully operational, it becomes feasible to expand these data representation and reader/writer classes from the meta-model. This bootstrapping over time of the expanders is schematically represented in the drawing below.

metamodel