Friday, February 17, 2006

TKS is not fine

I found an error in Ark--setDuName needed to call removeProperty before assigning a new descriptor unit name. Then I found a bug in TKS.removeProperty.

Still things were strange. Finally I realized that changing the cache size on tables fixed it--which likely means there is a refence count error in TKS. (The ark is already using more than 128 tables for testing, and I had intentionally set the cache size small so I would find bugs like this early. Hopefully it will not take too much longer to track this down.

On the bright side, I am now using the NetBeans debugger. Its quite nice.

Meanwhile, I've been thinking about the Ark's API. This is going to be big and messy unless I find some way to organize it. And its an important API--it embodies a whole new way to program applications. My thought then is to use interfaces to organize it, just as I did with Env.

It would make a lot of sense to have separate API modeled after the AgileWiki command groups, but further broken down into queries and updates. There would be an interface for structural queries and another which extends that which includes structural changes. Similarly for journal, ledger, classifier and descriptor. All the query APIs would then be rolled up into the ViewArk interface, which would be used by the view and view.text packages. And they would all be rolled up into a CmdArk interface for use by the cmds package. (The CmdArk interface would also extend a transactional interface.)

Bill

0 Comments:

Post a Comment

<< Home