Geonovum / MIM-Werkomgeving

Werkomgeving van MIM. Bevat werk en alle pre-publicatieversies.
https://geonovum.github.io/MIM-Werkomgeving/
7 stars 15 forks source link

Koppelklasse #196

Open lennartvanbergen opened 2 years ago

lennartvanbergen commented 2 years ago

Vanuit harmonisatie Imvertor profielen (facilitator FT) --> langslopen van modelelementen (stereotypes) die door meerdere organisaties gebruikt worden en waar meerdere organisaties (3+) behoefte aan hebben:

Stereotype «Koppelklasse»: De UML-representatie van een Koppelklasse, uitgedrukt in een stereotype van UML-Class (metaclass).

Definitie Koppelklasse

Een koppelklasse is een verbijzondering van een objecttype en wordt als object beheerd. Dit (koppel)object koppelt twee soorten objecten c.q. klassen aan elkaar, welke zelf geen weet hebben van elkaar. De beheercyclus van deze twee klassen is op zichzelf staand, wijzigingen in een van deze objecten hebben nooit wijzigingen tot gevolg in het andere object (dit geldt beide kanten op). Gegevens over de koppeling tussen twee de soorten objecten (in de vorm van een derde soort object) worden vastgelegd. De combinatie van de identificaties waarnaar de koppelklasse refereert komt in principe maar één keer voor.

Voorbeeld: koppelklasse LocatieKadastraalObject, deze koppelt bijvoorbeeld Percelen aan Locaties, welke vaak een BAG object zijn. Wijzigingen in de BAG hebben geen gevolgen voor Percelen in de BRK, en vice versa.

Zie ook een Disgeo high-5 voor een uitwerking: https://geonovum.github.io/disgeo-demo-3a/#optie-2-apart-beheerde-koppelinstanties

ArjanLoeffen commented 2 years ago

Is nu onderdeel van MIM11-extension, d.w.z. iedereen die MIM11 volgt krijg deze ook mee.

kad-mesdat commented 1 year ago

In welke paragraaf gaan we de koppelklasse toevoegen? Bij relaties in een nieuwe paragraaf 2.3.4 of als specialisatie bij Objecttype 2.2.1? Vanuit gebruik zou ik de relatie paragraaf kiezen, maar in het metamodel zal het een specialisatie van objecttype zijn. Daarom beter bij objecttype vermelden? Of is het samen met constraint en keuze een overig modelelement?

kad-mesdat commented 1 year ago

Omdat we in de MIM nog geen beschrijving hebben van de betekenis van gegevens (wat betekent het als er iets wijzigt), lijkt het niet te passen in de standaard. Dat aspect van wijziging is waar de koppelklasse een rol heeft. Voorlopig nog even op pauze. koppelklasse

pmaria commented 1 year ago

Aanvullend op wat Thies zegt:

Omdat we in de MIM nog geen beschrijving hebben van de betekenis van gegevens (wat betekent het als er iets wijzigt), lijkt het niet te passen in de standaard. Dat aspect van wijziging is waar de koppelklasse een rol heeft. Voorlopig nog even op pauze.

De rationale voor de introductie van Koppelklasse lijkt te zijn: om duidelijk te maken dat het qua beheer niet hetzelfde is als een relatieklasse. Ofwel, als er iets op een koppelklasse wijzigt heeft dit geen beheereffecten op de gerelateerde objecten.

Dit duidt op een vermenging van een semantisch aspect (er is een relatie met eigenschappen) en een registratie-inrichting aspect (welke wijzigingen leiden tot een nieuwe versie van een setje gegevens behorende bij een modelelement). Het lijkt mij geen goed idee om deze twee aspecten te vermengen.

ThiesMesdag commented 10 months ago

De koppelklasse is echt iets anders dan de relatieklasse. De koppelklasse is een "losse administratie" over welke instanties van twee (of meer?) objecttypen bij elkaar horen. Hierbij kan de koppeling zelf wel kenmerken hebben (over de koppeling), maar dat maakt het geen relatieklasse.

pmaria commented 10 months ago

De koppelklasse is echt iets anders dan de relatieklasse. De koppelklasse is een "losse administratie" over welke instanties van twee (of meer?) objecttypen bij elkaar horen. Hierbij kan de koppeling zelf wel kenmerken hebben (over de koppeling), maar dat maakt het geen relatieklasse.

Hmm dan begrijp ik koppelklasse niet.

Semantisch gezien hebben we, als we alles terugbrengen tot de essentie, twee soorten uitdrukkingen: Een uitdrukking van een letterlijke waarde van een kenmerk van een object Een uitdrukking van een relatiekenmerk tussen twee objecten (we ondersteunen alleen binaire relaties in MIM).

Wat drukt een koppelklasse semantisch uit?