U-form

Inom datavetenskap är en U-form en abstrakt datatyp som består av en samling attribut -värdepar associerade med en universellt unik identifierare (UUID) . En U-form består i huvudsak av en associativ array utökad med en UUID och med nycklar begränsade till strängar.

UUID som är associerat med en u-form är oföränderlig, men all data som "innehålls" i u-formen är föränderlig (inklusive nycklar/namn).

Föränderligheten av innesluten data i kombination med en oföränderlig identifierare gör implementeringar av helt föränderliga, replikerbara digitala objekt möjliga. Detta har applikationer i distribuerad datoranvändning, icke-relationella databassystem, informationsvisualisering och kunskapsrepresentationssystem.

Navigationsdatabaser , Entitets- och associativa entitetsrelationer kan implementeras genom att använda ett UUID, eller flera UUID, som attributvärden.

U-formens designmål kretsar kring att stödja ett öppet, utvidgbart distribuerat informationsutrymme, vilket betonar dataobjektens entydiga identitet och separationen mellan datalagring, datakarakterisering och schemautveckling. Användningen av icke-semantiska UUID kombinerat med en enkel attribut-värdemodell gör en tydlig skillnad mellan identitet och data.

Även om u-former delar vissa designegenskaper med serialiseringsformat som XML , bör de inte förväxlas med sådana representationsformat. Eftersom u-former är abstrakta anger de inte något speciellt representationsformat. De kan faktiskt lagras som eller kommuniceras via XML eller andra typer av serialisering.

Operationer

Operationerna som definieras för en u-form liknar associativa arrayer:

  • Set_Attribute : Bind ett attributnamn till ett värde (ersätter eventuell befintlig bindning till det namnet)
  • Delete_Attribute : Ta bort ett attributnamn från ett värde och ta bort namnet från u-formuläret
  • Get_Attribute : Hitta värdet (om något) som är bundet till ett namn.
  • List_Attributes : Hitta alla namn som har ett icke-tomt värde.

Egenskaper

U-formulär har följande egenskaper:

  • En UUID definieras som en array av byte som är avsedd att vara unik i universum.

Observera att dessa inte är begränsade till standarderna för ISO, Microsoft eller DCE UUID även om de är exempel på acceptabla källor till UUID.

  • Attributnamn är skiftlägesvikta och normaliserade strängar av Unicode- tecken
  • Värden är matriser av byte med godtycklig längd ( BLOB , men inte nödvändigt "stora")
  • Varje attribut har bara ett värde (även om byten kan tolkas för att representera en datavektor)
  • Antalet attribut-värde-par är godtyckligt och kan utökas när som helst
  • Attribut-värde-paren behandlas som en uppsättning (dvs. de är oordnade)

Kopiering vs replikering

En viktig egenskap hos u-former, av betydelse för distribuerade databassystem , är att de stödjer en tydlig distinktion mellan kopiering och replikering av dataobjekt. Att kopiera en u-form innebär skapandet av en ny u-form (dvs en med ett annat UUID), men med alla attribut-värdepar identiska med de i den ursprungliga u-formen. Att replikera ett u-formulär innebär att skapa en ny instans av u-formuläret med samma UUID som originalet. Observera att i ett distribuerat system kan två instanser av samma u-form vara inkonsekventa (dvs de kan innehålla olika attribut-värdepar). Men det faktum att de har samma UUID gör att de är tänkta att så småningom bli identiska.

Historia

U-formulär utvecklades vid MAYA Design som en del av Visage Information Visualization System, ett gemensamt projekt av MAYA och Carnegie Mellon University finansierat av DARPA och The Army Research Laboratory . Namnet "u-form" kommer från termen "e-form", en hypotetisk "elektronisk form" som föreslagits av Michael Dertouzos i sin bok "What Will Be" från 1997. Utöver deras fortsatta användning i Visage, har de använts som grund för ett antal betydande forsknings- och storskaliga produktionssystem, framför allt den amerikanska arméns Command Post of the Future .

externa länkar