MDG Technology for Symbian C++

Enterprise Architect provides built-in support for round-trip engineering of C++ code using UML class models. This capability has been extended to support model development for Symbian C++ code, using Sparx Systems' MDG Technology extensions.

Symbian C++ makes use of some language extensions1 via macros such as NONSHARABLE_CLASS, which is used to declare a class that is not part of a DLL exported API. Since these macros change both the nature of the class and its representation in code, they need to be handled as a special case by Enterprise Architect. By applying UML stereotypes in such cases, Enterprise Architect is able to make the distinction and alter the code generation and code import accordingly. In the example below, a class defined using the NONSHARABLE_CLASS macro is mapped to an appropriately stereotyped UML class:

Symbian C++

MDG Technology for Symbian C++ provides the stereotypes, code generation templates and reverse engineering extensions to support the Symbian C++ language extensions in Enterprise Architect.

To use the technology:

  1. Right-click the following link: MDG Technology for Symbian C++ (requires build 830 or later)
  2. Save the file to the MDGTechnologies subfolder of your Enterprise Architect installation folder*
    (for example: C:\Program Files\Sparx Systems\EA\MDGTechnologies)
  3. Start Enterprise Architect and open a model
  4. To start building Symbian C++ code models, first set your default language to C++ : “Tools > Options > Source Code Engineering > Default Language”
  5. Now set Symbian C++ as your default technology: “Settings > MDG Technologies > Symbian C++ > Set Active”

* Alternatively, you can host MDG Technology files from a user-defined URL or shared network resource to make remote MDG deployment easier

The Symbian C++ Technology is now enabled and its toolbox is associated with UML Class diagrams – allowing you to round-trip engineer code with Symbian C++ extensions

[1] Exporting and Importing Classes in Symbian OS