[Discussion] Viewpoints vs everything else


I am trying to understand the advantage of developing viewpoints over other “plug and play” methods available like PVMT.
I understand that viewpoint development can be extended to the entire Capella environment and leverage all of its underlying API, but does the steep learning curve that involves understanding domain specific language and API have advantage over other methods?

Asking for long term effectiveness - in case I want to write P4C scripts to manipulate functional and non-functional data elements.

So essentially, what is a viewpoint and what are its advantages over other methods?


I asked myself (still do) the same question. Viewpoint development (Kitalpha) versus plugins/P4C scripts.
I managed to do quite a lot using only plugins (with menu contributions, handlers and new classes that didn’t extend anything) but eventually hit a dead end when I wanted to add a new element to the Capella model (see my topic here).

The documentation is lackluster for Kitalpha (and often confusing) so there is a lot of trial-and-error involved. Unfortunately, however, I’d say it is unavoidable if you’d like to change the model in any deeper way as I found out recently.

Some answers here: Easily enrich Capella models with your domain extensions (by Thales) | Webinar Capella - YouTube

Some aspects to consider (among others):

  • you are limited in the way you can extend the data model with PVMT (only adding attributes to existing models elements versus adding new meta-classes with a viewpoint) and extend the graphical representations (changing colors with PVMT versus defining your own way of representing your new data)
  • you cannot do any calculations on values, with PVMT whereas you can do whatever you want with a viewpoint
  • if you’re going to have a big model (>100 k elements), adding multiple PV to multiple elements may generate performance issues as PV adds a lot of new model elements

Now the balance between one and another depends on your context, your existing knowledge, etc… For sure, PVMT is much easier to use (this is why it has been done). Please also note that one option is to ask an organization like us to develop a viewpoint (sometimes based on what has been prototyped using PVMT).

I hope it helps
Stephane Lacrampe
Obeo Canada

Thanks Stephane, this gives me better insight.

Yes, I agree. Developing a custom viewpoint - for someone new to this, like me - is time consuming and confusing. Also, I am unable to access the link to your topic.

Ah, thanks, I corrected the link. It was just to give you an idea the limitations of plugins without an associated viewpoint.

1 Like