Databasstruktur
Objekt
I avsnittet Databas struktur ges en beskrivning av hur objekt är uppbyggda. Här finns
anledning att gå lite djupare i det ämnet.
Ett objekt består av ett objektshuvud och en objektskropp. Objekshuvudet innehåller
information om objektets namn, klass och relation till andra objekt. Objektskroppen innehåller
objektets datamängd.
Objektshuvud
Ett objekt har ett namn på maximalt 31 tecken som finns lagrat i objekthuvudet.
I objektshuvudet finns även en länk till objekts klassbeskrivning. I klassbeskrivningen finns
information som gör att man kan tolka objektets datamängd, hur den är uppdela i olika
attribut och vilken typ de olika attributen har. Vidare finns här även de olika metoder som
kan verka på objektet.
Ett objekt ligger i en trädstruktur och i objektshuvudet finns pekare till närmsta anhöriga:
förälder, föregående syskon, nästa syskon och första barn.
Strukturen på ett objekthuvud är gemensamt för alla olika typer av objekt.
Objektskropp
Ett objekt kan ha två olika kroppar, en kropp som innehåller den datamänd som behövs i
runtime, dessutom kan ett objekt ha ytterligare en kropp med en datamängd som enbart finns
i utvecklingsmiljön.
En kropp är uppdelad i attribut som innehåller data av en viss typ, det kan t ex vara en
Boolean, Float32 eller Int32. Men ett attribut kan även vara en mer komplex datatyp, som en
vektor eller en klass.
RtBody
RtBody är den kropp som finns i runtimedatabasen. Kroppen finns även i utvecklingsmiljön så
att man där kan datasätta olika attribut i kroppen.
DevBody
Vissa objekt har även en DevBody, en kropp som enbart finns i utvecklingsdatabas, och som
inte laddas in i runtimedatabasen. Detta används främst av plcobjekt, där devbody t ex
innehåller grafisk data för plceditorn.