Overview
The Art Exporter translates a UML-RT model into files that can be opened in Code RealTime:
- UML-RT elements that have a corresponding representation in the Art language are translated to Art files. There is one Art element in each such file. For example, a UML-RT capsule is translated to an Art capsule and a UML-RT protocol is translated to an Art protocol.
- Other UML-RT elements are translated to C++ source files. There are usually two C++ files generated for each model element, one
.cppfile and one.hfile. For example, a UML-RT class is translated to a C++ class with declarations in a.hfile and implementations in a.cppfile. - A TC file from Model RealTime is translated into a corresponding TC file for Code RealTime.
- Layout information for Model RealTime diagrams is translated into layout JSON files.
Note the following:
- If your UML-RT model uses UML modeling constructs which are outside the realtime subset of UML, for example use case and sequence diagrams, those parts of the model will not be exported. If you use such UML diagrams for documentation and specification purposes in Model RealTime you should keep using Model RealTime for those parts of your model. Code RealTime is not intended to be (or become) a general purpose UML modeling tool.
- Code RealTime implements more validation rules than what Model RealTime does. It's therefore not uncommon that problems will be reported when you open or build your exported model in Code RealTime. In some cases the Art Exporter will detect such problems and then report a warning, so make sure to carefully read and understand the warnings that are reported when you export your model. In many cases the best way to handle reported problems is to fix them in the Model RT model and then export it again. However, for some problems (especially warnings) you may instead choose to ignore them by customizing the severity of the validation rules that report them.
- Model RT TCs may use inheritance, which is not supported in Code RealTime. Usually it's better to use build variants than TC inheritance, and the build variants feature works the same both in Model RealTime and Code RealTime. If you export a TC that uses inheritance all inherited properties will be placed in the exported TC.
- Export of diagram layout information is currently only supported for state diagrams. Other diagrams will use automatic layout. This is a temporary limitation that will be removed in a future version of the Art Exporter.
- The appearance of diagrams is not completely retained, especially if you have customized it in Model RealTime. For example, custom fonts, images etc. will not be exported. Even if some appearance properties may be supported in a future version of Code RealTime it's unlikely that all diagrams will ever look exactly the same in Code RealTime as in Model RealTime, due to differences in the diagram frameworks that are used. If you have certain appearance settings that are extra important for you, please tell us about them.