But it would indeed be a great help if a locked diagram was ... locked(!). And it should be a very minor and simple change in Sparx.
That's a diagram centric view, not a model-centric view. A diagram is a representation of a number of elements in the model. Elements that can belong to anyone, not just the creator of the diagram.
As Glassboy says, the diagram is merely a specific view into the underlying model. The question of derived relationships is also more complex than ArchiMate proposes. And regardless of EA's internal architecture, as qwerty says "definitely not that simple"
In our methodology, we distinguish between at least 4 types of derived (from canonical) relationships:
By Traversal - the "classic" ArchiMate mechanism: grandparent_of(x) => parent_of(parent_of(x))
By Union - the aggregation of a number of separate semantics between the same two classifiers: knows(x) => parent_of(x) | child_of(x) | works_with(x) | is_friends_with(x) | (etc.)
By Projection - a binary relationship that is a "projection" of an n-ary relationship (usually an Association).
By Generalization - where the derived relationship is the Generalization of the relevant canonical relationships (whether by reverse inheritance or reverse restriction). Typically, this is because one of the relationship ends of the derived relationship is a Generalization of the appropriate ends of the canonical relationship.
Any given derived relationship can be a combination of the above if more than one traversal is involved.
In addition, there is the problem of explicit versus implicit "Association".
Explicit Association is where we REALLY mean the classical Associative Relationship - an n-ary (typically binary) relationship with defined multiplicity at the destination AssociationEnd. This specifies the number of instances of the destination classifier (under that AssociationEnd) for each instance of the origin classifier under the semantics (via name) of the Association.
Implicit association (on the other hand) is like the "association" (note the small "a"), that Lise Gerd Pedersen mentioned. What we in Oz would call the "Clayton's association" (aka "the association you have when you don't have an Association"). These types of "associations" are not explicit (as above). Instead, they represent an
unspecified relationship between the two classifiers, but since ArchiMate doesn't have the «Unspecified» relationship, they fell back on "association". However, since you can't specify the
explicit semantics of the relationship (and therefore you can't name it); by the Bjelke-Petersen "Duck Test" - it's not a duck ("Association").
Our shapescripts handle derivation in a consistent way, indicating the types of derivation and providing consistent rendering (so that it's clear on the diagram that the relationship is derived). In addition, with the recent ability to have relationships between relationships, we can explicitly model which relationships are involved in any specific derivation.
So, the decision of whether or not to render the derived relationship is highly dependent upon the viewpoint and the specific view of the diagram. I don't think it can be automated.
Paolo