What is Header2XMI
A software development may use UML, the Unified Modelling Language to get an overview over the architecture of the software. Some UML-Tools promote the Model-driven development, which means that the whole software development process is sub-ordered under the UML-Tool. But in some cases a classic software development process using C-files, headers, makefiles and a proper Integrated Development environment is established. UML may be used really for the software-architecture, the overview over routines and data, respectively classes and methods. Header files can be converted to a UML model using the XMI standard (XML Metadata Interchange). All UML-Tools should support import and export of XMI, it is a part of the UML 2.0-standard.
This example of ZBNF and the belonging XSL-Scripts helps to go the way from C-Headers to UML. The software can be visited
and documented in UML, with feedback to improve the C-sources. C-
struct are represented as classes in UML. A special notation binds C-prototype-defined routines in headers to the
struct, there are class methods.
The example contains:
MyStruct.h: an simple headerfile.
testHeader2XMI_bat.bat: Windows-batch file, which contains the 2 steps of conversion. This file calls the conversion routines immediately. Some
local environment variables are used. The
XML_TOOLS should be set with the directory, which contains the SAXON- and JDOM-Jar files.
testHeader2XMI_Ant.bat: Windows-batch file, which contains a call of the Zmake-processing, see example Zmake. To use this example, you should adapt
the content of the file
.../zbnfjax/setZBNFJAX_HOME.bat to set, where the environment (SAXON, JAVA) is located.
All generated files inclusively the tmp files are given as
.reference to compare the result.