Enterprise Architect version 15.2

download
purchase

enzh-CNcsnlfrdehiiditkoplptruskessv

My Profile

Social Media Channels

facebook  twitter  youtube   linkedin

Displaying items by tag: Archimate

Saturday, 06 February 2021 15:00

Automatic creation of system model with Neo4j

Introduction

Frequently there are legacy systems/applications with no previous documentation, and the lack of it makes maintenance and further development of those systems/applications stagnant and demanding. This particular article outlines the ability of graphs (created through the Neo4j database) to automate the creation of documentation in the form of ArchiMate model in Sparx Enterprise Architect or Archi.

We will create an ArchiMate model for the legacy application that will describe basic entities, such as screens, fragments, roles, files and relations between them. An HTML version of the automatically generated ArchiMate model is available here. It's an export from Sparx Enterprise Architect to HTML.

In a next article, we use the graph to identify:

  • application communities
  • communities where fragments are used
  • communities with fewer screens than roles
  • the missing role setting in a linked screen
  • unused parts of the application
  • risk business processes

Example

An illustrative example of two screens and its relations to other screens, fragments, roles and files is below: An illustrative example of the relation between two screens and other fragments, roles and files is below:

Screen example

Even if there is only the source code of the application, there is a way (by source code scrapping) to obtain all required information. The source code scrapping should be implemented accordingly to the specific application. However, it is not covered in this article.

The example of an outcome from the scrapping for one screen (Screen_414) in a json format is below:

Screen example

The json definition of the screen (Screen_414) and its relations to screens, fragments, roles and files is possible to transform to a graph (nodes and relationships):

Screen example

The graph (Screen_414) and its nodes and relationships are possible to represent as an Archimate model. There are two steps:

  • an export from graf to ArchiMate® 3.1 Model Exchange File definition format
  • an import ArchiMate® 3.1 Model Exchange File definition to Sparx Enterprise Architect or Archi

Screen example

 

The example of automatically created documentation for the screen (Screen_414) in Sparx Enterprise Architect:

Database schema

Solution architecture

The solution is a mix of the following technologies, tools and standards:

  • Python
  • Jupyter Notebook
  • Neo4j (Neo4j Sandbox)
  • Neo4j Bloom
  • Neo4j APOC Library
  • Graph Data Science Playground
  • Cypher
  • ArchiMate
  • ArchiMate® 3.1 Model Exchange File definition
  • Sparx Enterprise Architect
  • Archi
  • VB script

Database schema

Description of architecture components
 
ComponentDescription
Legacy application A system/application for which the documentation will be created.
Source code scrapping An implemented functionality. The file as an outcome from the application source code scrapping (in json format) containing information about screens, fragments, roles, files and relations between them. The application code scrapping isn't covered in this article.

The anonymized file is available here: screenList_20210105_anonymized.json

Python / Neo4j The Python script in Jupyter Notebook using a graph database Neo4j.

There is a possibility to use Sandbox and create new Neo4j database in less than 60 seconds. No download required.

Import definition to Neo4j Part of the Python script. The script imports data from file screenList_20210105_anonymized.json to graph database Neo4j.
Generate ArchiMate model definition Part of the Python script. The script creates valid file in format ArchiMate® 3.1 Model Exchange File definition:

- screen_model.xml

The ArchiMate Model Exchange File Format is a standard file format that can be used to exchange ArchiMate models between tools that create or interpret ArchiMate models. The scope of the standard is restricted to the elements and the relationships of an ArchiMate model. It excludes features that are vendor specific.

Generate model diagram definition Part of the Python script. The script creates files with the definition of diagrams:

- screens.csv

- roles.csv

- fragments.csv

- links.csv

Sparx Enterprise Architect Sparx Enterprise Architect is a visual platform for designing and constructing software systems, business process modeling, and more generalized modeling purposes.
Create ArchiMate model A given functionality of Sparx Enterprise Architect. We have a valid ArchiMate® 3.1 Model Exchange File.

It is possible to import generated file screen_model.xml into a prepared Enterprise Architect project as a UML model.

To import an Open Exchange Format file, in Ribbon select the item "Specialize > Technologies > ArchiMate > Import Model Exchange File". Click on the Import button to import the selected Model Exchange file into the specified Package.

Create ArchiMate model diagrams An implemented functionality by VB script #1 generate_archimate_diagrams.vbs in the prepared Enterprise Architect project. The VB script generates diagrams using the definition in files:

- screens.csv

- roles.csv

- fragments.csv

- links.csv

To run the VB script, select context menu item "Specialize->Scripts->#1 generate_archimate_diagrams"

Archi Archi is an open-source modelling toolkit to create ArchiMate models and sketches.
Create ArchiMate model A given functionality of Archi.

It is possible to import a generated file screen_model.xml and create a new ArchiMate model.

To import an Open Exchange Format file, select the menu item "File->Import->Open Exchange XML Model...". Select and open the required XML file. This will create a new ArchiMate model in the Models Tree.

 

Create ArchiMate model diagrams in Sparx Enterprise Architect

Magic how to automatically generate diagrams in Sparx Enterprise Architect is in the VB script #1 generate_archimate_diagrams.vbs. The VB script generates diagrams using the definition in files:

  • creates a new diagram,
  • inserts defined elements
  • formats the layout of the elements in the diagram.

For example by following diagram definition:

DiagramName;NodeKeys;Documentation

Role_1269;['NEOID_3e19fa29-bae1-48da-88bc-d1ffa17c4a8a', 'NEOID_9f0d17d0-9076-452b-90cd-c64fc6892f60'];The diagram describes the role Role_1269.

the following diagram is generated:

Database schema

 

Graph database schema

The graph consists of 343 screens, 159 fragments, 36 roles and 465 files. A visual scheme of our graph database is given below.

Database schema

Node labels

Node LabelsDescriptionProperties with examples
Screen The screen of application.

"path": "/WEB-INF/tiles/adm/Screen_414.jsp"

"fileName": "Screen_414.jsp"

"code": "Screen_414"

"documentation": "Screen ...

"name": "Screen_414"

"link": "ADM033"

"alias": "Title of Screen_414"

"id": "NEOID_cfabe9f8-ff6c-4ee6-ab19-ae0bdc7f192e"

"class": "ApplicationComponent"

"group": "ADM"

Fragment The fragment belongs to the screen or other fragments.

"path": "/tiles/com/fragments/Fragment_1297.jsp"

"fileName": "Fragment_1297.jsp"

"documentation": "Fragment ... "

"name": "Fragment_1297"

"id": "NEOID_0fdcc7a5-1889-4fb6-aa62-94bf5128f840"

"class": "ApplicationComponent"

File The file where the screen or the fragment source code is defined.

"name": "Fragment_1315.jsp"

"path": "/tiles/com/fragments/Fragment_1315.jsp"

"id": "NEOID_04ff5f05-a207-4b8d-a1e8-928f187822e1"

"class": "DataObject"

"documentation": "File ..."

Role The role that restricts access to the screen.

"name": "Role_1259"

"id": "NEOID_44086a73-aa07-423e-a119-449e12e7ff9b"

"class": "DataObject"

"documentation": "Role ... "

Relationship Types

Relationship TypesDescription
FlowRelationships Relation represents the possible transition from one screen to another (name: 'LINK_TO').
CompositionRelationships Relation represents that fragment is part of the screen or another fragment (name: 'HAS_FRAGMENT').
AssociationRelationships Relation represents that screen or fragment source code is defined in the file (name: 'HAS_FILE').
Relation represents a role which controls access to the screen (name: 'HAS_ROLE').

 

Description of how to generate documentation

  1. Create new Neo4j database (https://neo4j.com/sandbox/)
  2. Set Python script parameters:
    • boltUrl
    • password
    • exportPath
  3. Run the Python script and generete files:
    • screen_model.xml
    • screens.csv
    • roles.csv
    • fragments.csv
    • links.csv
  4. Import generated file screen_model.xml into a prepared Enterprise Architect project as a model. To import an Open Exchange Format file, in Ribbon, select the item "Specialize > Technologies > ArchiMate > Import Model Exchange File". Click on the Import button to import the selected Model Exchange file into the specified Package.
  5. Run a script in Sparx Enterprise Architect. To run the VB script, select context menu item "Specialize->Scripts->#1 generate_archimate_diagrams". Diagrams are generated using the definition in files:
    • screens.csv
    • roles.csv
    • fragments.csv
    • links.csv
 
Published in Tutorials

Introduction

Modelling enterprises and their architectures is important for most organisations. For example for defining business processes, organisational structures, data and information modelling. But also for modelling the goals and drivers of the organisation, the alignment of business and IT need to be modelled due to the complexity of organisations in modern societies. In medium and large scale organisations the role of enterprise- or information architect is introduced to create these models of the enterprise.

What do we need for modelling enterprise architectures? An important aspect is to introduce a coherent modelling language that enables the enterprise architect to model all the relevant aspects of the organisation. This can be done by using a combination of modelling languages like UML, BPMN and DMN. Another approach is to create your own modelling language based on the MDG module in Enterprise Architect. Fortunately there is a specific enterprise architecture modelling language ArchiMate that you can use.

In this whitepaper we will introduce ArchiMate as modelling language for enterprises, its advantages and disadvantages and the possibility to apply the language in the context of a specific organisation. ArchiMate is in basic available as MDG within Enterprise Architect. But when you want to apply the language effectively, especially within large organisations, you need to modify and extend the configuration in Enterprise Architect. This is done by effectively configuring a number of default functionalities and by introducing Add-ons with specific functionalities relevant for ArchiMate. Last but not least it is important to define working processes for architects and procedures within teams to successfully apply ArchiMate as an enterprise modelling language.

ArchiMate

We start with the description of ArchiMate as stated in Wikipedia:

ArchiMate (originally from Architecture-Animate) is an open and independent enterprise architecture modelling language to support the description, analysis and visualization of architecture within and across business domains in an unambiguous way.

ArchiMate is a technical standard from The Open Group and is based on the concepts of the IEEE 1471 standard. It is supported by various tool vendors and consulting firms. ArchiMate is also a registered trademark of The Open Group. The Open Group has a certification program for ArchiMate users, software tools and courses.

ArchiMate distinguishes itself from other languages such as Unified Modelling Language (UML) and Business Process Modelling and Notation (BPMN) by its enterprise modelling scope.

Source Wikipedia

ArchiMate is available as an open standard and is maintained by The Open Group. Since it is open all the information about the language is available from the The Open Group website via https://pubs.opengroup.org/architecture/archimate31-doc/chap03.html#_Toc489945967. Therefore we will limit the description of the language here by a short description of the most important aspects.

Framework

ArchiMate is based on a framework with layers and aspects. This framework is a matrix of the layers and aspects. There is a core framework for modelling the basic aspects of an enterprise from business layer via application layer to technology layer. The full framework is adding some extra dimension like strategy, motivation and project dimensions. In the figure below the full framework.

viewpoint13

Source: The Open Group

The framework reduces the complexity of modelling since certain characteristics are modelled with a cell (a combination of a layer and an aspect). Within each cell a limited set of concepts and relationships is available for the modeller.

Layers

As you see in the figure there are a 5+1 layers in the framework. Each layer can be used to create a model with a limited scope. Interesting is that the layers can be seen as tiers. Between these tiers there are a limited number of defined connections possible. The layers are modelled in a horizontal manner.

Aspects

The aspects are the vertical structuring of the enterprise. There are 3+1 aspects. The main aspects are active structure (who), behaviour (what) and passive structure or informational (about).  Also between the aspects a limited number of relationships are available to create connections between these aspects. Furthermore as within the layers the aspects can be seen as tiers where you preferably only connect an aspect only with the elements in the aspects direct aside it.

Elements

Within the cells of the framework specific elements are introduced. Elements are drawn with qualified stereotypes. Each element has a symbol in the right top corner of the element. Elements can be seen as metamodel elements with a definition described in detail in the language. This is used as a classification for the relevant enterprise dimensions. Creating these elements introduces classified libraries of elements all with the same definition.

Relationships

Relationships are used to connect the different elements within a layer, aspect or cell. Relationships are drawn with stereotyped lines and connect two elements. More important it creates connections between elements that are positions in different cells, layers and aspects. Also the relationships have a well described definition in the language. Due to this a relationship can be used only in a limited set of combinations of elements.

In the image below the most important elements and relationships of the core framework are displayed.

viewpoint05

Viewpoints

One of the drawbacks of ArchiMate is that the language can be extensive and complex. Since we want to be able to model all the characteristics of an enterprise we have numerous layers, aspects and especially elements and relationships. Since we want to use the models to inform our stakeholders with  specific views on the organisation in ArchiMate viewpoints are introduced. Viewpoints are creating a template for a view or diagram that is based on a subset of the available elements and relationships. This makes it possible to create relative easy to understand views that are used to “tell” a specific part or goal of the organisation.

In ArchiMate there is a set of generic viewpoints defined that can be used as templates for your own diagrams. Also these viewpoints are well described in the language specification. However the language can be extended with viewpoints. This means that you can create your own viewpoints for specific organisational situations or stakeholders. This is an approach applied by many organisations. Please be aware that when doing so an organisation should describe the applied viewpoints in a structured manner.

In the image below an example from the Enterprise Architect Model Wizard is given. This is one of the defined viewpoints in the ArchiMate language.

viewpoint06

ArchiMate challenges

Although ArchiMate is probably the best solution for enterprise architecture modelling there are numerous challenges when introducing the language in a (large) architecture team. Finding solutions to prevent for failures when introducing a modelling approach is essential. Below you find a short list of possible solutions to prevent for pitfalls:

  • Introduce relevant viewpoints for the context of your organisation. Every organisation is operating in a specific context. This means that not all elements and relationships are relevant for the organisations. Therefore a selection of the relevant elements and relationships is made. This selection is implemented in various viewpoints. Sometimes you can use the standard viewpoints available in the language. More often an organisation will create its own viewpoints to support modelling the specific organisational context.
  • Create modelling conventions. Not only viewpoints are relevant, it has to be combined with modelling conventions. Things like naming conventions, colour usage, status of elements, diagrams and relationships. Furthermore conventions on baseline and target architectures are relevant in modelling conventions
  • Prevent the emergence of ArchiMate dialects. When you have a large team of architects that are working on different locations in your organisation the risk of ArchiMate dialects is present. This means that every architect creates his or her own modelling approach, creates own viewpoints or even uses elements and relationship not relevant for the context of your organization.
  • Usage of patterns and building blocks, reusable models or parts of models is a great way to introduce standardisation of models. Furthermore creating architectural models will speed up enormously by introducing patterns and building blocks. As with viewpoints patterns and building blocks are available from suppliers or sectoral organisations, but creating specific patterns is also often applied.
  • Develop a modelling community, when you involve your architecture team in the development of your (ArchiMate) modelling language in your organisation. Creating ArchiMate models is difficult so discussing the best approach in stead on make decisions on your own will in the end improve the quality of the models in your team. Create modelling meetings with your team where you discuss problems and solutions. Another option is to introduce “pair modelling”.
  • Train your architects, in many organisations the architecture team is a combination of internal and hired (external) architects. Although most hired architects have experience in using ArchiMate they are not familiar with the specific modelling conventions and viewpoints in your organisation. Take the effort in the training of these architects when they start working in your team. This can be done by face to face training but also instruction videos are very effective (and less time consuming in the end)
  • Introduce a validation process. When an architect delivers his or her ArchiMate models a check for the correctness of these models is necessary. Not only a check on the ArchiMate rules in general but especially on the specific rules within your own organisation architecture.

The above described solutions are mainly focused on organizing the modelling process. However the supporting modelling tool is also important. It has to support the modelling process in an effective and efficient manner and reduce the workload of the modelling architects. Enterprise Architect out of the box (without configuration and Add-ons) is a tool less supportive for your architectural team. Therefore take time to configure the modelling tool. It has sufficient possibilities to do so.   In the next chapters we will describe the available functionalities in Enterprise Architect and two Add-ons.

 

Functionalities in EA

Enterprise Architect (EA) offers extensive functionalities for creating ArchiMate models. In every new version of the tool we see new functionalities, extra validations in the ArchiMate MDG. Creating a configuration effective for architectural teams using ArchiMate is relatively easy. This chapter describes a number of available techniques for effectively configuring Enterprise Architect.

Model wizard

Enterprise Architect supports a large number of modelling languages, ranging from generic like UML to very specific like Autosar. For creating enterprise architecture in most situations the ArchiMate modelling language is sufficient (or even oversized). Since version 15 perspectives are available. This makes it possible to limit the available languages to a certain field of interest. For modelling enterprise architectures there are four languages available in the perspectives in EA. ArchiMate is the most detailed one and the one with the most functionalities.

When selecting the ArchiMate perspective the Model Wizard  gets activated. This offers you a list with a description and examples of ArchiMate models based on the standard viewpoints in the language. I think this is a great starting point for novices in ArchiMate but also as starting point for ArchiMate modelling teams when they want to evaluate viewpoints or develop organisation  specific viewpoints.

In the image below you see an example of the model wizard with an ArchiMate viewpoint

viewpoint07

ArchiMate Diagrams

Experienced ArchiMate modellers will need a more direct approach in creating diagrams than the Model Wizard and the generation of example models. They create diagrams directly from the browser or the wizard.

Apart from the default diagram types for the layers and the most important extensions In de diagram dialog there is an interesting (rather hidden) feature present. Actually the list of diagram types is a tree view and when expanding this tree you can see the generic ArchiMate viewpoints.

Unfortunately the toolbox for the diagram is not modified on the selected viewpoint. Another nice feature would be to create your own model wizard pages for the organisation specific viewpoints or modifying the Diagram tree and configure your organisation specific set of viewpoints. Maybe in a future version of EA

viewpoint08

Perspective Sets

An interesting new feature in EA is the possibility to create Personal or Model Based perspective sets. This feature let you limit the modelling languages available for the user or the model. From the perspective of organisation specific viewpoints and modelling conventions an even more interesting feature is the possibility to restrict the available elements and relationships in a modelling language.

In the figure below you can see how easy it is to restrict ArchiMate elements and relationships. This will restrict the various ArchiMate toolboxes for the diagrams. Particularly relevant when your organisation uses a subset of ArchiMate concepts to prevent the evolution of ArchiMate dialects.

When you develop perspective sets you can combine this with the authorisation module in EA. You can assign a perspective set to  an authorisation group to limit the modelling possibilities in languages and when defined in the ArchiMate language. Users in the authorisation group can now only use the defined subset.

ArchiMate Add-ons

On top of the default functionalities of EA there are two Add-ons offering extra functionalities for ArchiMate based architecture teams. In the chapters below we will briefly discuss the functionalities in these Add-ons.

Model Expert

Model Expert is an EA Add-on developed by Ability Engineering in the United Kingdom. Model Expert offers multiple functionalities mainly focussed on model validation and model quality. In this chapter we describe the most relevant functionalities for the ArchiMate perspective modelling team.

Package dashboard

A nice feature in Model Expert is the option to create a package dashboard. This dashboard calculates the complexity of the diagrams and elements within that packages and gives the modellers an idea about the quality of the package content.

Below you see an example of the dashboard

viewpoint10

Reference model

The basis of Model Expert is that you create a reference model or meta model of (parts of) your model. This means that you can define a package in your repository in which you place a number of sample diagrams that are modelled based on correct usage of your modelling conventions.

For ArchiMate the approach with viewpoints makes creating a Model Expert reference model is relatively easy. When you have created example diagrams of your viewpoints, and often this is already present, these can be the source for the metamodel created by Model Expert

This metamodel can later be used to validate new diagrams, models and package content. So when a modeller has created diagrams that do not apply to the metamodel of the viewpoints he or she is able to validate the models and gets information about which rules are not or wrong applied in the diagram.

In Model Expert you can create a metamodel on full package content but also on diagram level. From ArchiMate perspective this is relevant. When you create a organisation specific model with a subset of elements and relationships from ArchiMate the package level metamodel will be used. However when you have multiple viewpoints with a subset of ArchiMate concepts a metamodel of the specific diagrams is the correct approach. Luckily you can combine the both approaches in your repository and validate on both metamodels.

When you have generated an ArchiMate Metamodel in Model Expert you have the possibility to finetune your convention rules by adding extra rules or modify the generated rules.

In the figure below you see an example of the reference model maintenance screen

viewpoint11

Diagram validation

When you have created a meta - or reference model in Model Expert you can check your diagrams and validate them against the reference model. Nice feature is that a new diagram will be generated in which the validated  diagram is combined with the relevant warnings and errors.

This approach makes it possible to validate the ArchiMate diagrams by the individual architect to do a check on his or her diagrams before the approval is done. When there is a validation process in place with the architectural team a model manager can do this validation before the model is approved.

In the figure below you see an example of a diagram with validation messages. You can see that the diagram is a combination of the original elements, the warning and error messages and an overview and score of the severity of the errors.

viewpoint12

Managed packages and diagram

Checking the validity of a diagram is an relevant feature when the diagram is already created. Would it not be interesting to prevent a modeller from making mistakes when creating the ArchiMate model in a diagram. This approach is especially relevant when you have an architecture team working on different locations or when you have architects that are only temporarily part of your modelling team.

With managed packages and diagrams the options of diagram types but also on elements and relationships is validated during the creation of the diagram content.

In the figure below you see the Model Expert dialog when a modeller selects an element that is not in the reference model of the managed diagram or package. In the example an element is added to the diagram that is not present in the reference model. The modeller gets a warning and the option to select one of the stereotypes available in the reference model.

viewpoint01

MDG generator

The most advanced feature is combining the model validation with a MDG based on the metamodel of the viewpoints. This means that you can create diagrams based on the generated MDG. This diagram has a toolbox with only the elements and relationships relevant in the viewpoint. This means that the modeller knows what elements are present and is unable to select an element from the toolbox that is unavailable in the viewpoint.

When he or she accidentally drags an element from the repository to the diagram not relevant in this viewpoint he or she will get a warning. See the figure below with a viewpoint based limited toolbox and a warning when selecting a irrelevant element

IDEA

IDEA is an Open Source Add-on developed by EAxpertise. It is mainly focussed on supporting data modelling teams but since conceptual data modelling is often done with ArchiMate there are also relevant functionalities for ArchiMate modellers

ArchimAID

In EA there is a clear separation of reusing existing elements in the repository and creating new elements. For existing elements a modeller uses the browser or the search windows and then drags the elements to the diagram he or she is creating. For creating elements the usage of the toolbox is the general approach.

Disadvantage of this separation of functionalities is, especially in large teams or large models the change of introducing duplicates is large. It will be more easy to introduce duplicates when the modelling and naming conventions are not fully in place in a modelling team.

In this situation the ArchiMAID screen can be helpful. It is actually a combination of search window and creating new elements in one wizard. The first step is to select one or more ArchiMate stereotypes and search for a keyword within the repository filtered on the selected stereotypes. When found you can add the elements to the diagram as a link. When not found you can go to an entry screen and then add the element to the repository and the active diagram.

In the figure below you see the three pages in the ArchiMAID wizard

viewpoint03

Deduplicator

In large modelling teams, and not only ArchiMate based teams, it is unavoidable that duplicate elements will exist in a repository. Therefore in the IDEA Add-on various deduplicate routines are available. The first one is a warning when a modeller creates a new element in the repository with the same name, stereotype and version.

The second one is a deduplicator screen that searches for duplicates in a repository from the scope of a package. This means that for all the elements in a package and its sub packages a check is done for duplicates in the repository. These duplicates are displayed in a grid view. When the modeller wants to deduplicate he or she can set various parameters for this functionality and merges the duplicate elements and connectors.

Below you see an image of the two screens within the package deduplicator

viewpoint04

The deduplicator will merge all the elements to the elements present in the selected package. You can save the deduplicated elements in a duplicates package as a backup of these elements

Summary

In this whitepaper we introduced an approach to use ArchiMate for Enterprise Architecture modelling in large teams. The usage of viewpoints makes it possible to reduce complexity in modelling. Generic functions in EA and specific more advanced functionalities in Add-ons makes it possible to support an architecture modelling team in creating validated and quality models of the enterprise.

Configuring enterprise architect and the Add-ons for organisation specific viewpoints can be complex and requires knowledge on both the ArchiMate modelling techniques and configuring the functionalities and add-ons.

EAxpertise has created multiple example repositories for specific ArchiMate viewpoints. In these repositories the functionalities and add-ons are configured in an extensive manner. When you want to introduce this approach in your organisation please contact us. We can help you making a jump start with the introduction of ArchiMate viewpoints and a repository configured in an effective manner to support your ArchiMate modelling team.

Hyperlinks

https://pubs.opengroup.org/architecture/archimate3-doc/

https://www.sparxsystems.com/enterprise_architect_user_guide/15.1/model_domains/archimate.html

https://www.sparxsystems.com/enterprise_architect_user_guide/15.1/user_interface/perspectives.html

https://www.eamodelexpert.com/

http://eaxpertise.nl/ideaen.aspx

Published in White Papers
Monday, 06 May 2019 06:48

June Training Week

Sparx Systems is pleased to announce a new Sparx Systems University Week scheduled June 3rd-7th.

During Sparx Systems University week, a range of both free and paid training sessions are hosted at training locations around the world and online.  All sessions are supported by Sparx Service providers and qualified trainers in a number of different languages.

This week-long event is a unique opportunity to gain knowledge and improve skills around Enterprise Architect. June's course line-up covers a broad range of topics, and has been developed with both introductory and advanced users in mind.

 

Provider Date Timezone Course Title Location Language
SparxSystems Central Europe 4th June CET Delivering an Agile Enterprise with Enterprise Architect (FREE) Online Deutsch
SparxSystems Central Europe 4th June CET IEEE 1471-2000 - IEEE Recommended Practice for Architectural Description for Software-Intensive Systems with Enterprise Architect
Online English
SparxSystems Central Europe 5th June CET Cyber Security Modeling for the Automotive Industry with Enterprise Architect Online English
SparxSystems Central Europe 5th June
CET Telcos, TM Forum Frameworx by Transware, and Cyber Security Modeling with Enterprise Architect (FREE) Online English
Sparx Services UK 3rd June
GMT Enterprise Architect Fundamentals

Livingston, Scotland English
Sparx Services UK 3rd June
GMT Enterprise Architect Profiles Workshop

Livingston, Scotland English
Sparx Services UK 4th June
GMT Enterprise Architect and BPMN

Livingston, Scotland English
Sparx Services UK 4th June
GMT Enterprise Architect Excel Scripting Workshop Livingston, Scotland English
Sparx Services UK 5th June
GMT Enterprise Architect and ArchiMate Business

Livingston, Scotland English
Sparx Services UK 5th June
GMT Enterprise Architect Documentation Workshop

Livingston, Scotland English
Sparx Services UK 6th June
GMT

Scottish Gathering of Enterprise Architect Users (EA User Group Meeting)

Attend a Sparx Systems University course and gain FREE entry

Livingston, Scotland English
Sparx Systems Japan 21st June
JST Methodology and Process with modeling tool (FREE)

Minato, Tokyo, Japan. Near Shinbashi Station Japanese
Sparx Services North America 5th June CDT Business Process Modeling with Sparx Enterprise Architect

Online English
Sparx Services North America 6th June CDT Sparx Systems Enterprise Architect Fundamentals for Solution Developers

Online English
Sparx Services North America 7th June CDT Sparx Systems Enterprise Architect Fundamentals for Business Analysts

Online English
Sparx Systems  India
 IST UML training using Sparx Systems Enterprise Architect
Online English
Sparx Systems  India    IST Business Analysis using Sparx Systems Enterprise Architect Online English
           
Published in Events
Tuesday, 09 January 2018 05:22

Sparx Systems University Week - March 2-9, 2018

The first Sparx University Week for 2018 will be run during March, with most training sessions being held during the week of March 2-9.

University Weeks are hosted by Sparx Systems Japan, Sparx Systems Central Europe, Sparx Services North America, Sparx Systems India and Sparx Services UK (Hippo Software).

 

 

The delivery format for each course varies depending on the subject, audience and location, with a mix of both online and face-to-face seminars and courses.

It is anticipated that Sparx University Week will be run on a global basis every few months, in conjunction with Sparx Systems Sister and Services Partner network.

Bookings are essential, please review the course schedule below and visit the course provider's website for more details and to register your place.

 

Sparx University Week Schedule:

 Facilitator: Date/Time: Course Title: Location: Language: Link:
Sparx System Japan 2nd March 1:45pm - 5:25pm Tokyo Enterprise Architect Case Studies Seminar 2018 - Free Session! sign-up will be open on the 15th January
Tokyo International Forum (1 minute walk from JR Yurakucho Station) Japanese Details & Registration
Sparx Systems India 5th - 7th March 9:30am - 4:30pm IST Enterprise Architect Training & Workshop for SDLC using UML Online Delivery English Details & Registration
Sparx Systems India 8th - 9th March 9:30am - 4:30pm IST Enterprise Architect Training & Workshop for BA Online Delivery English Details & Registration
Sparx Services UK (Hippo Software) 5th-6th March 2018 (2 days) 10am - 4pm GMT EA and ArchiMate for Business Architecture Online Delivery English Details & Registration
Sparx Services UK (Hippo Software) 7th-8th March 2018 (2 days) 10am - 4pm GMT EA and ArchiMate for Enterprise Architecture Online Delivery English Details & Registration
Sparx Services North America 6th & 7th March 9 am - 5:30 pm CST Business Process Modelling with BPMN - 2day course Online Delivery English Details & Registration
Sparx Services North America 8th March 9 am - 5:30 pm CST Enterprise Architect Business Process Modelling Online Delivery English Details & Registration
Sparx Systems Central Europe 8. März 2018: 09:00-12:00 (MEZ) Webinar Sparx Pro Cloud | Installieren, Konfigurieren, Modellieren auf der Zeitachse und wiederverwendbare Bausteine und Standards Online Delivery Deutsch Details & Registration
Sparx Systems Central Europe 8th March 2018: 1p.m.-4p.m. (MEZ) Webinar Sparx Pro Cloud | Installation, Configuration, Time-Aware-Modelling and Reusable Asset Services Online Delivery English Details & Registration
Sparx Systems Central Europe 15.-16.02.2018 UML Grundlagen, 2 Tageskurs bei München München Deutsch Details & Registration
Sparx Systems Central Europe 08.-09.03.2018 Modellbasierte Entwicklung, 2 Tageskurs bei München München Deutsch Details & Registration
Sparx Systems Central Europe 13.-14.02.2018 SysML mit EA, 2 Tageskurs in München München Deutsch Details & Registration
Sparx Systems Central Europe 07.-08.03.2018 SysML mit EA, 2 Tageskurs in Wien in Wien Deutsch Details & Registration
Sparx Systems Central Europe 805.03.2018 9-12h00 MEZ Pro Cloud Installation u.v.m. 3 hours Online Delivery Deutsch Details & Registration
Sparx Systems Central Europe 10.04.-11.04.2018 Best Practice Days in Nürnberg Nürnberg Deutsch Details & Registration
Sparx Systems Central Europe 5-06.03.2018 UML Fundamentals Vienna, 2 days course Vienna English Details & Registration
Sparx Systems Central Europe 05.03.2018 13-16h00 CEST Pro Cloud Installation and more Online Delivery English Details & Registration
Published in Events
Saturday, 25 November 2017 06:00

ArchiMate Search helper in EA

Introduction

One of the challenges of a teambased architecture repository based on the ArchiMate language is to reduce the number of duplicate entities. With duplicates I mean an Archimate concept with the same name and stereotype that has two or more instances in the repository.

Especially in large repositories with a complex project browser configuration and a large number of modellers the changes of duplicates are substantial. Therefore mostly a procedure is introduced based on the steps that a modeller has to do a repository search before he or she can actually add an element from the toolbox and modify it

Search

For searching for elements in the repository there is a search dialog availabe that opens by default in a simple common search that searches for a text in all the items. This works fine but has a number of limitations for an ArchiMate modeller:

  • The search is relatively slow
  • The modeller is not interested in the full content but only in ArchiMate elements of a specific type.

Luckily we can define our own searches in EA and an example of a ArchiMate specific search is shown bin the image below:

In this image you see that we can search for application components only and the list is by default sorted by objectname. This will help us in a later stage in user friendliness. The SQL statement is given below.

 

SELECT t_object.ea_guid AS CLASSGUID, t_object.name as ObjectName, t_object.Stereotype, ParentPkg.Name as ParentName, t_object.ModifiedDate, t_object.Author, t_object.[Version], t_object.[Alias], t_object.Object_Type as CLASSTYPE,t_object.Note as Notes FROM t_object, t_package as ParentPkg WHERE (t_object.name LIKE '#WC#[Search Term]#WC#' OR '[Search Term]'='') AND t_object.stereotype IN('ArchiMate_ApplicationComponent') AND t_object.Package_ID = ParentPkg.Package_ID ORDER BY t_object.Name

The trick is in two parts of the select statement:

  • The first one is that we filter on the stereotype of the element so we only see a limited number of elements based on that stereotype
  • The second is that we do a trick with the search term. We combine a search term search with a full search so you can see all the elements when the search term is empty

Model view

 

This helps us a lot in finding the relevant elements relatively fast however the search screen has a number of limitations in which selecting all the time the right query is relatively user unfriendly. However luckily Enterprise Architect has another screen for implementing this user friendly approach in a convenient way: the model view.

In the modelview you can define your own search view and link these views to a search in the search component of EA. See the picture below

In this screen you see a sample of a number of ArchiMate specific searches based on their stereotype. When you expand one of these searches you get the list of elements based on this stereotype. Since we have a combination of a keyword search and a full search (on the stereotype) the modeller can select the approach that best fits his needs. In the view you can select an element by typing in the first characters another option is to open the conext menu and go to the search function in EA and now we open the richt search immediately.

Download

For download of this solution or for downloading other scripts or add ons please visit the eaxpertise website.

Published in Community Resources
Monday, 18 September 2017 06:00

Sparx Systems University Week - 23-27 Oct, 2017

The second Sparx University Week will be run during October, with most training sessions being held during the week of October 23-27.

University Weeks are hosted by Sparx Systems Japan, Sparx Systems Central Europe, Sparx Services North America, Sparx Systems India and Sparx Services UK (Hippo Software).

uni week 2 hi rct

The delivery format for each course varies depending on the subject, audience and location, with a mix of both online and face-to-face seminars and courses.

It is anticipated that Sparx University Week will be run on a global basis every few months, in conjunction with Sparx Systems Sister and Services Partner network.

Bookings are essential, please review the course schedule below and visit the course provider's website for more details and to register your place.

 

Sparx University Week Schedule:

 Facilitator: Date/Time: Course Title: Location: Language: Link:
Sparx Systems Central Europe Mon 16 Oct: 9:00am - 12:00pm CEST UML Fundamentals with Enterprise Architect - Free Session!  Online Delivery  English Details & Registration
Sparx Systems Central Europe Thur 19 - Fri 20 October Model-based Development with Enterprise Architect Nuremberg, Germany German Details & Registration
Sparx Systems Japan Fri 20 Oct: 1:30pm - 5:45pm JST

Enterprise Architect Introductory Seminar - Free Session!

Yokohama, Japan Japanese Details & Registration
Sparx Services UK (Hippo Software) Mon 23 - Tue 24 October Enterprise Architect, BPMN and Use Cases Online Delivery English Details & Registration
Sparx Systems Central Europe Mon 23 - Tue 24 October Enterprise Architect Foundations Munich, Germany German Details & Registration
Sparx Systems Central Europe Tue 24 - Wed 25 October SysML with Enterprise Architect Munich, Germany German Details & Registration
Sparx Systems Central Europe Tue 24 - Wed 25 October Enterprise Architect Foundations Zurich, Switzerland German Details & Registration
Sparx Systems Central Europe Tue 24 - Wed 25 October Enterprise Architect for Developers Amsterdam, Netherlands English Details & Registration
Sparx Systems Central Europe Tue 24 - Wed 25 October Enterprise Architect for Developers Vienna, Austria English Details & Registration
Sparx Systems North America Tue 24 - Thur 26 October BIZBOK® 4 Foundation with Enterprise Architect Online Delivery English Details & Registration
Sparx Systems India Tue 24 - Thur 26 October Enterprise Architect for Business Analysis Online Delivery English Details & Registration
Sparx Services UK (Hippo Software) Wed 25 - Thur 26 October Enterprise Architect and ArchMate  Online Delivery English Details & Registration
Sparx Systems Japan Fri 27 Oct: 1:30pm - 5:40pm JST Enterprise Architect Utilization Seminar - Free Session! Yokohama, Japan Japanese Details & Registration

 

Published in Events
Thursday, 16 March 2017 14:06

Enterprise Architect User Group: London 2017

Enterprise Architect User Group

London 2017; 18th - 19th May

EA User Group - London 2017The London

2017 meeting of the Enterprise Architect User Group sees a shakeup to the agenda in the form of an additional day being added to the roster. In additional to the traditional presentation day of User Stories, How to's etc the extra day added to the event is taking the form of a training day.

The training day adds to the event a selection of six, three hour training sessions on a variety of subjects from BPMN to TOGAF and Model Curation.


Location

Code Node, 10 South Place, London, EC2M 7BT

Get Directions

EA User Group - London 2017

 

 

 

 

 

 

 

 

 


Agenda; Thursday 18th May

EA User Group - London 2017

You can find information on these training sessions over at the EA User Group website.


Agenda; Friday 19th May

EA User Group - London 2017

You can find a synopsis for each of these presentations over on the EA User Group website.


How to buy your tickets...

Tickets for the event are available directly from the EA User Group website and are priced as follows:

  • Full two day event ticket; £550.00 +Vat
  • Friday only ticket; £75.00 +Vat

EA User Group - London 2017

Published in News
Friday, 02 December 2016 11:58

What's new with ArchiMate 3.0 & EA v.13?

ArchiMate 3.0

by Phil Chudley, Principal Consultant at Dunstan Thomas Consulting

  The Open Group released the official specification of ArchiMate 3.0 in June 2016, and this new specification is supported in Enterprise Architect version 13. This article summarises the new features and changes within ArchiMate 3.0 and provides an example of how to migrate an existing ArchiMate 2.0 model to ArchiMate 3.0 model using Enterprise Architect v.13.

Summary of Changes

The following is a summary of the changes made within ArchiMate 3.0:

  • Motivation Extension;
    • New element for modelling Outcomes.
    • New set of Strategy Elements, Resource, Capability, Course of Action.
  • Business Layer;
    • Representation of the Contract element modified so as to be different from the Business Object Element.
    • Location element removed (although Enterprise Architect has re-located this element to the Technology Layer – Physical Extension).
  • Application Layer;
    • Two new elements added, Application Process and Application Event
  • Technology layer;
    • Elements called Infrastructure in ArchiMate 2.0 are now called Technology in ArchiMate 3.0.
    • Four new elements added, Technology Process, Technology Interaction, Technology Event and Technology Collaboration.
    • New set of Physical Elements, Equipment, Facility, Distribution Network and Material. These elements are known as the Physical Extension.
  • Implementation and Migration Extension;
    • One new element added, Implementation Event.
  • Relationships;
    • Representation of Assignment modified to have a directional arrow.
    • Bi-directional Access relationship added.
    • Plus (positive) and Minus (negative) symbols added to Influence Relationship.
    • New relationship, Serving.

Detail of Changes

The following tables provided an example of the changes for each of the sections listed in the Summary of Changes above.

Motivation Extension

 Element Definition  Notation 
 Outcome An end result that has been achieved. motivation extension - outcome - ArchiMate 3.0
Resource An asset owned or controlled by an individual or organisation.  motivation extension - resource - ArchiMate 3.0
Capability  An ability that an active structure element, such as an organisation, person, or system possesses. motivation extension - capability - ArchiMate 3.0
Course of Action  An approach or plan for configuring some capabilities and resources of the enterprise, undertaken to achieve a goal. motivation extension - course of action - ArchiMate 3.0

Business Layer

 Element Definition  Notation 
 Contract A formal or informal specification of an agreement between a provided and consumer that specifies the rights and obligations associated with a product. business layer - contract - ArchiMate 3.0

Application Layer

 Element Definition  Notation 
Application Process A sequence of application behaviours that achieves a specific outcome. application layer - application process - ArchiMate 3.0
Application Event An application behaviour element that denotes a state change. application layer - application event - ArchiMate 3.0

Technology Layer

 Element Definition  Notation 
Technology Collaboration An aggregate of two or more nodes that work together to perform collective technology behaviour. technology layer - technology collaboration - ArchiMate 3.0
Technology Process A sequence of technology behaviours that achieves a specific outcome. technology layer - technology process - ArchiMate 3.0
Technology Event A technology behaviour element that denotes a state of change. technology layer - technology event - ArchiMate 3.0
Technology Interaction A unit of collective technology behaviour performed by (a collaboration of) two or more nodes. technology layer - technology interaction - ArchiMate 3.0
Equipment One or more physical machines, tools, or instruments that can create, use, store, move, or transform materials. technology layer - equipment - ArchiMate 3.0
Facility A physical structure or environment.  technology layer - facility - ArchiMate 3.0
Distribution Network A physical network used to transport materials or energy. technology layer - distribution network - ArchiMate 3.0
Material Tangible physical matter or physical elements. technology layer - material - ArchiMate 3.0

Implementation & Migration Extension

 Element Definition  Notation 
 Implementation Event A behaviour element that denotes a change of state related to an implementation or migration. implementation and migration extension - implementation event - ArchiMate 3.0

Relationships

 Element Definition  Notation 
Assignment Expresses the allocation of responsibility, performance of behaviour, or execution. relationships - assignment - ArchiMate 3.0
Serving Models that an element provides its functionality to another element. relationships - serving - ArchiMate 3.0
Access Models the ability of behaviour and active structure elements to observe or act upon passive structure elements. relationships - access - ArchiMate 3.0
Influence Models that an element affects the implementation or achievement of some motivation element. relationships - influence - ArchiMate 3.0

Implications to existing ArchiMate models

If an organisation has modelled their Enterprise Architecture using Enterprise Architect and ArchiMate 2, and are now using Version 13 of Enterprise Architect, they have two courses of action:

  1. Continue to model using ArchiMate 2.0. In this case no action is required either for Enterprise Architect or the model repository. An organisation would continue to model using ArchiMate 2.0 if they do not wish to make use of any of the new features in ArchiMate 3.0.
  2. Migrate their existing ArchiMate 2.0 model to ArchiMate 3.0, and then continue to model using ArchiMate 3.0. An organisation would continue to model using ArchiMate 2.0 if they wish to make use of any of the new features in ArchiMate 3.0.

My own personal opinion is that an organisation should consider moving to Enterprise Architect version 13 (mainly due its new feature of “Time Aware Modelling”) and ArchiMate 3.0. One of the main reasons, is due to inherent ambiguity (due to the lack of direction indication) in the assigns relationship in ArchiMate 2.0, which has been eliminated in ArchiMate 3.0 by making the assigns relationship directional.

Migrating an ArchiMate 2.0 model to ArchiMate 3.0

Enterprise Architect version 13 provides a migration script for this purpose. The following steps are used to perform the migration:

  1. Take a backup copy of the existing model repository.
  2. Using the Configure | Manage Technology ribbon, ensure that both ArchiMate 2.0 and ArchiMate 3.0 MDG technologies are enabled.
  3. Using the Code | Scripting ribbon, make the scripting window visible:
    Migrating ArchiMate 2.0 models to ArchiMate 3.0
  4. Select the topmost package (or view) that contains the model to migrate:
    Migrating ArchiMate 2.0 models to ArchiMate 3.0
  5. Select the script Migrate ArchiMate 2 to ArchiMate 3 in the scripting window.
  6. Right-click and select Run Script from the menu.
  7. The progress of the migration, together with any errors / warnings will be displayed in the system output window.
  8. Review the diagrams (you may have to tidy some of the relationships).
  9. Turn off the MDG ArchiMate 2.0 using the Configure | Manage Technology ribbon.
NOTE: It appears that composition relationships are NOT HIDDEN, when using nested structures in ArchiMate 3.0. I suspect this is an Enterprise Architect version 13 issue. This is likely to be fixed and should not deter migration, as these relationships can always be hidden using the Visible Relations function in Enterprise Architect. (Layout | Manage ribbon and select Show and Hide Relationships… from the menu). composition relationships - ArchiMate 3.0

Phil Chudley
Principal Consultant
Dunstan Thomas Consulting
@SparxEAGuru

You'll find lots of useful Enterprise Architect videos on our YouTube Channel.

Published in Tutorials

Introduction

Straight out of the box, Sparx Enterpise Architect provides support for multiple modeling notations. Using a synergy of notations can result in a better description of business architecture. This article considers how ArchiMate, BPMN and UML can be combined into a model that is focused at a high-level of abstraction, whilst still allowing for some critical details to be explored.

Revealing layers of abstraction

As explained in Marc Lankhorst's book Enterprise Architecture at Work (third edition, p. 117), modeling notations provide a way to represent knowledge. The process of building, sharing and transforming the model can foster a new level of understanding amongst the participants. This refined knowledge is (at least) as valuable as the resulting model artifacts (the representation). Effective communication of that knowledge requires consideration for the target audience and an appropriate level of detail.

ArchiMate is good for:

  • People who have a job title like Enterprise Architect or Business Architect.
  • Presenting high-level and layered abstractions of the business itself, along with the software and technology that are used to support it.
  • Tracing and illustrating how the motivating strategy is realised by the business.
  • Planning the evolution and transformation of a business.
  • Supporting concepts that are similar to those found within TOGAF.

By design, the ArchiMate 2.1 specification does not (explicitly) provide for detailed:

  • Business process modeling
  • Data modeling

Meanwhile:

  • BPMN (Business Process Modeling and Notation) is focused on the detailed modeling of business processes; naturally enough, BPMN is increasingly used amongst the Business Analyst community.
  • UML Class diagrams may be used to detail data types, along with the relationships between data types; they are widely recognized amongst software developers, and a good alternative to using entity relationship diagrams for logical data modeling.

Coordinating multiple notations in a single model repository

UML is the native metamodel and notation of Sparx Enterprise Architect. Each additional notation (such as ArchiMate and BPMN) is provided as a MDG (Model-Driven Generator) technology within the tool. The UML specification provides for semantic extension of the UML through the mechanism of Profiles, Stereotypes and Tagged Values. Profiles are the heart of each MDG Technology, enhanced with Sparx tool specific details supporting new types of diagram notations and diagram toolboxes.

Using multiple notations within a single repository requires a disciplined approach in order maintain clarity. In brief, the best practice is to:

  • Restrict the elements of each notation to a separate root node.
  • Use the UML «Trace» dependency to provide an elegant way of relating elements belonging to different notations.

Add root node to your Sparx Enterprise Architect repository

You might not have realised that the File|New Project… menu option is something of a misnomer. Both EAP and FEAP files are actually self-contained model repositories, and can therefore contain multiple root nodes (just like a RDBMS hosted shared repository, whether accessed through an ODBC or Cloud connection). As a reminder, you can add a new root node into a repository by performing the following steps:

  1. If necessary, click View|Project Browser to open the Project Browser window.
  2. Right-click inside the blank (white) area of the Project Browser window and then click Add|Add Root Node….
  3. The Create New Model (root node) window is displayed. Type MyCorporation (ArchiMate) into the Model Name field.
  4. In a similar way, create root nodes for:
    • MyCorporation (BPMN)
    • MyCorporation (UML)

Create a «Trace» dependency between elements belonging to different notations

As stated in the Unified Modeling Language 2.5 specification (p246):

"Models can have Abstraction Dependencies between them: refinement (stereotyped by «Refine» from the Standard Profile) or mapping (for example stereotyped by «Trace» from the Standard Profile). These are typically represented in more detail by Dependencies between the elements contained in the Models. Relationships between elements in different Models generally have no direct impact on the contents of the Models because each Model is meant to be complete. However, they are useful for tracing refinements and for keeping track of cross-references between models."

ArchiMate for an architectural understanding

For example, an ArchiMate Business Process Viewpoint diagram for Purchase Item might look as follows:

 

business-process-viewpoint-purchase-items.jpg

This provides a high-level overview of a core business process, with enough detail to inform stakeholders and decision making at a whole-enterprise level of abstraction.

BPMN for detailing business processes

BPMN can be used to detail the ArchiMate Business Process concept, as follows:

 

bpmn-purchase-items.jpg

UML for detailing the data entites

UML Classes can be used to detail the ArchiMate Business Object concept, as follows:

 

logical-data-modeling.jpg

Usually, diagrams should only contain a single notation. In the examples above, multiple notations are deliberately used to visualise «Trace» dependencies between the ArchiMate, BPMN and UML elements.

How-to add «Trace» dependencies between elements model elements

Best practice for adding «Trace» dependencies using a diagram is to:

  1. Temporarily add the required elements of the foreign notation to a diagram.
  2. Draw the «Trace» depencies between elements.
  3. Remove the foreign notation elements from the diagrams, whilst retaining the traceablity links within the model repository. (So, delete the foreign elements from the diagram, but NOT the repository).

Alternatively, you could use the Relationship Matrix functionality of Sparx Enterprise Architect (click Tools|Relationship Matrix to get started).

Summary

The UML specified «Trace» dependency (relationship) is an elegant way of tracing between different modeling notations. Sparx Enterprise Architect provides a wide coverage of modeling notations, by leveraging the UML Profiles mechanism, and enhancing it with MDG technologies. In practice, this enables a synergy of the ArchiMate, BPMN and UML notations. Models can be constructed as layered abstractions, moving from one notation to another to suit the level of detail required by the user and intended audience.

Published in Tutorials
Thursday, 24 September 2015 09:56

Validating ArchiMate models

ArchiMate_Logo

When to consider the use of ArchiMate?

The Open Group recently released the ArchiMate 2.1 specification; I think that there are five principle reasons to consider using the notation to describe the architecture of your enterprise. By design, ArchiMate is focused toward:

  • Providing a high-level of abstraction
  • Facilitating the construction of a layered enterprise architecture
  • Illustrating how business concepts are supported by IT systems, comprising both hardware and software
  • Tracing stakeholder concerns through to their realization by the enterprise architecture
  • Showing the possible, and actual, evolution of an enterprise architecture through a number of recognizable intermediate states.

How does ArchiMate handle these things?

Approaching abstraction

In a similar way to modeling notations such as the UML and SysML, ArchiMate relies on a simple but powerful approach to creating a useful abstraction of a complex domain:

  • Identify the specific types of things that are pertinent
  • Identify the relationships between the types of things
  • Provide a graphical notation to illustrate the above

Types of concept

ArchiMate divides the specific types of things to be modeled into three core layers:

  • Business concepts (including actor, role, function, process, service and interface)

ArchiMate: Business Layer

Figure 1: A subset of the business layer concepts

  • Application concepts (including component, function, service and interface)

ArchiMate: Application Layer

Figure 2: A subset of application layer concepts

  • Technology concepts (including device, system software, function and interface)

ArchiMate: Technology Layer

Figure 3: A subset of the technology layer concepts

ArchiMate supplements the core types of things with two extensions for:

  • Motivation (including driver, goal, requirement, principle and constraint)
  • Implementation and migration (work package, deliverable, plateau and gap)

Relationships between concepts

ArchiMate specifies ten types of relationship that may be used between elements:

  • Composition
  • Aggregation
  • Assignment
  • Specialization
  • Realization
  • Used by
  • Access
  • Association
  • Triggering
  • Flow

Direct relationships

ArchiMate specifies the set of valid relationships that may exist between concepts. Relationships are restricted for both concepts belonging within a single core layer or extension, and also across layers. The detailed specification of all valid relationships between types is tabulated in Appendix B: Relationship Tables of the ArchiMate 2.1 specification (ISBN 978-94-018-0003-7).

ArchiMate - Direct Relationships

Figure 4: A syntactically (but not necessarily semantically) correct example showing all the available ArchiMate relationships

 

Derived relationships

ArchiMate also specifies rules for abstracting over a chain of relationships between three or more concepts:

Transitively applying this property allows us to replace a “chain” of structural relationships (with intermediate model elements) by the weakest structural relationship in the chain. – p. 94, ArchiMate 2.1 specification

ArchiMate - Derived Relationships

Figure 5: A chain of relationships, along with the derived relationship

How using an ArchiMate modeling tool can help

In theory, it is not necessary to use a dedicated modeling tool in order to draw ArchiMate diagrams. You could create a custom stencil with Microsoft Visio (for example) containing all the basic shapes of the elements and relationships. However, a good modeling tool can be used to positively enhance both:

  • Productivity in creating models
  • The correctness of the models

Both enhancements depend on automated model validation, at either the syntactic or semantic level.

Checking for errors in direct relationships [enhance correctness]

Ideally, your modeling tool should not allow you to draw an invalid relationship between two concepts in the first place. This can be prevented a priori whilst creating the initial drawing, by greying out or eliding the options to create invalid relationships. Alternatively (or additionally), the modeling tool can validate the relationships between elements within each diagram, highlighting where invalid relationships have been made, and suggesting valid alternatives.

Automatically deriving relationships between elements [enhance productivity]

Due to ArchiMate’s rules for abstracting over a chain of relationships, your modeling tool should be able to insert a correctly derived relationship between any two elements in a diagram, or at least inform you that no relationship can be derived at all.

Automating ArchiMate viewpoints

ArchiMate specifies twenty-six viewpoints that may be constructed using different combinations of element types and relationships. Ideally, your tool should be able to:

  • Validate any viewpoint(s) that you have already created. [enhance correctness]
  • Provide automated assistance with creating new diagrams through re-using existing model elements and their relationships. [enhance productivity]

How to do it? Let us help you!

The existing functionality of Sparx Enterprise Architect provides a good basis for fully automating the validation of ArchiMate models. Please contact us at This email address is being protected from spambots. You need JavaScript enabled to view it. if you would like to discuss how you can gain access to our solution.

Published in Tutorials
Page 1 of 2