Tyyppiobjektit tiedonsiirrossa

Tietomallissa olevista objekteista jotkin ovat saman tyyppisiä ja toiset eri tyyppisiä. Tietoteknisesti tämä voidaan esittää tyyppiobjektien avulla. Tällöin ’varsinainen’ objekti liitetään tyyppiobjektiin, jolla on ominaisuuksia jotka ovat samoja kaikille tuon tyyppisille objekteille. Nämä tyypin määrittelevät ominaisuudet ovat ’tyyppiominaisuuksia’ ja kaksi objektia ovat saman tyyppisiä kun niiden kaikilla tyyppiominaisuuksilla on sama arvo.

Objektien tyypitys ei edusta universaalia totuutta, vaan riippuu aina käyttötapauksesta. Tyyppejä on kyllä standardoitu kansallisessa tasolla, esimerkiksi ’MS’ on ’Sisään aukeava kaksipuitteinen kaksilasinen ikkuna’, mutta tämä on hieman eri asia kuin mitä tietomallien tyyppiobjekteilla ajetaan takaa. Tässä asiayhteydessä kysymys on siitä, minkä ominaisuuksien pitää olla samat, jotta kaksi objektia ovat saman tyyppisiä?


Energia-analyysiä varten kaksi ikkunaa ovat saman tyyppisiä, jos niillä on sama lasitus ja karmi. Määrälaskentaa kiinnostaa lisäksi millaiseen seinään ikkuna on sijoitettu. Hankintoja varten ikkunoilla pitää  olla myös dimensiot, ylläpitoa varten dimensiot taas eivät ole olennaisia, mutta ilmansuunta on.


Tyyppiobjektit ovat erinomainen ratkaisu suunnittelijoille ja mallien hyödyntäjille. Na auttavat olennaisesti pitämään mallin ehjänä ja johdonmukaisena. Suunnittelijan ei tarvitse aina asettaa kaikkien ominaisuuksien arvoja erikseen, vaan tyypin valitseminen riittää. Mallin lisätään tietyn tyyppistä seinää, tietyn tyyppisiä tiloja, laitteita, varusteita jne. Kun tyypin määritelmä muuttuu, muuttuvat kaikki mallissa olevat tuon tyyppiset objektit automaattisesti vastaamaan uutta määritelmää. Mallin hyödyntäjä taas jäsentää mallia tyypittämällä sitä omien tarpeidensa mukaan ja laskee esimerkiksi tietyn tyyppisten objektien määriä. On vaikea kuvitella mallintamista ja mallin hyödyntämistä ilman tyyppiobjekteja.


Tiedonsiirrossa tilanne on kuitenkin täysin toinen, koska objektien tyypittäminen ei ole universaali totuus, vaan kaikki tekevät sen omasta näkökulmastaan. Joskus eri osapuolet voivat kyllä käyttää saman kaltaista tyypitystä, mutta tämän on poikkeus, ei sääntö. Yhden osapuolen käyttämät tyypit eivät siis pääsääntöisesti palvele toisen osapuolen tarpeita ja kaikkein huonoin ratkaisu olisi vaatia tiedonsiirrossa mallin vastaanottajan tarpeita täyttävää, mutta mallin tekijälle vierasta tyypitystä. Koska tyypit kuitenkin perustuvat ominaisuuksille (kaksi objektia ovat samantyyppisiä jos niiden tiettyjen ominaisuuksien arvot ovat samat) on näiden tyypitysominaisuuksien siirtäminen hyödyllistä, kunhan se tehdään ilman erillisiä tyyppiobjekteja.


Arkkitehdin ikkunatyypissä on määriteltynä lasitus, raamit, korkeus ja leveys. Nämä 4 ominaisuutta siirretään tiedonsiirrossa jokaisen ’ikkunayksilön’ ominaisuuksina. Energia-analyysiä varten näistä käytetään lasitusta ja karmia ikkunatyyppien muodostamiseen. Hankintoja varten käytetään tyypittämiseen kaikkia neljää ominaisuutta. Ylläpidossa mallia rikastetaan tyypittämistä varten ilmansuuntatiedolla.


Tyyppiobjektit ovat siis hyvä ja tarpeellinen idea suunnittelutyössä ja mallien hyödyntämisessä. Tiedonsiirrossa niitä ei tule kuitenkaan käyttää. koska eri osapuolet tyypittävät samaa mallia eri tavalla. Parempi ratkaisu on siirtää osapuolten välillä tyypittämisen mahdollistavia ominaisuuksia, joiden perusteella mallin vastaanottajat tyypittävät mallin kukin omien tarpeidensa mukaan.