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.
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).
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.