Displaying items by tag: Archimate

Introduction

ArchiMate is an open standard for modeling enterprise architecture. ArchiMate is a modeling language and has a close relationship with the architectural framework Togaf. This combination means that ArchiMate has been introduced by many organizations, both commercial, non-profit and government institutions in the Netherlands and other countries. In addition, ArchiMate modeling is powerfully supported in Sparx Enterprise Architect.

In this article we discuss expanding the ArchiMate modeling language. Not for introducing new concepts but by adding properties to elements and relationships in the language. This is part of the metamodel in ArchiMate open standard and offers organizations the opportunity to register c features of the organization-specific enterprise architecture in close connection with the concepts in the language.

ArchiMate metamodel

ArchiMate is a rich modeling language with about sixty elements and twelve relationships. This makes it possible to model all aspects of an organization and its environment. In some situations, ArchiMate is seen as too rich for specific goals and target groups. ArchiMate has also introduced a mechanism for this and described it in detail. Namely views and viewpoints.

metamodel

Image metamodel

This means that ArchiMate's metamodel closely matches the needs of many organizations, ranging from just the open standard to making extensions in the language for the benefit of their own organizational needs.

ArchiMate in Enterprise Architect

Enterprise Architect supports multiple modeling languages such as UML, BPMN, BABoK. ArchiMate is also well supported in Enterprise Architect. In addition, more and more mechanisms of the ArchiMate language have been implemented. This includes extensions in addition to the ArchiMate diagrams such as the toolbox, working method for the ArchiMate viewpoints and the option to view viewpoints using the model wizard and then generate an initial view based on the viewpoint.

viewpoint

Image ArchiMate in EA

Since version 16 of Enterprise Architect, it has also been easy to restrict the metamodel for elements and relationships. This makes it possible to limit the language in elements, relationships, diagrams and quick linkers for certain user groups. A nice functionality for organizations that want to use a limited set of the ArchiMate language to simplify the language for the various stakeholders.

ArchiMate also describes expanding the language with properties. If you want to make organization-specific extensions, that is possible. There are also functionalities available in Enterprise Architect that support this. The MDG technology builder in particular has the option to expand the language with elements and relationships with their own properties. This allows you to introduce your own modeling language. In itself a powerful functionality, but also with a major disadvantage. You introduce a new modeling language based on ArchiMate, but IN ADDITION to ArchiMate. In many situations this is not desirable.

In this article I will therefore introduce a method that makes it possible to introduce organization-specific properties within the ArchiMate language without creating a new modeling language. For this we use an example based on the description available on the website with the ArchiMate standard (see the useful links below).

Combine functionalities in Enterprise Architect

As mentioned, you can use the MDG Technology builder to expand the metamodel for a language. This functionality uses the Tagged Values concept in the background. This functionality makes it possible to extend the Enterprise Architect data model.

To expand the ArchiMate language, we can suffice with the use of Tagged Values. The description of the ArchiMate language does mention specializations of concepts. However, if we look at the description, we see that no new mutual connections arise. New specializations can therefore be developed using Tagged Values.

You can elaborate these Tagged Values within the UML types, but they can also be used for ArchiMate. What is powerful is that a script can be defined for a Tagged Value. This allows us to set additional behavior and conditions for the different Tagged Values. In the image below you see the screen where you can define the Tagged Values in combination with the result in the tags of an element. I'll use a simple naming convention here. The name of the Tagged Values all start with ArchiMate. I will come back to this later.

taggedvalue

Image: Tagged Values

We can now easily expand the model based on the stereotypes and the tagged values without having to introduce new stereotypes. This means that the ArchiMate metamodel remains available unchanged and we can continue to exchange ArchiMate models based on the AMEF exchange format.

However, there is a functionality missing that makes the modeler’s life easy. A bottleneck with the tagged values is that the tagged values have to be added manually via the property screen. This is repetitive and slowing down when working with your own tagged values.

Fortunately, there is something that can be done about that. In Sparx Enterprise Architect you can catch events that occur in Enterprise Architect via a (model-based) add-in. This also applies to a context changed event. This means that if the context changes to another element or another connector, a command is executed. You can then use the Enterprise Architect API to check whether all tagged values are present for a certain stereotype and, if not, create these tagged values for the element or connector.

This functionality has been realized in the IDEA Add-on. In the settings of the IDEA addon you can prefix which tagged values should be created. In our case this is ArchiMate as a prefix, then the IDEA addon is used based on the handling of an event in EA. In the image below you can see the piece of software that underlies this within the IDEA AddOn. If you want to create a model-based add-in yourself, you can do so based on the code in the example below.

Public Shared Function DefaultTaggedValues(Element As EA.Element, _

 Repository As EA.Repository) As Boolean

           Dim Tag, oTV As EA.TaggedValue

           Dim oDef As New IDEADefinitions()

           Dim Prefix As String

           Dim oPT As EA.PropertyType

           Dim strPTTag As String

           Dim strNames As String = ";"

           Try

               Prefix = oDef.GetSettingValue("TaggedValuePrefix")

               If Prefix.Length > 0 Then

                   For Each oTV In Element.TaggedValues

                       strNames += oTV.Name + ";"

                   Next

                   For Each oPT In Repository.PropertyTypes

                       Dim blnCreateTag As Boolean = False

                       strPTTag = oPT.Tag.ToString()

                       If strNames.Contains(strPTTag) Then

                           blnCreateTag = False

                       Else

                           If strPTTag.Contains(Prefix) Then

If oPT.Detail.ToString().Contains("BaseStereotype") = False And _             Element.Stereotype.Length > 0 Then

                                   blnCreateTag = True

                               End If

                               If (oPT.Detail.ToString().Contains("BaseStereotype") And _

                                    oPT.Detail.ToString().ToUpper().Contains(Element.Stereotype.ToUpper())) Then

                                   blnCreateTag = True

                               End If

                               If oPT.Detail.ToString().Contains("AppliesTo=" + Element.Type) Then

                                   blnCreateTag = True

                               End If

                               If blnCreateTag Then

                                   Tag = Element.TaggedValues.AddNew(oPT.Tag, "")

                                   Tag.Update()

                               End If

                           End If

                       End If

                   Next

                   Element.Update()

                   Return True

               Else

                   Return False

               End If

           Catch ex As Exception

               DLA2EAHelper.Error2Log(ex)

           End Try

           Return False

End Function

Source code

I have created an example for the combination of the tagged values and the IDEA, including a short video on how this can be achieved.

Summary

This whitepaper describes how you can extend the ArchiMate metamodel with properties. In Sparx Enterprise Architect this is possible with the tagged value functionality. In addition, the IDEA AddOn describes how repetitive and slow work for the modeler can be automated. With this we introduce a powerful method to extend the ArchIMate metamodel without having to introduce new stereotypes into the model. Particularly for organizations that see working based on open standards as an important requirement.

Useful Links

Published in White Papers
Tagged under

 

Introducting an Architecture Repository is an opportunity to professionalize the architecture modeling process and products. There a publication is prepared  for supporting an approach for introducing Sparx Enterprise Architect as An Architecture Repository. This book focuses on introducing an architecture repository. An architecture repository contributes to a more mature approach to introducing architecture into an organization. This is a combination package of a book, online training and a sample repository.

Book sample

 

 

The book, training and sample repository are prepared based on the following subjects

  • Document driven approach as baseline architecture
  • Architecture Repository as target architecture
  • Solution architecture for the transfer from baseline to architecture
  • Step by step guides
  • Aids for successfully introducing an architecture repository

The combination package is available from Leanpub. Please follow the link where you see some sample pages of the book and a sample video of the online training. For more information please visit:

https://leanpub.com/architecturerepository

The sample repository included in the combination package is used to write the book, a nice example of the power of Sparx Enterprise Architect and an approach also know as "Eat you own Dogfood". However it gives you an option to make a jumpstart in introducing an architecture repository.

Published in Tutorials

Resume

ArchiMate is a powerful enterprise modelling language for the architect's expressiveness. As a result, ArchiMate is sometimes experienced as complex. However, there are a number of parts in the metamodel that can simplify the views.

In this white paper, we discuss two forms of simplification, namely nesting of elements to simplify the visual representation. In addition, working with derived relationships to reduce the complexity in a diagram.

Both forms of simplification are supported in Sparx Enterprise Architect. However, with two extra routines in the IDEA Addon, the modeller is automatically supported in implementing changes in the model and validating whether these transformations comply with the rules in the ArchiMate metamodel

Introduction

ArchiMate is a powerful language with several dozen concepts, elements and relations. This gives the architect expressiveness to express an architectural elaboration. For architects among themselves, ArchiMate is important as a language with a rich vocabulary. However, this also has a number of drawbacks. The main disadvantages are that the language is experienced as difficult for a number of stakeholders.

Fortunately, a number of concepts have been added in ArchiMate that allow for a simplification of the language with a relatively small limitation in expressiveness. Two of these simplifications are nesting elements to simplify that way. The other set-up is to work with derivative relations. However, both simplifications are included in the meta model and are structured in the language.

In this white paper we discuss these two simplifications with a number of helpers in the IDEA addon for Sparx Enterprise Architect. In these helpers, the simplifications based on the meta model are automatically supported. A nice dimension is that this also offers possibilities to validate the model in accordance with the rules that apply to these simplifications.

The helpers are within the IDEA addon under the ArchimAid functionality. In this article we will discuss this functionality. The addon is available as open source and can be downloaded from https://data-docent.nl/IDEANL.aspx#gsc.tab=0. In addition, a web video has been created to demonstrate the functionality of ArchimAid.

Nested elements

 

Archimate perspective

In ArchiMate, a large number of elements can be related to each other. In that case, a diagram will soon be regarded as quite full and well-organized for the reader. Consider, for example, hierarchical structures such as representing the organizational structure or the classification of information objects divided into domains. Below is an example of a diagram that shows a simple hierarchy.

This diagram can be greatly simplified by using nesting. Nesting places the child elements within the parent element. In the example, therefore, a nesting is created twice. See below

 

This makes the classification easier to interpret, even for stakeholders without in-depth ArchiMate knowledge.

The metamodel does, however, impose some restrictions on this method. Nesting is mainly used for structural relationships and for specializations. In addition, it is desirable to include in your own modelling convention that only the same relationship is used in a nested elaboration. So no combination of, for example, composition and aggregation or specialization in one diagram, then it is no longer possible to deduce which relations have been used.

Sparx Enterprise Architect implementation

In Sparx Enterprise architect the design of nesting is adequately implemented. If you connect two elements and then place one inside the other, the connector will be made invisible as expected, provided you choose the relationship types defined in ArchiMate that allow nesting.

The bottleneck in this, however, is that if you do not create a connector between two elements in advance and apply nesting, there will be no notification that a connector based on ArchiMate is relevant. In one diagram it goes well, but in the repository and in other diagrams it is not clear that there should be a relationship. The ArchimAid is helpful here.

 

 Derived helper

 

ArchimAid Helper

The ArchimAid helper is a screen in the IDEA addon that supports the ArchiMate modeller. This way you can easily search for ArchiMate stereotypes, layers and aspects. However, the Embed tab provides an overview of the connectors that are there, including the stereotypes, or not.

 

You can then use the Create Embedded button to create the connectors based on the selected stereotype to create the connectors. See also the web video that shows how create embedded works.

Derived relationships

Archimate perspective

Do you work part of an the enterprise in ArchiMate in detail, you see that a model emerges that has many elements and relationships. This provides a level of detail that is most expressive for the community of architects. However, these detailed elaborations are too complex for other stakeholders. Compare it with the construction world where the specifications are relevant for this target group. However, the future residents can suffice with an artist's impression of the house to be built.

Within ArchiMate it is possible to simplify the model by using derived relations. In the image below you can see an example of this. Instead of a diagram consisting of several elements and relationships, a new relationship is established between two elements. The other elements can then be removed.

This diagram shows the simplification by establishing a derivative relationship between two elements. The elements that can be removed as a result are colored grey. If desired, you could remove a few more elements if this simplifies the model.

Sparx Enterprise Architect implementation

Sparx Enterprise Architect offers you the freedom to establish relationships based on the meta model. This also supports the addition of derived relationships. However, this is an activity that must be performed manually by the modeler.

An additional challenge is that the modeller must be aware that adding a derivative relationship to one diagram can also have an effect on other diagrams on which the elements both occur.

ArchimAid Helper

The ArchimAid functionality does support the modeller automatically in determining derived relationships. You can see an example of this on the screen. You choose a start and end entity and determine based on the ArchiMate metamodel rules which relationship arises as a derived relationship. This can be done via multiple paths through the model. You will see it in the diagram.

Derived helper

Then, in the list of possible simplifications, you can choose the paths you want to replace with the simplified relation. The other relationships are then made invisible in the chart, not from other charts. See the web video with an interactive example.

More information

For more information about the  IDEA ArchimAid screens please visit the following online content:

Published in White Papers
Tagged under
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
Tagged under
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
Page 1 of 2
0 - mysqli object is already closed
0 - mysqli object is already closed

You may not be able to visit this page because of:

  1. an out-of-date bookmark/favourite
  2. a search engine that has an out-of-date listing for this site
  3. a mistyped address
  4. you have no access to this page
  5. The requested resource was not found.
  6. An error has occurred while processing your request.

Please try one of the following pages:

If difficulties persist, please contact the System Administrator of this site and report the error below.

mysqli object is already closed