Features / Overview of the TRAK Metamodel
The TRAK Metamodel provides the tuples that are used to describe the things that appear in TRAK Views (each of which is specified by a TRAK Viewpoint - see the TRAK Viewpoints project site).
Metamodel Provides Triples - Statements or Assertions - to Describe Architecture e.g. a Threat Expoiting a Vulnerability
A tuple is formed from one or more triples, each consisting of either one or two node or block elements and a single connector or relationship element e.g.
triples:
- Software has Vulnerability
- Threat (synonym Hazard) exploits Vulnerability
- Vulnerability results in Risk
- Role requires Competence
- Requirement has part Requirement - to describe a requirement structure / hierarchy
More complex statements - architecture description tuples - assertions or sentences can be formed by chaining triples together:
- Role requires Competence to conduct Function
- Resource performs Function poses Threat exploits Vulnerability results in Risk with
- (a different) Resource exposed to (same) Risk - TRAK allows you to describe both the thing causing the Threat and the thing impacted by the vulnerability to that threat.
- Evidence supports Argument supports Claim about Architecture Description Element and possibly hence
- Evidence proves Claim about Architecture Description Element
Metamodel Characteristics
The TRAK Metamodel :-
- is agnostic of any software notation - it is solution-independent
- it defines what is required in terms of blocks, connectors, tuples and properties not how to implement them in a notation or architecture description language (ADL) such as the UML or the SysML etc.
- defines a set of assertions or statements (approximately 900 possible assertions)
- in english language
- that can be read without needing to understand technical notations
- that form paths or routes or indeed "sentences", that
- can be chained together e.g. Organisation makes Claim about Role requires Competence to conduct Function, Job plays Role extends to System
- can be used to derive meaning
- can be used to to check consistency of the view or architecture description content
- support queries to check or produce artefacts such as compliance matrices, interface definition etc.
- provides a rich structured language to describe systems (configured with people and technology) and their context in the" Residual World"
The fundamental defining part of an metamodel is a triple - a combination of node - connector - node e.g. Claim about Standard. A metamodel is different and distinct from an ontology or a taxonomy in this respect - more details.
The TRAK metamodel is neither an ontology nor a taxonomy but it does contain both an ontology and also a taxonomy.
The individual bits - each node element, each connector element, each property and each value are also described as part of an ontology description using OWL and RDF. This is not a metamodel description - no ontology description describes the triples that define the metamodel.
Some short descriptions of parts of the TRAK metamodel are provided by way of an introduction:-
Parts of the TRAK Metamodel
Properties
Every TRAK metamodel element that may appear in a TRAK architecture view has at the very least the properties of an Architecture Description Element - the generic parent of all architecture description elements. Many elements have additional properties on top of this to allow useful information to be held in a TRAK architecture description.
All of the properties are defined using standard accepted ontology sources such as the Oxford English Dictionary (OED), Dublin Core Metadata etc. for example the 'approval authority' property of the Architecture Description metamodel element:
TRAK00002. TRAK. Metamodel
Property Definition Use / Application Applies To approval authority The entity that officially commends, sanctions or endorses.
OED “approve (v.1), sense I.6.a” doi:10.1093/OED/9502413840,
“authority (n.), sense II.2” doi:10.1093/OED/7868334486Architecture description design record.
Typically an individual, a role or an organisation or a combination.Architecture Description
Definition of the 'approval authority' Property of an Architecture Description Element
Property Values
Enumerated values of properties are defined in a similar way. The following shows the definition for the value 'mandatory' that is used by the 'compliance level required' property for the Requirement metamodel element:
TRAK00002. TRAK. Metamodel
Value Definition Use / Application Properties Mandatory Identifies that compliance or conformance is compulsory.
OED 'mandatory (adj.), sense 2' doi:10.1093/OED/5246072936Classifier.
Equivalent to 'shall'compliance level required
Definition of the 'Mandatory' Value for the 'compliance level required' Property
The TRAK metamodel is subject to the terms of open source license: GNU Free Documentation License (Version 1.3, November 2008) at https://www.gnu.org/licenses/fdl-1.3.html.