Imvertor is a chain processor, listing a range of processors and transformations to be applied on the information model initially provided.
The chains concern vital Imvertor functions (such as transforming XMI to Imvertor, basic validation, and reporting), but also additional functions for particular requirements. Users may choose a model and configure Imvertor to create the desired output, for example: HTML documentation, reporting, XSD and JSON schema’s and more.
Though Imvertor could be seen and used as a generic chain processor, it is tailor made for information model processing. To this end it takes an information model (hence "imvertor"; the "IM convertor"), and processes it.
Every company may implement the chain in a way that suits its needs. Many modules in the chain are common to all Imvertor processors; some are local to a particular project or company.
Imvertor provides primarily a fixed software foundation, much like a "framework": a Configurator, a Runner, a Reporter, file handling modules, and so on. These modules are common to all Imvertor installs.
Next Imvertor defines a minimum set of "steps" that are deemed relevant for most or all Imvertor chains. This includes a configuration compiler, an XMI translator, a reporter, a ZIP packer, and so on.
Finally imvertor allows any number of steps to be added to expand the functional domain of Imvertor. These steps will all conform to a generic step mechanism, and have access to all relevant modules. Examples are a model documentation step, an XML schema composer, a compliancy test template generator, and many more.