Two Celebrations, and the New Year’s Eve #ArchiMate Quiz answer

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.

Birthday-Cake-Pictures-with-Candles
Happy 500,000 views, https://ea.rna.nl/!

Having set this one aside, let’s move on to the answer to the New Year’s Eve 2018 ArchiMate Quiz (which was proposed by Jean-Baptiste Sarrodie, the ArchiMate Forum chair)..

[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:

CrossLayerTriggerMainImage

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:

db

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:

solutionstep1
Step 1. Left: the first snippet. Right: the simplification, showing only the derived relation and hiding the original Core relations.

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:

solutionstep2
Step 2. Doing the same, but now for an application. On the left: the second snippet. On the left the simplified version, showing only the derived relation with the original Core relations hidden.

Now we move to step 3. We combine both and add a Business Process on the top and an Application Process at the bottom.

solutionstep3
Step 3. Left: full version. Right simplified version with original relations hidden and only further derived relations shown.

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:

solutionstep4
Step 4. With two Triggers in succession we can derive one single new Trigger. Which was the original question.

With that we’re at the end of the derivation. In one image:

solutionfull
Overview. (3) is derived from (1) and (2). (6) is derived from (4) and (5). (7) is derived from (1) and (3). (8) is derived from (4) and (6). And finally, (9) is derived from (7) and (8).

Phew!

Discussion

[Addition 19/Jan/2019]

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:

Birthday-Cake-Pictures-with-Candles
Happy 200,000 views, Why Enterprise Architecture animation!

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…

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: