The Residual World::Tag = 'Meaning'
Entries that have been tagged with 'Meaning'.-
by Nic Plum on Friday 25 February, 2011 - 15:45 GMT
The NATO Architecture Framework (NAF) has been around for many years now. It has been on a convergence path with MODAF from version 3 (released in November 2007) and the latest version, 3.1 appears to be even more closely aligned with MODAF than ever. I say ‘appears’ since there is only 1 part - Chapter 5 - that has been released and the remainder is subject to an official delay.
The documentation for NAF isn’t the best as it describes on Wikipedia with respect to version 3:
The documentation of the NAF Rev 3 views (Chapter 4) does not always align well with the NAF Meta Model (Chapter 5). This is particularly the case with some of the examples, which are based on DoDAF version 1.0. Some NAF users find it useful to first of all refer the official MODAF Documentation - . This is a useful strategy, as the MOD documentation can be somewhat easier to follow, and NAF and MODAF share a common meta-model.
There is certainly a consistency problem. At version 3 the framework consists of 7 views each of which has a number of subviews. A NAF::View is a collection of NAF::Subviews that are related by the subject matter. This terminology actually came from DODAF 1.X.
Chapter 7, Architecture Definitions, Terminology and Ontology, 7.2.1 defines NAF::View:
A set of subviews grouped by purpose.
clearly a collection of subviews, and defines NAF::Subview as
A pattern from which to develop individual products by establishing the purposes and audience for a product and the techniques for its creation and analysis.
Note: this is calledViewpointin IEEE-1471-2000;perspectiveis often used in the same sense.
Under 7.2.3 NAF Metamodel Terminology it then defines NAF::View as:
A specification of a way to present an aspect of the architecture. Views are defined with one or more purposes in mind - e.g. showing the logical topology of the enterprise, describing a process model, defining a data model, etc
MODAF 1.2.004 defines MODAF::View as:
A specification of a way to present an aspect of the architecture. Views are defined with one or more purposes in mind - e.g. showing the logical topology of the enterprise, describing a process model, defining a data model, etc.
It is clear that the NAF::View definition has therefore been taken directly from MODAF. Unfortunately in cut and pasting they didn’t remember that MODAF is organised using Viewpoints (collections of views) and Views unlike NAF. NAF is therefore inconsistent. It actually has 3 places where View is defined since it also appears in Chapter 5. This is another problem as it isn’t stated where the
master source of truth is so that in the event of conflict the user knows which takes precedence. As a general principle consistency is not improved by having something defined in any more than one place.
This was version 3 of NAF. Has version 3.1 improved matters? In a word,
No. Looking at the only part of version 3.1 that is in public view, Chapter 5, the definition is still the same. On top of this in places the description under some of the subviews things like
The NSOV-2 view defines…. What appears to be happening is that NAF is adopting the MODAF Viewpoint/View terminology instead of it’s own View/Subview terminology. Unfortunately it’s done this only partially - 3.1 doesn’t define either Subview or Viewpoint for the collection and still has subviews as headings (not views) so we have the strange situation where a view is both the collection and the individual specification. This doesn’t make for good or easy reading.
One of the advantages of standardisation is that is provides a common language. ISO/IEC 42010:2007 defines a view:
A representation of a whole system from the perspective of a related set of concerns.
and viewpoint as:
A specification of the conventions for constructing and using a view. A pattern or template from which to develop individual views by establishing the purposes and audience for a view and the tech- niques for its creation and analysis.
so a NAF::Subview and MODAF::View is closest in spirit to the ISO 42010::Viewpoint (practice is different as neither framework specifies the view content - they are narratives - hence the response by the tool vendors in creating the UPDM to constrain what can appear in the products for tools). NAF uses
ArchitecturalProduct to refer to the thing the architect produces in response to the NAF::Subview specification. This term doesn’t appear in the description of the views - another source of inconsistency as often different terminology is used or words are used in senses that aren’t in keeping with the definition of the terms in the metamodel. To be consistent there has only to be one definition and this has to be used wherever that term appears whether in user documentation or architecture description. How can you expect the user to be consistent if the specification isn’t. If you advocate the importance of consistent meaning (semantics) you have be consistent in the specification - none of the casual use that we all use in everyday conversation. You have to be pedantic.
The NATO Architecture Framework therefore seems to be suffering in the transition to version 3.1 and also because of the similarity between it and MODAF where terms have previously been used in a different sense. Unlike at the start both MODAF and the NATO AF are now very similar. In fact they’re so similar that you have to ask whether it’s worth maintaining two distinct architecture frameworks that are separated only by a small technical gap? As the Wikipedia article suggests you can use the MODAF documentation to help produce NAF architecure descriptions (don’t blame me for the acronym!). The sovereignty gap might be wider but is it really worth the price? Particularly in these cash-strapped economic times it no longer seems to be efficient use of tax payer’s money to maintain the overhead of both - isn’t it about time they reconciled any differences and merged? This has to be a reasonable savings measure in either or both NATO’s and the MOD’s budget.
- Keep Clear Separation Between the Concerns that Each Architecture View Addresses (67% )
- MODAF is Dead - Long Live ‘NAF’? (50% )
- Risk and Threats - The Common Ground Between Security and Safety? (33% )
- Every Viewpoint Has to Be Distinct - Say “Goodbye” to the TRAK CVp-02 Concept Viewpoint (17% )
- Solution Risk, Vulnerability, Threat and Mitigation - Does Risk Need to be Separate from Event? (17% )
- Wikipedia - NATO Architecture Framework
- AC/322-D(2007)0048. NATO Architecture Framework Version 3 - CHAPTER 5 NATO Architecture Framework Metamodel (NMM) and Architecture Data Exchange Specification.
- AC/322-D(2007)0048. NATO Architecture Framework Version 3 - CHAPTER 7 Architecture Definitions, Terminology and Ontology
- AC/322(SC/1-WG/1)N(2009)0005-ADD2. NATO Architecture Framework Version 3.1 - CHAPTER 5 NATO Architecture Framework Metamodel (NMM) and Architecture Data Exchange Specification.
- ISO/IEC 42010:2007 Systems and Software engineering - Recommended Practice for Architectural Description of Software-Intensive Systems
by Nic Plum on Saturday 27 February, 2010 - 16:24 GMT
Choosing stereotypes for an enterprise architecture framework isn’t easy. In defining something you embed the prevailing view at the time the framework was created. This may later haunt you. With every extra stereotype you add choice and then when you add the poor old architect or modeller into the mix you increase the possibility of inconsistency - the very thing the metamodel is designed to constrain and eliminate. This is illustrated very nicely in trying to place ’System’ at the centre of TRAK.
Since we started with MODAF 1.2 this is where the story begins.
In the MODAF System is defined as
The usage of an artefact as a System in a Capability Configuration
and part of the physical architecture.
Technically it is defined as an Artefact alongside Platform. This arose because when the MODAF was originally launched the consensus on what a system is wasn’t the currently accepted one with emergence et al and the MODAF quite reasonably took the then accepted view - hence it is a purely man-made thing. No notion of complexity whatsoever.
From the The MODAF System Viewpoint(SV) (17th February 2009):
‘Artefacts - Physical objects made for a purpose (e.g. system, sub-system, platform, component or any physical item that occupies space and has attributes)’
‘Physical Architectures - Configurations of resources for a purpose (e.g. capability configurations)’
‘The physical resources contributing to a capability must either be an organisational resource or a physical asset. That is, a system cannot contribute alone; it must be hosted on a physical asset used by an organisational resource of both. Organisational aspects (e.g. who uses a system) can now be shown on SV-1.’
In short as it is defined in MODAF 1.2:
- system is something physical
- it is man-made
- it can’t contain anything else like Organisation, Post or Role, or Software
- it is not the same thing as a Capability Configuration
- systems cannot provide capability
When creating TRAK we found we couldn’t use MODAF::System as it didn’t fit with either the London Underground view of a system or the INCOSE or ISO ones.
The current INCOSE Systems Engineering Handbook defines a system as:
‘an integrated set of elements, subsystems, or assemblies that accomplish a defined objective. These elements include products (hardware, software, firmware), processes, people, information, techniques, facilities, services, and other support elements.’
It was therefore impossible to use MODAF::System to represent what is currently accepted to be a system. So what could we use? As a system is a mixture of hard and soft resources it made sense to position at the centre of TRAK:
Immediately therefore this allows us to describe systems
- composed of a mixture of equipment, software and people - not just physical
- composed of just software or of just human stuff - soft systems
and we don’t need ‘Sub-system’ either or ’System of Systems’ since the terms just reflect a point of view in the hierarchy of systems and we already have the construct ‘System is configured with System’ to allow us to represent systems at any level. In fact if we introduced sub-system we would be forcing architects to make a choice and with choice comes difference of opinion and the potential for inconsistency - my Sub-system might be your System and so on.
Now Add People
The choice of metamodel elements is important, particularly when you add people (users of the metamodel) into the mix.
Some of you will be looking at the TRAK metamodel fragment above and thinking ... Capability Configuration. Indeed in MODAF this is where Capability Configuration sits. So is Capability Configuration correct? As defined it cannot be - Capability Configuration is still part of the Physical Architecture.
The bigger problem, however, is that you end up using one element but with the meaning of another. It’s easy to see how this might arise - being not allowed to add parts to MODAF::System the architect takes the stereotype that does allow him or her to add the stereotypes that they want - the Capability Configuration. It is possible that they don’t even see the problem in doing so. The trouble is that they describe something as a system but use Capability Configuration. Their ‘head-model’ doesn’t fit the meaning of the model elements used.
It is actually worse because in providing MODAF::Platform and MODAF::System there is a choice to be made - when is something a platform and when is it a system? You can almost guarantee that different choices will be made and therefore it makes it more likely that architecture descriptions (models) can’t be ported between organisations. In fact the poor modeller has 3 stereotypes that can be used to mean ’system’ (in their head) - the MODAF::Capability Configuration, MODAF::System and MODAF::Platform. On the receiving end you can’t predict which will have been used.
This is why in TRAK there is only 1 TRAK::System. It’s flexible, can be used for hard or soft systems and, importantly, ‘there shall only be one’ - no sub, super or whatever-system.
You describe the context simply by the system boundary and hierarchy. Easy.
After all a system is a system.
The MODAF is Crown Copyright/MOD
The TRAK Metamodel is released under the GNU Free Documentation License.
- Solution Risk, Vulnerability, Threat and Mitigation - Does Risk Need to be Separate from Event? (21% )
- Definitions - What Exactly is a Risk Part 2? (14% )
- Just When You Thought It Was Safe - EntiTy Returns (7% )
- What Would a TRAK View Look Like in a Graph Database? Part 1 (7% )
- MODAF is Dead - Long Live ‘NAF’? (7% )
by Nic Plum on Sunday 07 February, 2010 - 15:42 GMT
Posted in Architecture Modelling
What is architecture when we are modelling? We might have architecture elements but is this enough? Consider the following thought experiment.
On the first line we have 2 things. We don’t know what type they are. We can’t say anything about them and therefore this cannot be architecture.
On the second line we know that they are both systems and there is some unidentified relationship between them. We know nothing about this relationship in terms of what it is or the direction. This still cannot be architecture.
On the third line we know we have 2 systems and that System A is configured with System B. At last, this is architecture! But why? The fact is that we know how these 2 things relate to each other and this is at the core of architectural modelling. It is about describing relationships between things and placing things in their proper context. In many cases we are probably more concerned with the relationships between architecture elements than the detail of the elements themselves since we can then navigate along these paths or use them in queries to answer questions or discover things. This is one of the key differences in emphasis between an Enterprise Architect using, say, a UML tool, to a Software Designer. It probably also is at the base of a lot of frustration with tools.
At a more general level this is architecture because it provides all the parts of a language to allow us to describe what the situation is - we have 2 nouns and a verb so that we have a proper sentence. Without the verb (the relationship) we do not have a sentence and therefore cannot communicate anything meaningful.
This might sound trivial but it is important. It states that we need 3 things for it to be considered architecture - an object, a verb and the subject of the verb. In other words this looks like a tuple or a triple which is an important construct for an ontology. I suppose I sort of realised this but it was only in trying to define what is mandatory and what is optional for an architecture viewpoint (in ISO 42010 terms) that it became clear that just specifying metamodel elements wasn’t enough - the meaning is in the tuples.
The other advantage of treating it like a natural language is that it makes it easy to communicate with folks who aren’t UML experts. Take for example the following 2 examples.
Reading from left to right we have;
- Whizzo Dynamics (an organisation) plays the role of system authority which extends to Confabulator (a system)
- System Authority (a role) requires competence in architecture modelling in order to conduct Design System (a function)
and as architecture modelling ought to be about communication this is starting to be both useful and effective from a usability perspective.
- Solution Risk, Vulnerability, Threat and Mitigation - Does Risk Need to be Separate from Event? (10% )
- NATO AF v3.1 - Is It Now Time to Merge MODAF and the NATO AF? (10% )
- What Would a TRAK View Look Like in a Graph Database? Part 1 (10% )
- Risk and Threats - The Common Ground Between Security and Safety? (10% )
- Definitions - What Exactly is a Risk Part 2? (10% )