ISO/IEC JTC 1/SC 34 Document Description and Processing Languages ISO/IEC JTC 1/SC34 N 47 DATE: 1999-03-08 REPLACES DOC TYPE: National Body Contribution TITLE: UK National Body Comments on SC 34 N 7, ISO/IEC WD 13240, Revised Text of ISMID SOURCE: UK National Body PROJECT: 1.34.43 STATUS: For review and discussion at the 20-22 April 1999 SC 34/WG 3 Meeting. ACTION ID: ACT DUE DATE: DISTRIBUTION: P and L Members SC Chairman WG Conveners and Secretariats MEDIUM: E DISKETTE NO.: NO. OF PAGES: 20 ISO/IEC JTC 1/SC 34, American National Standards Institute, 11 West 42nd Street, New York, NY 10036, Tel: +1 212 642 4976, Fax: +1 212 840 2298, Email: [email protected] UK comments on: ISO/IEC JTC 1/SC34 N007 Information Technology --- Document Description and Processing Languages TITLE: Revised text of ISMID SOURCE: Norm Chenard, Dave Cooper PROJECT: PROJECT EDITOR: Norm Chenard, Dave Cooper STATUS: ACTION: For comment DATE: 30 October 1998 Comments prepared on behalf of the UK National Body by Ann Wrightson, with detailed technical comments contributed by Martin Bryan. The final text was prepared by Ann Wrightson subsequent to review by the UK national committee. Introductory Note The comments below are in two sections. The first section responds to the proposed scope of the standard, and comments on its context in SC34 and related work. The second section contains additional technical comments on N007. Section 1: Scope and Context of ISMID Discussion 1. Scope as defined The scope of ISMID is described in a fairly distributed fashion over the `introduction' and `scope' sections of N007. The key points are (quotes from N007): •a standard for representing the behavior within documents in an unambiguous way for the purpose of interchange among heterogeneous interactive document development and delivery systems. •While there are established standards for implementing Graphical User Interface objects in a programming context, there is a need for a standard that will allow developers of interactive documents to express in a device independent manner how they intended to make use of those interface objects. ISMID provides an architecture for defining how the interface objects communicate with the structured content covered by existing standards. •This International Standard, known as the Interchange Standard for Modifiable Interactive Documents or ISMID, facilitates the interchange of Modifiable Interactive Documents (MIDs) among heterogeneous interactive document development and delivery systems by providing the architecture from which common interchange languages can be created. ISMID is a client architecture of International Standard ISO/IEC10744:1997, Information technology -- Hypermedia/Time-based Structuring Language (HyTime) and is an SGML application conforming to International Standard ISO 8879 -- Standard Generalized Markup Language. The intended field of application is concisely described: •The field of application of ISMID is Electronic Performance Support Systems (EPSS), computer-based interactive document systems that provide users access to just-in-time information and on-the-job training. Two common types of EPSS are Interactive Electronic Technical Manuals (IETMs) and Interactive Courseware (ICW). The provision of interactive behaviour for an electronic document can happen in several ways. Amongst these, it is possible to see three kinds of interactivity from a user perspective, with different kinds of expected user interaction: 1.Hyperlinking, as already supported by ISO 10744 HyTime 2.Displaying an interactive document within the windows of a WIMP GUI, with the characteristic interface elements of this kind of GUI (eg buttons) providing interactive behaviour 3.Direct user interaction with formatted/displayed elements of a document, i.e. interaction functionality (associated with eg displayed glyphs, paragraphs, diagram annotations) which uses the displayed document as a detailed map into underlying product data &/or instructional information, with associated behaviour/functionality such as diagnostic tests of equipment, or recording assessment performance. It is clear that (3) is a desired eventual aim, and that this level of support is a genuine requirement to fulfil industry requirements for IETM and instructional systems. (Evidence for this has been gathered from conversations with UK experts, and also from published documents from two domains: CALS, and the Instructional Management Systems project). It is equally clear that it will be some time before all the issues surrounding (3) are sufficiently well worked out to support the detailed drafting of appropriate supporting standard(s). These issues include the detailed outcome of currently planned work on industry requirements, and detailed models, for STEP/SGML harmonization. The current ISMID draft is, in its technical detail, clearly aimed at (2). It corresponds well to a current industry need for standardized data interchange at this level, in support of currently accepted functionality for IETM (eg as described in the European aircraft industry consortium specification AECMA S1000D, chapter 4.4.2, and in the US DoD IETM spec MIL-PRF-87268A). In addition, the exact relationsips between the various concepts, semantics, and element forms specified in the draft, are not easy to work out - even for a reader already familiar with interactive documents. The clarity and accessibility of the draft, as well as its completeness, needs to be improved. Formal Comments 1.All substantive provisions of the standard should be in parts of its content, not in annexes. 2.The Scope and Field of Application of ISMID should be amended to show that it is intended to apply specifically to information interchange supporting document presentation within EPSS in a particular way: that is, displaying document content within the windows of a generic WIMP-type GUI, with the characteristic interface elements of this kind of GUI (eg buttons) providing interactive behaviour. 3.It should be clearly stated that other aspects of interactive document behaviour are not covered by this standard: (that hyperlinking is supported by HyTime; and) that direct user interaction with formatted/displayed elements of a document - in particular, interaction functionality which uses the displayed document as a detailed map into underlying product data - is the subject of possible future standardization in co-ordination with ISO 10303 STEP. 4.The purpose and application (in the target domains of interactive manuals and instructional support) of the conditional behaviour, and other features, supported by ISMID, should be made clear, to give all users of the standard access to the rationale for its detailed provisions. 5.An information model (prepared using the EXPRESS language of ISO 10303 part 11) should be prepared, as a substantive part of the standard, to specify unambiguously the intended interrelationships between information objects, interface objects, displayed content, behaviours, elements of the ISMID abstract architecture, and elements of the IADD. This work should interface appropriately with the information modelling of SGML and HyTIme currently in hand in STEP/SGML harmmonization activities. (This comment addresses in a general way many of the detailed queries raised below.) Section 2: Detailed technical comments (The comments in this section were originally drafted on behalf of the UK by Martin Bryan and incorporated into this document by Ann Wrightson prior to review by the UK national committee.) Conformance clause: I am not sure that an ISMID system should be made to "declare the ISMID applications it supports". I particularly see this as a problem in systems designed for use in military and other security conscious environments. Similarly I am not happy about an application having to "declare the applications to which it conforms". This will make it difficult for people to take an existing application with a set of applications declared by the originator and then come up with a new application for it: unless they have the right to modify the DTD they apparently cannot do this, do references to an existing application that consist of a DOCTYPE statement with a PUBLIC identifier will be problematical. I do not see why a conforming ISMID application needs to be "limited to the HyTime modules and options speficied in the ISMID HyTime support declaration". I can see a situation where the ISMID application contains a general-purpose HyTime engine that supports all facilities, but for a particular application only a subset of these functions are required. The application should define the minimum set of required functions that tools supporting the application need to have to maximise the chances of that application being moved to other platforms. The standard should not require the supporting tool to being limited to supporting these functions. The requirement that a conforming ISMID document shall "not exceed the feature set declared for any system that will operate on the document" is also incorrect. It is not up to the document to determine whether it suits all systems that want to use it: it is the resposiblilty of the system to check it can provide the minimum set of functionality requested in the ISMID Hytime support declaration. The requirement that conforming systems must support either HyFunk _or_ the DSSSL expression language is not reflected in the section on The ISMID HyTime Support Declarations, which requires support for HyFunk and has no option for the support of the DSSSL expresssion language. (The standard needs to define its own extension to the support declarations to show which option is required to be used.) Definitions clause In the definition of a hyperdocument the undefined term web is used. The term network would seem more appropriate, though how one draws the line between information connected within the collection of information that consitutes a document and links that go outside this collection is unclear from the current definitions of these term. Symbols and Abbreviations clause Add HyTime to list Notations clause Replace first occurrence of HyTime with "Hypermedia/Time-based Structuring Language (HyTime). Location addressing The restriction of location addressing to the nameloc and treeloc location element forms will make it impossible to associate stimuli with entities, the properties of elements or entities, lists or co-ordinate positions. It will also prevent users from using queries that resolve to relevant addresses, and prevent the use of references to material yet to be produced in the form of bibliographic location specifications. Is this restriction really necessary? (Note from AMW - this restriction is part of my evidence for suggesting the limitation in scope above) Modifiable Interactive Document Add explanation of role of VariableDeclaration, Assign and Execute objects, and explain why they need to be positioned before the compulsory SystemChain if they are used. Create a Container Object The last sentence of the first paragraph (Examples of container objects are...) should be a note. The second paragraph should include a statement of the relationship of VariableDeclarations and Assign elements within containers with those in the containin MID element. The conditions under which no stimuli would be present should be specifically explained. Also add note warning users that any variables that require modification in a ModificationContainer definition must have been defined at the time the container was created. (Though I personally do no see why this restriction is required.) In the third paragraph insert the phrase "after a separator" between "followed" and "by". If the refrange attribute requires that all references be to preceding elements, and the required parent attribute must reference "element types derived from the CreateContainer form" what can the parent attribute of the outermost container point to? The rules for ireftype suggest that parent could point to any create object element type, which could include CreateContentObject and CreateControl type elements, but the rules for parent forbid this. Is this correct? How are content objects associated with containers? The model of CreateContainer allows for the creation of empty containers. Is this correct? Modify a Container Object In the fifth paragraph insert the phrase "after a separator" between "followed" and "by". Again what is the purpose of an empty ModifyContainer element. A better model would be (assign+|(assign*, stimulus+)) Note: The same comment applies to the models of all other Modify element types. The rules for ireftype suggest that parent could point to any create object element type, which could include CreateContentObject and CreateControl type elements, but the rules for object forbid this. Is this correct? How do you modify the set of content objects associated with a container? Add note explaining relationship of Assign elements in a ModifyCoontenObjects with those defined in the Global, CreateContainer and CreateContentObject elements. Create a Content Object In the second paragraph insert the phrase "after a separator" between "followed" and "by". The use of IDREF as the type of the parent attribute means that each object may only ever be associated with a single container. Is this necessary? What happens if the same object is to appear in two or more frames/windows/etc? Add note after the paragraph describing the parent attribute to remind uses that the B in the refrange attribute's fixed value means that ContentObjects must be defined after any containers they are to be associated with. Add a note after the paragraph describing the ContentRef attribute to remind readers that only a restricted set of location addressing techniques can be used within ISMID. Modify a Content Object In the second paragraph insert the phrase "after a separator" between "followed" and "by". Surely a object attribute must refernce an element derived from CreateObject rather than CreateContainer. Add a note after the paragraph describing the ContentRef attribute to remind readers that only a restricted set of location addressing techniques can be used within ISMID. Add note explaining relationship of Assign elements in a ModifyContainer object with those defined in the Global and CreateContainer elements. Create a Control Object In the second paragraph insert the phrase "after a separator" between "followed" and "by". The restriction on the reference range of the parent attribute requires that controls be linked only to containers that have previously been declared. Not only does this make it impossible to associate controls with objects, but also makes it difficult to define controls globally. What does it mean to crate a control object with no contained elements? Modify a Control Object In the second paragraph insert the phrase "after a separator" between "followed" and "by". Add note explaining relationship of Assign elements in a ModifyControlObject element with those defined in the Global, CreateContainer and CreateControlObject elements. Create an External Object Delete second paragraph. In the third (now second) paragraph insert the phrase "after a separator" between "followed" and "by". This element type does not appear in the model of any other element type: where does it fit in the hierarchy? Modify an External Object In the second paragraph insert the phrase "after a separator" between "followed" and "by". Why are you allowed to modify the VariableDeclaration of an external object, but not an internal one? Destroy an Object Is there any reason why DestroyObject does not use refrange to ensure that the object to be destroyed has previously been created? Stimulus What happens if a Stimulus element has no contents? Why must a stimulus reference a ResponseChain? Are there no occasions when restarting the sequence by reference to the SystemChain might be appropriate? Response The spelling of the element name End in this model differs from that in the model of the stimulus element. This may be significant in systems that support namecase sensitivity (which was allowed by the WebSGML amendment recently published). Argument Declaration Where is the nameName element declared? Execute Response Chain Change "the ResponseChain" to "a ResponseChain". Change rspchref to ResponseChainRef. If Statement Change "If neither" to "If none" and change following "expression" to "expressions" Switch, Case and Default Statements Change "expr" to "expression". Break Statement The text of this element indicates that Break is compulsory, yet it is alway optional in the model. Please explain conditions under which it can be omitted. Note that element name in declaration has an initial capital whereas all references to this element are all in lowercase. (See earlier note on WebSGML case sensitivity.) Variable Declaration Change "expr" to "expression" Add declaration for variableType attribute or delete sentences referring to same. What is the meaning of the last sentence. Insert space in "andstring" Execute External Process Where can the Execute element be placed? The queryloc option is not listed in the HyTime support declaration so is not valid as the value of the HyTime attribute. Abstract IADD This is out of date: the element names do not match those in the preceding text. Please check carefully. Annex A Architectural Form Usage Is the ISMID Abstract Architecture actually Clause 11? Abstract IADD Subset Why is the acronym for this given aas IAS in the text rather than the AIS used as the entity name? The public identifier should start "ISO/IEC 1......" rather than "-". Document Type Definition What is the purpose of the phrase "included in this section in its entirety"? Stimuli How must a conforming IAD "declare and define the semantics of each stimulus"? Objects Indent Type entries to indicate relationship with related objects more clearly. Note: No comments are maade on Annex B as at this stage the example is not likely to be accurate enough for checking.