[tmcl-wg] Another TMCL use case

Robert Barta tmcl-wg@isotopicmaps.org
Fri, 16 May 2003 15:33:32 +1000


On Thu, May 15, 2003 at 12:40:21PM -0400, Dan Corwin wrote:
> I can and do assume TMCL, in some independent process, will 
> help confirm all those details of a TM someone has had the 
> foresight and diligence to pre-declare within a schema file,
> and that such processes, by being used, will help to reduce 
> errors in (some of) the XTM files I import or create.

> That is nice, but still weak - not a compelling benefit.

Well, it depends what this "pre-declared schema" includes, so it may
be weak but it may also include all the necessary semantics.

If you look at the use case

   http://astma.it.bond.edu.au/project-use-case.dbk?style=printable

then this may significantly impose restrictions on various maps.
> 
> The use cases I am proposing be added would benefit WORDS 
> (which resembles what you describe as AsTMa+)...

Just for the records: AsTMa+ is here the TM update language.

> .... and all the future applications that mutate (versus read) TMs.
> They do get considerably more specific and concrete:

> Case A) This involves a batch file of simple commands run as a 
> script to mutate a TM in limited ways.  I want the script to stop
> work with a good explanation *before* it violates any constraint,
> yet not slow down obnoxiously (over x 3) due to the added burden 
> of constraint validation.

If I understand that correctly:

  - map is loaded
  - script information is extern or in the map?
  - interpreter walks over the map and fires the scripts?
  - scripts do something with the map?

and you want to make sure that you only operate on a sane map (for
your definition of sanity, that is).

Correct?

Is the map after the modification a map again? Then I wonder whether
this lateron should not be covered by a TM transformation (or query)
language.

> Case B) This involves a requirement that *all* topics used as 
> types, before such batch commands process them, *must* somehow
> predeclare *in their TM* a set of constraints that limits the 
> characteristics of their instances, and restricts the changes 
> any batch command can make to them.

This means for me:

  - select all topics which are used as type from the TM
  - generate from these a schema (= constraint set)
  - validate the map against that schema
  - if everything is fine, the above interpreter does its job.

> The constraint system I have described for WORDS should handle 
> both use cases.  Should TMCL also be able do so?  If not, why?

Should be a walk in the park :-)

\rho