November 13, 2015

Automating Software Integration

Modeling Wizard

It’s the tool you didn’t know you need

The Modeling Wizard makes it easy to develop verifiable interfaces for the FACE™ Technical Standard.

Comparison of time saved using the Modeling WizardImagine a job that normally takes 1 year taking only 2 weeks.  Or how about a job that normally two weeks taking 4 hours?  The Modeling Wizard reduces the time it takes to document interfaces by walking you through a simple process.

The Modeling Wizard not only reduces development and production time, it is drop dead simple to use in creation of FACE verifiable models.

Produces FACE verifiable models
Reduces development time
Improves efficiency
Lowers Costs


Get the Modeling Wizard today and start documenting your interfaces without the need to understand the FACE Technical Standard!

Modeling Wizard FAQ

What are the System Requirements?

Microsoft Windows 7 (or above)

4 GB RAM (Recommended)

How do I install the Modeling Wizard?

The Modeling Wizard for the FACE Technical Standard application is bundled into an installer to make it easier for you to install.  Simply run the “FMW vx.y.z Installer.exe” application and follow the prompts.

How do I enable logging?

By default, the application is configured to log all errors to disk under the application’s logs folder.  The logging properties can be modified by editing the “” file in the application directory.

The default logging level is WARNING.  This means that all warnings and errors will be reported.

Valid logging levels are:

  • OFF
  • INFO
  • FINE
  • ALL

To disable logging completely, simply comment out the creation of the “handlers” near the top of the “” file.

WARNING: If the log file path is changed, THE PATH MUST EXIST in order for the logs to be created!

How do I get a license?

A free, 30-day evaluation license for the Modeling Wizard may be requested here:

Request License

At the end of your license, a member of our team will follow up to see if there is anything we can do to help.

For some customers, the Modeling Wizard is available for government use.  Please contact us for more information.

How do I get support?

Commercial Modeling Wizard licenses include a one-year service contract which provide different service levels.

Government Purpose Rights (GPR) licenses is unsupported, but we will be happy to help you.

Please contact us if we can be of any service.

Modeling Wizard Troubleshooting

What is a valid format for IDL?

The IDL importer for the Modeling Wizard is based on the OMG CORBA IDL v3.5 specification.  Any valid IDL structures and data types are expected to work in with the modeling wizard.

There are a couple of use cases that should be considered:

  1. Preprocessor directives are not supported.  The IDL parser only operates on IDL and not any of the preprocessor directives commonly found in IDL.  If the IDL “includes” other files, it is recommended that these files be merged (either manually or by using a preprocessor) prior to use with the tool.  It is also acceptable to comment (with “//”) the preprocessor directives.
  2. All views should be wrapped in a module.  In standard IDL, it is valid to define data in the global namespace, but the Modeling Wizard’s parser expects a module name.  If your IDL is limited to one, simple struct, the module is not required (but is still highly recommended).
  3. Valid IDL data types will automatically be mapped to FACE Platform Types by the application.  All complex types and enumerations that are defined in the IDL file will also be mapped.  The user will be prompted to choose a proper mapping (or to ignore) non-standard data types.
  4. Loading multiple ICD files is supported.  It has the same effect as if the ICD elements were serially placed in a single file.
  5. The IDL importer uses namespaces (module names) as folder names in the exported module.  This is limited to the immediate parent of the data.  Once loaded by the modeling wizard, the namespaces do not further discriminate the data types.

What do I do after loading the IDL?

After loading an ICD file, you should be able to continue to the next step in the process, “Assign Missing Data Types,” as shown below.


If this navigation option is not present, that means that there are no valid views currently loaded.  If you have already tried to import an IDL file, that is a strong indication that the input file is invalid.

A valid IDL file can be downloaded here.

Why is my Data Model not loading?

There can be many reasons why a data model is not loading.  While the Modeling Wizard catches many errors, there are a couple of families of errors that it does not catch.

First, the Modeling Wizard expects a verified Data Model as its input data model. Models exported without warnings using Vanderbilt University’s tools (found here) have been tested and are valid for use in the Modeling Wizard.

Non-Standard Namespaces

In a recent test, it was found that the Modeling Wizard does not accept non-standard namespaces.  While it may yield a valid model, the software will not find valid data in the model.  The following values are expected:

  • xmlns:xmi=””
  • xmlns:conceptual=”″
  • xmlns:face=”″
  • xmlns:logical=”″
  • xmlns:platform=”″
  • xmlns:uop=”″


Modeling Wizard Templates

What language are the templates written in?

The templates are written in Apache FreeMarker. This gives you all of the functionality and built-in directives that you would expect from FreeMarker with a couple of minor extensions.

In order to provide all of the functionality needed to serve as our code and documentation engine, a couple of directives were added.  Please review the rest of the documentation for more information.

What are the additional directives?

In order to get all of the desired functionality out of FreeMarker, it was necessary to add a couple of custom directives.

@closeOutputFile – used to close an output file.  This is necessary to make sure that any previously open file is saved before starting a new file.  This should be called near the top of each template.  It has no parameters.

@changeOutputFile filename=”name_of_file_to_write– used to change the name of the output file.  This should be called at the beginning of each iteration when a template is used to write several files.  This directive has one required parameter.

@optional name=”name_of_optional_field” canEdit=”true|false – Although FreeMarker already has a built in ability to indicate a field as optional, it was necessary to add this method for expanded functionality.  When a Modeling Wizard template can declare variables that are not defined in the FreeMarker data model, the user may be prompted with a value for that field.  Thus, there are two levels of optionality.  It may simply be that a value may optionally exist.  In that case, the default FreeMarker syntax is sufficient.  If, on the other hand, the user-defined value (those known to not exist in the template) is optional, this directive must be used.  This directive has one required parameter to indicate the name of the optional variable and one optional parameter to indicate if the user should be able to edit the user-defined variable (the default is true).


What is the structure of the Modeling Wizard FreeMarker Data Model?

The ‘Dump Data Model.ftl’ template that ships with the Modeling Wizard shows how to export each and every item in the data model.  This can be used as a reference to find what data is available to the template developer.

Starting with version 1.2, a Template Utility is included in the distribution.  This tool will help template developers build a template in a sandbox environment.

1 thought on “Automating Software Integration

Comments are closed.