Archive for April, 2013

Schema v0.869 Screenshot

I am currently working on something I call the “navigator” – essentially a Javascript library (compiled from Coffeescript actually)  that accepts as input a Javascript “layout” object declaration.

demo: stable demo link • latest development build

The layout is parsed to create a “tree-view” type thing. However, this isn’t an ordinary tree-view control. Not even close. The ‘navigator’ library allows each node in the tree to be annotated with additional metadata that conveys to the navigator that the menu item should semantically model a concept. “Concepts” are whatever you can declare and insert into the metadata.

The “concept” I’m interested in at the moment is modeling the structure of the SCDL data object model on top of JSON with enough precision to generate the runtime code I need to edit and manage the data objects in my model at the semantic level of SCDL, not JSON.

Starting with the simplest of Javascript objects that defines the menu names in a treeview, I’ve applied the idea of annotating each menu item with additional metadata fed into a set of object factories to allow menu items to be “conceptually bound” to nodes in a JSON object described in metadata.

A tree-view with a single root can be thought of as the root object of a JSON deserialization. Similarly, the children of the root can be thought of as sub-objects, or sub-arrays. Each menu item is annotated in metadata to set it’s associated JSON object type. Additionally, information in the metadata is parsed to determine SCDL-level schema (higher-order than JSON).

The screenshot below is of build 0.869 with the “Advanced” view selected.

Encapsule Project Schema 0.869 (test build)

Encapsule Project Schema 0.869 (test build)

It’s not time-efficient to explain further right now but the level of power the ‘navigator’ gives me is incredible… Navigator allows me to map pretty much any object model to JSON (doesn’t have to be SCDL). You can declare “navigator layout” objects (Javascript objects) for different problem domains (i.e. completely unrelated sets of objects that comprise some sort of “domain specific modeling schema”) and use them in the same application in different instances of navigator. Or, bind a single layout to multiple object models…

v1 Schema will very likely rely very heavily on ‘navigator’ as the core of the application.

Upcoming SCDL Talks and Schema Demos

I’ll be giving an extremely short talk and demo of the forthcoming Schema design tool at LinuxFest Northwest 2013 (April 27th and 28th in Bellingham, WA) as part of their “lightning round” presentations. [1]

Tentatively, I’ll be giving a longer demo/talk to the Graph Database Seattle group sometime in May (time and exact location in Seattle hasn’t been set for this meeting yet).

Additionally, I’ll be doing a full demo and giving an extended talk about Soft Circuit Description Language (SCDL) at the monthly meeting of the Seattle Programming Languages (SeaLang) group on June, 5th in Redmond, WA.

I’ll post more details as I get them.

Back to code… I’ve got lots of work yet to complete to avoid looking like an idiot :-)

[1] If you live in the Seattle-area LinuxFest should not be missed. The talks are great, the people are interesting and friendly, and of course it’s free.

The Devil Is In The Details

I previously published a number of documents related to the 2000-2004 Encapsule Systems start-up effort but have just taken the time to export the 2004 Provisional Patent application to PDF, and all the associated disclosure diagrams to JPG’s for easier online viewing.

These resources are posted here: Encapsule Systems 2004 US Provisional Patent Application