Re: the relational model of data objects *and* program objects

From: Kenneth Downs <knode.wants.this_at_see.sigblock>
Date: Wed, 20 Apr 2005 13:16:53 -0400
Message-Id: <dffij2-j52.ln1_at_pluto.downsfam.net>


erk wrote:

> Kenneth Downs wrote:

>> Assertion: complete specification of actions in meta-data, as

> described
>> elsewhere in the thread, is the easiest way to produce testing, and

> it also
>> converts version control into an entirely new animal.

>
> Testing I understand - how do you see version control changing?
>

Assume the elimination of hand-written code in favor of code generated out of the meta-data dd discussed in this thread. The entire body of source-centered version control tools is now gone, in favor of various SELECTs out of the data dictionary.

We have not actually done this one yet, so I can only tell you what we plan, not what we have done. The basic idea is that various elements in the data dictionary would be stamped with feature codes and version numbers for those features. If you pull the list of features and versions out of the user's machine, you can compare it with the latest available, doing a diff of the two meta-states and produce an upgrade plan to show to people who sign things, it would say things like:

TABLE orders COLUMN vatrate numb(10,2),  NEW COLUMN, NO BACKFILL,
 Formula: fetch vatrate FROM vatrates
TABLE orders COLUMN vat numb(10,2),
 NEW COLUMN, NO BACKFILL,
 Formula: vatrate * lines_total
TABLE orders COLUMN order_final numb(10,2),  MODIFIED, NO BACKFILL,
 Formula: lines_total + vat

TABLE customers COLUMN cust_name char(50)  COLUMN WIDENED FROM 40 TO 50          Essentially, as with dependencies, once the system is described entirely in data, then all conventional software operations become SELECTs, either against a dd, or against a delta-dd. All quality control is converted into meta-data validations.

-- 
Kenneth Downs
Secure Data Software, Inc.
(Ken)nneth_at_(Sec)ure(Dat)a(.com)
Received on Wed Apr 20 2005 - 19:16:53 CEST

Original text of this message