MDG for TRAK (Sparx Systems Enterprise Architect)
Overview
The Model Driven Generation (MDG) for TRAK[1] is a plugin for the Sparx Systems Enterprise Architect Unified Modelling Language (UML) modelling tool][5] that makes it easy for modellers/architects to create models and views using the TRAK Enterprise Architecture framework][2]. It takes the form of a XMI text file (actually a model itself) that EA loads when it starts up.
Background
The plugin was created when developing the TRAK architecture framework within London Underground Ltd. and used to help describe the command and control system, signalling and the trains as part of a set of RFPs for suppliers to resppond to (and subsequently deliver their models for integration into the whole system one).
TRAK is an open source enterprise architecture framework that conforms to the international standard ISO/IEC/IEEE 42010:2011. It is unique in that every TRAK view is specified as a set of sentences (triples) e.g.
- 'Threat exploits Vulnerability'
- 'Argument supports Claim'
- 'System is configured with Software'
- 'Organisation plays Role extends to System'.
These sentences (triples) are defined by the TRAK metamodel.

Each TRAK view is governed by a (ISO/IEC/IEEE 42010::)viewpoint - a specification for the construction and interpretation of that view. Note - other architecture frameworks often use 'viewpoint' to mean a collection. TRAK viewpoints define the allowed and minimum acceptable content for each view. The sentences / triples forming from which TRAK views are formed are defined in the TRAK Metamodel specification[3].
The MDG is an implementation of TRAK that provides a set of objects and connectors in palettes that correspond to the TRAK Viewpoints specification[2] (a specification for the content and purpose of each of the views). The aim of this was to make it easier for modellers/architects to produce models and architecture views describing systems and conform to the requirements ofTRAK.
Features
The MDG for TRAK plugin provides the following features:
a set of TRAK node elements tailored to each view:
- Architecture Description, Architecture Task, Architecture View, Argument, Capability, Claim, Competence, Concept Activity, Concern, Contract, Document, Enterprise, Enterprise Goal, Event, Evidence, Function, Interaction Element, Item, Job, Metric, Milestone, Mitigation, Node, Organisation, Physical, Port, Project, Project Activity, Protocol, Requirement, Risk, Role, Software, Standard, System, Threat, Vulnerability
- a set of TRAK connector elements tailored to each view:
- AND, Item Exchange, NOT, Need, OR, Port Connection, Resource Interaction, about, addresses, applies, aspires to, can lead to exposure to, carries, caused by, conducts, contains, contributes to, delivers, depends on, derived from, disproves, enacts, equivalent to, exchanges, exploits, exposed to, exposes, extends to, from, governs, has, has part, hosted on, impacts on, implements, is a, is attached to, is configured with, is managed by, is member of, is necessary for, is quantified by, issued by, makes, marked by, marks introduction of, marks removal of, opposes, owns, performs, physically depends on, physically supports, plays, poses, precedes, proves, realises, removes, requires, results in, satisfies, supersedes, supports, to, to conduct, traces to, triggers, undertakes, uses
'QuickLink' -context-sensitive creation of relationship and destination element or relationship between 2 elements - depending on the start and finish node elements and the TRAK view being worked on
- a canned set of TRAK architecture view types (diagrams)
- Enterprise
- EV-01 Enterprise Goal
- EV-03 Capability Phasing - to describe capabilities required and realised by systems
- EV-02 Capability Hierarchy - to describe capability gaps arising out of systems being introduced and withdrawn from service
- Concept
- CV-01 Concept Need - to describe concepts and their needs
- CV-03 Concept Item Exchange
- CV-04 Concept Activity to Capability Mapping
- CV-05 Concept Activity
- CV-06 Concept Sequence
- Procurement
- PrV-01 Procurement Structure - to describe project structure
- PrV-02 Project Activity - to describe project activities and sequence
- PrV-03 Procurement Responsibility
- Solution
- SV-01 Solution Structure - to describe structure, composition, organisation hierarchy, membership and role extent e.g. 'Role. System Design Authority extends to System. HVDC System'
- SV-02 Solution Resource Interaction - to describe interface exchanges between systems
- SV-04 Solution Function
- SV-04 Solution Function to Concept Activity Mapping
- SV-06 Solution Competence - to describe competence (of a Role played by a Job) to perform a function
- SV-07 Solution Sequence
- SV-13 Solution Risk - to describe threats/hazards, vulnerabilities, risks and mitigations
- Management
- MV-02 Architecture Description Design Record - to describe the architecture task and the findings
- MV-04 Assurance - to describe claims, arguments, evidence - for (design) verification / assurance
- MV-03 Requirements and Standards - to describe normative constraints applied by standards, contracts and requirement documents
- Enterprise
- predefined searches e.g.
- ‘All Systems’, ‘All Open Concerns’, ‘Objects without Any Links and Not in a View’, ‘Objects Without a Description’
- scripts (accessible within Corporate, Unified and Ultimate versions of Sparx Enterprise Architect), e.g.
- Selected Diagram - All Relationships - outputs
- MV-01 Describe All AD Elements - outputs a dictionary style definition of all the elements used in the model
- Selected Diagram - Partial SV-02 - outputs exchanges in selected diagram to allow output to be cut and pasted into a spreadsheet or similar.
- Model Views based on the searches - list the objects in the Project Browser
- Analysis e.g. Most Highly Connected (Incoming)
- Changes e.g. Diagrams Modified in Last 7 Days, Elements Created in Last 7 Days
- Quality Control e.g. Arguments - No Evidence, All Concerns - Open, Claims - No Argument, Missing Descriptions - Objects, No Links & Not in Any View
- Repository Contents e.g. All Concerns, All Systems, All Threats (Hazards), Solution - Resources (with Interactions)
Use
A short video clip of an early version of the Sparx MDG Technology for TRAK is available on YouTube.
License
The MDG for TRAK is released under the GPL (GNU Public License) as open source.
Support
Support in terms of raising bugs, support and feature requests is managed through the Sourceforge trackers at https://sourceforge.net/projects/mdgfortrak/support. This keeps everything in the open and means that any bugs etc. can be prioritised and responded to in a systematic way. There is also a MDG for TRAK wiki on Sourceforge at https://sourceforge.net/apps/mediawiki/mdgfortrak/.
Download
The MDG for TRAK can be downloaded from Sourceforge at https://sourceforge.net/projects/mdgfortrak/files/TRAK_MDG.zip/download
External References
- MDG for TRAK Project home page - https://sf.net/p/mdgfortrak
- TRAK Enterprise Architecture Framework - https://sf.net/p/trak TRAK Enterprise Architecture Viewpoints - https://sf.net/p/trakviewpoints
- TRAK Enterprise Architecture Metamodel - https://sf.net/p/trakmetamodel
- Sparx Systems Enterprise Architect - https://sparxsystems.com/products/ea/
- ISO/IEC/IEEE 42010:2011. Systems and Software Engineering - Architecture Description - Wikipedia - https://en.wikipedia.org/wiki/ISO/IEC_4201
- ISO/IEC/IEEE 42010:2011. Systems and Software Engineering - Architecture Description - Conceptual Model - http://www.iso-architecture.org/42010/cm/