Next in thread → Next in month →

RE: [cgmo-webcgm] questions about the Defect Report

From
Cruikshank, David W <>
Date
2007-05-31T22:30:05+00:00
ID
Thread
RE: [cgmo-webcgm] questions about the Defect Report
Yes, all 3 cases are required....I was just having trouble 
visualizing  things without nesting them.  I think of these APS in 
terms of para type APS (although they don't have to be), so substrings 
conceptually are part of a larger structure.

 

Dave

 

Technical Fellow - Graphics/Digital 
Data Interchange 
Boeing Commercial Airplane 
206.544.3560, fax 206.662.3734 
 

 

From: Lofton Henderson 
[mailto:] 
Sent: Thursday, May 31, 2007 2:57 
PM
To: Cruikshank, David W; 

Subject: RE: [cgmo-webcgm] questions 
about the Defect Report

At 02:35 PM 5/31/2007 -0700, Cruikshank, David W wrote:

I have to admit, I got a little confused reading through the cases 
  Lofton listed below.  
Summary:  my 6 examples 
illustrate these cases of substring tagging.

1.) tag a substring that 
occurs at the beginning of the whole string;
2.) tag a substring in the 
middle
3.) tag a substring at the end

These three cases must be 
handled, right?

In my mind the most common case (stripped of extraneous graphical 
  primitives) wold be:
 
<bas> RT(notfin) <bas> RT(fin) </bas> 
  </bas>
Did you mean AT(fin) instead of 
RT(fin)?  Okay, that is #3 above.  Are you saying that #1 and #2 are 
not required? 

I think the bracketing <bas>...</bas> around 
the whole mess is extraneous.  It could either be there or not, 
right?  I.e., it isn't required in order to tag (APS-ify) the substring, 
right?  As a matter of practice, it likely would be there.  (Or am I 
missing something?)

I guess that's captured in a general sense in Lofton's examples.  
  In this case, though the  state becomes more clear, I 
think.
I think there is still a small 
problem.   Suppose we fix the state table so that <bas> is 
allowed in TOS.  CGM:1999 says that Append Text can only occur in 
TOS.  What is the state when that AT element occurs (hint:  
SOS)?

<bas> RT(notfin) <bas> AT(fin) </bas> 
</bas>

I have been assuming that #1, #2, #3 above are all 
required.  Accordingly, I'm going to send another message with an idea that 
supports those three, and has the potential of being more cleanly 
specifiable.

-Lofton.

Technical Fellow - Graphics/Digital Data Interchange 
Boeing Commercial Airplane 
206.544.3560, fax 206.662.3734 
 
 

  
  From: Lofton Henderson [mailto:] 
Sent: Wednesday, 
  May 30, 2007 3:05 PM
To: 
  
Subject: RE: [cgmo-webcgm] 
  questions about the Defect Report

Thanks for the feedback 
  Forrest.

I have been doing some more detailed technical stewing over 
  this.  I suggest everyone have a careful read & think.  This 
  might be a topic for next Wed telecon.

At 08:53 AM 5/30/2007 -0500, 
  Forrest Carpenter wrote:

  [...]
I agree with Lofton, a 
    bas should only be allowed within not-final text if
the eas is contained 
    within the not-final text or immediately following the
final text. An eas 
    should only be allowed within not-final text if the bas
is within the 
    not-final text or immediately preceding the RT that begins the
text. 
  
We all have a clear notion of what we want to achieve -- to 
  simply APS-tag a partial text string, subject to restrictions like those, with 
  no "other-graphical-stuff" allowed within the defined APS.

  To simplify the state table this 
    restriction could be defined in the
Web2.1 profile.
Here is 
  what I'm struggling with.  Altho' we can define the concept very simply 
  and directly (with words, at least), in order for it to fly within SC24 as a 
  defect correction, I suspect that we will need to define it precisely in terms 
  of CGM:1999's formalisms:  the normative State Model (sec.6, tbl.8), and 
  the normative EBNF of annex H.

Here is what I'm struggling with 
  now.  I took the six examples that we agree are desirable, that have 
  strong use-case support, and that should have been allowed in CGM:1999 
  (V4).   Below I changed <eas> to </bas>, for clearer 
  illustration.  

Below each progression, I tried to identify the 
  state transitions that occur after each element.  There are places where 
  I just can't figure out what to do.  For example...

AT(notfin) can 
  only occur in TOS, and doesn't cause a state transition.  And 
  </bas> would be expected to "pop" the state that was in effect at 
  <bas>.  See below examples.  (You need to look at the 
  following in mono-spaced type, which is how I have formatted 
  it.)

..<bas> RT(notfin) ... AT(notfin) ... AT(fin) 
  </bas>......
.pos...|...sos....|.tos......................|.sos..|.pos.

..<bas> 
  RT(notfin) ... </bas> AT(notfin) ... AT(fin) 
  
.pos...|.sos......|.tos......|.???......|.tos.......|.pos.

..<bas> 
  RT(notfin) ... AT(notfin) <eas> ... AT(fin) 
  
.pos...|.sos......|.tos..........|.tos.|.???.......|.pos.

..RT(notfin) 
  ... <bas> AT(notfin) </bas> ... AT(fin) 
  
...pos......|.tos.....|.sos......|.???..|.???.......|.pos.

..RT(notfin) 
  ... <bas> AT(notfin) ... AT(fin) </bas> 
  
...pos......|.tos.....|.sos......|.???..|.???.......|.pos.

..RT(notfin) 
  ... AT(notfin) ... <bas> AT(fin) 
  <eas>
...pos......|.tos..........|.tos.....|.sos...|.???.|.???.

We're 
  facing the problem that, conceptually, we have sequences such 
  as:

<bas> <RT> </bas> </RT>

This in turn 
  could be seen as deriving from the fact that V1 CGM defined things like RT and 
  AT in an awkward, non-OO way.  What it really should have done (in 
  1987?!) is define a proper Compound Text 
  structure:

<begin-Compound-Text  (x,y) 
  (extent)>
   ...
  <text-fragment 
  (string)>
      
  <allowable-text-attr>*
  <text-fragment 
  (string)>
      
  <allowable-text-attr>*
  ...
  <text-fragment 
  (string)>
<end-Compound-Text>

If it were so defined, then 
  all of the partial-text tagging could be cleanly defined (and the state model 
  rules easily written down), e.g....

<begin-Compound-Text  (x,y) 
  extent>
  ...
  <BAS>
    
  <text-fragment>
        
  <allowable-text-attrs>
  </BAS>
  
  ...
<end-Compound-Text>

It is a vexing problem -- how to 
  express what we know should happen (that we can easily described with words) 
  in the formalisms of the ISO CGM document.  But IMO we must sort it out, 
  if we are to succeed with a SC24 defect correction.

I think we will 
  have better luck with the EBNF formalism (even tho' we still have to resolve 
  the State Model conundrum).  Currently the EBNF 
  says...

<BAS>  <picture element>* 
  </BAS>

This could become...

<BAS>  <picture 
  element>*  | <partial-text-element>  
  </BAS>

and then we could proceed like 
  this...

<partial-text-element> ::= <initial> | 
  <middle> | <terminal>
<initial> ::= <introducer> 
  <not-final-fragment>+
<middle> ::= 
  <not-final-fragment>+
<terminal> ::= 
  <not-final-fragment>* <final-fragment>
...etc...etc...

I 
  think we can continue to refine that down to acceptable terminal productions, 
  well defined, etc.  (Altho' I haven't done it yet.)

Anyone have 
  thoughts or contributions on this, or ideas how to deal with it?  Is an 
  ISO defect correction (for partial-text tagging) actually going to be our best 
  strategy to get the functionality into 2.1?

(Btw ... playing devil's 
  advocate, I could also imagine ISO folks asking, "...why not also allow 
  partial-closed-figure tagging, and partial-tile-array tagging?"  
  Answer:  we have no strong use case like partial-text 
  tagging.)

Regards,
-Lofton.

  -----Original 
    Message-----
From: Lofton Henderson [mailto:] 
Sent: Tuesday, May 29, 
    2007 6:36 PM
To: 
Subject: 
    [cgmo-webcgm] questions about the Defect Report

WebCGM 
    TC,

Okay, here are some gritty technical details and issues about the 
    potential 
Defect Report for partial-text/APS.  Feedback 
    invited.

Preliminarily, part 1 of CGM:1999 will be affected in these 
    places:

** State Table, table 8, beginning on p.104
** Annex H, 
    formal grammar of v4 metafiles
** (maybe) 7.6.4 - 7.6.6, descriptions of 
    Text, RT, AT

Let me note that there is already an error in Table 8, 
    p.105:  Append Text 
is not allowed in SOS.  So according to 
    that error..

legal:  <bas>  RT (final)  
    <eas>
illegal:  <bas>  RT (notfinal) ... AT (final) 
    <eas>

[Notation:  <bas> is Begin APS Structure, 
    <eas> is End APS Structure, RT is 
Restricted Text element, 
    etc]

That was certainly unintended.

It looks like it could be 
    tedious to work Table 8 and Annex H to say 
exactly what we wanted.  
    First we have to specify exactly what we wanted...

Conceptually, the 
    following cases clearly should be legal (as well as 
similar ones 
    substituting Text instead of RT) in V4 CGM:1999.  I.e., the 
    
valuable use case that V4 unintentionally threw out is to allow an 
    
"attributed partial text string" to be an Application 
    Structure.

<bas>  RT(notfinal) ... AT(notfinal) ... 
    AT(final) <eas>
<bas>  RT(notfinal) ... <eas> 
    AT(notfinal) ... AT(final)
<bas>  RT(notfinal) ... 
    AT(notfinal) <eas> ... AT(final)
RT(notfinal) ... <bas> 
    AT(notfinal) <eas> ... AT(final)
RT(notfinal) ... <bas> 
    AT(notfinal)  ... AT(final) <eas>
RT(notfinal) ... 
    AT(notfinal)  ... <bas> AT(final) <eas>

What about 
    cases like the following?

<bas>  
    [some-other-graphical-stuff]  ... RT(notfinal) ... <eas> 
    
AT(notfinal) ... AT(final)
(or)
RT(notfinal) ... <bas> 
    AT(notfinal)  ... AT(final) ... 
[some-other-graphical-stuff] 
    <eas>

It is my sense that these are ugly without commensurate 
    value.  So should 
they be excluded?

Making explicit the 
    inclusion/exclusion of those ugly cases is what will 
make it tedious to 
    detail the fixes to Annex H, especially.  I think the 
fixes will be 
    easier to specify cleanly if we *exclude* the ugly 
    cases.

Thoughts?

Regards,
-Lofton.
Next in thread → Next in month →