Working with shared model elements in multiple models

Started by ckiefriter, December 12, 2022, 21:03:11 PM

Previous topic - Next topic


Is it possible to leverage and reuse shared model elements in other model files.  We have a model that contains all our enterprise capabilities.  We have multiple initiatives that would be mapping those shared capabilities to other model elements (applications, other capabilities, dependencies).  Is there a way to do that and map it back to the shared capabilities where you could eventually merge it to a common model?  or would you have to create a branch of the same model and work from it that way?  Looking for solution options.

Jean-Baptiste Sarrodie


For this use-case you can leverage the model import feature: You create a dedicated (set of) model(s) for your shared elements/relationships/views, and you then import this model into your other models.

Imported objects will have the same internal ids in those models, making it possible (e.g.) to merge them all in a single model for reporting.

If you later have to change the shared model, it is possible to import it again into the other models: this will update them accordingly (add/update) but won't remove previously imported objects that have later been removed from the shared model.


If you value and use Archi, please consider making a donation!
Ask your ArchiMate related questions to the ArchiMate Community's Discussion Board.


Hi ckiefriter,

Approach from JB is technically working, and as he pointed, you'll keep leaving certain "garbage" in the individual models if those elements have been cleaned up from shared model, if that's no problem for you, then this can be the way.

Actually, our architecture team is using the 2nd approach via coArchi, together we are maintaining the central repository but it's now just the "master or main" branch, and every modeler has his/her own "user" branch, we internally aligned the way of working for how to sync / refresh / merge in the safety manner.

See this early post to see how we manage those steps.

Hope it helps, good luck.

Gerald Groot Roessink

Interesting topic this is. I am working on a concise git-flow for about 7 collaborator architects working on a collective model. Like @Xiaoqi I am using coArchi and Git. We are using Github for the moment. Features I am aiming at:
* Reuse of architecture-element already defined by somebody else.
* Freedom for 1 of more architects to start a working-branch.
* A collective environment to decide on accepting pull requests.

I came up with this sequence diagram:

Screenshot 2023-01-01 165124.png

coArchi can be used to add a new working branch (rightclick on current). After modelling it can be published. Then it appears in the github repository, others can review it and a collective decision can be made about merging it, changing it or discarding it. I think this can be best accomplished in the github repository.

Offcourse architects can also work on somebody elses working branch.

With new year greetings