This page outlines the overall plan for the "CTC Software Technology", to provide some information on the direction we are going.
The Goal - There are two non-conflicting ambitions:
The first is to develop a range of technologies, each capable of being used effectively by itself.
The larger ambition guides the first, and that is to create an overall system that supports rapid model-based system development resulting in applications that are both highly functional and usable.
What this means is that you will be able to:
Where We Are Now - The main IStore-based persistence mechanism (GPO) is now mature technology.
Both the "read-write" and "write-once" store have been extensively tested and perform excellently.
The refinement of the GPO model to include "formula" definitions is a major
breakthrough that unifies the "spreadsheet" and "procedural" computational models.
The Alchemist generator has been refactored to use its own generated model (sic). It can
now generate web applications which are being used at a number of commercial sites.
The generated web applications use several novel DHTML techniques to implement usable "drag-n-drop" and dynamic update (means a protocol that allows a single identified element to be updated by a server request).
The Alchemist model includes the concept of "type refinement", allowing the generation
of applications that implement effective input validation.
The InterActor package now provides more generic support for Java2D
transformations. This has been tested using the new IAMovie class that provides a
model to define presentations and animations.
Two utility packages - MiniDOM and Striterators have been released under
LGPL and are hosted at java.net. The intention here is to encourage
other developers to be able to use and develop some technology that I have found very useful but that I do not
consider to be "core" to the main packages.
A number of XML packages have been developed. PDOM is a persistent
DOM implementation that is both useful in itself while also serving as an excellent test package
for GPO, while QUDOM began as an exercise in java optimisation and has
resulted in an extremely practical utility now used internally. These exercises
also helped to explore some object modelling stereotypes and investigate the
XPath family of query languages. This has proved very fruitful
GPath provides a simple but extremely functional query language. A novel
feature is its integration with standard GPO navigation.
A recent addition to the IStore package is the MemStore that
provides a WORM implementation but using java memory rather than disk. This was initially
developed for performance tests, but it was realised there are other benefits - eg,
in-memory performance but with much lower VM requirements.
Latest news 2004/09/08 - The Alchemist web application is now released in alpha form. With this application you can interactively define and experiment with models as they develop, as well as generate java code for the finished model. Take a look at the new whitepaper and let me know what you think.
Some further work on the distribution has seen the full download further reduced to ~1.8Mb.