Enterprise Architect version 15.0

download
purchase

enzh-CNcsnlfrdehiiditkoplptruskessv

My Profile

Social Media Channels

facebook  twitter  youtube   linkedin

Tuesday, 17 September 2019 05:38

MDG for modeling ISA 88 Batch systems

We have developed a MDG for the (Batch) process industry based on ANSI/ISA S88 standard and extended with the capability to create Piping and Instrumentation diagrams (P&ID) and Functional Block diagrams (FBD).

The Physical model

Physical model toolbox support in the ISA88 Physical layers like Area, Process cell, Unit, equipment module and control module. For example a Physical elements like a Unit can be part of or shared within a Process cell. The toolbox support in different process flows like liquid, gas and steam.

Physical model

The Physical model and Procedures

The Procedure Toolbox support in the development of Procedure models with elements like Operations, Phases and Actions. Flow between  elements in these Procedure models can be created as control flows or conditional control flows. The flow can also be extended with Material flows.

Unit to Procedure

Procedure to unit

Procedures en recipes

The Recipe Toolbox support in creating Recipe models. Within the Recipe models, Recipes can be extend with additional information and parameters. Recipes can be related to other Recipes by reference or copy.

Recipe to Procedure

Physical model and P&ID’s

Physical models are transformed to a Piping & Instrumentation model (P&ID) by using the PID toolbox. An P&ID diagram is realized as a composite diagram of a Unit, Equipment module or Control module.

The toolbox contains P&ID objects like valves, vessels, instrumentation and pumps.

Unit to PID

P&ID’s and process automation

Objects like motors, valves, vessels and instrumentation need to be monitored and controlled. The IEC61131 describes Functional Block diagrams (FBD). The FUP Toolbox support the creation of FBD’s. An FBD is implemented as a composite diagram of P&ID element. But can also be related to Actions defined In Procedure diagram.

PID to Fup

 Jan de Liefde

This email address is being protected from spambots. You need JavaScript enabled to view it.

Logo The Collective

 

Published in Community Resources

Using Stereotyped Relationships to Define Quicklink rules

by Phillip Chudley, Principal Consultant at Dunstan Thomas Consulting

 

Background

One of my favourite features of Enterprise Architect (EA) is the ability to define your own meta-models using MDG technology, and over the many years I have used Enterprise Architect, I have developed many such MDGs and have shared my experiences in their development at numerous EA User Group meetings.

However there has always been a “sting in the tail” with developing an MDG in the respect of defining Quicklink rules. These were (and can still be) defined using a spreadsheet where each row defined a connector between two elements for a specific diagram. Not only was this tedious, but also prone to error and not that intuitive.

With the arrival of EA version 14 and in particularEnterprise Architect version 14.1 a new method of defining Quicklink rules was introduced. This new method uses Meta-relationship, Stereotyped relationship and metaconstraint.

In this article I will explain through a simple example MDG how to use Stereotyped relationships to define Quicklink rules.

Example Meta-model

For this example a simple three element meta-model will be used and this is illustrated below together with the relationships that are defined between these three elements:

MDG Quicklink Definitions

Plan of Attack

To experiment with the new features of MDGs, the following steps were used:

  1. Create a locally hosted model repository for the MDG model.
  2. Using the MDG Builder structure, model the profile, (including any Tagged Values and Shapescripts), model the custom toolbox(es) and model custom diagram(s) connecting them with the appropriate toolboxes.
  3. Generate the MDG.
  4. Test the MDG.
  5. Using a separate diagram model the view specifications.
  6. Regenerate the MDG.
  7. Test the view specifications.
  8. Using a separate diagram model Quicklink definitions using Meta-relationships / Stereotyped relationships.
  9. Regenerate the MDG.
  10. Test the Quicklink definitions.

Steps 1) through 4) are pretty much standard for the development of an MDG and hence will not be described in detail, however some important inclusions and “gotchas” will be described.

The complete EA Model and the MDG XML file are available for download.

The MDG Profile Model

The diagram below illustrates the profile model for the elements and relationships defined in the meta-model shown previously:

MDG Quicklink Definitions

Notes

The following should be noted:

  1. The attribute named _HideUmlLinks of type Boolean and default value of True is necessary so as to prevent all the UML Quicklinks from the metaclass (in this case Class) being listed with your defined Quicklink definitions. This will have no effect until such Quicklink definitions have been included in the profile model. This attribute is added manually to the metaclass.
  2. The attributes named _MeaningForwards and _MeaningBackwoods for the metaclasses Association, Generalization and Composition are used to provide names for the Quicklink definitions. That is the names that will appear in the Quicklink menu. _MeaningForwards is the Quicklink name for Source to Target, whereas _MeaningBackwards is the Quicklink name for Target to Source. These values, along with the attributes named _linestyle and _direction can be defined using the Profile Helpers.
  3. Tagged Values named DateIndentified (type Date) and CauseDetails (type Memo) have been defined and added to the stereotypes Problem and Cause.
  4. All three elements have a basic Shapescript (shown in the table below in case you would like to create the MDG from scratch), and have Toolbox / Project Browser icons defined. These icons are optional, but are included in the MDG XML file available for download, however if you use the EA model, then you will have to exclude the icons in the stereotyped elements and toolbox prior to generating the MDG.

    MDG Quicklink Definitions
  5. EA version 14.0 moved many of the familiar right-click menu options to the Ribbons, and generating profiles for packages and diagrams is no exception. To generate a profile from a package or diagram:
    • For a Profile Package:
      • Select the Package containing the profile in the Project Browser.
      • Select Publish → Publish Package as UML Profile from the Technologies section of the SPECIALIZE ribbon.
    • For a Diagram that models a custom diagram, or custom toolbox:
      • Open the diagram containing the model of the custom diagram or custom toolbox.
      • Select Publish → Publish Diagram as UML Profile from the Technologies section of the SPECIALIZE ribbon.
      • When the dialog opens, there is no value in the Version text field. Due to an issue in EA 14.1, this must have a value (I usually set this to the same value as the version used when generating the MDG). Failure to enter a value for the version, will result in the XML files for the diagram profiles to be missing from the MDG generation dialogs.

The following diagrams illustrate the models for a single custom toolbox and a custom diagram provided for reference for the MDG example used in this article.

Example; Custom Toolbox

MDG Quicklink Definitions

Example; Custom Diagram

MDG Quicklink Definitions

The attributes in the Diagam_Custom metaclass are:

  • Show Qualifiers & Visibility Indicators – False
  • Show Tagged Values Compartment – True
  • Hide Attributes Compartment – True
  • Hide Operations Compartment – True
  • Hide Connector Stereotype Labels – True
NOTE: Due to the simple Shapescript used for the elements within the profile, the attributes for the compartment visibility will have no effect.

Using Stereotyped relationships to Define Quicklink Rules

In Enterprise Architect version 14, two new items were added to the development of MDGs, these are:

  • Meta-relationship – used to define a Quicklink rule between stereotyped elements defined in an MDG using UML Connectors.
  • Stereotyped relationship - used to define a Quicklink rule between stereotyped elements defined in an MDG using Stereotyped Connectors defined in the MDG

In my experiments with these new items, I discovered that Meta-relationships worked when used to defined Quicklink rules between different MDG stereotypes, but did not appear to work when used to define Quicklink rules between the same MDG stereotype (that is a self-relationship). Hence the reason why in this example I have defined MDG stereotypes for Composition and Generalization and used Stereotyped relationships exclusively to defined Quicklink rules.

Defining the Quicklink Rules

Using a new Profile diagram with the same package as where the MDG Profile is defined, simply:

    • Re-use the MDG Stereotype element (or elements) for which a relationships is required.
    • Using the Metamodel section of the Profile Toolbox create a relationship for each valid connection between these MDG Stereotyped elements, including any self-relationships.
    • Set a tagged value named stereotype to the name of the MDG stereotyped relationship that is valid in this context.

The diagram for the Meta-model used in this diagram is as shown below:

MDG Quicklink Definitions

The profile package is then saved as a UML Profile and the MDG re-generated. Upon testing, and using the Quicklink the result is as shown in the example below:

MDG Quicklink Definitions

If, when using the Quicklink an attempt is made to create a connection between any two elements that do not have a Stereotyped-relationship defined (as between Cause and Solution), no connector will be allowed.

NOTE: The rules defined using Stereotyped-relationships only apply when using the Quicklinker, these rules can be broken by using any relationships visible in the toolbox.

Therefore, to fully enforce relationship rules, define all relationships using Stereotyped-relationships and do not provide any relationships in the diagram toolbox.

Conclusion

Does using Stereotyped-relationships ease the pain of Quicklink defintions? In my opinion, most definitely yes!

Accompanying this tutorial, is a zip file containing:

  • The model used to define the example used in this tutorial. This is an .eapx file.
  • The MDG XML file as generated from the model.

I hope this example is useful to all those of you who develop MDGs for Enterprise Architect and I welcome your feedback.

My next article will explore the other new features for MDGs, namely:

  • View Specifications
  • Metaconstraints

Follow me on Twitter @SparxEAGuru

Published in Tutorials

sparx services north america logo

Sparx Services North America launches new offerings to support the BIZBOK® Guide for Business Architecture

Sparx Services North America is pleased to announce a new set of training, consulting and technology offerings aligned to the BIZBOK Guide to support the Business Architecture discipline.  Business Architecture is an essential part of companies’ digital transformation and operational excellence strategies - weaving together people, processes, information and technology in support of strategic vision and operational objectives. A Guide to the Business Architecture Body of Knowledge® (BIZBOK Guide) from the Business Architecture Guild® represents the generally accepted standards of practice for the Business Architecture discipline.

BIZBOK Training Offerings

Whether you are a new or aspiring Business Architect seeking to learn the fundamentals of the role; a seasoned Enterprise, Business, Information or Systems Architect looking to add the BIZBOK methodology to your toolbox; or a company that uses Sparx Enterprise Architect today and are looking to bring best-practices into your architecture function – the BIZBOK training offerings from Sparx Services North America, a Guild Accredited Training Provider®, can help provide the skills you need to succeed.

BIZBOK Foundation: A 3-day course covering the core framework content of the BIZBOK to help students prepare for the Certified Business Architect® exam from the Business Architecture Guild.

Sparx Enterprise Architect BIZBOK: A 2-day course to help students understand how to use Sparx Enterprise Architect (the industry leading EA tool) to support Business Architecture activities as outlined in the BIZBOK.

BIZBOK Essentials: A 5-day course that combines the framework and essential concepts from the BIZBOK Foundation course with the practical application and tooling guidance from the implementation course into an intensive overview to give students the knowledge and skills to apply the BIZBOK in their daily work. 

Business Architecture Alignment and Integration: A 2-day course focused on leveraging the BIZBOK concepts to integrate Business Architecture with existing EA, Business Analysis and Solution Delivery functions.

BIZBOK Consulting Offerings

As active contributors to the Business Architecture Guild, the architects from Sparx Services North America understand how to apply the BIZBOK framework and methods within the context of a company’s EA/BA practice along with best-practices for configuring and using Sparx Enterprise Architect to support the BIZBOK methods.

Coming Soon! BIZBOK Extension for Sparx Enterprise Architect

Sparx Services North America will soon be releasing a new BIZBOK Extension (MDG Technology) for the Sparx Enterprise Architect platform - providing pre-configured objects, data models and templates to enable Business Architects to quickly perform techniques direct from the BIZBOK using the industry leading EA tool, Sparx Enterprise Architect.

To learn more about the BIZBOK offerings from Sparx Services North America, visit www.sparxsystems.us/bizbok or contact one of our BIZBOK experts at  This email address is being protected from spambots. You need JavaScript enabled to view it.

gatp badgeSparx Certified Training Stamp

Business Architecture Guild, BIZBOK, A Guide to the Business Architecture Body of Knowledge, Certified Business Architect, CBA, Guild Accredited Training Program, and GATP are trademarks or registered trademarks of the Business Architecture Guild. Sparx Systems, Enterprise Architect, MDG Integration, and MDG Technology are trademarks or registered trademarks of Sparx Systems Pty Ltd

Published in News

During his time as an Enterprise Architect consultant, Jan van Oort trained numerous SparxSystems Central Europe customers eager to improve their modeling skills and methodologies. When he co-founded the startup KIVU in 2016, he naturally introduced Enterprise Architect there as well, which quickly became a key development tool. KIVU Technologies is a provider of scalable software for network analysis which is currently in demand, not only in the security sector.

In times of increasing monitoring and collection of mass data, KIVU is an exceptional example. Using well-designed software, KIVU enables the analysis of networks (not just social networks) from known nodes. The software is designed to assist analysts in narrowing down their data and connections to relevant, manageable networks, enabling them to focus on pertinent content and behaviour at greater speed.  Jan van Oort, Chief Engineer of KIVU: "As a former Enterprise Architect Trainer, I recognized the potential of model-based development right from the start of our project. Enterprise Architect supports me mainly in three key areas: Requirements definition, communicating with investors and customers, and presenting our project at events.”

As a result, KIVU recently completed a seed financing round of EUR 1.8 million and is thus able to push ahead with its development. Hans Bartmann, Managing Director at SparxSystems Software Central Europe: "We congratulate KIVU on a successful financing round. At the same time, we are pleased that one of our former trainers is now leveraging the potentials of model-based development to create a data-protection-friendly network analysis platform. This approach combines many positive aspects and has the best prerequisites for an international victory from Austria."

 

Requirements are easily defined in the model

“The KIVU platform consists of two parts: a graphical user interface (GUI) and a database (backend server) called TARIM. Right at the start of the development of TARIM, I realized that the requirements defined here had to be clearly understandable for every developer. A model is ideal for this purpose, because it allows requirements to be defined graphically, regardless of how the programming based on it is handled," explains van Oort. Based on this requirement shown in the model, a programmer creates source code, which is then stored in a version control system (Github). In this way, van Oort can always keep track of whether a requirement has been successfully completed or whether subsequent improvements are necessary.

While the Chief Engineer deliberately does not oblige the programmers to work with the model-based approach, they still see the benefits. “As our GUI has continued to grow over the past year, the developers recently asked me if they could work with Enterprise Architect, not least due to the fact that over 40,000 lines of code can very practically be handled in a single model.” The first model (database) has therefore now been merged with the second model (GUI). The GUI is created in JavaScript, has to run in every current browser and allows the display of different views. It has a connection to the database at any time in order to be able to display changes immediately.

Since the platform is designed for the throughput of large amounts of data (social networks, telephone, time or bank data, etc.), all analyses are carried out in the database. This relieves the GUI and ensures that the displays are always current. By using special filters, only highly relevant data is analyzed. “Our data processing and filtering must be very transparent in order to be able to disclose it at any time should we be requested to do so by the authorities. On the one hand, we must guarantee the required level of data protection, while providing a powerful network analysis tool on the other,” explains van Oort.

Due diligence mastered with modeling

These days, a ‘technical due diligence’ examination is usually required on the way to start-up financing. An external expert assesses whether the start-up can really perform the service as claimed. KIVU also had to take this step, but did not want to disclose its own source code. “I can only recommend to any software start-up to use a model for this purpose. Since our Bulgarian auditor works with Enterprise Architect himself, we were able to use shared model views to successfully and quickly complete the audit via the Internet,” van Oort emphasizes. Last but not least, the KIVU team uses the views from the model in lectures, most recently at the first VÖSI (Austrian Software Industry Association) Software Day in Vienna. “We usually show our approach at security conferences in front of developers who of course want to see something concrete and understand the interrelationships. With the help of model views, this is no problem.” The views can be varied according to the target group, which significantly increases the comprehensibility and effectiveness of the presentations.

1 Team KIVU

Image 1: The KIVU team (from right to left): in front, Christian Weichselbaum, Daniela Klimpfinger, Julia Franciotti; in back, Robert Wesley, Jan van Oort (in a white t-shirt) and Frazer Kirkman in back.

Tarim

Image 2: The TARIM database developed by KIVU

(All images ©KIVU Technologies)

3 KIVU API

Image 3: This image represents the top layer of  the KIVU API  in the form of UML / Java interfaces, as well as the "tip of the iceberg" with regard to the API's actual implementation.  Concrete classes will often appear in one or more sequence diagrams. These diagrams (the associated code) are what developers at KIVU get to work with. The interfaces are round-trip engineered against the source code: a modification by the Chief Engineer on one side (code or model) results into an update at the other side, and forces the developers to implement it. All the while, the Chief Engineer doesn't need to look at implementation details, although at any time he can reverse-engineer the implementation source code into the model. Similar diagrams exist of protocol layers, specific parsing utilities etc. etc.  

About KIVU Technologies

KIVU Technologies is a provider of scalable software for the analysis of networks in the security sector and beyond. The company was founded in 2016 in Vienna by Robert Wesley, Jan van Oort and Christian Weichselbaum, and recently received seed financing of EUR 1.8 million. Austrian aws Gründerfonds and btov Partners led the financing round with the participation of APEX Ventures. In addition, Ewald Hesse and Louis Curran are supporting the start-up as angel investors. The KIVU team consists of engineers, developers, data scientists, analysts and security experts.

http://kivu.tech/

About Sparx Systems

Sparx Systems was founded in Australia in 1996 and is the producer of Enterprise Architect, the world’s premiere UML modeling platform. Enterprise Architect is used to design and produce software systems, business process modeling, and modeling of any process or system. Enterprise Architect has been implemented by over 650,000 users due to its high performance at an unbeatable price. Enterprise Architect is an easy-to-understand, team-based modeling environment that helps organizations analyze, design and create well-documented systems precisely and comprehensibly. It also allows companies to collect and present the often distributed knowledge of teams and departments.

In order to support customers in their own language and time zone, SparxSystems Software Central Europe was created in 2004 to provide for the entire German-speaking region with software licenses, training and consulting.

You can find more information at www.sparxsystems.eu

Published in Case Studies
Tuesday, 17 October 2017 06:00

RAMI 4.0 Toolbox

RAMI 4.0 Toolbox

The RAMI 4.0-Toolbox deals with the complexity that comes up with Industrie 4.0. Implemented as extension for the modeling tool Enterprise Architect it provides a framework for modelling an architecture based on cyber physical systems.

RAMI Toolbox 2 768x432

History

Building on the success that comes with the SGAM-Toolbox we started creating a new concept for Industrie 4.0 in 2016. Currently the first launch of the toolbox is available which includes some adaptations and improvements.

 

Technology

The toolbox is based on the “Model Driven Generation” technology provided by Enterprise Architect where the results are stored in a XML-based file. The language of choice is C# which allows to make use of all functionalities that come with it.

The RAMI 4.0 Toolbox has been made possible and in cooperation with SparxSystems Central Europe (DE: www.sparxsystems.de, EN: www.sparxsystems.eu

 

Outlook

The next step is to improve the toolbox according to usability and scope of functions. To achieve this, the toolbox is under continuous processing and integration of suggestions from constant exchange with the community.

Complete documentation: https://www.en-trust.at/wp-content/uploads/Introduction-to-RAMI-Toolbox.pdf 

Press Relase (german): https://www.pressebox.de/pressemitteilung/sparxsystems-software-gmbh/SparxSystems-CE-RAMI-40-modellbasiert-umsetzen/boxid/876469

 

Published in Community Resources

VISEO EA UML to JHipster Generator MDG Technology

This article shares an MDG Technology that integrates Sparx Enterprise Architect UML models with JHipster.

VISEO EA UML to JHipster Generator MDG produces JDL (JHipster Domain Language) content from UML models maintained in Enterprise Architect. This output can be used in JHipster to create the application's entities, including properties and relations.

Not being able to find a suitable tool that generates JHipster entities from UML models, I started such integration for a software application that has been implemented with JHipster 2.

Note: the current version of the MDG is compatible with JHipster 2, latest available version when the project started. JHipster 3 new features could be integrated in a future version.

Context

A modelling project has been launched with Enterprise Architect to gather and maintain all the information and knowledge related with the project for the development team and stakeholders.

The initial models included business classes to identify the concepts, shared through a visual representation with UML. This approach has been useful when integrating these concepts in the technical environment JHipster.

JHipster, or “Java Hipster”, is a handy Open Source application generator that aims to create a complete and modern Web app:

  • A high-performance and robust Java stack back-end (Spring Boot, Spring Security, Spring Data, Spring MVC, etc.)
  • A sleek, modern, mobile-first front-end (Angular.js and Bootstrap)
  • A suite of pre-configured development tools like Yeoman, Maven, Gradle, Grunt, Gulp.js and Bower

UML to JHipster JDL generator

Overview

Defining class models on both business and technical layers enabled a proper integration of the business definitions in the software application. Design workshops were carried in an efficient manner through the use of a common language and tool (Sparx Enterprise Architect and UML).

Looking for existing integration solutions between UML tools and JHipster yielded XMI exports/imports. However XMI implementations in UML tools don't provide most of the time a proper and full exchange of UML models i.e. without loss or modification of definitions. JDL Studio looked interesting; this online tool renders an entity diagram matching the JDL content. The downloaded file can be used to generate entities in JHipster (command line example: "yo jhipster:import-jdl export-jdl-uml.jh").
Without a suitable link between Enterprise Architect and JHipster, I wrote a script that generates such content directly from Enterprise Architect models. It requires the following JHipster 2 customizations carried in Enterprise Architect:

  • Data types: JHipster types are available for the entities' attributes.
  • UML profile: stereotypes on UML classes and attributes to provide JHipster properties via tagged values, listed below.
    • Classes
      • jhipsterDto : use mapstruct for the DTO-entity mapping
      • jhipsterPaginate : pagination choice for lists (infinite-scroll, pager, pagination)
      • jhipsterService : apply serviceClass to the entity
    • Attributes
      • jhipsterisRequired : the attribut is required
      • jhipsterMin: provides the minimum value (declared as minlength for String attributes, or min for Integer, Long, Float, Double, or BigDecimal attributes)
      • jhipsterMax: provides the maximum value (declared as maxlength for String attributes, or max for Integer, Long, Float, Double, or BigDecimal attributes)
      • jhipsterPattern: provide the pattern value for a String attribute
    • Script: generates the JDL content

The following UML class diagram illustrates the meta-model applied for the UML to JHipster 2 JDL integration:

SparxSystems Enterprise Architect UML to JHipster JDL File generator metamodel

The script and UML profile have been improved through users' feedback and reviews from JHipster experts at VISEO.

Installation

The EA UML to JHipster MDG is published via an XML file. Once installed, it is listed in the MDG Technologies screen:

MDG EA UML to JHipster JDL

Note: this MDG is available on request (e-mail: jhipster[at]umlchannel.com).

JHipster diagram and toolbox

EA/JHipster MDG Technology supports a diagram with its toolbox to create stereotyped classes and attributes:

uml to jhipster sparx en toolbox

UML profile and JHipster stereotypes

EA/JHipster MDG Technology includes a UML profile with stereotypes on classes and attributes to provide relevant Tagged Values.

When starting a JHipster design class diagram, JHipster entities contain tagged values available from the JHipster tab: DTO, paginate, service. The "none" value is set by default so all tagged values are optional.

uml jhipster entity properties

The JHipster entity "Language" field is set to JHipster so its attributes are associated with the JHipster data types list.

The diagram toolbox can be used to add a stereotyped attribute to a JHipster Entity class. Such attributes also contains properties from the Tagged Values tab:

sparx ea uml attribute jhipster

UML to JHipster generation script

The following UML class diagram has been defined with Sparx Enterprise Architect based on the JDL Studio example. This model provides a mean to check that the generated JDL content from either solution matches.

Compared with the JDL studio diagram, UML class diagrams have the advantage of being based on the OMG standard. Furthermore using a tool like Sparx Enterprise Architect provides a way to maintain the entity design model within a complete modelling repository e.g. including requirements, business, analysis and architecture models.

The following JDL content has been generated using this script:

=== EA UML to JHipster Entity Export ===
== More information is available from www.umlchannel.com/jhipster ==
INSTRUCTIONS: copy and paste the following content in a text file, and rename it e.g. as dpl.jh =
entity Department {
departmentId Long,
departmentName String required
}
entity JobHistory {
startDate ZonedDateTime,
endDate ZonedDateTime,
language Language
}
entity Job {
jobId Long,
jobTitle String,
minSalary Long,
maxSalary Long
}
/**
* The Employee entity.
*/
entity Employee {
employeeId Long,
/**
* The firstname attribute.
*/
firstName String,
lastName String,
email String,
phoneNumber String,
hireDate ZonedDateTime,
salary Long,
commissionPct Long
}
entity Location {
locationId Long,
streetAddress String,
postalCode String,
city String,
stateProvince String
}
entity Task {
taskId Long,
title String,
description String
}
entity Country {
countryId Long,
countryName String
}
entity Region {
regionId Long,
regionName String
}
enum Language {
FRENCH, ENGLISH, SPANISH
}
relationship OneToOne {
Department{location} to Location
}
relationship OneToMany {

/**
* A relationship
*/
Department{employee} to
/**
* Another side of the same relationship
*/
Employee
}
relationship OneToOne {
JobHistory{department} to Department
}
relationship OneToOne {
JobHistory{employee} to Employee
}
relationship OneToOne {
JobHistory{job} to Job
}
relationship ManyToMany {
Job{task(title)} to Task{job}
}
relationship ManyToOne {
Employee{manager} to Employee
}
relationship OneToMany {
Employee{job} to Job
}
relationship OneToOne {
Location{country} to Country
}
relationship OneToOne {
Country{region} to Region
}
paginate JobHistory, Employee with infinite-scroll
paginate Job with pagination
dto Job, Employee with mapstruct
service Employee with serviceClass

The final step involves copying this content to a JH file, and use it in JHipster to generate entities.

Scope

This approach was used as a mean to easily generate new versions of the design entity model within JHipster. Updates were carried in Enterprise Architect to remain consistent with the business model, whilst being generated, tested and approved directly in the application.

Once entities are updated in JHipster with custom code, it prevents any synchronization with the UML model. Where a full synchronization between the JHipster and UML projects is not the final purpose of this MDG, it allows having a design model that matches exactly the entities definition in the development environment during the first iterations of the project. This level of information in the design layer is very useful, even if mismatches with the code are bound to occur. The design team may chose to manually update the UML design model when needed.

Future versions

This MDG has been implemented and used with JHipster 2. A future version could be released to support JHipster 3 that has introduced new properties such as:

  • new serviceImpl service
  • new syntax e.g. "dto (ou service ) * with … except …"
  • skipClient and skipServer declaration on entities
  • angularSuffix
  • Microservices (e.g. microservice with <jhipster app name>)
  • elasticsearch search on entities (e.g. search * with elasticsearch except …)
  • New types (AnyBlob, ImageBlob)
  • Generate minbytes and maxbypes for blob attributes( Blob, AnyBlob, ImageBlob)

 

Published in Case Studies
Thursday, 24 March 2016 11:07

New: Dunstan Thomas Consulting MDG Workshop

MDG Workshop

Dunstan Thomas Consulting is proud to announce the new one day MDG Workshop!

Overview


Sparx Systems Enterprise Architect provides modelling extensions to supplement UML through a technology known as Model Driven Generator or MDG. Tools are provided in Enterprise Architect for experienced users to develop their own MDGs either from scratch or based upon an existing MDG such as ArchiMate, or BPMN. This one day workshop will provide attendees with a practical experience of the tasks required to build a typical MDG.

User Story Screenshot


Agenda

The following topics will be covered:

  • What is an MDG, what it can contain and the benefits an MDG can provided to an organization.
  • Using the Model Wizard to create an MDG model repository.
  • The steps in planning an MDG.
  • Tagged values, their typed, use and creation.
  • Using the MDG Helpers to create a Profile.
  • Using the MDG Helpers to create a customized Toolbox.
  • Using the MDG Helpers to create a customized Diagram.
  • Generating the MDG.
  • Testing the MDG.
  • Deploying the MDG.
  • Making changes to the MDG and applying those changes to an existing model repository.
  • Shapescripts, their use, structure and applicability to an MDG.
  • The concept of Quicklink and its application to a customized Diagram.

Full details are available on our website.

Published in News
Friday, 19 February 2016 13:38

BPMN Generator from Dunstan Thomas Consulting

BPMN GeneratorBPMN Generator

An add-in for Enterprise Architect from Dunstan Thomas Consulting

We have had our very own Phil Chudley busy beavering away at a new project which is now commercially available & already in use with DT's customer base.

Overview

Sparx Systems Enterprise Architect has the functionality to create diagrams directly from Use Case textual scenarios, the most common of which is termed an Activity Graph. This Activity Graph is a simplified form of UML Activity Diagram. This works well, but many organisations have, or are in the process of, standardising the modelling of process flows using BPMN 2.0, and this form of diagram is not supported by Enterprise Architect. The BPMN Generator extension for Enterprise Architect has been developed by Dunstan Thomas Consulting Ltd to provide the functionality to generate a BPMN 2.0 process flow diagram from Use Case textual scenarios. A typical example is shown below:

Textual Scenario for the Basic Path

BPMN Generator - basic path  

Textual Scenario for the Alternate Path

BPMN Generator - alternate path  

Generated BPMN 2.0 Diagram

BPMN Generator - generated diagram


The BPMN Generator also provides the modeller with options to set:

  • The top margin of the generated diagram.
  • The left margin of the generated diagram.
  • The default height of each task.
  • The adjustment height of each task (used to ensure that text fits in a task).
  • Whether or not a new diagram and elements will be generated rather than overwrite any existing diagram and elements.

Watch the video below to see the BPMN Generator in action:

https://youtu.be/WhL9vEdvHF0 


The BPMN Generator is available from Dunstan Thomas Consulting at £85.00 +Vat per licence. If you would like additional information or to purchase licences for the BPMN Generator then please contact us.

Published in News