UModel Command Line Interface
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\UModel2025 directory. If you run UModel 32-bit on a 64-bit operating system, the path is C:\Program Files (x86)\Altova\UModel2025.
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 (*.project,*.xml,*.jpx,*.csproj,*.csdproj,*.vcxproj,*.vbproj,*.vbdproj,*.sln,*.bdsproj) /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\UModel2025\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:
/new | Specifies that the newly-created project file should be called "Fred.ump" in C:\My Projects |
/isd | Specifies that the source directory should be X:\TestCases\UModel\Fred |
/set | 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). |
/gui | Display the UModel graphical user interface during batch processing. |
/iclg | UModel will import the code as Java 8.0. |
/ipsd=1 | Recursively process all subdirectories of the root directory specified in the /isd parameter. |
/ijdc=1 | Create JavaDoc from comments where appropriate. |
/dgen=1 | Generate diagrams. |
/dopn=1 | Open generated diagrams. |
/chk | 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\UModel2025\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:
/m2c | Update the code from the model. |
/ejdc | Comments in the project model should be generated as JavaDoc. |
/ecod=1 | Comment out any deleted code. |
/emrg=1 | Synchronize the merged code. |
/egfn=1 | Generate any missing file names in the project. |
/eusc=1 | 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\UModel2025\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:
/new | Creates a new UModel project at the specified path. |
/ibt | Instructs UModel to import binary types. The asterisk before the path indicates that all binary types at that path must be imported. |
/iclg | Specifies the code generation language ("Java8.0", in this example). |
/ibrt | 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:
/ibrt:any /ibrt:.NET5 /ibrt:.NETFramework4.8(v4.8.3752)
The option "any" is the same as selecting "any (use disassembler)" from the "Runtime" drop-down list and is the recommended option. |
/dgen=1 | Generate diagrams. |
/chk | Perform a syntax check after import. |