Boost logo

Boost :

Subject: Re: [boost] Gauging interest in new library re: multiscale/multigranular containers
From: Edward Diener (eldiener_at_[hidden])
Date: 2011-06-05 08:17:23

On 6/4/2011 4:55 PM, nathaniel_at_[hidden] wrote:
> Hi: I would like to submit a library which would allow functionality
> related to scale and granularity to be performed on STL-like containers.
> Until recently I was in a doctoral program specializing in the philosophy
> of science, and I am especially interested in multiscale data modeling and
> its applications to e.g. GUI design, code generation, decision procedures,
> and DSL implementation. For example, one of my projects involves a DSL
> implemented through multiscale graphs in lieu of conventional syntax trees.
> I used to study at Buffalo, which houses the National Center for
> Ontological Research -- headed by the quite broad-ranging scholar Barry
> Smith -- and has done pioneering work in biomedical ontology and also in
> ontological models related to complex or "vague" aggregative structures.
> In these structures collections of objects of some base type T can be
> defined as aggregates but with varying degrees of looseness or "individual
> coherence"; and this aggregation can be iterated to produce multiscaled
> structures which can be queried or represented at different granularities.
> There are a number of analytic procedures which can be implemented on such
> structures, some overlapping with graph theoretic or statistical methods.
> These structures also possess alot of internal structure above and beyond
> their underlying list of values, so they are suited to memory-optimized C++
> code rather than higher-level languages like Java. However, I am not aware
> of generic libraries which really incorporate these kind of data structures
> and their analysis in a systematic way, although I have come across
> non-template libraries which implement some similar features. What I
> propose is a library which could be used in a fashion similar to
> std::vector or std::set but which support additional functions along the
> lines of, e.g., building multigraphs out of T-type nodes; partitions of
> T-sets with functions to define or measure e.g. intrapartition relevance;
> defining (or extending) a scale metric on T-objects, T-sets, T-arrays, or
> other "T- data structures" and using it for rescaling, scale-filter, and
> other scale-related transformations; defining iterators or "walks" on
> T-collections which take scale and granularity into account; etc. In a
> number of cases the algorithms for these kinds of operations have been
> described in theoretical form or even already implemented in languages like
> Scheme.

You generally need to define "scale" and "granularity" in mathematical
terms for computer programmers, else you are just interesting scientists
in our particular area.

Also would it not be possible to create a class which consists of an STL
container and some other objects which represent "scale" and
"granularity" and add the necessary functionality to that class rather
than attempting to re-engineer some STL container ?

Boost list run by bdawes at, gregod at, cpdaniel at, john at