• Aucun résultat trouvé

Link Architecture for a Global InformationInfrastructure

N/A
N/A
Protected

Academic year: 2022

Partager "Link Architecture for a Global InformationInfrastructure"

Copied!
88
0
0

Texte intégral

(1)

by

Jerey R. Van Dyke

Submitted to the Department of

Electric al Engineering and Computer Sc ienc e

InPartial Fulllment of the Requirements

for the Degree of

Master of Engineering inElec tric al Engineering and Computer Sc ienc e

at the

Massachusetts Institute of Technology

June, 1995

c

MassachusettsInstituteof Technology, 1995

MassachusettsI nstituteof Technology

Laboratoryfor ComputerScience

Cambridge, Massachusetts02139

(2)

Agencyof theDepartmentof DefenseunderContract No. DABT63-92-C-0002.

(3)

by

Jerey R. Van Dyke

SubmittedtotheDepartmentof Electrical EngineeringandComputerScience

onMay30, 1995

inpartial fulllmentof therequirementsfor thedegreeof

Masterof EngineeringinElectrical EngineeringandComputer Science

Abstract

The notionof alink torepresent anexplicit relationshipor associationbetweenen-

titieshas beenutilizedbynumeroushypertextsystems toprovideavarietyof capa-

bilities, includingquotation, navigation, annotationandknowledgestructuring. The

link mechanismdescribedhereinprovides the abilityto relate entities ina global

informationinfrastructure, theI nformationMesh.

Theimplementationof alinkarchitectureshows thefeasibilityof aminimummech-

anismto provide a richset of relationshipexpressions as an element of a global

informationinfrastructure. Meshobjects are shownto require a composite object

mechanismandenhancements to their substructure interface. Meshlinkendpoints

allowthe descriptionof anobject, some aspect of anobject or acomponent of an

object. The resulting Meshlinkimplementationprovides rst-order linkinginan

extensibleandexiblearchitecture.

Thesis Sup ervisor: Dr. Karen R. Sollins

Title: ResearchScientist,Lab oratory for Computer Science

(4)

Special thanks to mythesis advisor, KarenSollins for her guidance andsupport.

Her vision of anI nformationmeshprovidedthe foundation for this eort. This

thesiswouldnothavebeenpossiblewithoutherpatientencouragementandocassional

prodding.

ThankstoBienvenidoVelez-RiveraandAlanBawdenfortheirdetailedexplanations

of theMeshkernel andMeshobjectsystem. Theireorts providedaspringboardto

theimplementationof thelinkmechanismdescribedinthis thesis.

ThankstoMitchCharityandChrisLefelhoczforreadingandcommentingonvarious

portions of this document.

Thanks to the members of the AdvancedNetworkArchitecture groupat the MI T

Laboratoryfor Computer Science. DaveClark, JohnWroclawski, JaneyHoe, Lewis

Girod, TimShepard, TimChien, Matt Condell, Robert Minnear, Lisa Trainor and

GarretWollmanall createdanatmosphereof motivationandsupport.

Finally, adeepfeltthank-youtomyparents, RogerandDianeVanDyke, andbrother,

Bryan, for theirloveandcare.

(5)

1 Introduc tion 9

1.1 Background : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 9

1.2 LinkArchitecture : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 10

1.3 Organization : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 10

2 RelatedWork 11

2.1 Memex: : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 12

2.2 Xanadu : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 12

2.3 WorldWideWeb : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 14

2.4 Aquanet : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 16

2.5 Dexter : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 17

2.5.1 DexterStorageLayer : : : : : : : : : : : : : : : : : : : : : : : 18

2.5.2 DexterComponent I nformation : : : : : : : : : : : : : : : : : 18

2.5.3 DexterBaseComponents: : : : : : : : : : : : : : : : : : : : : 20

2.5.4 DexterStorageLayerFunctions : : : : : : : : : : : : : : : : : 22

2.5.5 DexterRuntimeLayer : : : : : : : : : : : : : : : : : : : : : : 23

2.5.6 DexterSystemI nvariants: : : : : : : : : : : : : : : : : : : : : 23

2.5.7 DexterLimitations : : : : : : : : : : : : : : : : : : : : : : : : 24

2.6 Observations: : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 25

2.7 Summary : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 30

3 InformationMeshPro jec t 31

3.1 Goals: : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 32

3.2 Constraints : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 32

3.3 I mplementationRequirements : : : : : : : : : : : : : : : : : : : : : : 34

3.4 I nformationMeshKernel : : : : : : : : : : : : : : : : : : : : : : : : : 35

3.5 I nformationMeshObjectSystem: : : : : : : : : : : : : : : : : : : : 35

3.5.1 MeshObjects : : : : : : : : : : : : : : : : : : : : : : : : : : : 36

3.5.2 Roles : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 36

3.5.3 I mplementations : : : : : : : : : : : : : : : : : : : : : : : : : 37

3.5.4 Actions : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 38

3.5.5 Parts : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 39

3.6 Summary : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 41

(6)

4.1 Naming : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 43

4.2 Typing: : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 43

4.3 SubstructureI nterface : : : : : : : : : : : : : : : : : : : : : : : : : : 43

4.3.1 Selector Exposure : : : : : : : : : : : : : : : : : : : : : : : : : 44

4.3.2 ContentManipulation : : : : : : : : : : : : : : : : : : : : : : 46

4.3.3 SubstructureI nterfaceSummary: : : : : : : : : : : : : : : : : 47

4.4 Composites : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 48

4.4.1 Need : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 48

4.4.2 CompositeOptions : : : : : : : : : : : : : : : : : : : : : : : : 49

4.4.3 CompositeI mplementation: : : : : : : : : : : : : : : : : : : : 51

4.5 NodeExamples : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 52

4.5.1 DexterComponent Role : : : : : : : : : : : : : : : : : : : : : 52

4.5.2 AquanetNodeRole: : : : : : : : : : : : : : : : : : : : : : : : 53

4.5.3 AquanetStatementRole : : : : : : : : : : : : : : : : : : : : : 54

4.5.4 WorldWideWebHTMLDocumentRole : : : : : : : : : : : : 54

4.6 Summary : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 55

5 LinkArchitec ture 56

5.1 LinkAttributes : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 57

5.2 I mplementation : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 59

5.2.1 LinkUtilization: : : : : : : : : : : : : : : : : : : : : : : : : : 61

5.2.2 Relationshipdescription : : : : : : : : : : : : : : : : : : : : : 61

5.2.3 LinkI ndependence : : : : : : : : : : : : : : : : : : : : : : : : 62

5.2.4 Endpointcapabilities : : : : : : : : : : : : : : : : : : : : : : : 63

5.3 LinkExamples : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 65

5.3.1 NamedLink : : : : : : : : : : : : : : : : : : : : : : : : : : : : 65

5.3.2 OrderedLink : : : : : : : : : : : : : : : : : : : : : : : : : : : 66

5.3.3 Binarylink : : : : : : : : : : : : : : : : : : : : : : : : : : : : 67

5.3.4 LinkExampleSummary : : : : : : : : : : : : : : : : : : : : : 68

5.4 ExtendedExample : : : : : : : : : : : : : : : : : : : : : : : : : : : : 68

5.4.1 LCSEntityObjects: : : : : : : : : : : : : : : : : : : : : : : : 68

5.4.2 LCSEntityLinks : : : : : : : : : : : : : : : : : : : : : : : : : 69

5.4.3 Summary : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 71

5.5 Summary : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 71

6 Conc lusions 73

6.1 MeshLinks : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 73

6.2 Overall LinkingI ssues Addressed : : : : : : : : : : : : : : : : : : : : 74

6.3 OpenI ssues : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 75

7 Objec t-Role 77

(7)

8.1 VersioningOptions : : : : : : : : : : : : : : : : : : : : : : : : : : : : 79

8.2 VersioningI mplementation: : : : : : : : : : : : : : : : : : : : : : : : 80

9 LCSEntities and Semantic Links 81

(8)
(9)

Int roduct ion

This thesis examines alink mechanismfor describingobject relationships inalong

lived, global informationinfrastructure, theI nformationMesh. TheresultingMesh

linkimplementationprovides arichandexiblemechanismtorelateinformationin

the Mesh. Minimumlink, object andsystemcapabilities necessarytosupport such

capabilitiesaredescribed.

1.1 Background

The I nformationAge has createdaneedtomanipulate avast andever increasing

amount of data. As anexample, consider the I nternet: the trac relatedto infor-

mationmanipulationhas increasedtremendouslyinthe past fewyears [1]. Corre-

spondingtothisgrowthhasbeenanincreasingneedfortools tomanageinformation,

particularlyamechanismtoconnect andrelateknowledge.

Thenotionof connectingandrelatingknowledgehasbeenacompellingvision

since at least 1945 when Vannevar Bush suggestedthe implementationof a vast

knowledgebase[6]. These ideas havebeenfurther developedinhypertext systems,

suchas Xanadu[17], Aquanet[16] andWorldWideWeb[1], wherelinks areutilized

toexplicitlyrepresentarelationshiporassociationbetweenentities.

Hypertext links provideapowerful mechanismto relate information. I nthe

WorldWideWeb, links provideameans of informationnavigation. Xanaduutilizes

links for quotation, navigation, annotationandcommentary. Aquanet links areuti-

(10)

includes: navigation, quotation, annotationandknowledgerepresentation.

1.2 LinkArchitecture

Wedescribealinkmechanismtodescribeobjectrelationshipsinalonglived, global

informationinfrastructure. Our frameworkfor this eort is the I nformationMesh

Project: aneort toprovideaminimumset of universal commitmentsnecessaryto

providealong-livedglobal architecturefornetwork-basedinformationreference, ma-

nipulationandaccess. TheI nformationMeshObject Systemprovides Meshobjects

as thenodes of Meshlinks.

The overall goal is to describeaminimumlinkmechanismwhichprovides a

exibleandrich setof relationshipexpressions. Oneresultofthiseortisadescription

of theminimumsystem, nodeandlinkcapabilitiesnecessarytosupport Meshlinks.

1.3 Organization

The examinationof Meshlinks begins withadescriptionof several representative

hypertext systems inChapter 2. Systemrequirements, node capabilities andlink

characteristicsaredescribedinthissection. Thesecharacteristicsandtheconcluding

observationsareutilizedthroughouttheremainingchapters. Chapter 3describesthe

overall I nformationMesh, theMeshkernel andtheMeshObjectSystem. Thesystem

requirements of the I nformationMeshare describedand the capabilities of Mesh

objectsaredescribed. Chapter4examinesenhancementstotheMeshObjectSystem

tobetter utilizeMeshobjects as nodes of Meshlinks. Chapter 5describes aMesh

linkarchitectureanddemonstrates the exibilityof Meshlinks inseveral examples.

Chapter 6summarizetheoverall results andopenissues.

Notethatsecurityandprivacyissueswill notbeexaminedexceptwherethey

directlyaect overall linkdesign.

(11)

Relat ed Work

Thenotionof alinktorepresentanexplicitrelationshiporassociationbetweenentities

hasbeenutilizedbyhypertexttoprovideavarietyof capabilities,includingquotation,

navigation, inclusion, annotation and knowledge structuring. I nthis chapter, we

examine a varietyof hypertext systems: Memex, Xanadu, the WorldWide Web,

AquanetandtheDexter HypertextReferenceModel. Weexaminetheir useof links

anddescribehowtheyconfronthypertextissues, including:

1. Systemissues: Howdosystemcharacteristics enhanceor limitlinking?

minimumrequirements: basicsystemexpectations andrequirements

sc alability: mechanismstodeal withlargesystemissues

exibility: provisions for avarietyof hypertextnodes andlinks

sec urity: mechanismstopreventunauthorizedaccess

privac y: mechanismstoensureprivacy

2. Node attributes: Howdonodes support linking?

naming: identicationof nodes

typing: describingnodecharacteristics, semanticsandinvariants

substruc ture interfac e: exposingnodesubstructurefor linking

c omposites: combiningnodes

versioning: supportingnodechanges

(12)

linkutilization: overall useandcharacteristicsof alink

linkrelationships: abilityof linkto\talkabout" orexpressrelationships

betweenentities(includingother links)

linkindependenc e: abilitytoexistseparatefromnodes

endpoint c apabilities: what canlinksassociate?

Note that we focus onthe issues of scalability, node typing(as ameans of achiev-

ingexibilityamongother things), substructureinterface, endpoint capabilities and

overall linkutilization.

2.1 Memex

Thenotionof relatingavast domainof informationusingsomeassociatedstructure

was rst describedinVannevar Bush's visionof theMemex: \Adeviceinwhichan

individual stores his books, records, andcommunications, andwhichis mechanized

sothat it maybe consultedwithexceedingspeedandexibility. I t is anenlarged

intimatesupplementtohis memory[6]."

Bush'sworkwasdistinguishableforitsinclusionof anassociationmechanism:

the examinationof one iteminthesystemwouldsuggest another. Bushenvisioned

this mechanismworkingina fashionsimilar to the humanbrain: \Withone item

inits grasp, it snaps instantlyto the next that is suggestedbythe associationof

thoughts, inaccordance withsomeintricatewebof trails carriedbythe cells of the

brain[6]."

I t is largely agreedthat one outgrowthof Bush's visionwas hypertext, an

informationmanagement mechanisminwhichdatais storedinnodes connectedby

links.

2.2 Xanadu

TedNelson's XanaduProject [17] is aninuential examinationof alargehypertext

system. Xanaduutilizeslinkstoprovide\aconnectionbetweenpartsof textorother

(13)

overall goal of Xanaduis adistributedsystemof documentsconnectedbylinks.

Xanadudocumentsarethefundamental unitof storage. I ndeed, everythingin

theXanadusystemis adocument. Xanadudocuments\maycontaintext, graphics,

links... or anycombinationof these... [17]." Xanadudocuments providenoinfor-

mationhidingor abstractionlayer; theyexpose their entirestructureandcontents,

alongwithassociatedversioninginformation, inamanner allowingXanadulinks to

relateanyportionof adocument.

Xanadulinks arecomposedof \end-sets". Eachend-set indicates \spans" or

regions of text inXanadudocuments. Thus, Xanadusupports span-to-spanlinking

byallowingits links to relate regions of text. The typical Xanadulinkis a three

end-set structure: a\from-set" whichis anarbitrarycollectionof spans specifying

the source of alink, a\to-set" whichspecies the destinationof a link, anda set

specifyingthelinktypeor relationshipbeingexpressed.

Xanadulinks are containedinnodes: \Eachlink resides inone place, the

document that contains it. Links, just liketext, are owned. Everylinkis part of

a particular [document] and has anowner [17]." Links can relate other links by

connectingtothelinkportionof adocument.

Xanadulinks maintainassociations across document versions. \Essentially,

thelinkseizes apoint or span(or anyotherstructure) inthe[document] andholds

onto it. Links maybe refractivelyfollowedfromapoint or spaninone versionto

correspondingplacesinanyotherversion. Thusalinktooneversionof a[document]

is alinktoall versions[17]."Unfortunately, themechanismforalinkto\hold"onto

anodeacrossversionsisdependentonspeciccharactersremaininginvariant: \alink

is attached.... tospeciccharactersandsimplystays withthesecharacterswherever

theygo [17]." Note that this mechanismwill breakunder a varietyof conditions,

includingwordingchanges.

The greatest weakness of the Xanadusystemis its expectationof complete

availabilityof certainsysteminformation: \..everychangemustbeknownthroughout

the networkthe instant it happens [17]." I nparticular, Xanaduexpects that all

(14)

shouldbeabletoask, foragivendocument, `Whatconnectsherefromall fromother

documents?' {andbeshownall theseoutsideconnectionswithoutappreciabledelay

[17]."

I nsummary, Xanaduprovidesalinkmechanismtoallowreaderexplorationof

documents. Xanadudocumentsexposetheirentiresubstructureinamannerallowing

linkstorelateanyportionof adocument. Xanadulinksarecomposedof end-setsand

arecontainedinnodes. Xanadulinksmaintainassociationsacrossdocumentversions

andprovideamechanismfordeterminingall linkstoaparticularXanadudocument.

2.3 WorldWide Web

The WorldWide Web[1] is perhaps the best known, most widespreadandmost

successful exampleof adistributedhypertextsystem. TheWeballowsnavigationvia

linksacrosstheI nternetandbetweendocuments. Theincrediblegrowthandsuccess

of theWorldWideWebhasexhibitedthepowerof adistributedhypermediasystem

connectingvarious sites using\links".

The overall WorldWideWeb(WWW) paradigmis documentsconnectedby

links. WWWlinksexistintheWWWdocumentsthataretheirsources. EachWWW

linkspecies arelationshipbetweentwoentities: thedocument inwhichthelinkis

contained, andanidentieddestinationdocument. WWWdocumentsarespecied

inHTML[5].

WorldWideWebdocumentsareidentiedthroughtheuseof location(aUni-

versal ResourceLocationor URL[2]) rather thaninalocationindependent manner

suchasUniversal ResourceNames[21].

1

Thispreventstherelocationof Webobjects

{theycannot bemovedfromthelocationdescribedbytheirURL. Fortransmission

purposes, WWWdocumentcontentisspeciedusingI nternetMediaTypes[18].

WWWdocuments emphasizehumanbrowsing, anddonot explicitlyencode

semantics. There is, for instance, no mechanismto specify that aspecic page is

1

The latest draft of HTML 3.0 [19] proposes the addition of the (optional) URN attribute to

describe theuniversal resource nameforanHTMLdocument.

(15)

fromtheURLassociatedwiththeWebpage. I narelatedmanner, HTMLprovides

minimummechanisms toassist browsers inpresentingnewmarkupstructures. I f a

particularHTMLmarkupisencounteredforwhichtheWebbrowserlacksknowledge,

thereislittleornofall-back; theWebbrowsercaneitherignorethemarkupordisplay

theASCII text representation. I nshort, thereis nostandardwaytoclassifyaWeb

document; anymeaningmustbedeterminedfromtheaccompanyingHTMLwhich,

at leastpresently, providesminimumcapabilitiesforsuchdescriptions.

2

Documentsexposeinternal contentforlinkingthroughtheuseof ananchor. I n

theWWW, ananchorspeciedsectionof theWWWdocumentisthesourceand/or

destinationof aWWWlink. Ananchor HREFattribute species the beginningof

alink. AnanchorNAMEattributespecies anidentier whosereferenceallowsthe

anchortobethetargetof alink. Anchorscannested, butcannotoverlaponeanother.

Anchorsarelimitedinthattheyaremerelyarbitraryportionsof document{thereis

nodocumenttypingmechanismwhichwouldallowassociatinganchorswithacertain

documenttype(suchastheaforementioned\homepage")ordocumentsubstructure.

3

I nshort, WWWanchorslacktheabilitytobeassociatedinsomeformal mannerwith

ageneralizedstructure, suchas aparticular documenttype.

WWWlinks are one-way, two-endedanddocument-based. Links always de-

scribe arelationshipbetweenexactlytwodocuments; there are no mechanisms to

relatemorethantwoentities. Links mustbecontainedinoneof thetwodocuments

theyassociate. TheWebprovidesamechanismtoallowserverstoaddlinkstodocu-

ments\bythosewhodonot havetherighttoalterthebodyof adocument[4]", but

serversarenotrequiredtoprovidethisfunctionality. Therearenomechanismstolink

twodocumentsif theservers of bothdocuments refusetheadditional links. WWW

links arenot rst class andthereforecannot exist independentlyof thedocuments

theylink.

2

The latest draft of HTML3.0[19] suggests the utilizationof a\ROLE"attribute whichis a

listingof SGMLnametokens\thatdene the rolethisdocumentplays[19]."

3

Thelatestdraftof HTML3.0proposes theadditionof anIDmechanismtoassociatedocument

elementswithanchors. Further,thedraftsuggests the additionof aCLASSmechanismtosubclass

HTMLelements.

(16)

useof WWWlinkrelationshipnames isextremelylimited. This is particularlyfrus-

tratingbecause earlyWWWdocumentation[3] suggestedseveral linknames to de-

scribe\relationships betweendocuments"and\relationships about subjectsof docu-

ments". ThecurrentHTML2.0draft[4] hasminimal discussionof linkrelationships,

merelystating: \Relationshipnames andtheir semantics will be registeredbythe

W3Consortium. Thedefault valueisvoid." Thelatestdraft of HTML3.0[19] sug-

gests anexpandeduseof linkrelationships toprovidespecicnavigationbuttons or

equivalentmechanisms.

WWWlinkscanbecome\dangling"links. Forexample, areferencedWWW

documentmayrenameor removethenecessaryanchor. Worse, thereferenceddoc-

umentmaymoveor beremovedinamanner that \breaks"its prior URL. Thereis

nomechanismfor areferencedWWWdocument toexposeinvariants inanchors to

allowalinktoensureit is lesslikelytobecome\dangling".

I nsummary, the WWWallows navigationvialinks across the I nternet and

betweendocuments. WWWdocuments are identiedbylocation, emphasize hu-

manbrowsingandexpose internal content for linkingthroughthe use of anchors.

WWWlinks are one-way, two-ended, document-basedandcanbecome \dangling"

links. WWWlinktypesarespeciedbyarelationshipname.

2.4 Aquanet

Aquanet [16] is a hypertext knowledgestructuring tool designedto allowusers to

graphicallyrepresent informationandexploreitsstructure. Aquanetallowsusers to

interpretandorganizeideasusingAquanet'slinkingstructuretoconnectandexpress

ideas. Overall, Aquanet provides anexaminationof utilizinghypertext facilities in

therealmof knowledgerepresentation.

Aquanetobjects (bothnodes andlinks)aretyped, structuredframe-likeenti-

ties. EveryAquanet object is aninstanceof sometype. Atype'sdenitionspecies

slots, type(s)of objectsthatcanll eachslot, andthegraphical appearanceof theob-

(17)

objects of agiventypeincludenot onlytheslots denedbytheir typebut alsothe

slots that theyinherit fromtheir supertype(s) [16]." The inheritance rules of the

Aquanet type hierarchyare takendirectlyfromthe CommonLispObject System

specication[14].

Aquanetnodesandlinksaredistinguishedbytheiruseof slots. Nodeslotval-

uesareanamedsetof contentsrestrictedtoprimitivedatatypessuchastext, images,

numbers, strings, etc. Linkslot valuesmaybeprimitivedatatypes or other Aquanet

objects. Aquanet linkscanbeviewedas containingnamedandtypedendpoints.

Aquanetlinksareutilizedaspartof thedenition, developmentanddisplayof

\knowledgestructures".

4

Asanexample, an\Argumentrelation"is expressedas an

Aquanetlinkcontainingthreeslots: theConclusion, theGrounds andtheRationale.

Eachslot canbelledbyeithera\Statementnode"(anAquanet object containing

atextslot) or another Argumentrelation.

I nsummary, Aquanet utilizes atypehierarchyto describe object types and

multi-endedlinkstoprovideenhancedknowledgestructuringcapabilities.

2.5 Dexter

TheDexterHypertextReferenceModel providesanabstract model of hypertextsys-

temswhichdescribestheentitiesandmechanismswhichallowuserstocreate, manip-

ulateandexaminehypertext[12]. Theoverallgoal of Dexteristwo-fold. First,Dexter

formalizessomeof thehypertextnotions wehaveexamined, thusprovidingavocab-

ularythat canbe utilizedto describe aparticular hypertext system's functionality

andcharacteristics. Second, Dexter provides amodel of the importantabstractions

foundinawidevarietyof hypertextsystems, andthusnecessarytoincorporateinto

aexiblelinkmechanism.

I nthis section, weexamineDexter inconsiderabledetail. First, weexamine

4

The term knowledge structure refers to \..aninterconnected networkof information-bearing

nodes that areusedtoreprese nt theprimitiveobjects andtheir interconnectioninsomedomainof

discourse [16]."

(18)

separatelyexaminethecompositeinformationandbasecomponents whichtogether

construct all Dexter components. Additionally, wedescribe Dexter's storage layer

functions andruntimelayer. Finally, wedescribe Dexter invariants andsummarize

Dexterlimitations.

2.5. 1 DexterStorageLayer

The Dexter storage layer models the node/linknetworkstructure of hypertext. I t

is composedof a database of data-containing components interconnectedby rela-

tional links. Thestoragelayerfocusesonthemechanismsbywhichlinkandnon-link

componentsare`glued-together' toformhypertextnetworks.

The fundamental entityinthe storage layer is a component. Components

are what aretypicallythought of as `nodes' and`links' inahypertextsystem. The

storage layer of Dexter doesn't attempt tomodel the overall content andstructure

of components, but treats componentsas largelygenericcontainersof data. Despite

theoverall indierencetocomponentcontents, Dexterrequiresthateachcomponent

exposecomponentinformationandutilizeabasecomponent. Componentinformation

is describedinSection2.5.2andbasecomponentsaredescribedinSection2.5.3.

Alsoassociatedwiththe storage layer are twofunctions: aresolverfunction

andanaccessorfunction. Together theyare jointlyresponsible for retrievingcom-

ponents fromthe storage layer basedonthespecications of thecomponents. The

exact natureof thesemechanismsisdescribedinSection2.5.4.

2. 5. 2 DexterComponentInformation

Dexter requires that eachcomponent inthe storage layer expose component infor-

mation. Componentinformationdescribes certainproperties of thecomponent and

provides afundamental interfacetothecomponent.

Component informationincludes: unique identication, anchoring, presenta-

tionspecicationandattribute/valuepairs.

(19)

EachDextercomponenthas auniqueidentier(UI D)assumedtobe\uniquely

assignedtocomponentsacross theentireuniverseof discourse[12]."

Anchors

EachDextercomponentcontainsasequenceof anchorsthatindexintothecom-

ponent. Dexteranchorsprovideanindirectaddressingmechanismforspecifying

the internal structureof acomponent inamanner whichdoes not dependon

knowledgeof theinternal structureof adocument. Dexterlinksutilizeanchors

torelatecomponentsubstructure.

ADexter anchor consists of two parts: ananchorid, andananchorvalue.

The anchorid is anidentier whichuniquelyidenties ananchor withinthe

scopeof thecomponentitoccupies. Theanchorvalueisanarbitraryvaluethat

species somelocation, region, itemor substructurewithinacomponent. The

anchor valueis interpretableonlybythe applications responsiblefor handling

thecontent/structureof thecomponent. Dexteranchors canoverlap.

AnchorsallowDextertosupport linkingacross componentversions. Asacom-

ponent changesovertime, theanchor valuechanges toreectmodications to

theinternalstructureof thecomponent, \[t]heanchorid, however, remainscon-

stant, providingaxedreferent that canbe usedto specifyagivenstructure

withinacomponent[12]."

PresentationSpecication

Thepresentationspecicationisaprimitivevaluecontaininginformationabout

howthenodecontentsshouldbepresentedtotheuser. Presentationspecica-

tionsaredescribedinmoredetail inSection2.5.5.

Attribute-ValuePairs

Finally, Dexter components provide the abilityto set andretrieve arbitrary

attribute/value pairs. The attribute/value pairs can\be usedto attachany

(20)

beattachedtoacomponentusingmultiple`keyword' attributes [12]."

Note that Dexter does not provide a formal component type model. Some

componentattributes canbedeterminedbyexaminingattribute-valuepairs, but no

formal type systemmechanismis specied. Some descriptions of Dexter suggest

modelingacomponenttypesystemby\addingtoeachcomponenta`type' attribute

withanappropriatetypespecicationas its value[12]."

2. 5. 3 DexterBaseComponents

Dexter componentsarecomposedof abasecomponenttogether withthecomponent

informationdescribedinSection2.5.2. The basecomponentsintheDexter storage

layerare: atomiccomponents, compositecomponentsandlinks.

Atomic Components

Atomiccomponentsarethenest grainmembers of thestorage layer. Atomiccom-

ponents arelargelyopaqueobjects; thestoragelayerknowslittleabout thecontents

of atomic components or the \within-component" layer. Atomiccomponents may

containchunksof text, graphics, images, etc.

Composite Components

Composite components are constructedout of other components. The composite

relationshipis restrictedto adirectedacyclicgraph(DAG) of basecomponents; no

component maycontainitself either directlyor indirectlyandcomposites are only

composedof basecomponents.

Finally, it isnot clearhowthelinkingmechanismis providedwithcomposite

components. Dexter does not describe howanchors are relatedto composites; no

mentionis madeof howanchorsshouldrefer tobasecomponentsinacomposite.

(21)

LinksassociateDextercomponentsbydescribingarelationshipbetweencomponents.

Dexter links describe their relationshipusing asequence of twoor more speciers.

Eachspecier describes the entities being related, the directionof the relationship

andthe presentationmechanismbywhichto displaythe entities. Dexter links are

rst classandDexterlinks canrelateDexter links.

Dexterutilizes composites tomodel hypertextsystemsinwhichlinksarenot

independent, but areembeddedinnodes. Anexampleof thisapplicationof compos-

ites is theKMS[20] hypertext system: \All links inKMSare embeddedwithinthe

frame (component) containingthe source anchor. Since links are also components

intheDexter model, it maybearguedthat aframeinKMSis actuallyacomposite

component[15]."

Dexterutilizesspecierstodescribethelinkrelationship. Thespecierstruc-

turecontains: acomponentspecication, ananchorid, adirectionandapresentation

specication.

componentspecicationprovidesadescriptionof thecomponent beinglinked.

This descriptioncanbeutilizedbythestorage layer'sresolverfunctiontopro-

duceaset of componentUI Dsmatchingthedescription.

anchoridspeciestheanchor tobeutilizedintheresolvedcomponent.

directionencodes linkendpointsasFROM, TO, BI DI RECTorNONE. Dexter

allowsduplicatedirectionvalues withtheconstraint that at least onespecier

haveadirectionof TOor BI DI RECT.

Therearemanydierentnotionsof directionality. GrnbaekandTrigg[11] have

identiedatleastthreetypes: semanticdirection, creationdirectionandtraver-

sal direction. Dexterdoesexplicitlyutilizeaparticularnotionof directionality;

Dexterprovidesdirectionalityas amechanismtosupportdirectionalityseman-

tics inexistinghypertext systems withDexter's two-waylinks. For example,

Dexter models aone-waylinksystem(suchas HyperCard[10]) byusingtwo-

(22)

endhavingadirectionvalueof TO. 5

presentationspecicationis aprimitivevaluethat helps the runtimelayer de-

termine howthe associated descriptor shouldbe presentedto the user. We

will discuss the presentationspecicationinmore detail inthe discussionof

Run-TimeissuesinSection2.5.5.

Note that for a particular specier, the component specicationallows the

returnof asetof UI Ds, buttheotheraspectsof aspecierstructurearesinglevalued

andstaticallydetermined. Thisimpliesthatall componentsresolvablefromapartic-

ular componentspecicationmustsupport thesameanchor idandpresentation.

6

2. 5. 4 DexterStorageLayerFunctions

As wehavepreviouslymentioned, the storage layer utilizes aresolver andaccessor

functiontoretrievecomponents.

AccessorFunction

Theaccessor functionof thehypertext is responsiblefor \accessing"acompo-

nent, givenits UI D. That is theaccessor functionis responsiblefor retrieving

thecomponentcorrespondingtoagivenUI D.

DexterResolverFunction

The resolver functionmust be able to produce all possible validcomponent

UI Ds for anygivendescriptionor \componentspecication".

Dexter remains silentonthemechanismandimplementationof resolver func-

tions, includingthedomainandsyntaxof specications, butjustiestheirneed:

5

HyperCardlinkscanonlybe traversedfromsource todestination. \Thisisbecause HyperCard

links are implementedas `GO' statements inascript inthe link's source component. This also

meansthat linkscannot normallybeseenfromtheir destinationcards [11]."

6

In[25], Penzo, SolaandVitali propose modicationstoDexter tosupport dynamicdetermina-

tionof anchorids.

(23)

strictive. Rather, when[thecomponentspecicationdescribedinaspecier of

a] linkisfollowed, thespecicationmustbe`resolved', if possible, toaUI D(or

set of UI Ds)whichthencanbeusedtoaccessthecorrect component(s)."

2. 5. 5 DexterRuntimeLayer

The runtimelayer species the tools for auser to access, viewandmanipulatethe

node/linknetworkstructure. Theruntimelayertools cantreat componentsasmore

thangenericcontainersof data{utilizingtheactual contents.

Theruntimelayerutilizesthepresentationspecicationvaluesassociatedwith

componentsandlinkspecierstodeterminehowacomponentshouldbepresentedto

anenduser. \Thus, thewayinwhichacomponentispresentedtotheuser canbea

functionnotonlyof thespecichypertexttool thatisdoingthepresentation(i.e., the

specicrun-timelayer), butcanalsobeapropertyof thecomponentitself and/or of

theaccess path(link) takentothatcomponent[12]." Thus, theruntimelayeris the

layerat whichdynamicmechanismis determined, whilethestorage andcomponent

level mechanismspreviouslydescribedimplementhypertextas anessentiallypassive

datastructure.

2. 5. 6 DexterSystemInvariants

TheDexter model requires that several invariantsbemaintainedat all times bythe

hypertextsystem. Theseinvariants areexpectedtobe implementedinafashionto

ensuretheyaremaintainedwhencreating, modifyingor utilizingcomponents.

AmongtheDexterinvariantsare:

Link speciers must have at least one specier withthe directionof TOor

BI DI RECT. Thus, all linksmustpoint tosomecomponent.

TheaccessorfunctionsmustbeaninvertiblemappingfromUI Dstocomponents.

This implies that everycomponentmusthaveexactlyoneUI D.

(24)

pliesthatanypossiblecomponentdescriptionsmustberesolvabletoacomplete

set of componentUI Ds.

Compositecomponentsmustcontainnocyclesinthecomponent/subcomponent

relationship. Thus, nocomponentmaybeasubcomponent (directlyor transi-

tively)of itself.

Links maynot be`dangling'. The speciers of alinkmustalways resolveto a

setof componentscontainingtheassociatedanchorid. Anycomponentchanges

mustbereectedinlinks. Thus, anyDexter-basedhypertextsystemmusten-

surethat anycomponent changes result intheimmediateupdateandmodi-

cationof links toreectthechanges.

2. 5. 7 DexterLimitations

Dexteris limitedinseveral respects.

1. The Dexter systeminvariants ignore large distributedsystemissues, suchas

unavailability. For instance, the needto prevent `dangling links' ignores the

dicultyof providingandmaintainingsuchinformationacross a widelydis-

tributedsystem.

2. Dexterdoesnotexplicitlyprovideacomponenttypingmechanism. Somecom-

ponent attributes canbe determinedfromexaminationof the component in-

formationsuchas attribute-value pairs, but thereis noformal mechanismto

associateacomponenttypewithinvariantssuchas theanchorsavailable.

3. Dexteranchorsarelittlemorethanarbitraryidentiersof values. Dexter pro-

vides no mechanismto associate formallya particular set of anchors witha

particular typeof component. Nor is thereanywaytospecifycertaincontent

characteristics withparticular anchor ids. Finally, Dexter anchors donot pro-

videanycontext; Dexter assumes that all component anchors arevalidat all

times.

(25)

tion{thecomponentspecicationportionpermitsthedynamicdetermination

of a set of UI Ds, but the other specier portions are single valuedandstati-

callydetermined. Thus, all componentsresolvablefromaparticularcomponent

specicationmustsupportthesameanchoridandpresentation.

5. Dexterprovidesonlylimited motivationforlinkdirectionality. Dexterdirection-

alityismotivatedasamechanismtosupportdirectionalitysemanticsinexisting

hypermediasystems, but, asshownbyGrnbackandTrigg, itisinsucient\to

model thewayspeopleinterpretlinkdirectioninpractice[11]."

2.6 Observations

Several observations about theoverall characteristicsof thepreviouslydescribedhy-

pertext systems:

1. Scalabilityis oftenignored.

Dexter andXanadurequirelinks andother systeminformationbe completely

available{anunrealisticexpectationfordistributedsystems. TheWorldWide

Web'sassociationof documentswithlocationlimitstheabilitytorelocatedoc-

uments.

2. Noconsensus ontypingmechanismstoassociatecharacteristicsandinvariants

withnodes andlinks. Typingmechanisms include:

notyping

Xanaduprovidesnonodetypes. Thelackof anodetypemeansthatthere

isnomechanismtoassociateattributestightlywithadocument.

singlevalue

TheWWWutilizesasinglevalue, arelationname, toexpresslinktypes.

Singlevaluetypesareusuallyselectedfromastandardsetsuppliedbythe

(26)

shipnames areregisteredbytheW3Consortium. Amechanismtoallow

individual userstodesignateanewvalueasatypeissometimesprovided,

but suchamechanismisusuallylimited.

Singlevaluetypesgenerallydonotallowpartial knowledgeof aparticular

type: eitheratypeis recognizedor it isnot. All singlevaluerelationships

mustbe madeexplicit bysomeentity; therearenoimpliedrelationships

betweenvalues.

hierarchical types

Aquanet nodes andlinks are instances of a speciedtype ina type hi-

erarchy. Hierarchical types provideamechanismtorelateanewtypeto

prior typesthroughtheplacementof thenewtypeintheinheritancetree.

Careful choicesof inheritanceallowanewtypetoreveal detailsabout its

characteristicsandcapabilities.

Onelimitationof hierarchical types is thedicultyinselectingaposition

inthehierarchytoaddnewtypes. I tissometimesdesirabletoplaceanew

typeat multiplelocations inhierarchy.

attribute-valuepairs

TheWorldWideWebandDexter provideanattribute-valuemechanism

fornodesandlinks. Attribute-valuepairs, whilenotstrictlyatypingmech-

anism, utilizeaset of attributestodescribenodeandlinkcharacteristics.

These characteristics are expressedbyassociating attribute names with

values.

As withsingular values, attributevaluepairs must be limitedto astan-

dardset. Auser canrelate a new\type"to prior types byappending

a newattribute to existing, well understoodattributes. Unfortunately,

most attribute-valuesystems donot provideamechanismtoprevent at-

tribute namingconicts. Further, individual attribute values suer the

samerecognitionproblemsas singlevalue(eitherrecognizedornot recog-

nized).

(27)

posure of document invariants. Single value mechanisms limit the expressive

capabilities of individual users. Hierarchical types limit type associations by

requiringa single positioninthe hierarchy. Attribute-value pairs have nam-

ingconictswhichlimitexpressivecapability. Theselimitations emphasizethe

needfor anextensibletypingmechanism.

3. Noconsensus onnode substructure exposure. Substructure exposure mecha-

nismsinclude:

nosubstructureexposure

Theobject is completelyopaque withnogeneralizablemechanisms toal-

lowlinkassociations. Noexaminedhypertextprovidedsuchsubstructure

exposure, but Aquanetonlyallowslinkingatthegranularityof individual

nodes. Alackof substructure exposure limits linkingcapability{ node

substructurecannot belinked.

entirecontentexposure

Nodecontentsarecompletelyexposedforlinking{butnotnecessarilywith

anycontentinvariants. Xanadunodesexposetheircompletestructurewith

noinvariants, witharesultinglinkingschemawhichdepends oncharacter

matching.

arbitraryanchors

Anchorsprovideamechanismbywhichlinkscan\reachinside"nodesand

\hold"ontonodesubstructure. WWWandDexternodesprovidearbitrar-

ilynamed\anchors"withnomechanismtospecifycontextor semantics.

Anchors provideinvariants, allowingnode contents to change while pro-

vidingaconsistentinterface. However, thelackof amechanismtospecify

anchor characteristicslimitsanchors tobeutilizedas arbitraryidentiers

of substructureregions.

syntacticanchors

(28)

is asuggestedadditiontoHTMLinthecurrentversion3.0draft [19]. I t

isnot clearif thepresentproposal allows for expressingsemanticcontent.

Alink's abilityto referencenode structureis limitedbythemechanisms pro-

videdbythenodesbeinglinked. I f nodesexposesubstructureinvariants, either

throughanchors or someother mechanism, thenalinkcan\hold"onto those

invariantsacross mutations. I t isunclear whichmechanismisthebestmethod

bywhichnodes shouldexposetheircontentsfor linking. Limitedanchor capa-

bilitiessuggest theneedfor moreformal structures.

4. Noconsensus onlinkendpoint capabilities. Linkendpoint capabilitiesinclude:

nosubstructurelinking

Nosubstructurelinkingimpliesthat linkendpoints connect at the gran-

ularityof nodes. As anexample, Aquanet links relateentireobjects, not

object substructure. Alackof substructure linkinglimits the power of

links toexpressrelationships betweennodes whichinvolvesubstructure.

substructurelinking

The WWWandDexter links utilize \anchors" for substructure linking.

TheWWWlinks usestaticallyspeciedlinkendpoints. Dexter provides

dynamic determinationof link endpoints through the use of speciers.

Substructurelinkingis limitedbytheexposureof nodesubstructures.

computedlinking

Links mayutilizecomputationsonnodesfor linking. Suchapproachesare

useful whentheitemtobelinkedisnot exposedbythenodeasananchor

or equivalentinvariantstructure. Oneexampleis Xanadu's mechanismof

linkingtonodesthroughtheuseof acomputationinvolvinginvariantchar-

acters {presumablysomeformof charactermatching. Equivalentlinking

schemas might utilize character osets or wordcountingto specifythe

endpointof alink. Theproblemwithcomputationsis thattheyfail inthe

(29)

not exposecharacteristicsor invariantsthroughsometypingmechanism.

Clearly, apowerful linkendpointmechanismwouldutilizeexposedsubstructure

invariants, yetprovidethecapabilitytoutilizecomputationsonnodes.

5. Noconsensus onminimumlinkcharacteristicsandcapabilities, including:

multi-dimensional links

Xanadu, Aquanet andDexter links canberelatemorethantwoentities.

TheWWWrestrictslinkstotwo-endedstructures.

directionality

Xanaduexpects a distinguishable FROM-SETandTO-SET. Dexter, in

contrast, marksindividual endpointsaseitherTO, FROM, BI DI RECTor

NONE. WWWhasimplicitdirectionalityfromthemarkupinadocument.

Aquanet does not havelinkdirectionality.

presentations

Dexterlinksprovidea\presentationspecier"withboththelinkandeach

endpoint. Aquanetutilizesagraphical appearancespecicationassociated

withnodeandlinktypestodesignatethepresentationof Aquanetobjects.

TheWWWutilizesHTMLasamarkuplanguagetodescribepresentations.

independentlinks

AquanetandDexterlinksareindependenthypertextentities. TheWWW

andXanadurequirethat linksbeembeddedinahypertextnode.

namedendpoints

All Aquanet endpoints are named. Some WWWandXanadulinks are

named. Dexter does not nameits linkspeciers.

Clearly, hypertextsystemsemployavarietyof dierentlinkcharacteristics. I t

is not clearwhichmechanisms areabsolutelynecessary.

(30)

andimplementationof aglobal informationinfrastructurelinkingmechanism: I nfor-

mationMeshLinks.

2.7 Summary

I nthis examinationof nodes, links andsystemattributes, we have describedhow

nodeattributessupport linking, howlinkrelationshipsareexposedtotheoverall sys-

tem, andhowparticular systemrequirementsimpactlinkcapabilities. I nparticular,

weobservedtheoverall lackof consensus ontheissuesof nodeandlinktyping, sub-

structure exposure, endpoint capabilityandoverall linkcharacteristics. Associated

withtheseobservations, wenotedtheneedforascalablehypertextsystemproviding

extensibletypingandaformal mechanismfor substructure exposure. Wedescribed

theneedtodetermineminimumlinkcapabilities. Further, wediscussedtheneedfora

powerful endpointmechanismutilizingexposedsubstructureinvariantsyetproviding

thecapacitytoutilizecomputationsonnodes.

(31)

I nfor mat i on Mes h Pr oject

The I nformationMeshProject represents a newparadigmfor networkedsystems

whichsupports the visionof widespreadinformationsharing andstructuring. The

central ideaof the I nformationMeshis that the networkexists primarilyto main-

tainrelationshipsamongnodes of information. Thefundamental activityof network

applicationsthus becomesconstructing, manipulatingandusingtheserelationships.

The implementationof this vision has beencenteredaroundthe notion of

supportingnetworkedMeshobjectsinterconnectedbylinks. The overall goal is to

understand the minimumset of informationservices necessary to support sucha

model andpushthemintothe networkinginfrastructure. The result shouldshield

applicationsfromhavingtomanipulatetransport level protocols.

Workfor this projecthas resultedinthecreationof aMeshkernel andMesh

objectsystem. TheMeshkernel provides informationnaming, discoveryandreloca-

tion. TheMeshobjectsystemutilizesthenotionof rolestoprovideexible, evolvable

objectsintheMesh. Rolesprovideanextensivetypingmechanismtodescribeobject

behavior(actions)andobjectstructure(parts). Meshlinks, amechanismtoexpress

relationshipsbetweenMeshobjects, aredescribedinChapter 5.

I nthischapter, wedescribetheoverall goals, constraintsandrequirementsfor

theI nformationMesh. WedescribetheMeshkernel andMeshobject system.

(32)

The I nformationAge has createdaneedtomanipulate avast andever increasing

amount of data. As anexample, consider the I nternet: thetracrelatedto infor-

mationmanipulationhas increasedtremendouslythepast fewyears[1]. I ndeed, the

explosive growthandsuccess of the WorldWide Web, Gopher andother I nternet

informationnavigators, combinedwiththerecentcommercializationof theI nternet,

canonlyleadto increasinggrowth. Corresponding to this growthhas beenanin-

creasingawarenessthatcurrentinformationmanipulationtools areinadequatetoan

alreadyvast informationbase.

The I nformationMeshattempts toaddress theproblemof inadequateinfor-

mationmanagementtools byprovidinganetworkingsubstrateinwhichinformation

manipulationis anattribute of the network, not the individual application. The

hope is that \muchas traditional applications utilize adatabase system, theMesh

will becometheprimitiveabstractionaroundwhichapplications arebuilt[8]."

The overall visionof theI nformationMeshProject is toprovidealong-lived

global architecturefor networked-basedinformationreference, manipulationandac-

cess as aubiquitous substratefor distributedandnetworkapplications anddomain-

specic knowledge bases. Theimplementationof this visionis expectedto contain

objectsinterconnectedbyrelationshipsor linksinauniversal andlong-livedinforma-

tionbase.

3.2 Constraints

The constraints tomeet thevisionof aMeshof objects canbe summarizedas uni-

versality, ubiquity, heterogeneity, longevity, evolvabilityandresiliency.

Universality

TheI nformationMeshvisionof \asinglemodel for informationidentication,

locationandaccessasasubstratefordistributedsystemandapplications[22]."

(33)

encingobjectsanddosoinahighlyscalablemanner.

Ubiquity

TheI nformationMeshmustsupport \network-basedapplicationsaccessingin-

formationthat is distributedbothphysicallythroughthenet andadministra-

tivelyacrossregions of dieringmanagementpolicies[22]."

Heterogeneity

TheI nformationMeshshouldbepreparedfor changes incommunicationsme-

dia, transport protocols andnetworked-applications. I t mustsupport abroad

set of protocols andapplications, boththoseimplementedandlikelytobeim-

plemented.

Longevity

The Meshmust support long-livedinformation; it cannot requirethat infor-

mationbereformattedanditmustsupportbotholdandnewformats. Objects

mustbeconstructedinamanner that realizes that thesameobject mayexist

for hundredsof years.

Evolvability

The Meshmust be ableto providefor changingsemantics, syntax, structures

andutilizationof information. TheMeshmust beabletoprovidecapabilities

for informationto be utilizedinnewandunexpectedforms. The Meshmust

support newnetworkservices. I t mustprovidefor informationmovingbothin

physical locationandownership.

Meshobjects mustbemadeavailableinamannerthat realizesthat theymay

change location, ownershipand behavior. Thus, we must ensure that Mesh

mechanismsdonot expectanobjecttoremainconstant.

Resiliency

(34)

exist inmanysituations of unreliabilitywhere it will be unable to locate or

accessinformation. Thus, theMeshmustbedesignedfromthestarttoprovide

mechanismstodeal withunavailability.

3.3 ImplementationRequirements

The goals andconstraints of the I nformationMeshimply several implementation

requirements: minimal agreement, minimal coordination, andexibility.

MinimumAgreement

Theneedforminimal agreementcomesfromthepragmaticunderstandingthat

\wecannotdependonanyuniversal agreementonissueslikeabestwaytond

information, the internal structureof informationor how informationis inter-

nallymanipulatedbyprograms[24]."Thuswemustminimizetherequirements

imposedonMeshentities.

MinimumCoordination

The needfor minimumcoordination of informationows fromthe needfor

resilience and ubiquity. The Meshneeds to be highly scalable withdiverse

mechanismstond, representandmanipulateinformation. Thesegoalsarebest

metif theoverall coordinationbetweenthesecapabilities{andanyother core

I nformationMeshservices{aredesignedtominimizetherequiredcoordination.

Flexibility

The needfor exibilityis aresult of the needfor heterogeneity, longevityand

evolvability. TheMeshneedstosupportawidesetof global informationarchi-

tectures. Further, theI nformationMeshshouldbe \exibleenoughtoencom-

pass newnetworkservices as theyevolve. I tshouldalsosupport abroadset of

expectations fromapplicationsas well as administrativecontrols.[22]"

(35)

straintsof minimal universality, but withaneyetowardsminimumcoordinationand

enormous exibility. Thus, wemustminimizethesetof requiredMeshfunctionality

whilestill providingthesucient exibilitytobuildawiderangeof services ontop

of theMesh.

Notethat theI nformationMeshdoes not directlydeal withsecurityandpri-

vacyissuesexceptwheretheyaect designdecisions.

3.4 I nformationMeshKernel

The rst stepinrealizingtheI nformationMeshProject was theimplementationof

the I nformationMeshkernel [24]. The I nformationMeshkernel addresses several

of theconcerns raisedbytheProject. I nparticular, thekernel providesinformation

naming, discoveryandrelocationasapowerful andevolvablecomponentof theMesh.

TheI nformationMeshkernel'snamingisprovidedthroughtheuseof globally

uniqueidentiers describedas points. I nformationabout thesepoints arestoredin

sets of attribute-valuepairs calledfactoids. I nformationis locatedthroughaexible

andevolvablelocatingmechanismthatutilizesmeta-informationabout wherepoints

have been seen or discussed inthe Mesh. Finally, the kernel provides a generic

proceduredispatchmechanism

TheI nformationMeshkernel ensuresminimumcoordinationbyensuringthat

informationidentication(points) is decoupledfromlocationandretrieval. I npar-

ticular, pointscontainatmosthintsabout location. Theoverall kernel isdesignedto

haveminimumconstraints ondatarepresentationandlocationtoprovideaexible

informationinfrastructure.

3.5 I nformationMeshObject System

TheI nformationMeshobjectsystem[23] providestheMeshwithapowerfulmeansto

createandutilizeMeshobjects{thechief featureof whichisthecapabilityof objects

(36)

andmakers. Implementationsprovideobjectswithaconcreterepresentationof arole

capability.

3. 5. 1 MeshObjects

Meshobjects areidentiedthroughtheuseof oids. Oids provideanamingscheme

that ensures that objects canbe uniquelyspeciedthroughout theglobal network.

Our current implementationutilizes thekernel'spoints, but weeventuallyexpect to

provideamoregeneral identicationmechanism, suchas URNs [21].

Objectbehavioris built aroundthenotionof arole. Aroleis aspecication

of anabstract behavior andstructure, similar to anobject class. Anobject plays

aparticular roleif it behaves inthemanner describedbythat role. Tounderstand

the interactionof rolesandplays, imaginehowanindividual plays several roles in

lifesuchasparent, teacher, leader, follower, etc. Thisnotioncapturesthekeynotion

that objects canplaymultipleroles andthat the roles playedcanchange or evolve

throughtime. Roles arefurther describedinSection3.5.2.

All Meshobjectsplaytheobject-role. Theobject-roleprovidesastartingpoint

for all dialogs withI nformationMeshobjects. Sinceall Meshobjects must playthe

object-role, weare guaranteedthat the requiredobject-role actions are answerable

by anyMeshobject. Objects playingthe object-role cananswer questions about

whichroles theycanplay, allowtheadditionof newroles toplay, anddescribe the

implementationobjectsforaroleplayedbytheobject. Theobject-role'sactions and

parts aredetailedinAppendix7.

3. 5. 2 Roles

Roles are composedof actions, partsandmakers. Actions specifytheabstract be-

haviorof arole. Partsspecifythestaticabstract structureof arole. Makersspecify

theabstract mechanismsnecessaryfor creation. Takentogether, thesethreecharac-

teristics (actions, parts andmakers) constitute the necessarycharacteristics for an

(37)

objecttoplayaparticular role. Wewill examineactionsandpartsinmoredetail in

Sections 3.5.4and3.5.5. Sincemakersarenot important tothis discussion, wewill

not investigatethemfurther.

Roles arearrangedintoaninheritancehierarchysuchthat if anobject plays

aparticular role, italsoplays all of that role's super roles. Theinheritancerules for

roles are basedonthe hierarchyrules present inthe CommonLispObject System

specication [14]. The single root of all role inheritance is the object-role which

provides roleplayingcapabilitiesas describedinSection3.5.1.

Rolesserveasanextensibleobjecttypingmechanism. Rolesprovideinvariants

inobject interface{objects playingaroleagree toperformthe actions, parts and

makersspeciedbytherole. Furthermore, roleinheritanceprovides user extensible

typing. That is, auser speciedrole's positioninthehierarchydeterminesasubset

of theuser-speciedrole'sfeatures(becauseroleinheritancespeciesthatif anobject

playsaparticularrole, itplaysall of thatrole'ssuperroles). Thus, onecandetermine

asubsetof auser-speciedrole's features fromitspositionintherolehierarchy.

Rolesprovideexibilityandevolvabilitythroughtheabilityof objectstoplay

multipleroles. Objectscanplaymultipleroles simultaneouslyor evendierentroles

at dierent times; the nature of anobject canevolveintimebymakingthe same

objectplaynewrolesthroughitsexistence. Thus, newerapplicationscanhaveaccess

tooldobjectsviatheiroldroles at thesametimethatnewerapplicationscanaccess

thesameinformationbyusingnewerroles [23].

Roles arerstclass Meshobjects; aroleisaMeshobject whichdescribes the

actions, parts andmakers necessaryfor anobject to playa particular role. Mesh

objectswhichprovidesuchservices aresaidtobeplayingtherole-role.

3. 5. 3 Implementations

I mplementationsprovideMeshobjectswiththeabilityto`play' arolebydescribinga

concreterepresentationof aparticular role's actions, parts andmakers. Meshobject

1

We use `role' and`plays' insteadof `class' and`instance' tocapture the notionthat as objects

evolvethroughtimetheymayexhibitdiverse natures byplayingavarietyof roles.

(38)

gureout howtoimplementnewnatureonoldobjects.

I mplementations are independent of roles. I ntheory, everyobject playinga

particular role couldutilize adierent implementation. Alternatively, everyobject

implementingarole couldutilizethe sameimplementation. I npractice, it is likely

that implementations will be packagedanddistributedbya varietyof information

providers. I mplementations provideanimplementationinheritancemechanismsuch

that if a particular implementationdoesn't providea descriptionof some concrete

rolecapability, thesuper implementations areexaminedforthecapability.

I mplementations are rst class Meshobjects; animplementationis a Mesh

objectcontainingconcretemethodsfor actions, partsandmakers. Presentlymethods

arerepresentedusingportablelispcode.

3. 5. 4 Actions

Actionsspecifyrole behavior; theyspecifytheformof interactions withanyobject

playingarole. I nthis manner, actionsspecifytheinterfacetomethods. Forall roles

played, the followingactions are special inthat theyare always answerable byan

objectfor whateverroletheyareasked:

(ac tions-supportedobject role) Requiredfor all roles

Returns the list of actions that the object supports whenplayingthe role in

whichasked.

(supports-ac tion? object role action-name) Requiredfor all roles

Returnstrueif theobjectsupportsanactionnamedaction-name whenplaying

theroleinwhichasked. Returnsfalseotherwise.

Note that roles allowoptional actions whichare not requiredto be imple-

mented. Hence, theanswer to `supports-action?' must betruefor requiredactions

andmaybetrueforoptional actions. Theresultforoptional actionsdependsonboth

theimplementationandtheparticulars of theobjectof whichthequestionis asked.

(39)

istoallowslightlydierentcapabilitiesamongimplementationsof roles, forinstance,

animplementationof arole whichallows object mutations andanimplementation

whichdoes not allowobject mutations. Suchamechanismis particularlyuseful for

inheritedroles whereit is not alwaysdesirabletopermitsuper rolemutableactions.

Optional actions alsoallowobjects toprovidecertainactions onlyatcertaintimes.

3. 5. 5 Parts

Parts expose theabstract structure of anobject playingarole; theyspecifyanin-

terfacetoobjectstructure. Partsprovideanabilitytoexposeinvariants interms of

objectstructure. Partsaredividedintotwoportions: part-namesandpartinstances.

Part-namesaredescribedbytherole. PartinstancesarecreatedandutilizedbyMesh

objectsandexposedthroughseveral universal actions. Partinstancescanbespecied

throughtheuseof apart-nameandselector.

Part-namesare relativelystatic structure names. I ntheoriginal object im-

plementation, part-namesaresimplyidentiersspeciedbyarole. All possiblepart

namesfor aparticular rolecanbestaticallydetermined.

Part-names maybeeither requiredor optional. Objects mustimplementthe

parts associatedwithrequiredpart-names. As withactions, the existence of part

namesisanswerablebyall Meshobjectsregardlessof therole. The`parts-supported'

actionenumeratesthecurrentlyavailablepart-namesandthe`supports-part?' action

determinestheexistenceof aparticular part-name.

(parts-supportedobject role) Requiredfor all roles

Returns thelist of part-names that theobject supports whenplayingtherole

inwhichasked.

(supports-part? object role part-name) Requiredfor all roles

Returnstrueif theobjectcontainsapart-namewhenplayingtheroleinwhich

asked. Returnsfalseotherwise. Mustreturntrueforall requiredpartsandmay

betruefor optional parts.

(40)

mechanismtoexposeadynamicmodel of object substructure. Part instances may

overlaporevencontainoneanother; theycanbedynamicallycreatedanddestroyed.

I t is important to notethat part instances donot havetoformanenumerableset.

Thus, it maynot bepossible toknowall selectors for aparticular part-name. Part

instanceutilizationisdeterminedbytheobjectwhichcontainsthem.

Partinstanceexistencecanbedeterminedthroughtheutilizationof the`has-

part-instance?' action. Note that there is no `supported-part-instances' actionto

enumeratethepart instance selectors (because of the potential innumerablenature

of part instances).

(has-part-instanc e? object role part-name selector) Requiredfor all roles

Returnstrueif theobjectcontainsaninstanceof thepartspeciedforthegiven

selector.

Selectionof partinstancesislargelyprovidedbyspecifyingapart-nameanda

selector. Aselectorcouldbearange, wordsinadocumentobject, etc., butthisisnot

exposedbytherole. Selectorsalwaysspecifyaparticularinstance, butpartinstances

canbeconstructedinamanner suchthat their selectionindicates theutilizationof

several part instances. Thus, apart instancecanbeaset of instances. Regardless,

theoriginal Meshobjectsystemdoesnotprovideamechanismtoexposethecontents

of part instances. We will examineanenhancements to providesuchcapabilityin

Section4.3.

Another limitationof the original object systemis the limitedcapabilityto

exposetheselectorsavailablefor part instances. Thereisnot, forinstance, amecha-

nismtoenumerate(if possible) theset of instances for aparticular part name. Nor

is there amechanismto staticallyexpose part instance selector criteriaintherole

declaration. Oneresultof thislimitationisthatthereisnomechanismtodeclarethat

aparticular part-name canhaveonlyone part instance associatedwithit. I ndeed,

thereis nomechanismtoexposepart instances availablefor anypart-name, nor to

specifythe range of potential selectors. This is not entirelysurprisingas the part

instanceset{andvalidselectors {mightbelarge, arbitraryorunspeciable.

(41)

rationof part-names inthe role, the runtime determinationof optional part name

existence andthe abilityto determine the existence of a particular part-instance

throughthe `has-part-instance?' action. Not initiallyassociatedwithparts is the

capabilityforpart content manipulationor part instanceselectionexposure.

3.6 Summary

Theoverall visionof theI nformationMeshProjectisalong-livedglobal architecture

fornetwork-basedinformationreference, manipulationandaccess. Onecomponentof

this visionis thenotionof Meshobjectsinterconnectedbylinks. Theconstraintsto

meetthisvisioncanbesummarizedasuniversality, ubiquity, heterogeneity, longevity,

evolvabilityandresiliency. TheI nformationMeshrequirementsfor basemeshcapa-

bilitiesareminimumagreement, minimumcoordinationandmaximumexibility.

The I nformationMeshobject systemprovides ameans to createandutilize

Meshobjects. Meshobjects are identiedthroughthe use of oids. Meshobject

behavior is built aroundthe notionof arole. Aroleis anabstract specicationfor

objectbehavior. Rolesdescribeabstractfunctionality(actions)andabstractstructure

(parts). Anobject is saidto \play"aroleif it behaves inthemanner describedby

thatrole. Rolesserveasanextensibleobjecttypingmechanism{providingexibility

andevolvabilitytoMeshobjects.

Meshobjectsexposetheirsubstructurethroughtheutilizationof parts. Parts

are composedof part-names andpart instances. Part-names are static names for

objectstructure. PartinstancesaretheMeshmechanismtoexposeadynamicmodel

of object substructure. Selectionof part instances is providedbyspecifyingapart-

nameandselector. Theoriginal Meshobject systemdoes not provideamechanism

toexpose thecontentsof part instances, nor amechanismsto expose selector char-

acteristicsfor apart.

Notethatunfullledfromtheoriginal visionof theI nformationMeshisalink

mechanismtodescriberelationships amongMeshobjects. I nthe next chapter, we

will examinemodicationstoMeshobjects tobetter support Meshlinks.

(42)

Mes h Obj ect s as Li nkabl e Nodes

TheI nformationMeshvisionof objectsinterconnectedbylinksrequiresanexamina-

tionof Meshobjects as nodes for linkinginthe Mesh. I nthis chapter, weexamine

Meshobjects usingthe criteriadescribedinChapter 2. Namely, we examineMesh

capabilitytoprovide:

naming

typing

substructureinterface

compositeobjects

ForcapabilitiesalreadyprovidedbytheMesh, wereviewtheimplementation

anddescribe anylimitations or necessaryenhancements. For capabilities not pro-

videdbytheMesh, wedescribeimplementationoptions, their associatedlimitations

andthechosenimplementation. Finally, wedescribeseveral examples of hypertext

nodes implementedutilizingMeshobjects andthe describedenhancements. Note

that versioning, whichis importantbut notcentral toour overall discussionof Mesh

links, isdescribedinAppendix8

(43)

Nodes ina hypertext systemneedto be namedor distinguishedinsome manner.

As showninSection3.5, the I nformationMeshensures that all Meshobjects are

associatedwithagloballyuniqueobject identieror oidwhichprovidesobjectiden-

ticationandnaming. Oids containnosemanticsabout object capability, location,

versioningor typing.

Notethat theMeshdoes not haveamechanismsimilar toDexter's Resolver

function(describedinSection2.5.4) to produce oids fromanobject specication.

However, suchamechanismcouldbe implementedas aMeshservice. Weconsider

suchamechanismtobeoutsidethescopeof Meshlinks.

4.2 Typing

Nodetypingprovidesamechanismtodescribenodesemanticsandinvariants. Chap-

ter 2detailedavarietyof hypertext nodetypingmechanisms including: notyping,

single value typing, hierarchal types andattribute-value pairs. This examination

madecleartheneedfor anextensibletypingmechanism.

The I nformationMeshobject systemutilizes roles as its typingmechanism.

Roles provide apowerful typingmechanismsucient for Meshobjects to function

as hypertextnodes. I nparticular, rolesprovideobjectinvariantsanduserextensible

typing. Role exibilitywas previously describedinSection3.5.2. The usefulness

of roles as a node typingmechanismis strengthenedbythe observationthat roles

cansupport all of thetypingmodelsdescribedinChapter 2. Morespecically, single

valueandattribute-valuetypingcanbeprovided throughobjectpartsandhierarchical

types canbeprovidedthroughroleinheritance.

4.3 Substructure I nterface

As describedinChapter 2, links are limitedbythesubstructureinterfaceprovided

bynodes. For example, Dexter links arelimitedbythe anchors exposedbyDexter

(44)

nodemodications. Thelackof substructureexposureorinvariantsclearlylimitslink

capability.

I ntheI nformationMeshobjectsystem, objectsubstructureis formalizedinto

parts. Partsprovideamechanismtoexposeobjectstructureinamannersimilartohy-

pertextnodeanchors, butinamoresystematicandgeneralizablemanner. TheMesh

object systemprovides the capabilityto declare part names, determinepart-name

presence through`has-part?' and`parts-supported', anddeterminetheexistenceof

part instancesthroughthe`has-part-instance?' action.

Selector exposureandcontentmanipulationwerenot providedintheoriginal

object systemimplementation. Wedescribemodications toprovidethesecapabili-

ties.

4. 3. 1 SelectorExposure

The Meshobject systemutilizes selectors to specifypart instances anddetermine

theirexistence. However, thereis nomechanismtospecifyselectorcharacteristicsin

arole declarationof apart-name. Wedescribe amechanismutilizingroledeclara-

tions tospecifyselectorcharacteristicsandspecializedactionswhichcanutilizesuch

declarations.

Role declarationof part selector characteristics allows one to describe part

instance capabilities for a speciedpart-name. Thus, role declarations of selector

characteristics constraintheset of possible part selectors for aspeciedpart-name.

Wedescribeselectorcharacteristicsbyprovidingaselectortypewitheachpart-name

inaroledeclaration. Weprovidethefollowingselectortypes:

unspec ied characteristicof selectorsisunspecied

unary-of onepart instance(part selectorisignored)

set-of part instances aregroupedintooneunordered

(noselectionnecessary)

(45)

ordered-of part instancesareorderedanddeterminableat run-time.

The declarationof part selector types allows the use of specializedactions

for certainselector types. I nparticular, parts utilizinga`named-of' or `ordered-of'

selector type can(optionally) provide runtime capabilities to create andremove

part instances. `Unary-of' and`set-of' selector typesignoretheselector for anypart

instancemanipulationactions, suchasthecontentmanipulationactionsdescribedin

Section4.3.2.

Part-instanc e-names (`named-of 'ac tions)

(part-instanc e-names object role part-name) Optional for all roles

Enumerates theselectors for part instances associatedwiththe speciedpart

name. Returns falseif there are nopart instances associatedwithpart-name.

Requiresthatthepart-namebedeclaredintheroleasutilizinga`named-set-of'

selector type.

(add-named-part-instanc e! object role part-name instance-name contents) Optional

for all roles

Allowsonetoaddanamedpart instancetothespeciedpart-name. Requires

that part-namebedeclaredas utilizinga`named-set-of' selectortype.

(remove-named-part-instanc e! object role part-name instance-name) Optional for

all roles

Allows one to remove a specied part-instance. Requires that the specied

part-namebedeclaredintheroleas utilizinga`named-set-of' selector.

Parts declaredwitha`named-of' selectortypecanbeutilizedas bothanan-

choringmechanism(namedselectorsserveasanchoridentiersandinstancecontents

serveas anchor values) andattribute-valuepairs (namedselectorsserveasattribute

namesandinstancecontentsserveas values).

Références

Documents relatifs

According to the security infrastructure overview presented in the previous sections, we can see that there is no unique and totally secured infrastructure for aeronautical data

Word Clustering The Word Clustering algorithm seeks to improve suspect document cluster detection and also to improve overall detection recall by determining whether the maximal

Once the set of features is built, we transform information in the database into a boolean table BT, where each column corresponds to a variable literal and each row corresponds to

In this section, Σ is a complete embedded minimal surface in R 4 of finite total curvature; its Gauss map maps a point p of Σ to the tangent plane T p Σ inside the Grassmannian

Based on the experiences with the group calendaring system, we evaluated if and how the five basic control flow patterns [2] are supported in a blackboard architecture with a rule

In Section 4 we introduce the Semantic Harvester which is used to dowload the KBs from the individual Semantic Web applications in the domain and to integrate the collected meta-data

When immigration is considered, migrant inventors play a role in the success of the largest clusters in English-speaking countries and European ones (the former being the

While the unstable left- handed crossovers are exclusively formed in negatively supercoiled DNA, stable right-handed crossovers constitute the local signature of an unusual