Open-Network-Models-and-Interfaces-ONMI / onmi-iisomi-uml-common

Project EAGLE: Open Source Repository for Open Model, Profile and Tools
Other
41 stars 71 forks source link

Model compatibility #293

Open demx8as6 opened 6 years ago

demx8as6 commented 6 years ago

Some model compatibility ideas that can be added to a white paper.

Model compatibility.pptx

italobusi commented 6 years ago

Martin, thanks for the slides. They are useful to show some of the issues that I can see when there is no backward compatibility.

In slide 4, how can the controller software (written today when v1 is available and v2 is not known) detect a new API version and implement the proper translation function (f(x2)=x1)?

italobusi commented 6 years ago

The solution in slide 5 looks more realistic since the translation between v2 and v1 should be performed by the system implementing the newer version

However, slide 6 highlights some other issues. Please consider that TAPI is planning to deliver a new release every six months so the number of releases for which translation is required in getting higher and higher.

I think that performing translations in sequence my lead to performance issues that needs to be evaluated carefully.

Merging translations means that the systems needs to support a growing number of translators as the number of TAPI releases increase and that these translators needs to be re-written every time a new TAPI release is implemented.

italobusi commented 6 years ago

Another issue I think we need to evaluate is that translation functions do not provide any feature (no new revenues for the operators) but still requires development efforts and costs.

Who is going to pay the cost of the translators?

demx8as6 commented 6 years ago

In slide 4, how can the controller software (written today when v1 is available and v2 is not known) detect a new API version and implement the proper translation function (f(x2)=x1)?

The controller is informed by a "schema-change-notification" or detects in a next "hello-message" a new api version. In order to process it - the new translation must be avalable in advance or could be uploaded on-the-fly from a repository.

demx8as6 commented 6 years ago

I think that performing translations in sequence my lead to performance issues that needs to be evaluated carefully.

My personal experience is that the current hard- and software is so powerful, that it is not the main issue. However, it needs to be measured and the addressed if it is an issue - no doubt.

demx8as6 commented 6 years ago

Another issue I think we need to evaluate is that translation functions do not provide any feature (no new revenues for the operators) but still requires development efforts and costs. Who is going to pay the cost of the translators?

I see it different - compatibility is a feature and there is no function for free. There is no generic answer to this questions. It should be the one who benefits most.