P11 Dexter Hypertext Reference Model
Et forsøg på at indkredse de abstraktioner som findes i hypertext systemer.
Dexter giver en fælles hypertekst terminologi og en formel model af begreber i hypertext.
Tre lag: run-time, storage (database), within-component.
Komponenter er betegnelsen for nodes, frames, cards osv. Hver komponent har en Universel IDentifier, UID
Fokus på storage lag hvor components befinder sig, strukturen inde i komponenterne opsættes der ikke standarder for, da en komponent kan indeholde for mange forskellige elementer: tekst, animation, grafik.
Runtimelaget er det lag hvor interaktionen med brugeren foregår. Det er så varieret, at Dexter kun opstiller skelettet til en model for det lag.
Kontakten til elementer inde i komponenten kaldes ankring. Et anker har et anker ID og en anker value. Value er en vilkårlig værdi der specificer et område eller enhed i substrukturen. Anker ID identificerer ankret inden for komponenten. Sammen med UID gør det at ethvert anker kan identificeres i hele systemuniverset. UID bruges i storage laget, anker id bruges af within-component laget
Interfacet mellem runtime lag og database kaldes presentation specifications = en mekanisme, hvorved information om hvordan en komponent eller netværk skal præsenteres for brugeren, kan kodes i storage laget.
Storage lag: et sæt komponenter sammen med to funktioner: resolver (opløser) og accessor (henvender) som sammen mapper specifikationer inde i komponenterne, som kan være: et atom (mindste enhed), et link, en enhed skabtaf flere komponenter. En base komponent kan være subkomponent i flere andre komponenter, men kan ikke indeholde sig selv. (DAG= directed acyclic graph). Sammen med komponent specifications bliver det en komponent. Komponent specifications består af en sekvens af ankre, præsentations specifikationer til runtime laget og et sæt attribute/value par som kan bruges til f.eks at tildele keywords.
Storage laget indeholder også et sæt muligheder for at modificere hyperteksten, eksempelvis skabe ny komponent, slette, redegøre for netværksstrukturen.
Component specification
En specifier består af: En komponent specifikation + anker id + direction + presentation specification. Et link er en sekvens af to specifiers.
Følgende skal være opfyldt for at bibeholde de invariable i hypertextsystemet:
Accessorfunktionen skal være en 1:1 mapping fra UID til komponent
Resolver skal kunne producere alle mulige gyldige UIDs
Komponent/subkomponent relationen skal være acyklisk
En komponents anker id skal være den samme som i den link specifier der resolver til komponenten
Hypertexten skal være link-konsistent, dvs enhver link specifier skal resolve til eksisterende komponenter.
Simpel run-time model
Instantiation:præsentationen af en komponent til brugeren. Enhver instantiation får sin egen ID, en IID.
Hvert anker har sin egen instantiation; det kaldes en link markør
Brugerens ageren i runtime laget kaldes en session. En session indeholder den aktuelle hypertext, en mapping fra IIDs til deres modsvarende komponenter, en history, en runtime resolver funktion, en instantiaton funktion og en “realizer” funktion. Realizer “skriver dokumentet tilbage”, når det er blevet redigeret.
Input til instantiator funktionen består af en komponent UID og en presentation specification.
Konklusion: Modellen kan mere end virkelighedens hypertextsystemer (n-ary links og kompositter), hvilket gør den svær at leve op til. Der arbejdes på en light model.