This doc defines the theoretical nature of an NSpace and Sparse NSpace implementation. NSpace Definition: - N-Dimensional Space representation - NSpace is set of Dimensions - Dimension is a set of Positions - Each dimension is named - Each co-ordinate is specified using names not numbers IOW: Domain of each dim. is specified as a set of names - Number of dimensions can change throughout lifecycle - Dimensions are not ordered in a Space. - Positions are not ordered in a Dimension - value at fully-qualified-coordinate is of type Object Operations - When looking up co-ordinate - specify dimension + position - 2 kinds of search (lookup and extract) Questions: - can an NSpace hold an (NSpace)value Dimension Definition SparseNSpace Characteristics: Questions Example: lookup() Given a 5Space specify 3 ordinates in lookup Get a 5Space (3 dims have size of 1) extractSlice() Given a 5Space specify 3 ordinates in lookup Get a 2Space getDimensions() returns a set of Dimensions getDimension(String name) returns a set of Positions space.addDimension(Dimension dimension, String origin) all the points in the current system have to know of new dim.