Time for another — this time very short — educational quiz post. Look at the following diagram (in the Mastering ArchiMate colour scheme). Is this OK?
[Completed post (from this point on) revealed on 21/Sep/2016]
First, let’s look at why this is possible. As some noted in the comments, a Contract is a Specialisation of Business Object in the meta-model. That means it inherits all the possible relations that a Business Object can have in a real model, one of which is “Business Object Specialises Business Object in an actual model“. As Business Object can Specialise a Business Object in an actual model, Contract — which is also a Business Object — can also Specialise a Business Object in an actual model. As a result: the above is not wrong and the answer is: “Nothing.”
I can even dream up a realistic scenario:
Suppose we have use for some analytics/statistics on our contracts? But law demands of us that such analytics is one on anonymised data? Well, we could model that in ArchiMate by creating a Business Object that is a Specialisation of Contract, like this:
This, I think, is how ArchiMate intends the use of Specialisation in an actual model.
What one must take from this is that ArchiMate has two quite distinct forms of Specialisation, that confusingly are called the same and use the same visualisation (the arrow with the white closed arrowhead): one that is used in the meta-model and one that is used in a real model.
The one in the meta-model looks like Stereotypes of UML: the child inherits the capabilities of the parent, that is in the meta-model: all its relations. It is explained in Section 15.2 of the standard and not in Section 5.4.1. You are not using this Specialisation while modelling, you can only do that while extending the meta-model (which nobody ever does, I suspect, and which tools do not really support properly).
The one in an actual model behaves differently: the child does not inherit the actual relationships the parent has in the actual model. In UML, such inheritance does happen in Class Diagrams. ArchiMate’s Specialisation is quite different.
Personally, I would have put that in the allowed relationship table as two different Specialisations, one with a uppercase ‘S’ (15.2) and one with a lowercase ‘s’ (5.4.1), with different visualisations.
Business Object and Contract behave relatively benignly in this situation. But all the meta-model-Specialisations of Node, for instance, do produce a plethora of possible model-Specialisations: all the meta-model-Specialisations of Node (Equipment, Facility, Device, System Software) can model-Specialise occurrences of all others. E.g. Facility can be modeled in an actual model as a Specialisation of System Software:
Which is plain silly. ArchiMate doesn’t stop you to model silly things, but in this case, some constraints might have been useful,
See also my first ever ‘Open Letter to The Open Group‘ — a series I wrote when ArchiMate 3 development was going on (without me, I’m an outsider) — which also explained the problem with this part of the standard and discussed some more options.