[tmcl-wg] TMCL Requirements and Use Cases N0405rev

Robert Barta tmcl-wg@isotopicmaps.org
Sun, 02 Nov 2003 12:20:47 +1000


On Sat, Nov 01, 2003 at 04:22:06PM +0900, Mary Nishikawa wrote:
> The TMCL Requirements and Use Cases was published Oct 31, 2003 and can be 
> found here:
> 
> http://www.y12,doe.gov/sgml/sc34/document/0405rev.htm

Mary, Graham,

I see that a lot of work has been invested. Having implemented both AsTMa! and
AsTMa?  I have now a clearer view what might be relevant. Here are the things I
found in version 1.17:

<> means suggested additions, [] means deletion, s/// substitution in texts

-----------------

overall) structure is good, one may wonder whether the E-Sell scenario could
         be closer to the begin. Makes it maybe more understandable.

ad 1.  s/2001-10-5/2001-10-05/

ad 2.1. Why "on classes of ..." ?

       Constraints apply to TM instances. In that they _define/induce_
       classes (a set of TMs which adhere to a constraint), but that does not
       seem too relevant here.

ad 2.1. Why stress "...topic maps conforming to DM". Are there others?

ad 2.1. ....schema information...

       Concept 'schema' is not defined yet.

ad 2.2. ....Free Ranging Patterns....constructs which can be ...dispersed throughout a map.

       I do not believe you can give me an example :-)

       And are 'patterns' already constraints?

       Suggest: "General constraints which do not constrain the
                 existence or form of individual topic map constructs, but
                 dependencies between constructs in the whole map."

       Not much better, probably.

ad R2: ....topic map construct that breaks a TMCL constraint.

       If a constraint can apply to a whole map then this is too specific.

ad R3: a) It should be made clear that you use 'merge' synonymous to 'compose' and that synonymous
          to 'AND'.

       b) What this req means is that  you force the language to be so expressive that
          for any constraints C1, C2 it is decidable whether there
          is a model (map) for 'C1 AND C2' or not.

          That is ok, I think. The problem with the formulation is
          that it sounds as if it should be decidable in 'real-time'
          be the "merging application". This could be a problem.

ad R4: ... resources that <can> have ....

ad R7: What does it mean to "explicitely commit"? Do you mean "conform"?

ad R9: I have major objections against this. I do not think it is appropriate for a(ny) language
       to define it's versioning. There are so many versioning systems out there that it seems a fallacy
       to move this into a language. TMCL statements are in text documents and for these versioning is trivial.

       I only would agree with this if TMs by themselves had a version concept.

       And: With such a mechanism we already move into the TM UPDATE discussion. Not sure
       whether we want this now.

ad R10: sub[ ]classing [and] transitivity

ad R11: ....identifiers and roles....

       What 'identifiers' do you mean here? Probably not topic IDs.

ad R14: s/structures/constructs/

ad R17: ditto

ad R19: ditto

ad R20: Once a language has a formal syntax it is by definition 'introspective'. You probably want
        to say that

          "TMCL should have a semantics in such way that is not only allows the unambiguous decision whether
           a given map conforms to a given schema, but also allows applications to interpret TMCL statements
           'constructively' and 'incrementally' as it is necessary for user interface generators and TM authoring
           environments."

ad R23: Why must there be a model for the 'internal representation' of constraints?

        And what is the 'behavior of validation'?

ad R24: I am not sure whether this arbitrary distinction should be here. Why not

        "TMCL MAY define different conformance levels."

ad SR1: s/by/for/

ad SRn: ditto

ad SR1: the phrase "allow valid combinations.." would apply to all others as well.

ad SR8: If we keep the data types out of the language, then =, <>, <, etc on
        numerics cannot be part of the language. We can maybe use 'string' as
        the only type and define ops on this type.

ad SR8: "...introduction of 'virtual' ......"

        This is rather cryptic and - if fully explained - would justify its own bullet.

ad SR8: "....named complex conditions...."

        I can only speculate what this means.

ad SR9, SR10: I have the impression that this mixes up a couple of things, although I cannot
        pinpoint all of them.

        The 'permissive validation' seems to be an interpretation of a TMCL statement:

           "A TMCL statement can be interpreted either 'permissive' or 'restrictive'. In
           the former interpretation a map or (part of a map) may have additional constructs
           while still be conformant to the TMCL statement.

           A restrictive interpretation of a statement means that map may only hold the constructs
           which are prescribed in the statement. Any other constructs will make the map non-conformant."

        Is it this (liberal <=> fascist, minimal <=> maximal) what you want to express?

ad SR9: The second bullet we already covered with the others, I guess.

ad 4.1 I have not worked through this section yet, but spotted a few typos.

ad 4.2.1 comment:

        "....TMCL schema allows to present....what is entered already.... and missing"

        TMCL cannot do that, applications using TMCL might be able to do that.

ad 4.2.1 suggestion make bullets : GU1, GU2, ....?

ad 4.2: Should the title be "Generic Use Cases"?

ad 5.1: "human friendly....XML" sounds like an oxymoron :-)

ad 5.2: "..standardized representation as TM..." 

        I wonder for what this is good. Should then also a TMQL statement be
        represented as a TM? And why not?

ad 5.3: "...use of TMQL...."

        s/identity/identify/

        This is a _bigger_ thing. Maybe worth to elaborate on.

ad 5.4: "TMCL should support ....authored by humans".

        Why this restriction? Not that I would expect many aliens to use TM, but....

ad 5.5: s/This/These/

ad 5.5: 'virtual topic map' are not defined.

ad 6.  I found about 60 typos and missing articles here. There is also some
       inconsistency in the argumentation which should be fixed in the final doc.

       Sometimes paragraphs appear in bold.

       We should make a clear distinction between the mapping of the schema and the
       mapping of the data.

       The update process is rather underdefined.

       The references to 'inline occurrences' are AsTMa-ish and should be removed.

       The argumentation at the end is unclear (at least to me).

ad 8.  s/XTM syntax specification, and/XTM syntax specification and/

That's all.

\rho