|
|
DataMuseum.dkPresents historical artifacts from the history of: RC4000/8000/9000 |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about RC4000/8000/9000 Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - download
Length: 6144 (0x1800)
Types: TextFile
Names: »afs«
└─⟦00964e8f7⟧ Bits:30007478 RC8000 Dump tape fra HCØ.
└─⟦b2ec5d50f⟧
└─⟦this⟧ »afs«
\f
SIMULA 67. Et programmeringssprog bl.a. velegnet til en række
simuleringsopgaver.
SIMULA 67 et et højniveauprogrammeringssprog udviklet ved
Norwegian Computing Center af O.-J.Dahl, B.Myhrhaug og K.
Nygaard. Sproget er en udvidelse af ALGOL 60, og indeholder
dette sprog som delmængde bortset fra mindre undtagelser. Som
programmeringssprog kan dets styrke f.eks. sammenlignes med
ALGOL 68.
Den første version af SIMULA kom frem i 1964. Denne
version, som betegnes SIMULA I, blev udviklet specielt med
henblik på indførelsen af en række simuleringsfaciliteter. Ved
anvendelsen af denne version viste sig visse svagheder i
sproget. Dette resulterede i udarbejdelsen og definitionen af
SIMULA 67, som er den version der anvendes idag. SIMULA 67 er
en så kraftig udvidelse af SIMULA I, at sproget ikke længere
kun kan betragtes som et simuleringssprog, men har udbredelse
indenfor mange andre felter.
Da mine erfaringer med sproget mest omfatter anvendelsen af
de indbyggede simuleringsfaciliteter, vil nedenstående blive
koncentreret om at forklare, hvorfor SIMULA er specielt anven-
deligt indenfor simulering. I forbindelse med studier af
dynamiske systemers opførsel er anvendelsen af simulation ofte
til stor hjælp. På en simulationsmodel til et betragtet system,
er det muligt at udføre en række eksperimenter, som kan give
en dybere forståelse af systemets opførsel. De simulerings-
faciliteter SIMULA indeholder, gør det ikke blot relativt let
at programmere en simulator, men giver også en begrebsramme,
hvori simulationsmodellen kan udvikles.
Sprogets simuleringsfaciliteter bygger på et specielt pro-
ces-begreb. En proces kan opfattes som en selvstændig program-
del med sine egne data. Den anvendes til at beskrive et
hændelsesmønster for en komponent af det betragtede system. Når
et specifikt system skal simuleres, kan dette gøres ved at
opdele systemet i et vist antal dele. Hver del programmeres
derefter i form af en SIMULA-proces. Opdelingen foretages
således, at hændelser af samme type henføres til en og samme
proces. SIMULA styrer afviklingen af de enkelte processer ved
hjælp af en tidsakse og en mekanik til sammenkobling af
processerne. For at kunne programmere, hvordan de enkelte
SIMULA-processer skal udføres, findes indbyggede standard-
procedurer dels til at aktivere de andre processer og dels til
at passivere den aktive proces. Afviklingen af de aktive
\f
processer foregår således, at SIMULA udfører programmmet i den
aktive proces, som i henhold til tidsaksen, har den mindste
tid. I forbindelse med dette proces-begreb er det muligt at
simulere, at tiden går samtidigt i to processer. Man opnår
herved en illusion om, at ting foregår parallelt, hvad det
naturligvis ikke gør, idet SIMULA genererer et serielt program.
I forbindelse med en præstationsvurdering af et ved KTAS
kørende oplysningssystem, har jeg anvendt SIMULA til en simula-
tor af en del af dette system. Oplysningssystemet danner
grundlag for de spørgsmål (betegnes fremover også forespørg-
sler), der stilles til telefonnummeroplysningen. Til dette
system er koblet omkring 130 terminaler, der ved hjælp af et
datanet bestående af ca. 20 RC3500-minidatamater kommunikerer
med 3 RC8000-datamater. Mine undersøgelser drejede sig i første
række om at analysere RC8000's behandling af forespørgsler mht.
til svartider o.l. For at kunne foretage en dyberegående
analyse af svartiderne for en forespørgsels behandling i
RC8000, blev konstrueret en simulator til den del af op-
lysningssystemet, der findes i RC8000. De fordele en simulator
har i forbindelse med en sådan undersøgelse ligger i, at man
på simulatoren kan foretage eksperimenter, som ikke kan udføres
på det kørende system. Et eksempel på et sådant eksperiment er
afprøvning af, hvilken indflydelse et hurtigt pladelager vil
have på svartiden for en forespørgsel.
Til konstruktionen af simulatoren er en opdeling af op-
lysningssystemets RC8000-del lavet. Denne opdeling bestod i at
lade pladelageret og kanalen mellem pladelageret og det indre
lager være hver en SIMULA-proces. Centralenheden blev på grund
af systemets opbygning i RC8000 opdelt i 5 SIMULA-processer.
For at illustrere hvordan SIMULA's proces-begreb virker kan
f.eks. beskrives, hvordan processen der simulerer pladelageret
er udformet. Processen er passiv indtil der skal foretages en
pladelagertilgang. Når SIMULA-processen aktiveres af en fo-
respørgsel, der skal anvende pladelageret, simuleres, at denne
tilgang tager et vist antal millisekunder. Når dette er sket,
reserveres kanalen fra pladelageret til lageret. Hvis kanalen
er ledig simuleres en overførsel af data. Det bør her bemærkes,
at under simuleringen af en pladelagertilgang er det muligt at
simulere, at tiden går i centralenheden.
Erfaringerne med kørsler med simulatoren viste, at det
lykkedes at konstruere en simulator, som afbildede systemet med
god nøjagtighed. Således opnåedes en nøjagtighed med en af-
\f
vigelse i svartiderne dels fundet ved målinger på systemet og
dels ved simulatoren på mindre end 10 %. Resultaterne af mine
undersøgelser viste, at den største forbedring af RC8000`s
behandling af forespørgsler med henblik på formindskelse af
svartiden fremkom ved anskaffelse af en hurtigere centralenhed.
\f
▶EOF◀