UML & SysML modelling languages

Expertise and blog articles on UML, SysML, and Enterprise Architect modelling tool

version francaiseTwitterVideos UMLChannel SparxSystems EA YouTubeLinkedIn
Monday, 27 August 2018 21:55

EA User Group London 2018 feedback part 2 (presentation day)

Written by
Rate this item
(0 votes)

EA User Group London 2018

This is the second and last part of my feedback on the EA User Group London 2018 (the first part is available here). Each attendee had the opportunity to follow 6 presentations including the Keynote.

EA User Group London 2018 agenda presentations

This article covers the following presentations:

  • Keynote on Enterprise Architect 14 by Peter Lieber.
  • Model Driven Enterprise Knowledge with Gemalto GMOD platform by David Faus.
  • My presentation on scripting with EA API (title: Extending EA with custom scripts to cater for specific needs and user requests).

Keynote: Sparx Enterprise Architect 14

The keynote was an opportunity to discover some of the new features available in Enterprise Architect 14. Having started evaluating version 14 since its beta release, this presentation saved me time as I received an overview of the relevant enhancements.

A new checklist artifact is available from the common toolbox.
sparxsystems enterprise architect 14 checklist artefact

Once created, items can be added alongside their Boolean status (checked: true or false).

sparxsystems enterprise architect 14 create checklist artefact

Result:

sparxsystems enterprise architect 14 checklist result

Other rendering options are available:

sparxsystems enterprise architect 14 checklist result

EA 14 has introduced the EAPX file extension, as an alternative to local EAP files, matching a Jet4 engine database. Jet4 EA projects can be created in previous EA versions within an EAP file. EAPX are useful since it is explicitly tied with Jet4 engine (this format provides enhancements on the database capacities). Note that EAPX files can be opened with earlier EA versions.

A new Cloud tab is available in the CONFIGURE > Options menu (note: the following options are available in EA 13.5).

sparxsystems enterprise architect 14 cloud options

The above Data Cache option can be enabled to create images of each diagram in the EA project database when saved in EA. These images can be used and rendered in external solutions via Sparx Pro Cloud Server (see details from the EAUG day 1 report). A create batch feature is available to generate all diagrams images.

Perspectives in EA 14 can be used to enable only the notations or languages that are relevant to the current use and context. The built-in Systems Engineering\SysML perspective can be enabled for instance so users only work with SysML 1.5 elements and diagrams, and will never come across other SysML versions, or UML, BPMN, ArchiMate and so son. Custom perspectives can be defined to select a range of technologies e.g. UML and BPMN. Note: I find perspectives very useful to scale down EA features to the ones that are needed by users through a built-in feature (instead of custom XML or registry updates by the company IT services). The Model Wizard has been redesigned in EA14; in EA 13.5 and earlier versions, it was mainly used to generate Model Patterns as illustrated below:

sparxsystems enterprise architect 14 model wizard

 EA 14 Model Wizard runs in a view (not a popup) with redesigned model patterns. First of all, the available patterns are displayed for the selected perspective, e.g. UML, Business with BPMN, Systems Engineering with SysML, Enterprise Architecture with ArchiMate, etc.

sparxsystems enterprise architect 14 model pattern

Where the previous patterns generated a full structure with samples in each model e.g. class, use case, and so on, the logic here is to individually select and add model patterns to the local project. Patterns may include several packages, elements and diagrams.
For each pattern, a nicely illustrated explanation on the purpose is available, enhancing the usability and value delivered by Model Patterns.

sparxsystems enterprise architect 14 model pattern

sparxsystems enterprise architect 14 model pattern

 EA 14 Model Patterns also include a new Process Guidance tab as an addition to EA Help. It creates a step by step process via an activity diagram e.g. to create a central database EA repository in MySQL as illustrated below.

sparxsystems enterprise architect 14 process guidance

The element properties have been integrated within views to replace the pop-up properties window. For elements, additional views provide access to the attributes, operations, etc.

sparxsystems enterprise architect 14 element properties

sparxsystems enterprise architect 14 features properties

Also available as a view, the diagram properties now display the Diagram GUID which can be useful:

sparxsystems enterprise architect 14 diagram properties

The Compartments tab provides access to the elements visibility properties. Note: I would expect in the future to have all diagram properties in this view e.g. Features, Connectors properties.

sparxsystems enterprise architect 14 diagram properties

The Diagram properties include new MetaModel options, linked with MetaModel Views, both introduced in EA 14. This Views system is aimed at restricting the available elements and connections from the diagram toolbox. MetaModel Views are either built-in or user defined (note: user defined views can be useful to combine stereotyped elements and built-in elements such as a UML class, use case and actor).

When creating a diagram, a list of built-in views is available under the diagram type, for instance a UML Class diagram illustrated below:

sparxsystems enterprise architect 14 new diagram metamodel

The resulting toolbox is different from the default UML class diagram.

sparxsystems enterprise architect 14 new toolbox metamodel

This selection sets the “Applied to Metamodel” diagram option.

sparxsystems enterprise architect 14 applied to metamodel

In addition to the toolbox content, the Filter to Metamodel diagram property is now available: when set, this option will grey out all elements that are not in the current Metamodel as illustrated below.

sparxsystems enterprise architect 14 filter to metamodel

Another new option is the Display Lock Element Status: when enabled, locked elements will be visible accordingly on the diagram.

sparxsystems enterprise architect 14 diagram properties display lock element status

sparxsystems enterprise architect 14 diagram properties display lock element status

smart placement feature is now available to dynamically visualize the selected element’s alignment.

sparxsystems enterprise architect 14smart placement

Model Driven Enterprise Knowledge

Note: the following summary has been written by its author and speaker, David Faus (Gemalto).

Our goal was to build enterprise knowledge repositories based on models in several business units in Gemalto. The following diagram shows our strategy coming from the well-known Nonanaka and Takeuchi knowledge management theory:

gmod uc method gemalto sparx enterprise architect

We successfully used SPARX to build our model based KM platform called GMOD (Gemalto MODeling).

To deploy our “GMOD” adaptation of the Nonaka and Takeuchi approach, we used:

  • The EA MDG to implement the “UC” method which I have been building during the last 25 years. This method is quite innovative because it is based on several domains (graphical user interface specification methods, functional analysis and also Object Oriented Programming), and is customer oriented: that means everyone is able, in few minutes of explanation, to understand a UC model.
  • The EA client server architecture to allow all team members to produce UC models in parallel, what is finally relevant when building a huge model oriented knowledge base. The first big success we had was the delivery of the GBPR (Gemalto Business Process Repository): All Gemalto corporate business processes are now published and maintained thru GMOD.
  • The EA java API to implement the Gemalto “SPARX Companion Tool”. This tool is complementing SPARX EA functionalities by adding reporting features, UC model integrity check, one click deployment web service…
  • The Gemalto FAST & Easy knowledge management platform. This platform is based on the concept of patrimonial archiving. It is used to index any important UC diagrams produced thru GMOD. This is possible because the “SPARX Companion Tool” generates static URLs for diagrams.

As a conclusion, we are now able to retrieve model oriented knowledge by simply using a Google like search engine. Our next goal is to focus on the support functions and provide some knowledge base composed by hundreds of comprehensible use cases helpful at any level and anywhere in the company. 

Extending EA with custom scripts to cater for specific needs and user requests

It was my pleasure to be selected for the third time this year as a speaker. I offered to share my experience on defining scripts in EA over the past years to extend the tool’s features e.g. via custom Excel import/exports, save users' time in avoiding repetitive or time consuming tasks, etc.

The full presentation content is available from SlideShare.

Below is a summary with selected slides to illustrate the topics:

  • Enterprise Architect can be greatly customized to cater for a client or project, and it includes creating features using the API from scripts, add-ins, Excel macros, etc.
  • Where EA already provides numerous features, there is still a need to create additional ones as illustrated below.

sparxsystems enterprise architect scripting api excel

  • The choice of using Scripting was supported by the need to frequently update and deploy new versions to a large group of users.

 sparxsystems enterprise architect api options script addin macros

  •  Having introduced the different types of scripts (project browser, diagram, normal), I discussed the need to apply naming conventions so users can clearly find the appropriate script to run.

sparxsystems enterprise architect script naming conventions vb

  • The usual way to use EA API is to call methods from the Object Model, e.g. get an element’s parent package element with the following VBScript method call: set parentPkg = Repository.GetPackageByID(curElement.PackageID).

sparxsystems enterprise architect api method object model

  • Alternatively SQL queries can be used …
    • To run complex queries.
    • To select specific elements, preventing time consuming loops.
    • To address performance issues related. Replacing a method call with SQL update reduced the execution time for ~1000 attributes from 120 minutes down to 4 minutes.
  •  SQL queries can be used on the Repository object methods:
    • Repository.GetElementSet(query,2) : returns a collection of EA elements according to the SQL query
    • Repository.SQLQuery(query) : returns an XML formatted string value (SELECT queries only)
    • Repository.Execute(query) : runs a query (UPDATE/DELETE/INSERT)
  • Care should be taken when running UPDATE/DELETE/INSERT queries as it can delete or break the model.
  • Moving on Scripts helpers, I shared ways to address issues both from the developer and user perspective.
  • Below is the publication process that has been defined (illustrated via the first demo on EA).

sparxsystems enterprise architect script publication helper

  • With some scripts requiring to select a source or target folder to process or generate files, a common script feature made it possible to suggest the previously selected folder. Other users’ script helpers are illustrated below and were demonstrated in EA.

enterprise architect scripting helper

  • Geert Bellekens’ free EA-Matic add-in has been used to automatically trigger scripts based on configured events e.g. before creating a connector.

enterprise architect scripting tip helpers

  • Having shared a few hints, I completed the presentation with a demonstration of custom scripts defined for a number of clients.

enterprise architect scripting excel export mapping migrate

If you require any further information on using scripts and EA API, please email me on guillaume [at] umlchannel.com.