TRAK Architecture View Content - Tuples, Triples and Orphans
Specifying Architecture View Content - Tuples & Triples
TRAK architecture viewpoint definitions and TRAK architecture views are based on triples i.e. node - relationship - node.
An example of a triple is:-
Standard. ISO/IEC/IEEE 42010:2011 has part Requirement. '6 Architecture Frameworks and Architecture Description Languages
where the subject = Standard. ISO/IEC/IEEE 42010:2011; the predicate (relationship) = 'has part' and the subject = Requirement. '6 Architecture Frameworks and Architecture Description Languages. A triple forms a sentence.
This uses the TRAK metamodel triple Standard has part Requirement used in a MV-03 Requirements & Standards architecture view.
If we want to describe a claim of conformance against a requirement with the reason why the claim is valid we might expand this further.
This uses two sets of metamodel triples - tuples:
- Standard has part Requirement has part Requirement and
- Argument supports Claim about Requirement
In order to support the claim of conformance we would then need to prove evidence using:
- Evidence supports Argument and then,
- Evidence proves Claim
In TRAK the more general 'tuple' term is used because this applies to an contiguous number of triples to allow a longer path within the TRAK metamodel to be defined. A triple - a single step path - is still a tuple and it is the smallest possible tuple
The reason that TRAK uses tuples is:-
- tuples form natural language sentences so anyone can read what they see - you don't need to be a technical what-ML expert. This is one of the reasons why TRAK requires everything to be explicitly named on a view (the other is that this is needed for everyone to read in a consistent way - no guessing or making assumptions about what the architect meant. How many diagrams have you seen with unlabelled lines or rectangles nested inside rectangles ...?).
- a solitary block with no relationship is not a description of any architecture - this requires at least a block and a relationship (to itself) and hence the smallest unit of architecture description is block - reelationship - block
- it is impossible to unambiguously specify a viewpoint or view content using blocks only
- tuples are the basis for assertions and defining meaning and hence TRAK views can be tested, assertions checked and are easy to represent using graphs and semantic notations
- tuples define paths which are the basis for extracting information from your model and allow consistency checks to be specified and verified