Imvertor / Imvertor-Maven

Mavenized version of Imvertor
http://www.imvertor.org
9 stars 12 forks source link

BRO: 'specified' versus 'configured' metamodel version #538

Closed jacobvosimpronotion closed 2 months ago

jacobvosimpronotion commented 2 months ago

We bieden een model aan met de tag 'MIM versie' = 1.1.1. Imvertor versie: nightly-build. In de output (https://imvertor.armatiek.nl//download/dat/2024-09-04-12-22-01-829/work/app/doc/index.html) staat:

Deze laatste waarde zal ergens in GitHub geconfigureerd staan. Waar?

In het bestand BRO.xlsx (in BRO/props) staat ingevuld bij 'metamodelversion' - versionID: 1.1.

En op welke waarde baseert Imvertor (4.1+) zich voor het controleren op MIM-regels?

Want een waarschuwing die nu verschijnt, is: "Tagged value "heeft tijdlijn geldigheid" not specified but required for "ATTRIBUUTSOORT" Dit is een MIM 1.2 tag, dus ik zou verwachten dat bij het draaien met een Imvertor 4.1+ versie deze regel niet zou gelden als het aangeboden model als MIM versie de waarde 1.1.1 heeft.

ArjanLoeffen commented 2 months ago

Specified metamodel version is de versie die is opgegeven in je <<informatiemodel>> via tagged value MIM versie. Configured metamodel version is de versie die is opgegeven in de configuratie:

/src/main/resources/input/BRO/cfg/metamodels/BRO-MIM-1-CONCEPTUAL.xml

Dat deze op MIM 1.2 is gebaseerd wordt herkend doordat MIM 1.2 wordt geïncludeerd.

De opgegeven (specified) versie heeft prioriteit; als er geen versie is opgegeven vallen we terug op de property waarde van metamodelversion.

Het kan dus zijn dat er (nog) géén configuratie beschikbaar is voor de aldus bepaalde MIM versie. Dan krijg je daarvan een foutmelding.

jacobvosimpronotion commented 2 months ago

In /src/main/resources/input/BRO/cfg/metamodels/BRO-MIM-1-CONCEPTUAL.xml staan alleen include naar MIM12.xml bestanden. Betekent dit dat voor de BRO alleen MIM 1.2 actief is? Dus als we in een model "1.0", "1,1" of "1.1.1" invullen, dat niet werkt?

En wat is de functie dat in het bestand BRO.xlsx (in BRO/props) bij 'metamodelversion' - versionID: 1.1 staat ingevuld?

ArjanLoeffen commented 2 months ago

Voor de BRO is MIM 1.2 actief omdat deze backward compatible is. We gaan ervan uit dat we MIM 1.2 validatie mogen/kunnen uitvoeren op modellen die 1.. zijn.

metamodelversion uit de xlsx wordt gebruikt als er niet kan worden bepaald welke MIM versie het betreft. We volgen: 1/ De MIM versie tagged value, en als niet opgegeven: 2/ Een nader te bepalen methode voor het vaststellen van de versie van het metamodel, en als niet beschikbaar: 3/ de property metamodelversion

Dit noemen we de "specified version" die je aantreft in her report onder "configuratie".

NB Optie 2 is nog niet geïmplementeerd, en betreft met name andere metamodellen (non-MIM).

jacobvosimpronotion commented 2 months ago

Met nog de gestuurde link naar issue https://github.com/Imvertor/Imvertor-Maven/issues/503 hebben we voldoende info. En de melding Tagged value "heeft tijdlijn geldigheid" not specified but required for "ATTRIBUUTSOORT" verschijnt niet meer.