semantik för modellering

En modell och ett programmeringsspråk är olika saker. Erfarenheten från projekt rp8610 visar att man måste skilja dem åt.

Ett programmeringsspråk är ofta baserat på någon exekveringsmekanism. Det innehåller begränsningar så att det som skrivs går att beräkna, strukturer beskrivs på vissa sätt, olika sätt finns att representera variabler.

Exekvering, i varje fall för applikativa språk, kan ses som omskrivningar så att alternativ elimineras och att mer kanoniska ekvivalenter används, strategier används för att inte komma in i oändliga beräkningar eller onödiga sådana.

Här skall i stället modellen ses som något mycket abstrakt:

objekt = object
Objektet är något konkret. Det bara finns. Några exempel på objekt är "1", "tanke", "vatten", "grön", inte texten utan för vad de står.

korn = grain
Egenskapen anger om det är något utsträckt eller enbart en punkt. Exempel på detta är "meter" och "1.0m"

rum = space
Är det rum som finns för objektet. Det kan som vanligt innehålla ett godtyckligt antal dimensioner. Fysiska rum och tid kan vara dimensioner i sådana rum. Abstraktionen medger att flera tidsdimensioner kan användas. Tid och fysiska rum behandlas på samma sätt - vi människor är inte vana med det - men så är det!

kropp = body
Kroppen är en selektion i ett rum. Den omfattar alltså en mängd punkter. Selektionen kan bibehålla dimensionen på ett rum eller minska den. En punkt, ett plan och en volym är en selektioner från en godtyckligt stor dimension till en dimension 0, 2 resp 3.

alternativ = alternative
Alternativ är vad vi just menar med alternativ. Något kan vara det ena eller det andra. Alternativ behöver inte vara något diskret utan kan vara övergångar mellan oändligt många alternativ. Exempel på diskreta är 1, 2, 3 och kontinuerliga värdena inom talmängden 1.0 … 3.0. Andra exempel finns för inom t ex program, text, bilder, kroppar etc.

ekvivalent = equivalent
Detta koncept anger redundans och matematisk ekvivalens. Ett exempel från det dagliga livet är innehållet på 3 kopierade sidor som är ekvivalenter, däremot är papprena med den svarta texten inte ekvivalenter utan högst olika objekt. Ett matematisk uttryck kan ha olika ekvivalenter t ex (let a = 3 in 2*a+1) = 2*3+1 = 6+1 = 7.

abstraktion = abstraction
Abstraktion är en sorts ekvivalens dock inte fullständig. Ett exempel på sådan är text. Bokstaven A har en logisk betydelse. På pappret är den dock en figur. Det finns många varianter - grader, form och font, som kan betyda A.

avbildning = mapping
Avbildning är en sorts ekvivalens som kan liknas med kodning. T ex kan en identifierar vara identisk med "ord2". En beräkning 2*a+1 har avbildningarna "2*a + 1", "+ *2 a 1", och "1 2 (var a) mul add", situtionstecknen "…" anger att det kan ses som text. För den insatte så talar man om värdeformer och programformer.

modell = model
En modell är en abstrakt beskrivning på något. Till skillnad från det nedan angivna universum så finns delar som är odefinierade.De odefinierade delarna kan vara t ex identifierare och talmängder. Modellen är därmed besläktad med procedurer i Prolog och funktioner i lamda-kalkyl - det är dock inget programmerarkoncept, ty det har inga formella parametrar. I stället är modellen ett set av alternativ.

universum = universe
Detta är alla de ovan angivna egenskaperna tillsammans. Begreppet kan liknas med någon sorts modul. men är vidare.

identifierare = identifier
Detta är det mest abstrakta begreppet. Det liknar dock ett programmeringskoncept, men utan identifierare går det inte att hantera något. Ett objekt refereras med en identifierare. Om samma identifierare uppvisas på ett antal platser så menas just ett och samma objekt. Detta är inte samma sak som de matematiska variablerna, men dock releterade till dem.

Semantiken för modellering studeras.

english