[cad-linux-dev] Decentralisation and addressability

  • From: Bruno Postle <bruno@xxxxxxxxxx>
  • To: CAD linux development <cad-linux-dev@xxxxxxxxxxxxx>
  • Date: Tue, 24 Aug 2004 16:20:34 +0100

On Sat 21-Aug-2004 at 14:34 -0500, Eric Wilhelm wrote:

[snip hub and node model]

> In this scenario, how are the rhizopod-format databases affected by a
> format-incompatible upgrade to the 3D relational modeling program?  They
> aren't.

That's correct so long as applications are always importing and
exporting to and from the format rather than accessing the data
directly.

The many-files-in-a-directory thing is a distributed system, the
two major characteristics are:

1. Decentralisation, data can be manipulated at a low level without
   tools needing to touch the entire dataset or locking it.  The
   guiding design principle should be that, if information can be
   delegated to the lowest level, then that's what should happen.

   This is why I think that each element should have it's own units,
   version, copyright etc.. fields - Even if certain applications
   will always set this data identically for every element - Even if
   ultimately these fields just reference other locations.

2. Addressability, every item of data has a persistent location.

   "Drawings" can be referenced by pointing to a directory (useful
   for xref/block/symbol/viewports).

   "Elements" can be referenced by pointing to files (eg. the address
   of a layer definition is the location of a file containing that
   definition).

   "Attributes" of elements need to be referenced using a new syntax.
   I'm suggesting repurposing the URI Fragment Identifier syntax, so
   the coordinates of the first point of a line can be found at
   "./path/to/file-containing-line.yml#points/0".

Sorry if I keep banging on about these things, I hope I'm adding
something useful to the mix.

-- 
Bruno

Other related posts:

  • » [cad-linux-dev] Decentralisation and addressability