Good practices for model initialization

Hi everyone,

I just wanted to create a topic to discuss and to try to outline the good practices about initializing multiple models from one reference model.

The use-case is quite simple : you have well refined your system analysis, and now you want to go through the logical/physical layers i.e through physical considerations and functional implementation choices.
However, several very different implementations may co-exist at this point. So you may want to initialize different models with the same system analysis in order to perform trade-offs.

Personally, I’ve faced this use-case a few times, and I have always been struggling to find the proper way to do this. I always feel like I’m tinkering with some Capella tools that are not specifically intended for this use-case. Here are some practices I experienced :

  • Patterns : I found it pretty easy to initialize models from a system analysis by creating a pattern from the whole layer, that I later merged with the system layer of the new model. Consistency can be well addressed by using the embedded instances management panel. By the way patterns will be removed soon so it may never become a good practice from now on.

  • Libraries & REC/RPL : Works great, but requires to know from the beginning that you are going to reuse the system analysis layer. Of course you can use the transfer view to transfer elements from a model to a library, but it may be a bit tricky, it can’t move diagrams directly, and it depopulates the parent model. Consistency can also be ensured by the REC/RPL update feature.

  • Copy/Paste : Can be a good solution because if keeps the diagrams. Consistency analysis can be performed by using the diff/merge functionality. However, with this method, you can’t easily rename the files of the model (afm, aird, melodymodeller).

I’m also thinking about the System to Subsystem add-on and horizontal transition, but to my knowledge you can only perform it from LA or PA. Had this not been the case, I think that it would have been a good solution (but maybe it is feasible ? I never tried it).

Has anyone ever been confronted with the same situation before? Do not hesitate to share your experiences on the subject.

Regards,
Pierre

Hello Pierre,

There is an even more simple solution.
Copy the model and then clean-up the LA / PA perspectives to define the alternative solution.
If at some point you perform some modifications in the SA perspective of the original model and need to align the SA perspective of the alternative model, you will just have to perform a diff / merge between the 2 models and transfer all modifications on the SA perspective.
(This diff / merge process will be really simple as you’ve started from the same model - the tool will automatically recognize all the modifications performed)

The huge advantage is that you will keep all the diagrams created in SA !

Regards,

Hi Aurelien and thank you for your contribution.

I agree, this is also a good solution (and an easy one !), I edited my first message in consequence. However, the meticulous part of me don’t really like to use this method as you cannot easily edit the model files names (afm, aird and melodymodeller). Actually I don’t know if this is even possible.

However, I agree that keeping the diagrams is a good point in favor of this practice. It is not hard to do it also with libraries and REC/RPL by copy/pasting the style and layout but it needs a bit more effort (and time), even more if there are a lot of diagrams that you want to keep.

You can rename the file names by right clicking on them and choosing rename. I think you should start by the .aird, the .afm gets renamed automatically, and then do the same for the .melodymodeler.

Copyright © Eclipse Capella, the Eclipse Capella logo, Eclipse and the Eclipse logo are Trademarks of The Eclipse Foundation.