C is still the language of choice for many embedded systems. While providing the necessary compactness and run time efficiency for constrained targets, C lacks many of the higher level abstractions required for the development of safe and reliable yet complex systems.
For example, users can exploit the power of UML subclasses and polymorphism even though there is no direct support for these notions in the C programming language. The code generator will automatically produce the necessary code to implement these concepts. It also generates the code required to perform safe and effective memory management, reducing development time and eliminating the possibility of memory corruption and leaks.
The combination of xUML modelling and C code generation is therefore a powerful proposition. The full power of the xUML formalism is available to support the modelling and early testing of complex problem domains while efficient code generation can automatically produce a cost-efficient and reliable implementation.
The iUML tool suite therefore includes a powerful C code generator, TA-6 which is targeted at constrained embedded target environments.
