Cut the Crap Software introduces new functionality in a range of systems
development areas, from Code Generation using UML-type models to a persistent java object model
and a range of W3C DOM implementations.
Simple bullet point list of Cut The Crap Software features.
Storage
pure java file-based storage
low java VM resource usage
constant time allocation/re-allocation algorithms
updateable and write-once options
transaction management with rollback
stream storage protocol to support efficient BLOB allocation/retrieval
access to historical data with write-once store
buffered and sorted write updates for performance
Generic Persistent Object (GPO) Model
a persistent object model not just a persistence mechanism
automatic object reference integrity maintenance
scalable and efficient one-many, many-many object navigation
transparent and directly accessible indexing objects - classifiers
classify one-many and many-many sets
store any serializable java object as a property value
direct access to stream value objects - such as mp3 data
connectionless (UDP) client-server
efficient serializable transaction isolation
incremental update strategy for long-lived transactions
object-level support for historical data access
formulas for spreadsheet type calculated values
formulas formulas now include charts rendered using InterActor
The Alchemist
a GPO system generator
supports formula definitions
supports type restrictions
generates complete GPO system from xml model definition
generates Ant build files
generates support for MetaView graphical browser
generates support for WebView graphical browser for instantly deployable web applications
Meta Data
provides meta data about an object
one-many and many-many object association data
supports object update
supports creation of dependent objects
provides interface to classification lookup structures
supported by The Alchemist
InterActor
based on Java2D
a new compositional and event processing model
composition uses "slots" that have position and content
visual transition effects may be associatied with slots
simple geometry management
MetaView
built using InterActor
uses the Meta Data to render a generic visual interface
extensive use of drag and drop to associate objects
visual navigation of classification structures
WebView
a Struts and Tiles based version of MetaView
web-based access
complete application generated by The Alchemist
drag-and-drop object editing
type restrictions used to validate user input "as they type"
easy customisation using standard HTML and stylesheets
configuration options to declare custom reporting options (custom views)
supported by a range of custom JSP tags
supports rendering of charts generated by the spreadsheet model
Striterators
a new computational approach
adds stream processing to standard java Iterators
allows transformed iterators to be passed and processed incrementally
MiniDOM
built using SAX and Striterators
an alternative to SAX and DOM
registers handlers against tagged elements that are processed as a "MiniDOM"
some support for XPath for registering and navigation of delivered Elements
PDOM - Persistent DOM
persistent W3C DOM implemention
built using the GPO model
XPath support
scalably supports access to many named documents each of which may be huge
QUDOM - Quick Unmodifiable DOM
read-only W3C DOM implemention
the priority is speed of parsing and low memory usage
typically 3-4 times faster than Xerces and uses around one-fifth the java memory
the same XPath module interface with QUDOM
CTCDOM - Cut The Crap DOM
W3C DOM implemention built using the CTCMap object
developed as a test for CTCMap
similar parse and process times to Xerces with 80% of the memory
the same XPath module interface with QUDOM and PDOM
validates the CTCMap class as a practical building block for real systems