Displaying items by tag: model wizard
EA User Group London 2018 feedback
This year’s London EA User Group took place at the Skills Matters Code Node venue. It has been enjoyable and useful to discuss and share experiences with users via this unique dedicated SparxSystems Enterprise Architect event.
This article shares some feedback on 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 Enterprise Architect.
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.
Once created, items can be added alongside their Boolean status (checked: true or false).
Result:
Other rendering options are available:
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).
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 SparxSystems Pro Cloud Server. 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.
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.
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.
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.
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.
Also available as a view, the diagram properties now display the Diagram GUID which can be useful:
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.
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:
The resulting toolbox is different from the default UML class diagram.
This selection sets the “Applied to Metamodel” diagram option.
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.
Another new option is the Display Lock Element Status: when enabled, locked elements will be visible accordingly on the diagram.
A smart placement feature is now available to dynamically visualize the selected element’s alignment.
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:
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.
- The choice of using Scripting was supported by the need to frequently update and deploy new versions to a large group of users.
- 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.
- 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).
- 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).
- 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.
- Geert Bellekens’ free EA-Matic add-in has been used to automatically trigger scripts based on configured events e.g. before creating a connector.
- Having shared a few hints, I completed the presentation with a demonstration of custom scripts defined for a number of clients.
Note: this article is available in French here.
Enterprise Architect 12.1 Beta available: a first preview
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.
Diagrams
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 :
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).
Notes:
- 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.