Thursday, 5 May 2011

Graphs...

Seen this particular structure before somewhere (another story...), but something to keep an eye on:

Enso Introduction by William Cook (via LtU)
Ensō is a theoretically sound and practical reformulation of the concepts of model-driven software development. Ensō is based on first-class structural descriptions, invertable transformations, generic operations and interpretation.


Structures in Ensō are a specialized kind of graph, whose nodes are either primitive data or collections of observable properties, whose values are either nodes or collections of nodes. From a programming language viewpoint this may seem an odd choice for data representation. However, it is essentially the Entity-Relationship (ER) model, also known as Information Models, which is widely used in the design of relational databases and is also the basis for Class Diagrams in the Unified Modeling Language (UML), which describe the structure of networks of objects. The key point is that structures in Ensō are viewed holistically as graphs, not as individual values or traditional sums-and-products data structures.

and...

Peter Hawkins et al, Data Representation Synthesis (also via LtU)

We consider the problem of specifying combinations of data structures
with complex sharing in a manner that is both declarative
and results in provably correct code. In our approach, abstract data
types are specified using relational algebra and functional dependencies.
We describe a language of decompositions that permit the
user to specify different concrete representations for relations, and
show that operations on concrete representations soundly implement
their relational specification. It is easy to incorporate data
representations synthesized by our compiler into existing systems,
leading to code that is simpler, correct by construction, and comparable
in performance to the code it replaces.

No comments: