Eclectica Systems Ltd.

Adding Innovation to your systems...



A Model Driven Generation (MDG) plugin for the Sparx Systems' Enterprise Architect UML modelling tool provides a way to modify and encapsulate custom UML model elements, diagrams; searches and other behaviours to aid the Sparx modeller. Susch customisations might be needed:-

  • to model things / concepts / artefacts peculiar to a particular engineering or scientific domain
  • to produce diagrams / views and supporting toolbox palettes providing model elements reflecting a particular focus
  • to exploit the model(s)/ model repository using the information, relationships and model element properties

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.

London Underground Limited - MDG Background

The plugin was created when developing the TRAK architecture framework within London Underground Ltd. (LUL) and used to help describe the command and control system, signalling and the trains and how they fitted into this environment as part of a set of RFPs for suppliers to resppond to (and subsequently deliver their models for integration into the whole system one).

At the time LUL were devloping some prototype view specifications and were producing views using Microsoft Visio. As the collection of views grew it became hard to keep the collection consistent and reflect changes made in one Visio diagram throughout all of the diagrams that contained the changed model element. It was also difficult to enforce consistent content across the modellers. Part of this was a problem withthe definition of view specifications and part of this was tool-related.

Out of this arose the definition of TRAK to improve the specification of view content. Eclectica Systems Ltd was a co-creator of this and wrote the defining specifications for TRAK. LUL had determined that 'proper' modelling tool was required and selected Sparx Enterprise Architect as their preferred tool. The next part of the problem was to improve the diagram consistency through providing a plugin for Sparx Enterprise Architect that would implement the TRAK architecture framework. There was also the problem of repository administration and maintaining / improving quality to address as the model got progressively larger. All of these problems could be addressed by cusotmising the tool and providing supporting functionality to aid both the moidellers and the repository administrators.

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.

Example - TRAK SV-13 Solution Risk View describing threats, vulnerabilities and risks

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.


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
  • 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)


A short video clip of an early version of the Sparx MDG Technology for TRAK is available on YouTube.


The MDG for TRAK is released under the GPL (GNU Public License) as open source.


Support in terms of raising bugs, support and feature requests is managed through the Sourceforge trackers at 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


The MDG for TRAK can be downloaded from Sourceforge at

External References

No identifying data such as cookies are used on this site. Eclectica Systems Ltd. Data Protection Notice.