At the end of 2017, I merged the old masteringarchimate.com and enterprisechess.com sites into one new site — this one. And I made a terrible mistake: at the end of the whole migration, I forgot to set the new site to `public’, so it never became visible in search engines. I found out one year later accidentally. My stats had plummeted, but I never look at those much. But yesterday, the site has gone over 500,000 views mark (or: a cool half million). Thanks all for reading and (hopefully) enjoying this site.
[Note 19/Jan/2019: there is an important addition to the story because technically, this derivation is not allowed at all in a model, it’s only allowed in the metamodel. Explanation below.]
To recall, the quiz asked why the following relation was allowed in ArchiMate:
WTD?? stands for “What the Derivation??”, or in other words: as this is not a Core ArchiMate relation it must be derived, but the question is: how?
Alun Champion gave the correct answer: it all requires a complicated derivation that runs via (drum roll….) the Location element. And it goes — all in Mastering ArchiMate colouring, as usual — like this:
Small intermezzo: if you’re new to ArchiMate, don’t get scared away by all of this. This is rather complicated as far as ArchiMate nerdiness is concerned. Such convoluted reasoning as here below is not anything you will encounter in real world modelling. Just read the free syntax introduction to the ArchiMate language you can get via this page and you’ll have all the information needed to understand all of this. Quiz-in-quiz question for those that don’t have my book: what is the origin of this dangerous bend sign? But I’m digressing, as is often the case…
Step one is to introduce the following snippet:
This snippet uses two Core relations. (1) is an Aggregation of a Business Actor by a Location. This Business Actor is Assigned-To (2) a Business Function. These two relations can lead to a derived new relation: (3), an Assignment from the Location to the Business Function.
The next snippet does the same, but for an Application Component and an Application Function:
Now we move to step 3. We combine both and add a Business Process on the top and an Application Process at the bottom.
We combined the simplified versions of Steps 1 and 2 (right hand sides), added processes and have the Business Process Trigger the Business Function and have the Application Function Trigger the Application Process. Both Triggers are Core relations again. Note they run in opposite directions.
On both, we can make another derivation as it is allowed to move an endpoint of a Trigger ‘up’ along an Assignment. This means (7) can be derived from (1) and (3), and (8) can be derived from (4) and (6). The right hand side shows the simplified version.
And now comes another derivation that is possible with Triggers. Two Triggers in the same direction after each other, may lead to a new one:
With that we’re at the end of the derivation. In one image:
I originally forgot to include one interesting aspect. Because one could wonder, since Location is a Composite element, one could wonder why this is possible at all, as it is only allowed to do these derivations using Core elements. The ArchiMate Standard 3.0.1 states:
Note that these derivation rules do not work on relationships with grouping, or between core elements and other elements such as motivation, strategy, or implementation and migration elements, with the exception of the realization and influence relationships.
and Location is not a Core element.
But there is a little exception in appendix B. There it says:
The product and location elements count as core elements in these derivations
‘These derivations’ being the derivations to calculate the complete ‘allowed relations’ table from the core relations and the derivation rules. Hence, in ArchiMate you are allowed to use the relation that started it all, but formally, you are not allowed to derive it in your own models…
By the way, ArchiMate people, you could have left Product out of that last quoted sentence as it is already a Core element as stated on the page before.
The complicated positioning of Product and Location is the result of the ArchiMate Forum striving for maximum backwards compatibility over the years, From ArchiMate 1 until today. ArchiMate has some ‘baggage’.
[End Addition 19/Jan/2019]
So, after all this grammatical trickery, what does it mean? Does it mean anything at all? Yes, this is all grammatically correct ArchiMate, just as “The grass plows the wheelbarrow” is grammatically correct English. It’s just nonsense, though.
The ArchiMate folks over at The Open Group maintain that every allowed relation in the appendix (all have been calculated from Core relations and derivation rules, like done here) has independent meaning and you should not worry too much about how it is derived. But then, they allow the same kind of derivations in real models and there it should mean something, right? And that is clearly not the case. I mean, System Software that Composes a Facility (i.e. a factory) is allowed. Yeah, sure.
But, in this case, we can actually argue it makes sense. A Business Process can Trigger a Location and the Location can Trigger an Application Process. It kind of makes sense. But there are of course many situations where you can imagine that a Business Process Triggers an Application Process without the requirement that it only makes sense if there is some (hidden) Location playing a role in the background. Or a Technology Process. E.g., your friendly infrastructure engineer rebooting your server for you, is an obvious example. Maybe The Open Group should make these cross-layer Triggers part of the Core, they are logical in the real world situations that real enterprise architects inhabit.
Derivations, as I’ve written in the book, are somewhat of a ‘failed simplistic dream’ of ArchiMate. They’re purely syntactical and — as Uncle Ludwig pointed out roughly a century ago — there is no meaning in grammar. They’re not really more useful than any other network analysis you perform on your models. Using the right patterns and free network analysis is much more effective than ArchiMate’s derivation mechanism.
One More Thing
While we’re in a celebratory mood, I’ve got another celebration. The “Why Enterprise Architecture animation” has broken the 200,000 view mark on YouTube. Actually, it already did this a short while back in 2018, but I never got around to celebrating this. So, here we go again:
Still, the fact that I just killed my stats by accidentally having the site invisible to search engines for almost a year really bugs me. Part of the lower stats may of course have been less activity (busy, busy), but it surely hasn’t helped. I even tried a bit of advertising (I don’t do marketing, in general, I depend on word of mouth and a few announcements) on Google and Bing, but that doesn’t seem to have a lot of effect. It hasn’t really influenced interest in the Mastering ArchiMate and Chess and the Art of Enterprise Architecture books, though, I’m counting my blessings…