Altova UModel 2024 Enterprise Edition

UModel Command Line Interface

Home Prev Top Next

In addition to the graphical user interface, UModel also has a command line interface. To open the command line interface, run the UModelBatch.exe file available in the C:\Program Files\Altova\UModel2024 directory. If you run UModel 32-bit on a 64-bit operating system, the path is C:\Program Files (x86)\Altova\UModel2024.


The command line parameter syntax is shown below, and can be displayed in the command prompt window by entering: umodelbatch /?


Note:If the path or file name contains spaces, enclose it in quotes, for example: "C:\Program Files\...\MyProject.ump".


usage: UModelBatch.exe [project] [options]


/? or /help ... display this help information


project     ... project file (*.ump)

/new[=file] ... create/save/save as new project, see Creating, Loading, and Saving Projects in Batch Mode

/set        ... set options permanent

/gui        ... display UModel user interface


commands (executed in given order):

/chk        ... check project syntax

/isd=path   ... import source directory

/isp=file   ... import source project file


/ibt=list   ... import binary types (specify binary[typenames] list)

               (';'=separator, '*'=all types, '#' before assembly names)

/ixd=path   ... import XML schema directory

/ixs=file   ... import XML schema file (*.xsd)

/m2c        ... update program code from model (export/forward engineer)

/c2m        ... update model from program code (import/reverse engineer)

/ixf=file   ... import XMI file

/exf=file   ... export to XMI file

/inc=file   ... include file

/mrg=file   ... merge file

/doc=file   ... write documentation to specified file

/lue[=cpri] ... list all elements not used on any diagram (i.e. unused)

/ldg        ... list all diagrams

/lcl        ... list all classes

/lsp        ... list all shared packages

/lip        ... list all included packages


options for save as new project:

/npad=opt   ... adjust relative file paths (Yes | No | MakeAbsolute)


options for import commands:

/iclg=lang  ... code language (Java1.4 | Java5.0 | Java6.0 | Java7.0 | Java8.0 | Java9.0 |

                              Java10.0 | Java11.0 | Java12.0 | Java13.0 | Java14.0 | Java15.0 |

                              C#1.2 | C#2.0 | C#3.0 | C#4.0 | C#5.0 | C#6.0 | C#7.0 | C#7.1 | C#7.2 | C#7.3 | C#8.0 | C#9.0 |

                              VB7.1 | VB8.0 | VB9.0 |

                              C++98 | C++11 | C++14 | C++17)

/ipsd[=0|1] ... process sub directories (recursive)

/irpf[=0|1] ... import relative to UModel project file

/ijdc[=0|1] ... JavaDocs as Java comments

/icdc[=0|1] ... DocComments as C# comments

/icds[=lst] ... C# defined symbols

/ivdc[=0|1] ... DocComments as VB comments

/ivds[=lst] ... VB defined symbols (custom constants)

/icppdm[=lst] ... C++ defined macros

/icpphi[=0|1] ... read only C++ header files

/icpphc[=0|1] ... treat .h files a .cpp files

/icppms[=0|1] ... enable C++ Microsoft Compiler compatibility

/icppmv[=ver] ... MSVC version to use (1900 | 1800 | 1700 | 1600 | 1500 | 1400 | 1310 | 1300 | 1200)

/icppsy[=0|1] ... auto detect C++ system include files

/icppid[=lst] ... list of C++ include directories to use

/icppsd[=lst] ... list of C++ system include directories to use

/icppag[=arg] ... Additional C++ arguments for the compiler

/imrg[=0|1] ... synchronize merged

/iudf[=0|1] ... use directory filter

/iflt[=lst] ... directory filter (presets /iudf)


options for import binary types (after /iclg):

/ibrt=vers  ... runtime version

/ibpv=path  ... override of PATH variable for searching native code libraries

/ibro[=0|1] ... use reflection context only

/ibua[=0|1] ... use add referenced types with package filter

/ibar[=flt] ... add referenced types package filter (presets /ibua)

/ibot[=0|1] ... import only types

/ibuv[=0|1] ... use minimum visibility filter

/ibmv[=key] ... keyword of required minimum visibility (presets /ibuv)

/ibsa[=0|1] ... suppress attribute sections / annotation modifiers

/iboa[=0|1] ... create only one attribute per attribute section

/ibss[=0|1] ... suppress 'Attribute' suffix on attribute type names


options for diagram generation:

/dgen[=0|1] ... generate diagrams

/dopn[=0|1] ... open generated diagrams

/dsac[=0|1] ... show attributes compartment

/dsoc[=0|1] ... show operations compartment

/dscc[=0|1] ... show nested classifiers compartment

/dstv[=0|1] ... show tagged values

/dudp[=0|1] ... use .NET property compartment

/dspd[=0|1] ... show .NET property compartment


options for export commands:

/ejdc[=0|1] ... Java comments as JavaDocs

/ecdc[=0|1] ... C# comments as DocComments

/evdc[=0|1] ... VB comments as DocComments

/espl[=0|1] ... use user defined SPL templates

/ecod[=0|1] ... comment out deleted

/emrg[=0|1] ... synchronize merged

/egfn[=0|1] ... generate missing file names

/eusc[=0|1] ... use syntax check


options for XMI export:

/exid[=0|1] ... export UUIDs

/exex[=0|1] ... export UModel specific extensions

/exdg[=0|1] ... export diagrams (presets /exex)

   /exuv[=ver] ... UML version (UML2.0 | UML2.1.2 | UML2.2 | UML2.3 | UML2.4 | UML2.5 | UML2.5.1)


options for merge file:

/mcan=file  ... common ancestor file


options for documentation generation:

/doof=fmt   ... output format (HTML | RTF | MSWORD | PDF)

/dsps=file  ... SPS design file


Example 1: Import Java source code and preserve settings

The following command imports source code and creates a new project file. Notice that the project path contains spaces and is enclosed in quotes.


"C:\Program Files\Altova\UModel2024\UModelBatch.exe" /new="C:\My Projects\Fred.ump" /isd="X:TestCases\UModel\Fred" /set /gui /iclg=Java8.0 /ipsd=1 /ijdc=1 /dgen=1 /dopn=1 /dmax=5 /chk


The meaning of all options is as follows:



Specifies that the newly-created project file should be called "Fred.ump" in C:\My Projects


Specifies that the source directory should be X:\TestCases\UModel\Fred


Specifies that any options used in the command line tool will be saved in the registry (When subsequently starting UModel, these settings become the default settings).


Display the UModel graphical user interface during batch processing.


UModel will import the code as Java 8.0.


Recursively process all subdirectories of the root directory specified in the /isd parameter.


Create JavaDoc from comments where appropriate.


Generate diagrams.


Open generated diagrams.


Perform a syntax check.


Example 2: Synchronize code from the model

The following command updates code from an existing project file ("C:\UModel\Fred.ump").


"C:\Program Files\Altova\UModel2024\UModelBatch.exe" "C:\UModel\Fred.ump" /m2c /ejdc=1 /ecod=1 /emrg=1 /egfn=1 /eusc=1


The meaning of all options is the same as in the previous examples, plus:



Update the code from the model.


Comments in the project model should be generated as JavaDoc.


Comment out any deleted code.


Synchronize the merged code.


Generate any missing file names in the project.


Use the syntax check.


Example 3: Import Java binaries into the model

Let's assume that some Java binary .class files exist in the C:\JavaProject\bin directory, and you want to import these binaries into UModel. To do this, run the following command:


"<C:\Program Files\Altova\UModel2024\UModelBatch.exe>" /new="C:\JavaProject\Result.ump" /ibt=*C:\JavaProject\bin /iclg=Java8.0 /ibrt=JDK1.8.0_144 /dgen=1 /chk


The options used are as follows:



Creates a new UModel project at the specified path.


Instructs UModel to import binary types. The asterisk before the path indicates that all binary types at that path must be imported.


Specifies the code generation language ("Java8.0", in this example).


Specifies the runtime environment ("JDK1.8.0_144" in this example). This is the same value that appears on the "Import Binary Types" dialog box in the "Runtime" drop-down list, see Importing Java, C# and VB.NET Binaries. You can also use a value like "jdk-10.0.1" as set in the JAVA_HOME environment variable.


For C#, you can use the value /ibrt:any or otherwise values as they appear in the GUI in the "Runtime" drop-down list, making sure to omit any spaces. Examples:






The option "any" is the same as selecting "any (use disassembler)" from the "Runtime" drop-down list and is the recommended option.


Generate diagrams.


Perform a syntax check after import.

© 2018-2024 Altova GmbH