Guillaume Finance

VISEO (Sparx EA Expert, OMG OCSMP Model User certified)
Modelling consultant and expert on Sparx Systems Enterprise Architect modelling tool and solution, I'm helping clients with the model-based approach using standards for a number of contexts including:
- Software analysis, design and architecture with UML.
- Systems Engineering and MBSE with SysML.
- Enterprise Architecture, IT landscape with UML or ArchiMate.
- Business processes with BPMN.
My other activities include:
- Defining and maintaining the model repository including requirements, analysis and design for software projects.
- Remote support and expertise on Sparx Enterprise Architect modelling.
- Running training sessions on UML or SysML with Sparx Systems Enterprise Architect.
- Installation and configuration of Prolaborate web solution for Sparx EA.
I publish articles and news about modelling languages and Enterprise Architect on my blog, maintain eaUtils free addin:, and I participate in the European EA User Group events
Contact details: guillaume[at]

Microsoft AzuRE DB Cloud Services with Sparx Enterprise Architect

This article provides guidance on setting up a Sparx Systems Enterprise Architect modelling project in the Cloud, using Microsoft Azure SQL Database services.

Microsoft Azure SQL Database (formerly SQL Azure, SQL Server Data Services, SQL Services, Windows Azure SQL Database) is a cloud-based service from Microsoft offering data-storage capabilities (similar to Amazon Relational Database Service) as a part of the Azure Services Platform (Source: wikipedia).

As regards an Azure SQL Database is very similar to a Microsoft SQL Server database, supported by Sparx Enterprise Architect. A few tweaks were needed a while ago, however Sparx Systems has since released an Azure version which works well.


We started a distributed project involving partners from several locations, hence working remotely. In order to set up a centralised database that can be easily accessed and maintained, we chose Microsoft Azure SQL services.

We tested the following services by increasing the DTU levels (Database Transaction Units).

  • We started with the Basic option (5 DTU): KO, too slow.
  • S0 option (10 DTU): KO, too slow for a daily use.
  • S1 option (20 DTU): OK, chosen option with the best performance/cost ratio.
  • S2 option (50 DTU): OK with a slight improvement over Q1 which did not however support the increased cost.


Below are the requirements prior to transfer an existing Enterprise Architect project in the Microsoft database cloud-based service:

  • Create an Azure SQL Database where the modelling project data will be stored (note: a database is required for each EA project).
    • Once available, details should include a server url (e.g., port (e.g. 1433), and credentials (username + password).
  • Download and install SQL Server Management Studio.
  • Download and install SQL Server ODBC drivers (if not already available).
  • Download SQL scripts provided by Sparx Systems to create the required Enterprise Architect repository tables:

Setting up the database tables

The first step involves creating the tables where the EA project data will be stored.

  •  Open the SQL Server Management Studio, and provide the Azure SQL database details.

microsoft management studio azure enterprise architect cloud

  • Open the "SQLAzure_EASchema.sql" file downloaded from Sparx Systems web site.

microsoftsql database azure enterprise architect cloud run schema script sparx

  • Execute the query against your database and wait for the Successful confirmation notification.

microsoftsql database azure enterprise architect cloud completed schema script sparx

  • Refresh the Object Explorer to view Enterprise Architect tables.

microsoft sql database azure enterprise architect cloud object explorer

Transferring your project to Microsoft Azure SQL Database

You're ready to transfer data from your existing Enterprise Architect project, whether it is stored in a local EAP file, or shared in a centralised DBMS. In the following example, a local EAP file is transferred:

  • Open Enterprise Architect, menu Project | Data Management | Project Transfer
  • Select "File to DBMS" transfer type.
  • In Source Project, select the local EAP file.
  • In Target Project, click on the [...] button to access the ODBC settings
    • Select the SQL Server driver > click Next
    • Provide the Azure SQL database details

microsoft SQL database azure enterprise architect cloud odbc

  •  Click OK; the project transfer is ready to be launched.

microsoft management studio azure enterprise architect project transfer

  • The transfer may take some time to complete (it could around 15 minutes to transfer my project). Please wait for the confimation message to be displayed.

Your Enterprise Architect project is now centralized and available to all team members who have suitable credentials. Specific guidelines to set up ODBC access are recommended to reduce the time required setting up each user's PC.

It is also recommended to enable "EA Security" feature where users can create locks to access and update models.

sparx logo execution analyzer

Enterprise Architect is mainly used as a modelling tool to define and maintain a structured set of models based on standard languages or notations such as UML, BPMN, SysML, or ArchiMate.

Enterprise Architect includes several features to fulfill other needs, associated with functional, business, design, or architecture aspects. This article illustrates the use of Enterprise Architect Execution Analyzer to capture and record method calls between instances of implementation classes during code runtime. A method call recording feature can be enabled:

  • to visualize and analyze interactions i.e. invoked methods between instanciated implementation classes,
  • to document implementation classes,
  • to understand a software or application behaviour,
  • as an option to identify reasons for bugs when static code analysis hasn't been satisfying.

Note: static code analysis can be carried on the source code from the IDE, whereas dynamic code analysis is carried in a runtime environment.


More and more complex technical architectures are defined for projects, with several heterogeneous software components communicating via their interfaces or services, and design patterns such as Dependency Injection can be applied to load modules or objects at run time, preventing any analysis at compile time.

Investigating bugs in such context on a production environment can be difficult. Source code analysis from the IDE may not be the right place to find solutions. This is exactly a case that one of my clients came across; Enterprise Architect Execution Analyzer feature offered an interesting and innovative approach enabling dynamic code analysis via method call recording. This could potentially lead to identify details surrounding a random software bug. In this specific case, as the issue was not related with the code itself, the Execution Analyzer hasn't identified any clue.

This article illustrates how to configure and use this feature in Sparx Enterprise Architect 12. As an example, I selected an Enterprise Architect add'in project I'm currently working on. The technical environment involves a Visual Studio 2012 C# solution. The Execution Analyzer also works with other technical environments such as Java or C++.

Setting up a suitable workspace

The Execution Analyzer involves the use of several views which can be enabled from the Analyzer menu:

  • Manager Analyzer Scripts
  • Debug > Debugger
  • Breakpoints and Markers

sparx enterprise architect execution analyzer menu

Once all the mentioned views have been displayed in your Enterprise Architect workspace, this configuration can be saved from the menu View > Perspectives > Save as New.

sparx enterprise architect perspective

Configuring the Execution Analyzer

Importing the source code with reverse engineering

Start with importing the source code in the Enterprise Architect project:

  • Create a package and run Code Engineering > Import Source Directory.
  • Select C# and the folder that contains the source code.

sparx enterprise architect import source directory

  • Packages and implementation classes resulting from the reverse engineering are visible from the Project Browser.

sparx enterprise imported csharp code

Create a local path for the IDE

To easily access and run Visual Studio IDE files, the local path %VS2012% has been defined via the menu Tools > Local Directories and Path:

Create an Execution Analyzer Script

Right click on the root package where implementation classes have been imported, and select Execution Analyzer; the dialog box below is displayed. Click on Yes to generate an Execution Analyzer script on this package.

sparx enterprise execution analyzer config

The Execution Analyzer script properties are displayed. Configure the source code compilation from the Build tab:

  • The command line need to match the following example:
    • "%VS2012%\" /build Debug myapp.sln
  • Default directory: source code location
  • Parse Output: Microsoft .NET
  • Exec Command as: Batch File
  • These settings will be used by Enterprise Architect to build the C# solution.

sparx enterprise execution analyzer config build

Select the Clean tab and provide the same information as previously (Build), and replace "/build" with "/clean" in the command line:

  • "%VS2012%\" /clean Debug myapp.sln
  • These settings will be used by Enterprise Architect to clean the C# solution.

sparx enterprise execution analyzer config clean

Open the Debug\Platform tab, and provide the following information:

  • Debugger: Microsoft.NET
  • Select Run
  • Default directory: location for compiled binary files
  • Application path: application to launch
  • These settings will be used by Enterprise Architect to start the applicatin in debug mode (in the case of an add'in, Sparx Enterprise Architect is launched).

Open the Debug\Workbench tab:

  • The following properties can be entered e.g. by selecting a DLL file, so that implementation classes can be instanciated from Enterprise Architect (this feature is not used in the current article).

sparx enterprise execution analyzer config workbench

Define breakpoints

As the source code can be opened in Enterprise Architect, breakpoints can be defined like in Visual Studio or any other IDE. Once a breakpoint is reached during the runtime, the application is suspended, pending any user action in Enterprise Architect, acting like an IDE since it builds and debugs the application.

Enterprise Architect supports a specific type of breakpoints: Recording Markers, described below. 

  • Open the source code from a class in the Project Browser (select the class > F12)
  • Enterprise Architect internal code editor opens the source code file associated with the class, e.g. src\Main.cs

sparx enterprise execution analyzer source code f12

  • A right click on a line in the source code can be used to insert a Breakpoint > Add Start/End Recording Marker

sparx enterprise execution analyzer breakpoint

  • Add Start Recording Marker indicates that Enterprise Architect must start recording the method calls
  • Add End Recording Marker indicates that any active recording must end (optional)
  • In the following example, two recording markers have been added: start recording on line 114, and stop on line 118.
  • Once a start recording marker is reached, method calls are recorded in the project. This data can be used after exiting the debug mode to generate UML sequence diagram.

sparx enterprise execution analyzer record breakpoint

Build with the Execution Analyzer

Important: Windows 7 usually requires to starts Enterprise Architect as an Administrator so the Build can be run without any error.

sparx enterprise start as admin

Select and right click on the the Execution Analyzer script (configuration) > Build, or click on Build Current Package :


The System Output view displays results to confirm if the build has been successful (content should be identical to a Build run in Visual Studio).

Debug with the Execution Analyzer

To start the Debug from Enterprise Architect, select and right click on the script > Debug.

A new instance of Enterprise Architect is launched in order to run tests on the add’in (other types of applications will be launched in debug mode).

Use the add’in to reach a start recording marker e.g. by displaying the About window.

On the Start Recording Marker is reached, Enterprise Architect starts recording method calls. Note that the add'in execution can be more or less slowed down due to the recording processing performed by Enterprise Architect. This show down can be relative on the analysed application.

Additional add'in features can be tested to reach the Stop Recording Marker.

Display the Record and Analyze view to show all recorded method calls, listed under a sequence of interactions.

Each interaction has two "Method" columns: the first displays the current class and method whereas the second one displays the invoked class and method, alongside parameters. A double click on one of the interactions opens the invoked method in the source code, e.g. gui.About.About invoked from Mail.EA_MenuClick:

A right click on the whole sequence will generate a UML sequence diagram with the recorded data.

Note: number 15 in the above screenshot defines the depth level to record calls. This can be modified according to analysis requirements.

The following dialog is shown to optionally rename and confirm the sequence diagram to create in the modelling project:

An illustration of the generated diagram is shown below. Colours and comments have been added following the carried analysis.

The above diagram shows a scenario of executing the code according to the deployed version in the runtime environment. This diagram and the implementation class model generated using the reverse engineering can be associated with other modelling elements, such business classes, processes, or requirements.

sparx enterprise architect 12.1 beta

Sparx Systems released mid September the first beta of Enterprise Architect version 12.1. Full details on this version are available here.

Below is a summary of the main features and enhancements introduced in EA 12.1.

Web-based, online EA User Guide

Enterprise Architect User Guide has been redesigned to access the help content from a web browser. By default, the EA user guide is opened on Sparx Systems web site in order to access an up to date help content.
For those who use Enterprise Architect offline, an installation file makes it possible to access it locally. The online help section is available here.

Project Security

Management of security user accounts and groups in Enterprise Architect 12.1 has been improved with the Active Directory Groups support (prior to this version, each AD user had to be imported).

Permission and user details are shown in a more efficient manner.

Tagged Values support in the Traceability view

The traceability view provides a dynamic, navigable view of the current element's relationships to other elements in the model, e.g. to find associated classes, realized requirements, etc.

Enterprise Architect 12.1 adds a support for model elements referenced in a Tagged Value. To illustrate this enhancement, a RefGUID Tagged Value (see. Sparx EA User Guide) has been defined so that a reference between an business and implementation class can be set. In the example below, the traceability view shows a link between Class1 (Domain Object) and Class1 (System) via the "Tagged Value References" list.


Metafile rendering improvement

Image Metafile rendering has been improved with Enterprise Architect 12.1. An anti-aliasing filter is applied for many metafiles to increase the image clearness. Below is a screenshot-based comparison between Enterprise Architect versions 12 (build 1512) and 12.1 (build 1220).

Enterprise Architect 12 :

Capture écran EA 12

Enterprise Architect 12.1 :

Note: a new image library to use with Enterprise Architect 12 is available from Sparx Systems web site.

Quicklinker: Create multiple elements

The Quicklinker is a very useful feature that lets you create elements on the fly from within a diagram. Enterprise Architect 12.1 makes it possible to create multiple elements at once. When dragging the Quicklinker, a new option is available:

The popup window below lets you define a list of associated elements, providing their name, type and link type:

Once submitted, the expected elements are created:

Model Wizard pattern customization

The Model Wizard is available via the Project Browser to create a predefined model structure, provided by Sparx Systems. A new "Customize Pattern on Import" option is available to let users select the model branches to generate.

Virtualized Connector Ends

Enterprise Architect 12.1 introduces the concept of virtualized elements, a feature that lets you show several times the same element onto a diagram. This feature answers a need for a number of users that need to achieve this e.g. to simplify its layout.

I tried to add the same class twice onto a diagram and Enterprise Architect didn’t let me do that, so how does this feature work?

Once a connector has been created between elements, a right click on this connector makes it possible to create a virtual representation of the element. In the following diagram, a blue connector has been added between the Transaction and ShoppingBasket classes.

A right click on the connector lets you virtualize the connector end either to the Source or Target i.e. it lets you create a virtualized element of the source (Transaction class) or the target (ShoppingBasket class).


  • Enterprise Architect 12.1 does not let you create connectors to a virtualized element. It would be useful as an enhancement to allow the association of a virtualized element with any other element.
  • When the element or any of its virtualized version is selected, they’re all selected. 
  • When the main element is hidden, all virtualized elements are hidden as well since they're directly associated with connectors.
  • Hiding a virtualized element will hide the connector as well.
  • Virtualized elements don't count as additional occurrences of the element in the diagram (results from running Find in All Diagrams are the same).

Diagram Legends

This feature hasn’t changed for a while until this new version 12.1 which supports a link between the diagram legend and the rendering style of the elements and connectors.

The Diagram Legend window provides additional options to compare elements with the legend’s content. If an element matches a set of criteria, it will be rendered with a fill colour, line colour and line width as set in the legend’s value. This is enabled with the “Apply auto color” option.

To test this enhancement, a filter has been defined on the element’s alias i.e. the legend’s values will be compared with the elements’ aliases. Evaluation has been restricted to Class elements (see option "Applies to" in the screenshot below). On the following diagram:

  • StockItem class is rendered in green as its alias is set to 1
  • LineItem class is rendered in light red as its alias is set to 2
  • Class2 class is rendered in light blue as its alias is set to Class (note that Class1 alias doesn’t match)

Note: the association stereotyped “test” is rendered in orange as per the following settings.

 This enhancement can save time, however I can see some limitations:

  • In a given legend, I can only apply a filter for a specific type of elements. In other words it is not possible to define styles for classes, interfaces, and components in a diagram. A diagram legend definition is also restricted to a given element’s property such as the alias (note the element’s name doesn’t seem to be supported). It would make more sense to make the Filter and Applies to settings specific to each diagram legend value.
  • Matching values only work with numeric values or identical string values. It would help to have a way to set a rule like ‘Class-*’.
  • It would also be useful to have an option to define a connector’s line style based on the legend (e.g. Orthogonal, Tree Style...).
  • The tested value is shown in the legend whereas in most cases it is not relevant to the target audience. It would be better to have a separate field to set the content to display in the diagram legend, e.g. to display "Customer" for elements matching the rule where their Alias starts with "Cust-", instead of showing "Cust-" in the legend.

Info View

According to Sparx Systems, Info View is a new option aimed at providing “a simplified view of an element that allows the name, description and selected other properties to be displayed […]. This view allows a diagram to be constructed for a non-technical audience or any purpose where display of descriptions is more important than the notations defined by the modeling language.”

This can be enabled via a right click on an element > Info View > Enabled. Then properties can be chosen as needed. Below is an illustration for a class and use case:

Windows Phone 8 Wireframing support

Wireframing has been introduced in version 12 to create UI diagrams for web sites, iPhone, iPad and Android phones. Windows Phone support has been added in Enterprise Architect 12.1:

Schema Composer

The Schema Composer includes the following enhancements in version 12.1:

  • CIM Schemas can be reverse-engineered to create Schema Composer profiles.
  • When loading classes into the Schema Composer from Message Assemblies or from Class Diagrams, all classes referenced through inheritance and associations are also loaded, ensuring the inclusion of all classes required for generation of valid schemas.

SysML 1.4 support, SysML 1.2 & 1.3 enhancements

SysML 1.4 is now supported and enhancements have been added for previous SysML 1.2 and 1.3 versions:

  • Multiplicity is shown for SysML 1.2 and 1.3 ports displayed in a compartment on their parent block.
  • On Parametric diagrams, SysML 1.3 Properties owned by constraint blocks or constraint properties are now drawn as a small box with an external label.
  • The ID and Text values of SysML requirements can now be displayed in the Summary window.
  • Behaviour of copies of SysML requirements updated such that Text tagged value on copies is pinned and updated as the original is updated.

BPSim 1.0 support

Sparx Systems has announced the following: “Enterprise Architect supports BPSim, a specification for parameterization and exchange of process analysis data, allowing the creation, comparison and reuse of different simulation configurations stored within the model. BPSim takes into account a wide range of runtime information such as statistical information, random variations, queuing, scheduling and resources. BPSim configurations can be exported from Enterprise Architect for consumption in a 3rd party simulation engine”.

Note that a BPSim capable simulator is planned to be released in Enterprise Architect for the end of this year.

BPSim Enterprise Architect 12.1 business process simulation

Thursday, 24 September 2015 07:35

Feedback from the EAUG Paris 2015

I organised and attended the first edition of the EAUG in Paris last week. It's been a very busy, interesting and exciting day overall.

My colleague at VISEO, Yves Connetable, wrote a very good summary on what happened during this day. I translated it as follows to share it beyond the french speakers. I'm looking forward to the next edition in 2016!

Meeting up

Users and experts of Sparx Systems modelling tool gathered at the first French edition of the EAUG (Enterprise Architect User Group) which took place on Thursday September 17th in Paris suburbs.

The day started with a breakfast for the participants who came from all over France or abroad, from a wide range of businesses and industries. Discussions started straight away.

Lean Enterprise Architecture

The first talk from Gregory Weinbach covered the Lean Enterprise Architecture. Gregory shared his vision i.e. a “model added-value” driven Enterprise Architecture. He showed a simple metamodel aimed at defining the target vision for a large company’s IT. The metamodel was defined in Sparx EA through an MDG Technology with UML profiles and toolboxes.

The following quote was particularly notable: “The best model is the one that we haven’t done”. It illustrates an Enterprise Architecture approach based on simplification and costs reduction. To achieve this, the Enterprise Architecture team had to work with deadlines in a SCRUM project mode. The first Sprint led to a model that could be validated by users. Gregory demonstrated that an Agile Enterprise Architecture is feasible, having Sparx EA as a compatible tool for this environment.

MBSE with SysML for the biomedical industry

The second talk was about SysML and MBSE applied for the design of Medical Equipment. Our speakers were Pascal Roques, famous in France for his books on UML and SysML, and Dominique Travel, Chief System Architect at bioMérieux.

After an introduction on SysML and bioMérieux context, Pascal and Dominique provided explanations on the model-based method, and showed some of the diagrams done in EA. The wide range of features, an easy to use platform, and a low licensing cost contributed towards the project. Amongst the MBSE pillars i.e. language, tool, and method, the latter involved most efforts as it had to be tailored for the context. In most cases, purchasing the modelling tool licenses alongside a couple of training sessions are the only identified requirements for MBSE. EA models were used as a mean to share information, generate technical specifications, and improve communication between system and software teams.

Case Study on TOGAF ADM and ArchiMate with BEASI add-in

The next presentation was given by Tobias Ivarsson from Biner, based in Sweden. Tobias talked about an Enterprise Architecture project run for a large company in the Automotive Industry. Biner created BEASI, an add-in aimed at simplifying the use of TOGAF and Archimate in Sparx EA. BEASI provides a predefined structure of models, a Gap Analysis tool between baseline and target models, and an advanced relationships matrix. Gaps generated by BEASI are organized by work packages and used to define Transition Architectures; both views made it possible to create the roadmap.

The project delivered the target vision of the Procurement area and the associated roadmap. The combined use of EA and BEASI greatly simplified the deployment of TOGAF and Archimate.


Lunchtime was an opportunity to enjoy a French buffet, spend time with other participants, share opinions, and follow onsite demonstrations. I shared the features of the Requester add-in from VISEO, which is due to be released soon. Ian and Jackie Mitchell ran demos and answered queries on their eaDocX Word and Excel generator for Sparx EA. Lars Lungren from Biner provided information on their TOGAF/Archimate BEASI add'in.

EAUG Paris 2015 lunch with Eiffel Tower

The surrounding view in Paris let us enjoy the famous Tower which gave its name to an object-oriented programming language based on the design by contract, and the command-query separation. This lunch break over, back to the afternoon presentations.

Model-Driven Engineering: from modelling to generating code

Paris EAUG 2015 model driven engineering with EA and MDG

It started with a franco-belgian presentation on the model-driven and code generation approach led by Albert Janssens and Michel Gibelli from the French “Ministère de l’écologie, du développement durable et de l’énergie”. They started by providing some explanations on their Khephren approach and Kamon notation. Albert then talked about extending EA with the use of UML profiles and MDG Technologies.

Examples of diagrams created for the UI and business rules were illustrated. Models were exported to XMI so they could be used in the Acceleo code generation tool. Hence, most of the new applications were generated directly from the EA models.

eaDocX Collaboration Edition: Agile Documentation

eaug paris 2015 eadocx collaboration edition documentation agile

Following the code generation came the documentation generation, and more precisely a demonstration of eaDocX Collaboration Edition aimed at simplifying the model validation process from the generated documents. Guillaume Finance went through the principles of the “Agile Documentation”, followed by a demonstration. eaDocX Collaboration Edition exports to a web server an online and interactive version of the documents generated by eaDocX from the models. This web server embeds a workflow process that lets reviewers and approvers interact on the content via comments and answers which feed directly in the EA project database. Guillaume then illustrated the collaboration between users by using both his PC browser and an iPad.

eaDocX Collaboration Edition provides a unique way to achieve efficiency in the process of validating models and specification documents. A reviewer no longer has to comment or approve a model directly in EA or from a generated Word document; instead the content can be accessed and annotated from anywhere via a url generated by eaDocX. Comments and answers are stored in the EA project and shared with other peers. Once everyone has submitted their feedback, agreed with others via comments threads, consolidating this information in the models is greatly simplified as the author is given a direct access in EA to the context for each comment, e.g. a diagram, class, attribute, requirement… This approach can really ease the access to the models for everyone in the organization!

The new Schema Composer

eaug paris 2015 schema composer xsd wsdl rodrigo nascimento

After another break, the next presentation covered a new EA12 feature, the Schema Composer.

Rodrigo Nascimento demonstrated how to generate XSD and WSDL files from enterprise entities defined in a UML Class diagram. Compared with the previous XSD export, the Schema Composer greatly improved the generation e.g. making it possible to select attributes and references to include. A few remaining issues in EA have been overcome with an add-in that Rodrigo implemented and plan to publish soon on his blog

A new feature to look at!

Applied Enterprise Architecture

The last presentation was based on Enterprise Architecture case studies with PMU and Orange. In both cases a metamodel has been defined in an MDG Technology . Guillaume Miard highlighted some of Sparx EA strengths i.e. its high customization level, the relationships matrix, and traceability.

His presentation led to several questions on carrying Enterprise Architecture with EA in large organizations. A passionate debate quickly following on whether one should define a tailored metamodel or use standards such as BPMN, Archimate, and TOGAF. Some pointed out the flexibility from the first option, whilst others argued in favour of the standards based on sustainability and integration with the tools available on the market.

A success for the first go

Reaching the end of day, participants provided a positive feedback from their attendance at this first edition of the EAUG in France. Everyone agreed on the quality of the talks. Some would have liked to see more practical tips with EA, some more theory. We will take everyone’s feedback into account for the next 2016 edition to make it even more useful and beneficial. Until then, keep on modelling!

We invite everyone to register on the website. It provides notifications on future EAUG events, and lets those who attended the event download the presentations slides.

Note: an additional post on this event has been written by Ian from eaDocX, available here.

As part of an EA add'in implementation, I had to import all Enterprise Architect table and column names in enumeration classes.

Having access to a database that stores a Sparx Systems Enterprise Architect project (e.g. MySQL, SQL Server, or even an EAP file via ODBC), there was a number of ways to populate enumeration classes with literal values using a small application in C# or another programming language. As Enterprise Architect 12 includes the Database Builder, an integrated tool to work on DB schemas, I took the opportunity to use it. Compared with the result of a C# application, this feature would let me capture the enumeration classes in my EA modelling project in addition to generating C# enumeration classes in my add'in solution.

This article only covers a small portion of Sparx EA Database Builder features: it illustrates how I managed to import Enterprise Architect table names as literal values in the EADBTableType enumeration class, and their column names as literal values in separate enumeration classes e.g. t_diagramColumnType, t_objectColumnType...

Import all tables in Enterprise Architect

- Open the menu Tools > Database Builder

- Right click and select New Data Model:

- Select the DBMS used, e.g. MySQL and confirm Ok

- Right click on MySQL > Load

- Right click on Connections > Add new DB connection

- Open the new DB connection and select ODBC based datatype

- Select an existing ODBC DSN (or create one) to the DB that stores the Enterprise Architect project where the schema needs to be imported

- Right click on MySQL > Import DB Schema from ODBC

- Click on Import and select all tables:

- All tables, columns, primary keys, foreign keys, indexes, etc. have been imported.

- Go back to the Database builder and open the Tables tabs: all tables are displayed. Selecting one of the tables provides access to all columns' details.

Generate the enumeration classes

The Database Builder let me achieved what I needed. Having all tables and columns stored in a single package, I wrote a simple script to perform the following:

- create an enumeration class named EADBTableType

- for each table:

    - create a literal value with the table name in EADBTableType e.g. t_object

    - create an enumeration class named after the table based on the following format: <table name>ColumnType e.g. t_attributeColumnType

    - for each column in the table:

       - create a literal value with the column name in the current table's enumeration class (e.g. Classifier in t_attributeColumnType)

Having executed this script, the following enumeration classes have been generated:

Transform enumeration classes to dotNet C# classes

The MDA model transformation can be used to generate C# enumeration classes for the above enums:

- Right click on the package that contains all enums > Advanced > Transform Package

- Select C# as the target, select the package, and click on Do Transform

- Having all C# enumeration classes created, and making sure the namespace is correct (e.g. create packages myaddin.common.enums), the code can be generated: right click on package > Code Engineering > Generate Source Code.

- The generated code can be used in Visual Studio IDE:

The full agenda for the next EAUG in Paris is available.

Register now from the EventBrite website (ticket: 75€).


EA User Group France 2015 Agenda


8:30 Inscriptions, café
9:15 Message d'accueil
9:25 Gregory Weinbach
Lean Enterprise Architecture
10:10 Pause café
10:40 Pascal Roques, Dominique Travel
MBSE avec SysML : retours du terrain
11:25 Pause
11:35 Tobias Ivarsson
Aligning international standards TOGAF® ADM and ArchiMate® in Sparx EA:
A Case Study from the Automotive Industry
12:20 Pause déjeuner
13:50 Guillaume Finance
Documentation Agile avec eaDocX Collaboration
14:35 Pause
14:45 Albert Janssens & Michel Gibelli
Mise en pratique de l'Ingénierie Dirigée par les Modèles à l’aide d'EA et des technologies MDG
15:30 Pause café
16:00 Rodrigo Nascimento
Information Modelling to Canonical Messaging made easy
16:45 Guillaume Miard
Nos convictions en terme d'architecture d'entreprise.
Retour d'expérience de la mise en oeuvre d'EA chez plusieurs clients (PMU, Orange)
17:30 Remerciements
17:40 Pause finale
18:05 Fin



The first EA User Group in Paris (France) will take place on the 17th of September 2015. 

The entry ticket costs 75€ and will give you access to talks on Enterprise Architecture with TOGAF and ArchiMate, SysML, model transformation to XSD, the Schema Composer, and eaDocX collaboration edition. Most presentations are based on the speaker's experience with a client's project.

For any request or information, please contact us on This email address is being protected from spambots. You need JavaScript enabled to view it..

Register now


Call for Speakers

EAUG, France (Paris), 17th September 2015

Presentation opportunities are available for you to come and share your EA user story with the rest of the EA community at the first French Enterprise Architect User Group event in Paris, France on September 17th 2015.

We are interested in just about everything you do with Enterprise Architect, from the organisation of your model to enhancements you have made using MDG or the automation API, or even just a project with which you are especially happy. That said, we are not just after the sunshine stories and would be interested in hearing about any experiences learned the hard way. Presentations of an obvious or purely commercial nature will not be accepted.
Some example topics are:

  • Enterprise architecture (TOGAF, Archimate, DoDAF, UPDM)
  • Business Architecture, Capability Mapping, Process Modelling
  • Systems Engineering
  • Business Analysis, Requirements Management
  • Data modelling
  • Code generation, MDA
  • EA add’ins/automation, scripting
  • Document generation
  • Simulation
  • Tool adoption/deployment
  • MDG Technologies/UML profiles
  • Model collaboration and management
  • Test management

Do you have a story to tell? If so, please let us know on This email address is being protected from spambots. You need JavaScript enabled to view it.

French version

Appel à Orateur

EAUG, France (Paris), 17 Septembre 2015

Vous utilisez Enterprise Architect et vous souhaitez partager votre savoir-faire avec la communauté francophone? Nous vous invitons à partager et présenter votre expérience et expertise au premier Enterprise Architect User Group (EAUG) en France qui se tiendra à Paris le 17 Septembre 2015.
Nous recherchons des orateurs de divers secteurs d’activités, travaillant sur tout type de modèle :

  • Architecture d’entreprise (TOGAF, Archimate, DoDAF, UPDM)
  • Urbanisation
  • Modélisation de systèmes d’information
  • Modélisation de processus métier (BPMN)
  • Analyse et conception d’applications informatiques
  • Modélisation de données
  • Ingénierie système (SysML)
  • Modélisation de systèmes embarqués…

Ou ayant des expériences concernant la mise en œuvre de l’outil :

  • Génération de code, MDA
  • Interfaçage avec d’autres outils
  • Développement de MDG Technologies
  • Développement d’addins et de scripts
  •  Génération de documents…

Nous recherchons en priorité des retours d’expérience sur l’utilisation d’Enterprise Architect au sein d’un projet. A noter que toute présentation purement commerciale ne sera pas retenue.

Contactez les organisateurs VISEO de l’EAUG France 2015 avec vos coordonnées et détails de votre sujet à l’adresse email This email address is being protected from spambots. You need JavaScript enabled to view it..

Enterprise Architect User Group (EAUG) - France, Sept. 2015

VISEO will host the first EAUG in France on Thursday, September 17th 2015. This Enterprise Architect User Group will be held in Paris at "27 quai Le Gallo - Boulogne-Billancourt" (underground and tram stations are located nearby).

This first edition will introduce talks and presentations in French on a wide array of topics including Enterprise Architecture, modelling IT and software applications, generating and validating documentation from the models, and Systems Engineering (MBSE).

Enterprise Architect add'ins will be shown in a dedicated area, where users and experts will be able to share their opinions and experiences on notations, languages, methodologies around a coffee, tea or other refreshment.

The full agenda is yet to be defined, with a priority on sharing project experiences in using Sparx Enterprise Architect. Hence this User Group is opened to any company, expert, or consultant who would like to share and talk about their experience with the Enterprise Architect user community.

Online registration will be available soon (please contact us on This email address is being protected from spambots. You need JavaScript enabled to view it. if you would like to be notified once registration is available).
VISEO operates as Sparx Systems main partner in France and has a member in the EAUG Steering Group (

French version:

VISEO organise le 17 Septembre 2015 le premier EAUG en France, User Group concernant l’outil de modélisation Enterprise Architect de Sparx Systems.  

Cette première édition comportera essentiellement des présentations en français et sera ouverte à des sujets aussi variés que l’architecture d’entreprise, la modélisation d’applications informatiques, l’ingénierie système à l’aide d’Enterprise Architect, ou encore à la génération et à la validation de documents à partir des modèles.

Des présentations d’add-ins sont prévues dans un espace dédié où nous pourrons également partager nos expériences autour d’un verre ou d’une tasse de café et confronter nos points de vue sur les notations, les méthodologies ou autres sujets d’intérêt. Des experts de l’outil et des méthodologies seront présents afin d'échanger notamment sur les bonnes pratiques.

Le programme détaillé n’est pas encore arrêté et nous souhaitons privilégier les retours d'expérience issus de projets plutôt que les présentations théoriques. C’est pourquoi nous demandons à toutes les entreprises intéressées souhaitant se joindre à la communauté francophone autour d’Enterprise Architect de nous proposer leurs sujets de présentation.

Si vous souhaitez assister en tant que visiteur, les modalités d’inscription seront bientôt communiquées. Vous pouvez vous contacter sur This email address is being protected from spambots. You need JavaScript enabled to view it. si vous souhaitez être notifié directement dès l'ouverture des inscriptions. En attendant retenez la date du 17 Septembre 2015 dans vos agendas.

VISEO est partenaire de Sparx Systems pour la France et membre du comité directeur de l’EAUG (

Tuesday, 10 February 2015 22:26

Enterprise Architect 12 Wireframing preview


Enterprise Architect 12 is due to be released this year, with the RC2 currently available to download and test. Amongst its enhancements, I came across the new User Interface Wireframing support.

Wireframing lets you define a visual representation of a screen with its interface elements such as labels, fields, and buttons. Having defined several screens, a navigation model can built e.g. to specify the navigation from the login screen to the account summary screen via a “submit” user action.

Wireframing is intended to define User Interface diagrams that focus on functionality and help to obtain business validation upfront. Wireframing do not address rendering styles, colours, or graphics.

Enterprise Architect 12 Wireframing supports several mobile devices, such as iPhone smartphones, iPad tablets, and Android devices. Web site design is also supported.

Up to version 12, Enterprise Architect UI diagram involves an XP windows style which can be useful to provide UI illustrations. It is very good news that the next version of Enterprise Architect supports User Interface Models for mobile and web applications.

Wireframing diagram

The screenshot below shows the available Wireframing diagram types:

Note: “XP style” UI diagrams are still available from Extended > User Interface diagram type.

Below is an example of the Apple wireframing diagram toolbox, including most iPhone and iPad models (see screen types), as well as UI controls to create labels, fields, checkboxes, keyboard, switch, tab bar, etc.

The toolbox also includes Patterns to create screens with a predefined set of controls, such as the one illustrated below for an iPhone 5s:


When creating a new screen from the toolbox, Enterprise Architect lets you choose between the portrait and landscape mode, as illustrated below with an Android smartphone:


So, why should you use Enterprise Architect to define your web or mobile app screens where there are plenty of UI design and prototyping tools out there? The answer is traceability; Enterprise Architect Wireframing diagrams let you build your User Interface model alongside requirements, analysis, design, data and other models. Associations can be created and maintained between UI widgets and requirements, use cases, classes, DB table columns, etc.

A mobile application for an online retailer has been used to produce the examples provided in this article, based on the following Enterprise Architect project structure.

The following use case diagram shows traceability between the analysis and requirements models (a use case realizes a requirement).

The following BPMN2.0 diagram has been created under the “Place an order” use case to specify its scenario. Each step (actor or system) is defined as an activity, some of which are linked to an active screen from the UI model.

These links make it possible to looks for the use cases where a screen is used, or to carry an impact analysis on the UI model when making modifications in a use case.

The following diagram illustrates the links from a wireframing UI screen to the analysis and implementation models.

In this example, the screen:

  • is involved in the “Place an order” use case;
  • fulfils the “REQ-001” requirement;
  • has fields which value is traced to business classes, including direct links to attributes (e.g. Post code is associated with Address.postCode business class);
  • has a Continue button which executes InvoiceService.submitInvoice interface method. 

This traceability enables a team to verify the impact in the design model when altering a business class, or a list of screen actions invoking a specific UI service implemented in a Java interface.


Wireframing user interface diagrams can be used to specify navigation between the screens of an application or website.


The wireframing user interface diagrams delivered in Sparx Systems Enterprise Architect 12 are very easy to use and fulfil most UI specification needs for a web site or mobile application.

Wireframing can be applied before the implementation stage to obtain validation from the stakeholders. It can also be used to define the User Interface model and traceability links with other modelling elements, enabling the Project Manager and the entire team to control the impact between UI, business, functional, and design aspects of the project.

Page 3 of 5