U-form
Encyclopedia
A U-form is an abstract data type
comprising a collection
of attribute-value pair
s associated with a universally-unique identifier (UUID). A U-form essentially comprises an associative array
augmented with a UUID and with keys limited to strings.
The UUID that is associated with a u-form is immutable, however all data "contained" in the u-form are mutable (including the keys/names).
The mutability of contained data combined with an immutable identifier make implementations of fully mutable, replicable digital objects possible.
This has applications in distributed computing, non-relational database systems, information visualization, and knowledge representation systems.
Navigational database
s, Entity
and associative entity
relationships can be implemented by using a UUID, or multiple UUIDs, as attribute values.
The u-form's design goals center around supporting an open, extensible distributed information space, emphasizing the unambiguous identity of data objects and the separation between data storage, data characterization, and schema development.
The use of non-semantic UUIDs combined with a simple attribute-value model draws a clear distinction between identity and data.
Although u-forms share certain design characteristics with serialization formats such as XML
, they should not be confused with such representational formats. Since u-forms are abstract, they do not specify any particular representational format. Indeed they may be stored as or communicated via XML or other types of serialization.
Note that these are not limited to the standards for ISO, Microsoft, or DCE UUIDs though those are examples of acceptable sources of UUIDs.
as part of the Visage Information Visualization System, a joint project of MAYA and Carnegie Mellon University
funded by DARPA and The Army Research Laboratory. The name "u-form" derives from the term "e-form", a hypothetical "electronic form" proposed by Michael Dertouzos in his 1997 book "What Will Be"
. In addition to their continuing use in Visage
, they have been used as the basis of a number of significant research
and large-scale production systems, most notably the US Army's Command Post of the Future
.
Abstract data type
In computing, an abstract data type is a mathematical model for a certain class of data structures that have similar behavior; or for certain data types of one or more programming languages that have similar semantics...
comprising a collection
Collection (computing)
In computer science, a collection is a grouping of some variable number of data items that have some shared significance to the problem being solved and need to be operated upon together in some controlled fashion. Generally, the data items will be of the same type or, in languages supporting...
of attribute-value pair
Attribute-value pair
A name–value pair, key–value pair, field–value pair or attribute–value pair is a fundamental data representation in computing systems and applications. Designers often desire an open-ended data structure that allows for future extension without modifying existing code or data...
s associated with a universally-unique identifier (UUID). A U-form essentially comprises an associative array
Associative array
In computer science, an associative array is an abstract data type composed of a collection of pairs, such that each possible key appears at most once in the collection....
augmented with a UUID and with keys limited to strings.
The UUID that is associated with a u-form is immutable, however all data "contained" in the u-form are mutable (including the keys/names).
The mutability of contained data combined with an immutable identifier make implementations of fully mutable, replicable digital objects possible.
This has applications in distributed computing, non-relational database systems, information visualization, and knowledge representation systems.
Navigational database
Navigational database
A navigational database is a type of database characterized by the fact that objects in it are found primarily by following references from other objects...
s, Entity
Entity-relationship model
In software engineering, an entity-relationship model is an abstract and conceptual representation of data. Entity-relationship modeling is a database modeling method, used to produce a type of conceptual schema or semantic data model of a system, often a relational database, and its requirements...
and associative entity
Associative Entities
An associative entity is an element of the Entity-relationship model. The database relational model does not offer direct support to many-to-many relationships, even though such relationships happen frequently in normal usage. The solution to this problem is the creation of another table to hold...
relationships can be implemented by using a UUID, or multiple UUIDs, as attribute values.
The u-form's design goals center around supporting an open, extensible distributed information space, emphasizing the unambiguous identity of data objects and the separation between data storage, data characterization, and schema development.
The use of non-semantic UUIDs combined with a simple attribute-value model draws a clear distinction between identity and data.
Although u-forms share certain design characteristics with serialization formats such as XML
XML
Extensible Markup Language is a set of rules for encoding documents in machine-readable form. It is defined in the XML 1.0 Specification produced by the W3C, and several other related specifications, all gratis open standards....
, they should not be confused with such representational formats. Since u-forms are abstract, they do not specify any particular representational format. Indeed they may be stored as or communicated via XML or other types of serialization.
Operations
The operations defined for a u-form are similar to associative arrays:- Set_Attribute: Bind an attribute name to a value (replacing any existing binding to that name)
- Delete_Attribute: Unbind an attribute name from a value and remove the name from the u-form
- Get_Attribute: Find the value (if any) that is bound to a name.
- List_Attributes: Find all names that have a non-empty value.
Properties
U-forms have the following properties:- A UUID is defined as an array of bytes that is intended to be unique in the Universe.
Note that these are not limited to the standards for ISO, Microsoft, or DCE UUIDs though those are examples of acceptable sources of UUIDs.
- Attribute names are case-foldedCase sensitivityText sometimes exhibits case sensitivity; that is, words can differ in meaning based on differing use of uppercase and lowercase letters. Words with capital letters do not always have the same meaning when written with lowercase letters....
and normalized strings of UnicodeUnicodeUnicode is a computing industry standard for the consistent encoding, representation and handling of text expressed in most of the world's writing systems...
characters - Values are arbitrary-length arrays of bytes (BLOBsBinary large objectA blob is a collection of binary data stored as a single entity in a database management system. Blobs are typically images, audio or other multimedia objects, though sometimes binary executable code is stored as a blob...
, though not necessary "large") - Each attribute has only one value (though the bytes may be interpreted to represent a vector of data)
- The number of attribute-value pairs is arbitrary and extensible at any time
- The attribute-value pairs are treated as a set (i.e., they are unordered)
Copying vs Replication
An important characteristic of u-forms, of significance to distributed database systems, is that they support a clear distinction between copying and replication of data objects. Copying a u-form involves the creation of a new u-form (i.e., one with a different UUID), but with all attribute-value pairs identical to those of the original u-form. Replicating a u-form involves creating a new instance of the u-form with the same UUID as the original. Note that in a distributed system, two instances of the same u-form may be inconsistent (i.e., they may contain different attribute-value pairs. However, the fact that they have the same UUID means that they are intended to eventually be identical.History
U-forms were developed at MAYA DesignMAYA Design
MAYA Design Inc. is a technology design firm and innovation lab founded in Pittsburgh, Pennsylvania, United States in 1989. MAYA helps companies design more usable and useful technology products, as well as information-rich services and environments...
as part of the Visage Information Visualization System, a joint project of MAYA and Carnegie Mellon University
Carnegie Mellon University
Carnegie Mellon University is a private research university in Pittsburgh, Pennsylvania, United States....
funded by DARPA and The Army Research Laboratory. The name "u-form" derives from the term "e-form", a hypothetical "electronic form" proposed by Michael Dertouzos in his 1997 book "What Will Be"
. In addition to their continuing use in Visage
, they have been used as the basis of a number of significant research
and large-scale production systems, most notably the US Army's Command Post of the Future
Command Post of the Future
The United States Army's Command Post of the Future is a C2 software system that allows commanders to maintain topsight over the battlefield; collaborate with superiors, peers and subordinates over live data; and communicate their intent....
.
External links
- http://www.maya.com/portfolio/maya-universal-database
- http://www.bio-itworld.com/issues/2006/july-aug/infocommons/
- http://www.asis.org/Bulletin/Jun-07/Bulletin_JunJul07.pdf
- http://www.biotech-online.com/fileadmin/artimg/the-universal-genetics-database_-information-sharing-in-genetics-and-beyond.pdf
- http://books.google.com/books?id=oDYEAAAAMBAJ&lpg=PA20&vq=u-form&pg=PA20#v=onepage&q&f=false