IETM CONVERSION SERVICE

CONCEPT OF OPERATION

DEMONSTRATION REPORT

 

for the

 

DOD CALS IDE PROJECT

 

An MVP Joint Venture

 

May 1996

 

 

Submitted by

ManTech Advanced Technology Systems

West Virginia Technology Applications Operations Center

1000 Technology Drive, Suite 3310

Fairmont, West Virginia 26554

 

In support of

Contract DAAB10-94-D-0503-0048

and in compliance with

CDRL Sequence Number A026

 

 

 

 

______________________

______________________

Robert S. Kidwell

Jack G. Richman

Technical Director

Project Manager

DoD CALS IDE Project

DoD CALS IDE Project

 

 

TABLE OF CONTENTS

   
[ Next ]      [Home ]

 

LIST OF FIGURES

LIST OF TABLES

1.0  DEMONSTRATION INTRODUCTION

1.1  Purpose of the Demonstration

1.2  Description of this Report

2.0  CONVERSION DEMONSTRATION SETUP

2.1  Project Management Setup

2.2  Quality Assurance Setup

2.3  Configuration Management Setup

3.0  CONCEPT OF OPERATION DEMONSTRATION

3.1  Determine Functional Requirements

3.1.1  Functional Requirements

3.1.2  Additional Conversion Project Requirements

3.2  Gather Samples

3.3  Preliminary Document Analysis

3.4  Select Authoring/Viewing Software and DTD

3.5  Program Conformance Registration

3.6  Define Mapping Source to Target DTD

3.7  Layer 0 Conformance Validation

3.8  TM Source Data

3.9  Scan/Re-Enter

3.10  Convert

3.11  QA Content Reconciliation

3.12  Layer 1 Conformance Validation

3.13  Tag and Link

3.13.1  Automatic Tag and Link

3.13.2  Manual Tag and Link

3.14  Layer 2 Conformance Validation

3.15  View Package Development

3.16  Browser Testing and System QA

3.17  Layer 3 Conformance Validation

3.18  Layer 4 Conformance Validation

3.19  Layer 5 Conformance Validation

3.20  Layer 6 Conformance Validation

3.21  Delivery to Customer

4.0  CONCLUSIONS

4.1  Demonstration Results

4.2  Problems and Solutions

4.2.1  Table and Graphic Conversion

4.2.2  Software Familiarization

4.3  Suggestions for Software Enhancement

APPENDIX A:  ETM/IETM CONVERSION PROJECT COSTING MATRIX

APPENDIX B:  ETM/IETM CONVERSION PROJECT PROJECTED PRICING CHART

APPENDIX C:  ETM/IETM CONVERSION PROJECT STEP SUMMARY TABLE

APPENDIX D:  IETM CONFORMANCE ESCORT (ICE) DEMONSTRATION REPORT

APPENDIX E:  MODIFIED MIL-D-87269 DTD

APPENDIX F:  AUTOMATED TAGGING SCRIPTS

 

 

LIST OF FIGURES

      
[ Previous ]        [ Next ]        [ Home ]

 

Figure 2.3-1  Configuration Management Baseline Control Directory Tree Structure

Figure 3.0-1  General Conversion Process

 

 

LIST OF TABLES

      
[ Previous ]        [ Next ]        [ Home ]

Table 3.2-1  Technical Manual Sampling

 

 

List of Acronyms

      
[ Previous ]        [ Next ]        [ Home ]

 

ASCII

American Standard Code for Information Interchange

CALS

Continuous Acquisition and Life-cycle Support

CDM

Content Data Model

CM

Configuration Management

CND

Could Not Decide

COTS

Commercial-Off-The-Shelf

CSL

Computer System Laboratory

DBMS

Data Base Management System

DNC

Did Not Consider

DoD

Department of Defense

DTD

Document Type Definition

EDD

Electronic Display Device

E-Mail

Electronic Mail

ETM

Electronic Technical Manuals

FOSI

Formatting Output Specification Instance

GOTS

Government-Off-The-Shelf

GUI

Graphical User Interface

HCI

Human Computer Interface

HyTime

Hypermedia/Time-Based Structuring Language

IADS

Interactive Authoring and Display System

ICE

IETM Conformance Escort

IDE

Integrated Data Environment

IETM

Integrated Electronic Technical Manuals

LSAR

Logistics Support Analysis Record

MB

Megabyte

NSN

National Stock Number

OCR

Optical Character Recognition

PCX

Picture Text

PIC

Picture Definition Files

QA

Quality Assurance

SGML

Standard Generalized Markup Language

SOW

Statement of Work

TM

Technical Manual

TOC

Table of Contents

WWW

World Wide Web

 

 

1.0  Demonstration Introduction

      
[ Previous ]        [ Next ]        [ Home ]

 

The Resource critical information area of the Continuous Acquisition and Life-cycle Support (CALS) initiative provides technical information to weapons system operations and maintenance personnel. The relevant technologies deal with the authoring, migration, delivery, and maintenance of technical information for both new weapon systems and legacy weapon systems. A critical issue is how best to migrate the voluminous paper-form technical manuals on current weapon systems to interactive, electronic technical manuals that reduce the labor-intensity for the authoring, maintenance, and delivery of technical information.

 

It is well known that the volume of paper-based technical manuals, engineering drawings, and documentation associated with any complex amalgamation of weapon systems (i.e., a ship) can be measured by the tonnage. Converting these documents from paper to an electronic form has been shown to reduce (a) cost in producing the documents, (b) storage requirements, and (c) cost of maintaining and updating the electronic form once it has been converted.

 

ManTech has been contracted through the Integrated Data Environment (IDE) contract to design a standards-based approach for legacy data conversion to Electronic Technical Manuals (ETMs)/Integrated ETMs (IETMs) constructs. This type of approach would help avoid the proliferation of electronic formats and would facilitate data interchange among dissimilar automated systems. The result of this design has taken the shape of a Concept of Operation to be used by Conversion Services in the Department of Defense (DoD). This conversion service concept document has addressed the general conversion processes involved, techniques used, specifications and standards that may be required, possible risks involved, how to provide a projected cost for a conversion project, and other requirements associated with the conversion effort.

 

The goal was to define what general conversion processes and support activities would be required for a conversion service, and how they would function. The term process or processes was defined as a series of progressive and interdependent steps by which an end is attained. In this case, the end attained would be the completed ETM/IETM system.

 

The Concept of Operation report was written so that it can be adapted easily to any technical manual conversion project. The conversion processes were designed so that no matter what types of data the user starts with and what type of ETM/IETM desired, the general conversion process steps would be the same. The only differences between processes of the different class requirements would be how the process is accomplished, not what the process is.

 

The purpose of this report is to document in detail our proof of concept for the designed general conversion process and the overall conversion service organizational behavior.

 

1.1  Purpose of the Demonstration

The purpose of this demonstration is to use the class 2/3 constructs to demonstrate the defined concept of operation for ETM/IETM conversion. The demonstration focused on constructs that enable the user to browse through text and graphics using hypertext hotspots and to gain interactive presentation of maintenance information through the use of dialog-driven displays. This demonstration included estimated cost for conversion and the use of the general conversion process as defined in Section 3.0 of the IETM Conversion Service Concept of Operation developed for the DOD CALS IDE Project. This demonstration provides proof that the general conversion process as defined can work for all class conversion.

 

1.2  Description of this Report

This report contains the steps our team performed during the conversion demonstration setup (Section 2.0) and the steps performed within each conversion process in order to demonstrate our concept design (Section 3.0). Section 3.0 includes a description of the process that was performed, steps that where taken, the man-hours used, suggested personnel for each process, issues that arose during the process, and the steps taken to resolve those issues. Section 4.0 contains our final conclusion to the demonstration itself, problems we encountered, how we resolved those problems, and suggestions to enhance the selected software and conversion concept design.

 

 

2.0  Conversion Demonstration Setup

      
[ Previous ]        [ Next ]        [ Home ]

 

Prior to any conversion project, several managerial activities must take place. Quality Assurance (QA) and Configuration Management (CM) teams must be organized and procedures set in place to efficiently manage each individual conversion job. The project management must establish the conversion team and set up the accounting requirements to properly monitor the conversion budget.

 

In our demonstration, one additional activity took place prior to the start. As in all technical manual conversion projects, a technical manual is required. Our team developed a list of requirements that would demonstrate a wide variety of conversion efforts. We required our selected manual to have at a minimum text, tables, graphics, page combination (i.e., text/graphics, test/tables, all three), and a Table of Contents. This manual will also need to be limited in page count so that the entire manual could be converted in the given project time frame. Our team visited the West Virginia University Government Depository Library to locate such a manual.

 

A manual containing all of the above requirements was located and used for this demonstration. The manual chosen was the Technical Manual Organizational, Direct Support, and General Support Maintenance Manual including Repair Parts and Special Tools Lists (including Depot Maintenance Repair Parts and Special Tools) for the Night Vision Goggles AN/PVS-5 and AN/PVS-5A (NSN 5855-00-150-1820) TM 11-5855-238-24&P. This manual was chosen not only because it contained a wide multitude of graphics, tables, fonts, and text that could be considered possible problems when using automated conversion tools, but also becaused it exercised a number of possible conversion situations.

 

2.1  Project Management Setup

During the initial setup period, project management would begin filling out the costing matrix for the conversion project. It is important to establish and document as many requirements as possible prior to the start of an actual conversion project. The Statement of Work (SOW) should provide the functional requirements for the ETM/IETM and the contractual requirements that must be followed.

 

The costing matrix that would be completed is divided into three parts. Part one documents such areas as customer information, source media, and delivery media. Part two when completed will provide basic information about the conversion project itself. These two areas should be completed during the setup period. This information would aid in the development of the conversion team and establish requirements in the area of hardware and software that may need to be purchased.

 

Part three of the costing matrix may require further research in the areas of (a)  the data within existing technical manual, (b)  the functional requirements of the desired ETM/IETM, and (c)  the complexity of the conversion effort. This along with the projected pricing chart may not be finished until after the first three conversion processes have been completed. If any software purchasing and/or DTD designing is required, the matrix and project cost documents would not be completed until after process four [Select Authoring/Viewing Software and DTD(s)/Schema(s)].

 

For our demonstration, part three of the costing matrix (Conversion Effort) and the projected pricing chart were not completed until after the ETM software and the automated conversion tools were selected. Paragraph 3.4  Select Software/DTD describes the selection of software and the reason for that selection. Appendix A contains the completed ETM/IETM Conversion Project Costing Matrix, and Appendix B contains the completed ETM/IETM Conversion Project Projected Pricing Chart. It is important to note that the price per unit and unit count are fictitious and can be changed using Microsoft Excel.

 

2.2  Quality Assurance Setup

During the setup period, the Quality Assurance team would gather all standards and specifications required by the conversion project contract and Statement of Work. In addition to the required ETM/IETM documentation, the QA team would also prepare their Quality Assurance plan documenting the particular test requirements for the conversion project and the step-by-step procedures that will be followed during the life span of the contract. This may include special quality check matrices, project setups for the Conformance Validation procedures, and identifying all special materials required for the preparation and delivery of the final product.

 

The initial setup requirement for the Conformance Validation procedures would include the capability to access the World Wide Web (WWW). The validation procedures for levels 0 through 6 are maintained at location http://galaxy.mantech-wva.com/ice/qualify/int_page.html. When this location is entered into an Internet browser, the IETM Conformance Escort (ICE) Demonstration screen would be displayed. This IETM Conformance Demonstration will be used during the seven layers of conformance validation processes that occur throughout the conversion project. The steps taken during the validation processes are documented throughout Section 3.0, and the final report documenting the validation results is provided in Appendix D.

 

The ICE Demonstration provides information on a standard and modular methodology for (1)  screening IETM programs, (2)  interactive guidance for administering conformance testing of IETM deliverables, and (3)  a method for measuring and reporting the degree of conformance within the architectural framework model.

 

2.3  Configuration Management Setup

During the setup period, the Configuration Management team would set up the directory structure to monitor and control the flow of work and baseline all data files and software generated during the conversion effort. The data and/or conversion code would pass through the QA department for the different stages of validation and verification prior to the baseline procedures by CM. Once QA is satisfied with the quality of information contained in the files, these files would be passed to CM to be placed in their appropriate baseline directory. The following figure is a sample DOS TREE structure for those baselines.

 

 

 

Figure 2.3-1  Configuration Management Baseline Control Directory Tree Structure

 

The Technical Manual Baseline (TMBL_ARM) main directory contains the electronic version of the technical manual. These data would either be the in-house converted files or the customer’s electronic files (Word, WordPerfect). The data would be placed in the respective sub-directory (text or graphic).

 

The Tag Data Baseline (TAG_DATA) was used as the working directory that contains the tagged text, graphic Bitmaps with their associated Picture Definition Files (PIC), and all style sheet files used for the developed ETM/IETM system. This working directory would also contain any automated tagging files such as the FastTag Louise and Inspect script files used for the automated tagging process and the C++ software developed to further enhance the automated process.

 

The Production Baseline (PRBL_ARM) main directory contained the actual ETM/IETM system (ARMY_ETM) and all conversion code (ARM_CODE) designed primarily for this conversion effort. The production baseline will not be occupied until the ETM/IETM system has passed all QA Validation and Verification check points.

 

The Customer Baseline (CUSBL_AR) main directory contained the delivered customer accepted ETM/IETM system (ARMY_DEL). Stored along with this delivery will be the developed conversion code (ARM_DLCD) used during the project. This code is being stored for future conversion efforts that may pertain to the specific TM.

 

 

3.0  Concept of Operation Demonstration

      
[ Previous ]        [ Next ]        [ Home ]

 

When considering converting between Types or Classes of paper or electronic technical manuals, the conversion process is much more than simply a set of procedures for data translation. The conversion process must begin with an in-depth evaluation of the Type or Class of technical manual that is most suitable, both functionally and economically. The economical considerations are very important because, depending on the desired target data type, there can be significant differences in the level of expertise, the amount of time, and hence the cost required to carry out the conversion process. It is important to note that when converting to non-page-based electronic formats, even if the desired target data type consists of SGML files, the conversion service must consider how that data will be both authored and presented.

 

It is important to understand before any conversion process takes place that the philosophy of "one size fits all" does not apply in the ETM/IETM world. Every system has the possibilities of being different because of the functional requirements established by the customer, the data being converted, the environment the system will be used in, and the end-user's knowledge and capabilities using it.

 

The alternative to establishing precise conversion procedures for all different implementations is to define a general approach that deals with those aspects that does not depend on the format of the data or the electronic presentation system that is used. After detailed analysis, it has been determined that no matter what types of data the user starts with and what type of ETM/IETM system the user desires, the general conversion process steps are the same. The only differences between processes of the different class requirements are how the process is accomplished, not what the process is.

 

Using Figure 3.0-1 General Conversion Process as our guide to what processes and steps must take place in a conversion project, the following section documents how the processes and steps were performed. The following paragraphs will describe the steps our team had taken, any issues or problems that were encountered, and the solutions to those areas. Each conversion process also will contain a list of suggested personnel for that process and the length of time utilized by our team performing the actual work. Appendix C contains a summary table of the Steps, Suggested Personnel, Our Total Time, Problems encountered, and their solutions.

 

 

Figure 3.0-1  General Conversion Process

 

3.1  Determine Functional Requirements

As stated above, every ETM or IETM system has the possibility of being different. The differences are due to the requirements established by the customer, the data being converted, the environment the system will be used in, and the end-user’s knowledge and capabilities using it. Defining the functional requirements and having all parties in full agreement on the design, conversion, and final implementation are the corner stone of any developmental project.

 

After establishing the management guidelines and the QA and CM team structures, our team began analyzing the SOW sub-task requirements for the type of system required. The SOW under Task 8, sub-task 4 requires that we must "demonstrate use of the ETM/IETM conversion service concept in conjunction with a selected defense program, and provide support for conversion of legacy data to class 2/class 3 constructs." However, because of the time constraints with this project, we performed the demonstration in-house by following the concept of operation design. In addition, it was documented in ManTech’s Management Plan that this sub-task would be using the ManTech defined ETM/IETM class definitions.

 

The following describes the functional requirements, as defined by our team, that were used in the design of our MB+/MC ETM system.

 

Recommended Personnel for this Process:  Customer, Conversion Group

 

Our Time:  10 hours

 

3.1.1  Functional Requirements

The following describes the function requirements, as defined by our team, that were used in the design of our MB+/MC ETM system.

 

Design a hypermedia document that is frame-oriented where the text, tables, TOC, and graphics appear in separate windows. The data primitives will include text, tables, and graphics. The text will be SGML tagged with partial structure and content tagging. No HyTime will be included in this system. Redundant elements will be kept. The data will be stored in non-integrated files. The system will allow traversement through troubleshooting trees. No FOSI will be included. Hyperlinks will be limited to troubleshooting trees and stored within the SGML files. Links also will be used in the areas of tables, parts listings, and graphics.

 

3.1.2  Additional Conversion Project Requirements

In additional to the basic functional requirements for our ETM, we included several additional project requirements. These requirements are considered outside the boundaries for the basic MB+ ETM system:

 

  1. Reformat the troubleshooting tables to dialog discussion tree logic that can be traversed.
  2.  

  3. During QA content reconciliation, correct errors detected with the spelling of words within the originally supplied TM.
  4.  

  5. Use a standard MIL-D-87269 DTD if possible.
  6.  

  7. Use an automated tagging tool to decrease cost and expedite the tagging and conversion process.
  8.  

  9. Try to use an MIL-M-87268 Government Off The Shelf (GOTS) or Commercial Off The Shelf (COTS) ETM/IETM system to reduce customer cost.
  10.  

  11. Ensure that all SGML tagged files parse.
  12.  

  13. Include these items with final delivery:

    1. Converted text (.TXT) and graphics (.BMP) data files;
    2. Parsed SGML Tagged (.INI) files;
    3. Picture Definition (.PIC) files;
    4. Modified MIL-D-87269 DTD (.DTD);
    5. Authoring/Viewing Software Package with all licensing agreements required; and
    6. Automated Conversion scripts and code.

 

3.2  Gather Samples

Samples of the document, whether paper or electronic, are required at the onset of any conversion project to accurately gauge the quality and complexity of the product being converted. These samples were used in the preliminary document analysis process, DTD development/selection, and mapping process. The samples should include, at a minimum, examples of text, graphics, tables, and any other unique items contained within the document. Several pages from our selected government technical manual were gathered for our samples. The following table details the pages used and why they were selected:

 

Table 3.2-1  Technical Manual Sampling

Sample

Reason

Cover Page

Large font, vertical and horizontal printing

Table of Contents, pg. i

Regular text mixed with table format on same page

Chapter 1, pg. 1-1

Mixed fonts

Chapter 2, pg. 2-2

Regular text mixed with table format on same page

Chapter 3, pg. 3-2

Text and graphic on same page

Chapter 4, pg. 4-3

Two columns of text

Chapter 5, pg. 5-8

Two columns of text with graphic with in one column

Appendix B, pg. B-3

Allocation Table

Appendix C, pg. C-4

Graphic only

Appendix C, pg. C-5

Graphic parts listing

Appendix C, pg., C-28

NSN and Parts tables

 

Recommended Personnel for this Process:  Customer, Document Analyst

 

Our Time:  1 hour

 

3.3  Preliminary Document Analysis

The preliminary document analysis process is the activity that would identify, analyze, and address all issues involved with the document design. The process also provides the understanding of all uses of the information contained in the technical manual and identifies all components of information needed to support an organization in order for it to complete its mission.

 

At the begin of this process, the samples gathered were individually scanned and OCRed. After reviewing the contents of the resulting ASCII files, it was determined that all tables would need to be entered manually because of the enormous number of errors during the character recognition, (e.g., 5 became S, I became 1, 8 became B, columns were lost). The tables would be typed in using a Text editor (NotePad).

 

The other pages containing text only, graphics only, and text with graphics previewed sufficiently to allow the scan/OCR process to continue in these cases.

 

During the preliminary document analysis process, the team broke down the contents within the technical manual. These contents were listed and further broken down into elements and sub-elements. Once this step was completed, decisions on how they related to each other and how the elements would be represented were made. This information was used to determine the appropriate DTD and authoring/viewing software for our ETM system and to define the mapping requirements of source to selected DTD.

 

Recommended Personnel for this Process:

(Preliminary Scan/OCR:  Data Entry)

(Preliminary Document Analysis:  Conversion Group)

 

Our Time:  

(Preliminary Scan/OCR:  15 minutes)

(Preliminary Document Analysis:  8 hours)

 

3.4  Select Authoring/Viewing Software and DTD

At this point of the conversion process, several major decisions must be made. The selection of the DTD or Scheme used in the creation of the ETM/IETM in conjunction with the authoring and viewing software is dependent on the results from the defined functional requirements and the preliminary document analysis.

 

Because the technical manual belonged to the Army and because an ETM system (IADS)existed already, we started our software research with them. We began reviewing first the functional requirements defined in 3.1 above, then the list of elements that made up the technical manual defined in 3.3. We then reviewed the functional capabilities of the Army’s IADS system version 2.2 and accompanying DTD. It was determined that the software paired up with the functional requirements defined. The DTD supplied with IADS was in accordance with ISO 8879, not MIL-D-87269.

 

Our team decided to try using the MIL-D-87269 DTD with IADS to see if they were compatible. We made several changes to the 269 DTD in the areas of Frames, Files, and Warnings. We were able to use the DESCINFO, TASK, and TABLE tags provided. Implementing these changes to the DTD resulted in a partial 269 compliant DTD. The results of the Layer 0 Conformance Validation process for this modified DTD are documented in paragraph 3.7 below.

 

It should be noted here that the IADS system is freeware and all software and documentation for this system was obtained via the World Wide Web (WWW). Our team contacted the IADS development group to inform them of our project and our intentions with using a MIL-D-87269 DTD. They made themselves available for any questions we might have while working with their products.

 

Much time was spent working with the MIL-D-87269 DTD and IADS. Several hours were spent modifying the DTD to include the Frame, File, and Warning/Alert elements from the IADS 8879 DTD. Time also was spent on hotspot and external calls. It was determined that we must use the calls from IADS versus the linking elements in 87269.

 

In using the IADS system, our tagged textual data will be stored in ASCII text SGML tagged files. The graphics will be stored as BITMAPS with their associated Picture Definition Files (PIC), which stores the links for the graphic hotspots.

 

Recommended Personnel for this Process:  Conversion Group

 

Our Time:  39 hours

 

3.5  Program Conformance Registration

Now that all functional and contract requirements have been defined and the system software and DTD have been selected, QA registered and completed the IETM Qualification Screening and Profile Questionnaires. Using a World Wide Web (WWW) browser, QA entered the location address for the ICE Demonstration. The conformance validation test sets for levels 0 through 6 are maintained at location http://galaxy.mantech-wva.com/ice/qualify/int_page.html. When this location was entered into the browser, the IETM Conformance Escort (ICE) Demonstration frame was displayed.

 

To begin the registration process, QA would select the Register button to establish a profile record for the conversion project. Once this button has been selected, the User Registration for ICE frame was provided. QA would fill in the registration information:  Name, Company/Agency/Organization, Who will be represented (developer, user, or independent), Military Branch, End Item Defense Program, Phone number, E-Mail address, and Primary Authoring and Presentation Software being used (if available). QA is given the option to store this information for public viewing or place this information under built in security. When all information has been entered, QA selected the Register Me button.

 

Now that the conversion project has been registered, QA would be provided with the IETM Qualifications Screening and Selection screen. This screening process allows for streamlining the conformance testing while maintaining a modular testing approach. The hotspot to begin the Qualifications Screening Process would be selected.

 

This selection took QA to the Authoring Development Profile Questionnaire. The questions contained on this frame involve the authoring system, DBMS, and the requirements for final delivery. When these questions were answered, QA selected the Submit button.

 

The Authoring Development Test Set Questionnaire was presented next. This questionnaire concentrated on the DTD selected. The Submit button again was selected upon completion of the questions.

 

The next frame that was presented was the Presentation Operation Profile Questionnaire. Selected questions about the operation of the presentation system were asked. When completed, QA selected the Submit button to continue with the profile.

 

To further define the profile of the program, the Presentation Operation Test Set Questionnaire asked QA to select all of the non-text primitives that will be included. When the selections had been made, the Submit button was selected.

 

At this point, the program was registered and QA exited the ICE Demonstration program. QA will return to this program during each Conformance Layer Validation process. The below paragraphs will describe the steps taken during each layer validation process. Appendix D contains a copy of the final report produced through the ICE Demonstration program.

 

Recommended Personnel for this Process:  QA

 

Our Time:  10 minutes

 

3.6  Define Mapping Source to Target DTD

To successfully carry out a conversion project, the conversion team must determine an exact mapping for every unique item that will change when going from the source to the target. This mapping must be done at the very beginning. If the authoring and presentation systems were properly selected after carefully studying the results from the Preliminary Document Analysis (3.3) phase, then there should be no significant surprises during the mapping stage. Note that the mapping should not be confined to paper analysis. Every unique mapping instance should be identified and manually performed using the authoring system, and then its appearance should be verified using the presentation system. In any case, the mapping process must, at the very least, provide detailed guidelines on all the information constructs identified during the Preliminary Document Analysis process (3.3). This mapping process will reveal the ultimate complexity of the conversion project.

 

Once the MIL-D-87269 DTD was modified, parsed, and tested with the IADS authoring and viewing software, our team began the mapping process. Descinfo, Task/Steps, Warnings/Alerts, and Table elements were used from the modified 269 DTD to map the source document. The document was divided into chapters, then by either description information or troubleshooting/maintenance steps.

 

Once data was labeled to what type of information was contained within each chapter, paragraph, etc., the tag elements were hand written on a copy of the document. This information will be used when programming the auto tagging software (3.13.1).

 

Recommended Personnel for this Process:  Conversion Group

 

Our Time:  15 hours

 

3.7  Layer 0 Conformance Validation

This first layer (Data Structure Design) involves validating the developed and/or selected content specific layer for the IETM. Layer 0 follows the Content Data Model (CDM) approach from MIL-D-87269, and focuses on defining and/or developing a Content Specific Layer for the IETM from the architectural forms provided in the Generic Layer.

 

QA, using the same procedures to gain access to the ICE Demonstration, selected the Open button to gain access to the previously generated conversion project profile. The Open Previously Saved Qualification Profile frame was displayed and allowed QA to enter the Program Name supported by the IETM. This frame also allows a user to view other programs registered by selecting from a directory listing.

 

The IETM Conformance Test Series frame was presented next. This test series presented to QA were designed by the use of the questionnaire previously completed in paragraph 3.1.3 above. This frame explains the possible answers that will be allowed during the layer validation processes. The five possible answers are Pass, Partial, Fail, Did Not Consider (DNC), and Could Not Decide (CND). For layer 0, QA selected the MIL-D-87269 Test Suite hotspot.

 

The IETM Authoring Development Test Set Matrix was provided with selection buttons for the different layers that apply to the individual program. These buttons were determined by the answers provided during the registration process. At this time, QA was ready to perform the Layer 0 Conformance Validation process. QA selected the CSL DTD - Layer 0 button.

 

The Layer 0: Content Specific Layer DTD Test Set was developed using the requirements from MIL-D-87269. When QA completed this series of questions, the Submit button was selected and QA was provided the Layer 0: Content Specific Layer Test Set results. The results contained the answers to the Layer 0 questions and the percentages on partial, complete, and non-conformancy for the program. Our results are provided in Appendix D.

 

Recommended Personnel for this Process:  QA, Document Analyst

 

Our Time:  10 minutes

 

3.8  TM Source Data

Legacy technical manual data can exist in two categories: the data that exist only on paper and the data that exist in some electronic form. To get data into an electronic format, the paper data will require two levels of processing: text data capture and graphical data capture. Decisions made during the preliminary analysis and mapping phases may significantly affect the initial data capture and/or conversion process. Even when mapping to an exceedingly simple DTD, difficulties may be encountered because it is likely that not all the information constructs will be identified in the preliminary analysis phase (3.3).

 

The direction in which to proceed is determined here. If the TM is presented to the conversion service in an electronic form then the scan/OCR process is bypassed and the conversion team would go directly to the Tag and Link processes. In our demonstration, the TM was in paper form causing our conversion team to perform the scan/OCR processes.

 

Recommended Personnel for this Process:  None required.

 

Our Time:  Zero

 

3.9  Scan/Re-Enter

There are several options to get information that resides on paper into an electronic format, including using a large Conversion Service Bureau, Scan/Converting the TM data, or Manually Re-entering the TM data. Each of these options has its advantages and disadvantages. The decision on how to transfer the paper information into digital should be made during the Preliminary Document Analysis phase(3.3). The reasoning behind this decision will be based on such items as quality and quantity of the existing data, project budget and time, the availability of hardware/software and experienced personnel, and possible required formats needed for further processing.

 

Our decision to scan/convert and manually re-enter the technical manual data was based on the size of the document and the quality of the printed pages. At this point in the conversion process, our team began the job of scanning in the selected technical manual. It was decided that each page of the TM would be scanned in full and stored in its own file. Graphic cropping, and table break outs would be handed after the scanning process had been completed.

 

Our team used a HP ScanJet IIcx scanner with vendor supplied DeskScan II scanning software. We determined during the Preliminary Document Analysis process that scanning at 300 bpi was sufficient and we would store each scanned image as a bitmap file. The total number of pages scanned was 67 at a storage size of 68 meg.

 

Recommended Personnel for this Process:  Data Entry

 

Our Time:  1 hour

 

3.10  Convert

The process of converting the scanned raster data into a vector file can take on many forms. Optical Character Recognition (OCR) for text is the use of opto-electronic devices to obtain an electrical representation of printed characters on paper. These electrical representations are then manipulated in such a way as to generate computer images that can be analyzed and each image assigned a character. Symbol Recognition for graphics is similar to OCR where symbols from a database are used in the conversion of the raster graph to a vector format.

 

Prior to the OCR process, our QA team reviewed the scanned images using PaintBrush. During this review process, our QA team reviewed for poor images and areas that needed to be removed prior to the OCR process (i.e., West Virginia University Library stamp and change bars).

 

Upon QA approval, the character recognition process began using OmniPro. However, it was discovered that this software would not accept bitmap formatted files. Using PaintBrush, we converted all of the bitmap images to PCX formatted files. Once this had been completed, the OCR process began again.

 

The steps that were taken are as listed below:

 

    1. Open PCX file,
    2. Manually Zone text excluding graphics and tables,
    3. Perform OCR,
    4. Check and correct obvious character recognition errors, and
    5. Save each new file as an ASCII text file.

 

For those pages that contained text with graphics or text with tables only, the text was selected for OCR. Tables where typed in manually using a text editor called NotePad. This was due to the poor results given by the OCR software when tables contained column division lines (which all of ours did).

 

When the above steps where completed for each of the scanned files, QA was notified to perform the Content Reconciliation validation process.

 

Recommended Personnel for this Process:  Data Entry

 

Our Time:  (Automated Conversion - 5.5 hours)

(Manual Conversion - 6 hours)

(Graphic touch up - 17.0 hours)

 

3.11  QA Content Reconciliation

Full content reconciliation of newly converted technical manual information can be a long, arduous, and expensive process. However, it must be performed at this point before continuing with the conversion project. This would include performing validation by either direct letter to letter match or if work packages were developed during the preliminary analysis process (3.3), the newly reconstructed digitized data are consistent with the original packages designed.

 

During this process, our QA team examined the ASCII text files. Character-by-character validation against the original paper document was performed. The software used for this validation was Microsoft Word. This software was used because of the ease for word search and replacement, and the spell checking tool provided.

 

The QA team also reviewed the graphic BITMAP files to ensure each drawing was clear and any text contained within the drawing was correct. Problem areas that were identified during this step were part numbers and drawing titles that were original in script form. These items were recreated using PaintBrush.

 

Recommended Personnel for this Process:  QA

 

Our Time:  8.5 hours

 

3.12  Layer 1 Conformance Validation

This layer validates the authoring system to ensure that it has the capability to encode information according to the hierarchical data structure, semantic rules, and attributes as defined in the content specific layer from Layer 0. The authoring system must also conform with both ISO 8879 (SGML), and applicable modules of ISO 10744 (HyTime), as specified by MIL-D-87269. Additionally, the authoring system must provide the capability to include the required content, style, and linkages and intelligence as specified by the IETM specification.

 

As in the Layer 0 Conformance Validation process, QA entered into the ICE Demonstration program and progressed to the IETM Conformance Test Series frame. After selecting the MIL-D-87269 hotspot, the IETM Authoring Development Test Set Matrix was again provided. At this point, QA selected the CSL Authoring - Layer 1 button.

 

The Layer 1: Content Specific Layer Authoring Test Set questionnaire was displayed for QA completion. This test set concentrates on the capabilities of the authoring system itself. When completed, the Submit button was selected. The Layer 1: Content Specific Layer Authoring Test Set results was displayed. Our results are provided in Appendix D.

 

Recommended Personnel for this Process:  QA, Document Analyst

 

Our Time:  10 minutes

 

3.13  Tag and Link

Conversion from an electronic file format to a tagged electronic file format may involve the steps of manually tagging the file, the use of COTS auto-tagging software and/or the use of in-house, customized, conversion software. The next step depends on how the files were originally processed and what the final ETM/IETM system will be.

 

In a conversion project, using an auto-tagger, writing conversion code, manually tagging the data by hand, or any combination of the three, will probably all be used. There is neither a defined order nor a defined limit on how many times these steps can be used. In fact, the COTS auto-tagging products on the market today do not provide the technology to do a complete conversion to any of the upper class constructs. Therefore, some sort of intervention either manually tagging and/or writing conversion code will be needed to complete the tagging process.

 

With all conversion projects, both automated and manual tagging will be required. The percentage of work for either will be dependent on the information within the document, how it was presented in the paper version, and how it will be presented in its electronic form. The goal of any conversion service group is to perform as much automated tagging as possible. This goal would shorten the conversion time and reduce possible typing errors. This reduction would ultimately reduce the cost of the project.

 

3.13.1  Automatic Tag and Link

Auto-tagger/conversion software are programs that look for clues in keywords, formatting, etc. of a given document. With this in mind, the customization of the auto-tagger/conversion software would be the next step.

 

Customization of an auto-tagger or conversion software means two different things. Customizing conversion software means writing scripts to identify clues in the text, determine the mapping relationships, and replace the clues, if necessary, with the tags in the new corresponding DTD. The auto-tagger would need the clues identified and the mapping relationships stated for customization. The difference is that the auto-tagger would be more generic, for everyone’s needs, on its ability to identify and convert, but the conversion software could be more specific -- for the individual project needs. In other words, the algorithms between the auto-tagger and conversion software might be the same, but because the service is able to edit the conversion software, more tagging could be accomplished to meet the project needs.

 

Our team selected Avalanche FastTag for the automatic tagging of our document. Avalanche provided our team with a complete copy at no cost for a 90-day license period. Time was spent on familiarization of the software and the programming requirements. Several test runs using samples from our document were performed to understand the requirements and techniques needed to fully utilize this software.

 

Our team also utilized C coding scripts developed to further enhance the automated tagging process. The C scripts were used primarily to insert the hotspot/action tags within the text for appendices and figure callouts.

 

Once we had determined what was needed in the FastTag scripts, the actual programming began. This involved using the mapping layout defined above. The proper tagging elements were placed in the scripts, and the process of automatically tagging the document files began. Appendix E contains the FastTag Inspect and Louise files, and the C coding scripts used for our automated conversion effort.

 

Recommended Personnel for this Process:  Document Analyst, Programmers, Technical Writers, Data Entry

 

Our Time:  (Research - 48 hours)

(Actual Automated Tagging - 2 hours)

 

3.13.2  Manual Tag and Link

Manual tagging can occur throughout the tagging process, before and/or after either auto-tagging software or in-house conversion software. Its use depends on the pre-processing needed for the software and the post-processing needed for the final product. Manual tagging can be used exclusively for converting to a lower class ETM or not at all.

 

The manual tagging for our chosen document was performed on tables, in areas of frame division, and graphic hotspots and links. Manual tagging was also performed for trouble shooting links. The SGML tags for the tables and frame divisions were inserted into the files manually using the text editor NotePad after the automated tagging was performed. The graphic hotspots and links were accomplished using the IADS Viewimage Graphic editor.

 

Recommended Personnel for this Process:  Document Analyst, Technical Writers, Data Entry

 

Our Time:  40 hours

 

3.14  Layer 2 Conformance Validation

This layer validates the requirements that apply to the IETMs and/or the interchange format of the IETM database. Other requirements at this layer might apply to the processes for reading IETM data, and/or extracting IETMs and/or View Packages from the IETM database.

 

As in the Layer 0 and Layer 1 Conformance Validation process, QA entered into the ICE Demonstration program and progressed to the IETM Conformance Test Series frame. After selecting the MIL-D-87269 hotspot, the IETM Authoring Development Test Set Matrix was again provided. At this point, QA selected the Instance Sto./Int. - Layer 2 button.

 

The Layer 2: Instance Storage/Interchange Test Set frame was displayed. These questions are testing the delivered output instance for the program. When completed, the Submit button was selected and the Layer 2: Instance Storage/Interchange Test Set results were displayed. Appendix D will provide the actual answers and results to the Layer 2 test set.

 

Recommended Personnel for this Process:  QA, Document Analyst

 

Our Time:  10 minutes

 

3.15  View Package Development

The development of a view package in-house would be considered a full software development project in itself. The operation of the view package depends on the functional capabilities required for the specific conversion project. If this development process were required, project time and cost would be greatly increased.

 

Our conversion project demonstration requires us to follow the class 2/class 3 constructs. Keeping this in mind when we selected the authoring/viewing software, IADS provides a complete viewing package that follows the MIL-M-87268 requirements. Our team was not required to develop any view package software for our ETM system. However, paragraph 4.3 contains a list of enhancements for the selected view package that would increase the usability and provide greater viewing capabilities.

 

Recommended Personnel for this Process:  Customer, Conversion Group

 

Our Time:  None required

 

3.16  Browser Testing and System QA

The Validation & Verification & Acceptance processes are tasks that would normally be shared by both the QA team and the customer. A consistent methodology, applicable for all Types or Classes, for conversion service validation, customer verification, and customer acceptance testing of converted TM information must exist. The conversion methodologies are based on the premise that the (to be converted) source data, whether on paper or in electronic form, were previously validated by the originator and both verified and accepted by the Customer.

 

Validation is the conversion service QA process in which an ETM/IETM or the data that constitute that ETM/IETM are compared in detail against the system supported by the ETM/IETM, or against other approved source data, to assure that the presented ETM/IETM data are technically accurate in all respects and conform to all requirements of the contract. Validation is the most important of the conversion service’s QA actions. This team would follow the defined set of procedures described in the Test Plan developed for the specific conversion project. Validation involves tests of the ETM/IETM information against the associated hardware by actual performance of the procedures by conversion service personnel using a Customer furnished Electronic Display Device (EDD) and other Customer approved support equipment in accordance with the validation plan and other contract requirements.

 

Verification and Acceptance testing would be performed by the customer using qualified personnel with a prescribed skill level, from the operating command or facility assigned to operate and maintain the system to which the ETM/IETM applies. These tests would ensure the suitability of the ETM/IETM for the intended maintenance environment, its usability by its intended users, and its capability with other customer systems.

 

When our conversion team was satisfied with the new ETM system, we passed the system to our QA department for final validation testing. A user id was established (gijoe) as the login for these tests. When QA selected the viewing package software and entered the user id, they were automatically placed at the Table of Contents for the technical manual and proceeded through the document. All hotspots were verified to ensure they were properly linked to their associated file, all custom buttons were tested to verify that they placed the user in the proper location, and all returns to the originating frame were validated. During these tests' appearances, ease of use, and display consistency where checked.

 

During this validation process, all discrepancies were documented and returned to the conversion team for correction. When all corrections were made, the system was again passed back to QA for re-testing. This stage was repeated until all problems were solved and QA was satisfied with the final product. At this point, all data files, style sheets, graphics with link files, and all software and conversion scripts where placed with CM for proper logging and storing in the Customer Production Baseline (PRBL_ARM) main directory.

 

Recommended Personnel for this Process:  QA, CM, and Document Analyst

 

Our Time:  7 hours

 

3.17  Layer 3 Conformance Validation

The two distinct items under test in this layer are the Presentation System and the IETM Instance. The Presentation Layer isolates on both display and operating related requirements to specifically test for the correct interpretation, formatting, and display of Display Elements, Alert Elements, Graphic Elements, Process Elements, and technical Information (content, display, organization, and style) requirements. The interdependent relationship between the presentation system and the IETM instance is the process of interpreting the IETM.

 

As in the prior conformance validation process steps, QA accessed the WWW to gain entrance to the IETM Conformance Escort (ICE) Demonstration system and progress to the IETM Conformance Test Series frame. At this point, QA selected the MIL-M-87268 Test Suite option. The system placed QA at the IETM Conformance Test Set Matrix frame. This allowed QA to complete the Layer 3 through 6 conformance validation test sets.

 

For layer 3 validation, QA selected the Content Test Sets button at the layer 3 Presentation Operation, Authoring System, Technical Information cell. When selected, the Layer 3: Content Test Sets become available for QA selection. These test sets have been designed using the information provided during the Program Conformance Registration process above.

 

At this time, QA progressed through the General Content (General/Primitives) Test Sets, which included test sets for General Content, General Style, Graphics, Alerts, Procedural Information, Troubleshooting Information, Parts Information, and Descriptive Information. After each test set, QA was provided a report documenting the results of the individual test.

 

When the General Content Test Sets were completed, QA returned to the Test Set Matrix frame so that the Display Format/Functionality button could be selected. QA progressed through the Text, Graphics, GUI, Alerts, and Elements test sets. Once again, QA was provided with a report documenting the results after each individual test.

 

Upon completion of all layer 3 validation test sets, QA was ready to progress to the layer 4 Graphical User Interface and Technical Information Interaction Test Sets. The results of the layer 3 test sets are provided in Appendix D.

 

Recommended Personnel for this Process:  QA, Document Analyst

 

Our Time:  1 hour

 

3.18  Layer 4 Conformance Validation

The Human-Computer Interface layer, Layer 4, validates requirements that pertain to the Common User Interface and Interaction Functions. Again, many requirements in this layer will require testing both the presentation system and the IETM instance simultaneously. Common User Interface requirements include user accessible services such as cursor movement, selection functions, menu functions, navigational functions, dialog control functions, audio control functions, etc. Interaction Functions pertain to those aspects of operation that involve a two-way interchange of information between the human and the computer.

 

The layer 4 test sets can be accessed immediately following the layer 3 conformance validation. After reviewing the final results from the layer 3 test sets, QA returned to the IETM Presentation Operation Test Set Matrix. The buttons for layer 4 were available for selection. Our QA selected the Graphical User Interface Test Set button first.

 

This selection allowed QA to complete the HCI Common GUI and HCI GUI Menu test sets. Again, as in the layer 3 test sets, a report displaying the results of each test set was displayed immediately following the completion of each individual test.

 

When QA progressed through the GUI test set, the Technical Information Interaction Test Set button was selected. This selection allowed QA to complete the Troubleshooting Interaction, Graphic Interaction, and Tables Interaction test sets. After reviewing the results, QA returned to the Presentation Operation Test Set Matrix frame so that layer 5 conformance validation could be completed. The results of the layer 4 test sets are provided in Appendix D.

 

Recommended Personnel for this Process:  QA, Document Analyst

 

Our Time:  1 hour

 

3.19  Layer 5 Conformance Validation

The Test Sets at this layer pertain to hyperlinking requirements and conditional branching requirements. Because requirements in this layer apply to two distinct areas, individual tests will be run for each hyperlinking and conditional branching. Testing on the links will validate the requirements that allow the user to branch from the immediate technical information to other related information. The test performed on the conditional branching requirements will validate that the presentation system evaluates the pre-conditions correctly such that the right node or frame of the IETM is accessed.

 

While QA was located in the Presentation Operation Test Set Matrix frame, the Layer 5 Logic Flow Linking button was selected. This button allowed QA to perform the Linking Test Set. After all selections had been made and submitted, the final test set report was reviewed.

 

This report contains the answers to all of the layers’ test sets and the results of compliancy for the overall system. This report is provided in Appendix D.

 

Recommended Personnel for this Process:  QA, Document Analyst

 

Our Time:  30 minutes

 

3.20  Layer 6 Conformance Validation

The layer 6 conformance validation test sets pertain to interfacing (calling, spawning, and/or linking) external software processes such as LSAR, diagnostics, etc. All external processes (nodes, etc.) referenced must exist, be accessible, and be able to be displayed. In the case of external data type (and external file entity), the SGML Notation definitions must be enabled. These SGML notations support external processes with external non-SGML data types. Processing of the external file entities is handled at presentation-time by the presentation system.

 

Our ETM system does not contain these external software links. For this reason, there were no layer 6 test sets that apply, and QA exited the ICE Demonstration system.

 

Recommended Personnel for this Process:  QA, Document Analyst

 

Our Time:  none

 

3.21  Delivery to Customer

The list of deliverables will vary depending on the Type or Class of ETM/IETM being acquired and on the customer requirements. The customer will compile the list of desired deliverables for delivery by the conversion service. A schedule for these deliverables during the conversion process and/or upon completion of the conversion effort and acceptance testing would be developed and agreed to by both parties prior to the start of the project. This list will be included in the conversion project contract and mutually agreed to by both the customer and the conversion service. The media used for delivering the products will be in accordance with the requirements stated in the contract.

 

According to our ETM/IETM Conversion Project Costing Matrix (Appendix A), our conversion team would be required to deliver the newly generated ETM on a 3 1/2" 2.88 MB Cartridge Tape. The following items to be included on these tapes were defined in paragraph 3.1.2  Additional Conversion Project Requirements:

 

    1. Converted text (.TXT) and graphics (.BMP) data files;
    2. Parsed SGML Tagged (.INI) files;
    3. Picture Definition (.PIC) files;
    4. Modified MIL-D-87269 DTD (.DTD);
    5. Authoring/Viewing Software Package with all licensing agreements required; and
    6. Automated Conversion scripts and code.

 

Once these tapes have been made, our QA team would verify that the contents where valid and complete. As part of the final QA tasking, QA would restore these tapes to an equivalent user system and run a final verification test on the software and data files to ensure that the contents performed properly. The main objective of this final validation is to ensure that the conversion service has provided, for support of the equipment involved, accurate and adequate ETMs/IETMs and/or ETM/IETM data. Once satisfied, the tapes would be delivered to the customer. Along with the tapes, setup, loading, and user instructions would be provided to aid the customer with their new ETM system.

 

Recommended Personnel for this Process:  QA, and CM

 

Our Time:  none

 

 

4.0  Conclusions

      
[ Previous ]        [ Next ]        [ Home ]

 

This section discusses the findings from our Concept of Operation demonstration along with the problems that were encountered and their solutions. We have also included a list of software enhancements for the IADS system.

 

4.1  Demonstration Results

As stated in paragraph 1.1 above, the purpose of this demonstration was to show the defined concept of operation for ETM/IETM conversion. Our demonstration primarily focused on the general conversion process as defined in Section 3.0 of the IETM Conversion Service Concept of Operation document.

 

As described above in Section 3.0 Concept of Operation Demonstration, our team followed the processes and steps in the order of design. We found no alterations were required in the sequence of those processes.

 

However, one additional process was added to the general conversion process. This new process has been named Program Conformance Registration. This new process was placed between the software/DTD selection and the mapping processes. The Program Conformance Registration allows the QA team to begin preparing for the level 0 through 6 validation processes by registering the conversion program using the WWW. By registering the program and completing the IETM Qualification Screening and Profile Questionnaires, the system sets up the process for streamlining the conformance testing while maintaining a modular testing approach. This also allows QA to view other programs that have registered and performed validation on their ETM/IETM systems. This process is fully described in paragraph 3.5 above.

 

4.2  Problems and Solutions

The sections below discuss two areas that impacted our teams' effort and time in the conversion of the selected technical manual. They are the conversion of tables and graphics, and lack of familiarity with the software products.

 

4.2.1  Table and Graphic Conversion

One problem that has always existed for legacy conversion is the automated conversion of tables and graphics. Quality and style of these items play an important role in the automated conversion effort.

 

The quality will have an impact on the conversion process by way of time, skills, and software required to convert the data into a suitable format for ETM/IETM development. The end resulting factor for the quality of the initial data will aid in the determination of the final conversion schedule and cost. Note that the poorer the quality, the more time is required for conversion, and thus the higher the cost.

 

The style has no impact on the initial scan, but when text is OCRed, special characters, fonts (i.e., scriptive, bold, or small size), and bounders for tables caused many problems. These problems may require more time for conversion and thus increase the final cost of the conversion project.

 

In our effort to convert the selected technical manual we found that the tables and graphics were at medium quality. However, after scanning and OCRing, alterations were required. Tables had to retyped by hand due to the bounders and different size fonts within them. The graphics required retyping titles and part numbers because of scripting and font sizes used in the drawings. These additional tasks required more time then the actual tagging process.

 

A couple of software vendors are attempting to create table converting routines and graphic recognition applications that would lessen the time and effort currently required to generate the quality electronic versions.

 

4.2.2  Software Familiarization

As stated in the Concept of Operations document, to be successful, a business must employ highly qualified and motivated personnel. Besides the project manager who must maintain an in-depth knowledge in the ETM/IETM environment, several key areas of support must be filled with highly skilled personnel. All personnel assigned to a conversion project should, at a minimum, maintain a basic knowledge in ETM/IETM design and requirements. They must also be familiar with the ETM/IETM software package and automated conversion tools.

 

Our team contained the knowledge of ETM/IETM design and standards required. Where we were lacking was the familiarity with the selected ETM software package and automated conversion tools used during the conversion effort. Several man hours were spent gaining the knowledge required to efficiently use the ETM software and to fully understand the requirements and techniques needed to fully utilize the auto-tagging software. In a real conversion business, experienced programmers would provide the knowledge required for the conversion software. Some time may be required for the ETM/IETM software depending whether it had been used in the shop previously.

 

4.3  Suggestions for Software Enhancement

IADS is an Authoring/Viewing software system that is both developer and user friendly and can be utilized for almost all class2/class 3 defined electronic technical manuals. During our demonstration of the conversion processes and while working with the complete IADS system, we compiled a list of possible enhancements that would provide the ETM developer more functional capabilities at their disposal. They are as follows:

 

  1. Allowing the ETM developer the option of split windows. This would provide the option of displaying multiple bits of information side by side versus overlaying important data. Examples of this are repair step with parts list, repair step with graphic, and table of contents with the selected section.
  2.  

  3. Provide the option to include the graphics within the viewing window versus overlaying the calling data with the graphics viewer. This will allow the user to read the associated information with the graphic.
  4.  

  5. Create a way to self generate a style sheet according to the DTD selected for use.
  6.  

  7. From the DTD the user selects, have IADS query the user to select elements, contained in the DTD, such that they replace mandatory elements (‘FILE’ and ‘FRAME’ elements, to name a couple) that IADS now requires. This would allow for more DTDs, such as MIL-D-87269, to be used without having to alter them to fit the authoring system.

 

 

Appendix A:  ETM/IETM CONVERSION PROJECT COSTING MATRIX

      
[ Previous ]        [ Next ]        [ Home ]

 

ETM/IETM CONVERSION PROJECT

COSTING MATRIX

 

 

 

 

Company Name:

__U. S. Army______________________________________________

 

Address:

 

__Washington, DC_________________________________________

 

 

__________________________________________________________

 

 

__________________________________________________________

 

POC:

__G. I. Joe________________________

   

 

Telephone:

 

__301-871-2769____

 

Fax:

 

__301-871-2760____

       

Project Name:

__Night Vision Goggles ETM Conversion______________________

   

 

Project Description:

 

Convert hardcopy TM11-5855-238-24&P Night Vision Goggles

   
 

 

AN/PVS-5 and AN/PVS-5A to electronic form using the attached

   
 

 

functional requirements.

   
       

Projected Start Date:

_________________

Projected End Date:

_________________

       

Standards/Specifications Required:

 

_MIL-M-87268, MIL-D-87269, ISO 8879______________________

   
       

Document Classification:

_N/A____________

   
       

Project Number (PN):

_ARMY-0001_____

   

 

Source Media:

 

Paper:

_____

Original

__ü_

Photocopies

 

__ü__

8 1/2" x 11"

_____

8 1/2" x 14"

 

_____

A3

_____

A4 210 x 297 mm

 

_____

Other: __________

   
         

Microfilm:

_____

mm

_____

reduction factor

         

Microfiche:

_____

 

_____

reduction factor

         

Diskette:

_____

5 1/4" 1.2 MB

_____

3 1/2" 1.44 MB

         

Cartridge Tape:

 

_____

 

3 1/2" 2.88 MB

 

_____

 

4 mm DAT

         

Other:

_____

1/2" 9-track

_____

8 mm DAT

 

_____

CD-ROM

_____

Magneto-Optical

 

_____

Quarter-Inch

   
         

Other Media:

___________________________________________

     

 

If Electronic Source:

 

Tagged?

_____

Yes

_____

No

If Yes:

     

DTD Provided?

_____

Yes

_____

No

Authoring Package:

__________________

Version

_____

       

If No:

     

Text Format:

_____

ASCII

   
 

_____

MS Word

Version

_____

 

_____

WP

Version

_____

 

_____

Other: __________

Version

_____

         

Graphics

Bitmap

_____

TIFF

Version

_____

Format:

 

_____

BMP

Version

_____

   

_____

CGM

Version

_____

   

_____

PCX

Version

_____

   

_____

JPEG

Version

_____

   

_____

Other: ____________

Version

_____

 

Vector

_____

CGM

Version

_____

   

_____

IGES

Version

_____

   

_____

STEP

Version

_____

   

_____

Other: ____________

Version

_____

Delivery Media:

 

Diskette:

_____

5 1/4" 1.2 MB

_____

3 1/2" 1.44 MB

         

Cartridge Tape:

 

_ü__

 

3 1/2" 2.88 MB

 

_____

 

4 mm DAT

         

Other:

_____

1/2" 9-track

_____

8 mm DAT

 

_____

CD-ROM

_____

Magneto-Optical

 

_____

Quarter-Inch

   
         

Other Media:

___________________________________________

     

 

 

About the Conversion Project

 

Item

Yes/No

Description

Consulting

Partial

Does the customer fully understand the task at hand?

 

Partial

Will we be required to walk the customer through the whole process?

 

No

Will we be required to travel to customer site to analyze the work environment?

     

Design of ETM/IETM

Yes

Has the customer defined the functional requirements for the electronic document?

 

Yes

Are we required to consult the customer on the different functional possibilities?

 

No

Will we be required to define the appropriate system for the customer from the results of the above research?

 

Yes

Has the life-cycle of the system been considered in the selection of ETM/IETM system?

     

Authoring and

No

Has the customer selected an authoring/presentation package?

Presentation Package

Yes

Are we required to consult the customer on the selection of a authoring/presentation package?

 

Partial

Will the selected package contain a DTD for the type of documents being converted?

 

No

Will the customer provide us with the selected authoring/presentation package?

 

Yes

Will we be required to purchase the selected authoring/presentation package?

     

Hardware

Yes

Must hardware be a considering factor on the above selection?

   

List requirements:  IBM PC compatible

     

Subject Experts

Yes

Will they be required?

 

Yes

Will they be furnished by the customer?

 

No

Will we be required to furnish them?

     

Types of Data

Yes

Normal Maintenance Task and Descriptive Information

 

Yes

Troubleshooting Information

 

Yes

Parts Information

     

Maintenance

Yes

Will the customer maintain the data after conversion?

 

No

Will we be required to maintain the data after conversion and delivery?

 

Yes

Will we be required to store before/after data for the customer?

 

Yes

Will we be required to deliver maintenance software (authoring tools) with the data?

     

Training

Yes

Will training of the use of the presentation system be required?

 

Yes

Will training for data maintenance be required (authoring tool)?

     

Scheduling

30 days

How much time will be required for pre-job setup?

 

No

Will additional staffing be required to make the delivery date set by the customer?

     
     
     

 

About the Conversion Effort

 

Item

Yes/No

Description

DTD

No

Will the customer provide the DTD or stylesheet?

(if yes, please attach)

 

N/A

If DTD provided, is documentation describing all of the ELEMENTS and ATTRIBUTES available?

(if yes, please attach)

 

Partial

Do we have a DTD that will work well with the customer requirements?

(if yes, please attach) MIL-D-87269

 

Yes

Will the selected DTD need to be modified?

 

Partial

Will the selected DTD be usable in the selected authoring/presentation package?

 

No

Will we have to design a DTD to correspond with the customer requirements?

     

Complexity and Mapping

med

What is the mapping complexity?

(low, medium, high)

 

Partial

Will the customer supply mapping to source materials?

(if yes, please attach) verbal help

 

low

What is the complexity of the text?

(low, medium, high)

 

med

What is the complexity of the graphics?

(low, medium, high)

 

high

What is the complexity of the tables?

(low, medium, high)

     

Tagging of paragraphs, heads

No

Will all tagging be converted directly from codes in the original document?

 

Yes

Will most tagging be converted directly from codes or from clearly defined appearance-based rules?

 

Partial

Will tagging be applied manually based on document appearance and guidelines developed during the preliminary document analysis process?

 

Yes

Will subject experts be used to aid in defining tagging requirements?

 

N/A

If pre-tagged using a proprietary system, are old tagging specifications and documentation available?

(if yes, please attach)

   

Other:

     

FOSI/DSSSL

No

Will the ETM/IETM system be required to provide hard copy?

     

 

Automated

No

Will the tagging be totally automated?

Conversion

Yes

Will there be a requirement for human intervention (manual tagging)?

     

Conversion Software

Yes

Will COTS products be available for automatic tagging?

(if yes, please specify:  _Avalanche FastTag)

 

Yes

Will software development be required?

     

Conversion

Yes

Will low level conversion be performed in-house?

(scan, data conversion)

 

No

Will a conversion service (Docucon, DCL) be used for low level conversion?

 

269

What Content Data Model will be used?

     

Text

67

How many pages of text will be converted?

 

Good

What is the quality?

 

Yes

Will scanning and data conversion be required?

     

Graphics

16

How many graphics will be converted?

 

Good

What is the quality?

 

0

How may call outs, hot spots, etc.?

 

Yes

Insert captions and placeholders, do not measure spacing.

 

No

Insert captions and placeholders, measure spacing.

 

Yes

Will scanning and cropping be required?

(if yes, specify (300 dpi, 600 dpi, etc.):  ____300_______________)

   

Other:

     

Tables

Yes

Will tables be included?

 

22

How many tables will need to be linked?

 

No

Have the tables been built using a table editor in the source document?

 

No

Will the tables need to be set manually using the table editor in the target software package?

   

Other: Manually converted using ASCII text editor

     

Lists

No

Are lists already tagged with list codes in the source data?

 

Yes

If lists not marked in source, will they need to be converted automatically on a best-efforts basis?

 

Yes

Will lists be tagged manually?

   

Other:

     

TOC

Yes

Will a TOC be required?

 

No

Will the TOC need to be created using an automated table of contents facility?

 

No

Will the TOC be hard-coded?

   

Other: TOC Linking to sections only

     

Cross Reference

No

Will a cross reference be required?

 

N/A

Will the cross reference be internal or external?

 

N/A

Will automatic tagging be based on customer-supplied guidelines?

(if yes, please attach)

 

N/A

Will cross-referencing locations be manual tagged?

   

Other:

     

Index

No

Will an index be required?

 

N/A

Will the original index be keyed (treated as cross-references)?

 

N/A

Will the index be produced through an automated algorithm?

   

Other:

     

Special Characters

No

Are there any special characters?

 

N/A

Will special characters be ignored?

 

N/A

Are there any foreign character sets?

 

N/A

Are there any scientific character sets?

   

Other:

     

Footnotes

No

Are there any footnotes?

 

N/A

Will they be inserted as regular text?

 

N/A

Will they be inserted inline and tagged as a footnote?

   

Other:

     

Math

No

Are there any formulas?

 

N/A

Will formulas be left out?

 

N/A

Will formulas be handled as images (referenced and cropped)?

 

N/A

Should only in -line math be inserted that can be done in text mode?

 

N/A

Will formulas be created using formula editor?

 

N/A

Will formulas be converted from existing formula structures?

   

Other:

     

Front and Back

Yes

Are there any front or back matter that needs to be include?

Matter

Yes

Will they be entered as regular text?

   

Other:

 

 

Appendix B:  ETM/IETM CONVERSION PROJECT PROJECTED PRICING CHART

      
[ Previous ]        [ Next ]        [ Home ]

 

LINE ITEM DESCRIPTION

UNIT COST

UNITS

ESTIMATED UNITS

TOTAL

Conversion Project

       

  Consulting

$35.00

one time charge

80

$2,800.00

  Design

$40.00

one time charge

80

$3,200.00

  Authoring/Presentation   Package

 

one time charge

0

$-

  Hardware

 

one time charge

0

$-

  Subject Experts

$35.00

per hour

0

$-

  Maintenance

$10.00

per storage unit

1

 
 

$5,000.00

storage time

1

 
 

$15.00

per hour maint. time

20

$5,310.00

  Training

$1,000.00

per course dev.

1

 
 

$35.00

per hour

3

$1,105.00

  Project Setup

$500.00

one time charge

1

$500.00

  Setup for Special Items

$1,000.00

one time charge

1

$1,000.00

  Review

$1.00

per 1000 chars.

324

$324.00

  Cleanup

$1.00

per 1000 chars.

324

$324.00

Conversion Effort

       

  DTD

$35.00

per hour

40

$1,400.00

  Complexity/Mapping

$35.00

per hour

40

$1,400.00

  Tagging

$0.05

per tag

0

 

  FOSI/DSSSL Development

$35.00

per hour

0

$-

  Automated Conversion

$15.00

per hour pre-setup

4

 
 

$0.20

per 1000 chars.

324

$124.80

  Conversion Software   Development

$35.00

per hour

20

$700.00

  Out Side Conversion Work

$-

conversion service cost

0

$-

  Text

$0.40

per 1000 chars.

324

$129.60

  Graphics

$1.00

per image

16

 
 

$1.00

per link/hot spot

220

$236.00

  Tables/Lists Automated

$3.00

per table/list

0

 

  Manual

$15.00

per table/list

22

 
 

$0.50

per reference

240

$450.00

  TOC

$0.50

per reference

100

$50.00

  X-Ref/Index

$0.50

per reference

0

$-

  Special Characters

$0.25

per character

0

$-

  Footnotes

$5.00

per footnote

0

$-

  Math

$7.00

per formula

0

$-

  Front/Back Matter

$5.00

per reference

1

$5.00

Delivery Effort

       

  Final Assembly

$1,000.00

per delivery

1

$1,000.00

  Delivery Material

$10.00

per material

1

$10.00

Additional Charges

       

  Travel

$0.30

travel cost

488

$146.40

 

$114.00

lodging

1

$114.00

 

$38.00

per diem

2

$76.00

  (additional charges here)

     

$-

         

Projected Cost Total

     

$ 20,404.80

 

 

Appendix C:  ETM/IETM CONVERSION PROJECT STEP SUMMARY TABLE

      
[ Previous ]        [ Next ]        [ Home ]

 

Conversion Process/Steps

Personnel Used

Total Hours

Problems Encountered

Solutions

Determine Functional Requirements

Customer,

Conv. Group

10 hours

   

Gather Samples

Customer,

Doc. Analyst

1 hour

   

Prelim. Document Analysis

Conv. Group

8 hours 15 minutes

   

Select Software and DTD

Conversion Group

39 hours

see note 1

see note 1

Program Conformance Registration

QA

10 minutes

   

Define Mapping

Conversion Group

15 hours

   

Costing Matrix

Customer,

Conv. Group

2 hours

   

Layer 0 Conformance Validation

QA,

Doc. Analyst

10 minutes

   

Scan TM @ 300 bpi

Data Entry

1 hrs/67 pgs

see note 2

see note 2

Crop Graphics

Data Entry

1.5 hrs/15

   

QA Scanned Data

QA

3 hrs

   

Convert Text Data (OCR)

Data Entry

5.5 hrs/35 pgs

   

Convert Text Data (Manual)

Data Entry

6 hrs/20 pgs

   

Graphic Touch up

Data Entry

17 hours

   

QA Content Reconciliation

QA

8.5 hours

   

Layer 1 Conformance Validation

QA,

Doc. Analyst

10 minutes

   

Automated Tagging

Doc. Analyst, Programmers,Tech. Writer, Data Entry

2 hours actual processing time.

   

Manual Tagging

Doc. Analyst, Tech. Writer, Data Entry

40 hours

   

Layer 2 Conformance Validation

QA,

Doc. Analyst

10 minutes

   

View Package Development

Customer,

Conv. Group

0 minutes

This process not required.

This process not required.

Browser Testing and System QA

QA,

CM,

Doc. Analyst

7 hours

   

Layer 3 Conformance Validation

QA,

Doc. Analyst

1 hour

 

 

Layer 4 Conformance Validation

QA,

Doc. Analyst

1 hour

 

 

Layer 5 Conformance Validation

QA,

Doc. Analyst

30 minutes

 

 

Layer 6 Conformance Validation

QA,

Doc. Analyst

0 minutes

This process not required.

This process not required.

Delivery Package Development

QA,

CM

0 minutes

This process not required.

This process not required.

 

 

Note 1:  Time has been spent working with the MIL-D-87269 DTD and IADS. To this point we have had to modify the DTD to include the Frame, File, and Warning/Alert elements from the IADS 8879 DTD. Time was spent on hotspot and external calls. It was determined that we must use the calls from IADS vs. the linking element in 269. We were able to use the table structure from 269, so that remained the same.

 

Note 2:  The character recognition process began using OmniPro. However, it was discovered that this software would not accept bitmap formatted files. Using PaintBrush, we converted all of the bitmap images to PCX formatted files.

 

 

Appendix D:  IETM CONFORMANCE ESCORT (ICE) DEMONSTRATION REPORT

      
[ Previous ]        [ Next ]        [ Home ]

 

Registration Information

Name = L. King

Company = Scan R Us

TestParty = 1st Party Tester (Developer of IETM)

Service = Army

Program = an_pvs5

Phone = 301-871-2769

E-Mail =

Authoring = IADS

Presentation = IADS

Secure = Off

 

Authoring Development

SGML_Output = Yes

DBMS = No

Authoring_System = Yes

 

Test Set Question

O-Level_DTD = Used_in_Instance

 

Presentation Operation

Conditional_Branching = No

External_Interface = No

 

Test Set Question

Tables = Yes

Graphics = Yes

Audio = No

LSA = No

Software = No

 

 

Layer 0: Content Specific Layer DTD Test Set

 

Req. Number:

Verdict:

MIL-D-87269 Requirement:

1

Pass

3.3

2

Pass

3.3.3.1

3

Pass

3.3.3.2

4

Pass

3.3.3.3

5

Pass

3.3.3.4

6

Pass

3.3.3.4.1

7

Pass

3.3.3.4.2

8

Pass

3.3.3.4.3

9

Pass

3.3.3.4.4(1)

10

Pass

3.3.3.4.4(2)

11

Pass

3.3.3.4.4(3)

12

Pass

3.3.3.4.5

13

Pass

3.3.3.5

14

Pass

3.3.3.5.1

15

Pass

3.3.3.5.2

 

Conformance Report Summary:

 

Verdict Type

Percentage

Conformance

100 %

Partially Conformant

0 %

Non Conformant

0 %

Did Not Consider

0 %

Could Not Determine

0 %

 

 

Layer 1: Content Specific Layer Authoring Test Set

 

Req. Number:

Verdict:

MIL-D-87269 Requirement:

1

Fail

3.2.1.3

2

Pass

3.2.3.4

3

Pass

3.2.4

4

Pass

3.2.3

5

Pass

3.2.3.1

6

Partial

3.2.3.2

7

Fail

3.2.3.3

8

DNC

3.2.3.4

9

Pass

3.2.3.5

10

Pass

3.2.4

11

Pass

3.2.4.1

12

Pass

3.1.3

13

Partial

3.2.4.3

 

Conformance Report Summary:

 

Verdict Type

Percentage

Conformance

66 %

Partially Conformant

16 %

Non Conformant

16 %

Did Not Consider

7 %

Could Not Determine

0 %

 

 

Layer 2: Instance Storage/Interchange Test Set

 

Req. Number:

Verdict:

MIL-D-87269 Requirement:

1

Pass

3.3

2

Pass

3.3.3

3

Partial

3.3.3.1

4

Pass

3.3.3.2

5

Pass

3.3.3.3

6

Fail

3.3.3.4

7

Fail

3.3.3.4.1

8

Fail

3.3.3.4.2

9

Fail

3.3.3.4.3

10

Fail

3.3.3.4.4(1)

11

Fail

3.3.3.4.4(2)

12

Fail

3.3.3.4.4(3)

13

Fail

3.3.3.4.5

14

Partial

3.3.3.5

15

Pass

3.3.3.5.1

16

Pass

3.3.3.5.2

 

Conformance Report Summary:

 

Verdict Type

Percentage

Conformance

37 %

Partially Conformant

12 %

Non Conformant

50 %

Did Not Consider

0 %

Could Not Determine

0 %

 

 

 

Layer 3: General Content Test Set

 

Req. Number:

Verdict:

MIL-M-87268 Level I Requirement:

1

Pass

3.1.1

6

Pass

3.2.1.1(c)

7

Pass

3.2.1.1(d)

16

Pass

3.2.1.1(m)

17

Pass

3.2.1.2

18

Pass

3.2.1.3

19

Pass

3.2.1.4

20

Pass

3.2.1.5

22

DNC

3.2.1.7

 

Level I Conformance Report Summary

 

There are 9 Requirement(s) for Test Set

Verdict Type

Percentage

Conformance

100 %

Partially Conformant

0 %

Non Conformant

0 %

Did Not Consider

11 %

Could Not Determine

0 %

 

Layer 3: General Content Test Set

 

Req. Number:

Verdict:

MIL-M-87268 Level Requirement:

2

Partial

3.1.2

3

Pass

3.2.1

4

Pass

3.2.1.1(a)

5

DNC

3.2.1.1(b)

8

Pass

3.2.1.1(e)

9

Pass

3.2.1.1(f)

10

Pass

3.2.1.1(g)

11

Pass

3.2.1.1(h)

12

Pass

3.2.1.1(i)

13

Pass

3.2.1.1(j)

14

DNC

3.2.1.1(k)

15

Pass

3.2.1.1(l)

21

Pass

3.2.1.6

 

 

Level II Conformance Report Summary

 

There are 13 Requirement(s) for Test Set

Verdict Type

Percentage

Conformance

90 %

Partially Conformant

9 %

Non Conformant

0 %

Did Not Consider

15 %

Could Not Determine

0 %

 

Layer 3: General StyleTest Set

 

Req. Number:

Verdict:

MIL-M-87268 Level I Requirement:

1

Pass

3.3.1

3

Pass

3.3.3(a)

17

Pass

3.3.4.5

18

Pass

3.3.4.6

19

DNC

3.3.4.7

22

Pass

3.5.2.2.2

 

Level I Conformance Report Summary

 

There are 6 Requirement(s) for Test Set

Verdict Type

Percentage

Conformance

100 %

Partially Conformant

0 %

Non Conformant

0 %

Did Not Consider

16 %

Could Not Determine

0 %

 

Layer 3: General StyleTest Set

 

Req. Number:

Verdict:

MIL-M-87268 Level II Requirement:

4

Pass

3.3.3(b)

 

Level II Conformance Report Summary

 

There are 1 Requirement(s) for Test Set

Verdict Type

Percentage

Conformance

100 %

Partially Conformant

0 %

Non Conformant

0 %

Did Not Consider

0 %

Could Not Determine

0 %

 

Layer 3: General StyleTest Set

 

Req. Number:

Verdict:

MIL-M-87268 Level III Requirement:

5

Pass

3.3.3(c)

6

Pass

3.3.3(d)

7

Pass

3.3.3(e)

8

Pass

3.3.3(f)

9

Pass

3.3.3(g)

10

Pass

3.3.3(h)

11

Pass

3.3.4.1

12

Pass

3.3.4.2

13

Pass

3.3.4.3

14

Pass

3.3.4.4

15

Pass

3.3.4.4.1

16

Pass

3.3.4.4.2

20

DNC

3.3.4.7(1)

21

DNC

3.3.4.8

 

Level III Conformance Report Summary

 

There are 14 Requirement(s) for Test Set

Verdict Type

Percentage

Conformance

100 %

Partially Conformant

0 %

Non Conformant

0 %

Did Not Consider

14 %

Could Not Determine

0 %

 

Layer 3: General StyleTest Set

 

Req. Number:

Verdict:

MIL-M-87268 Level IV Requirement:

2

DNC

3.3.2

 

Level IV Conformance Report Summary

 

There are 1 Requirement(s) for Test Set

Verdict Type

Percentage

Conformance

0 %

Partially Conformant

0 %

Non Conformant

0 %

Did Not Consider

100 %

Could Not Determine

0 %

 

 

Layer 3: Graphics Test Set

 

Req. Number:

Verdict:

MIL-M-87268 Level II Requirement:

1

DNC

3.1.3

2

Pass

3.1.3(1)

3

Pass

3.1.3(2)

4

Pass

3.1.3(3)

5

Pass

3.1.3(4)

6

Pass

3.1.3(5)

7

DNC

3.1.3(6)

8

Pass

3.1.3(7)

9

Pass

3.3.5.1

10

Pass

3.3.5.2

11

Pass

3.3.5.3

12

Pass

3.3.5.4

13

Pass

3.3.5.5

14

DNC

3.3.5.6

18

Pass

3.3.5.10

20

Partial

3.3.5.12

24

Pass

3.3.5.14.1(a)

26

Pass

3.3.5.14.1(c)

28

Pass

3.3.5.14.3

31

Partial

3.3.5.15(b)

32

Pass

3.3.5.15(c)

 

Level II Conformance Report Summary

 

There are 21 Requirement(s) for Test Set

Verdict Type

Percentage

Conformance

88 %

Partially Conformant

11 %

Non Conformant

0 %

Did Not Consider

14 %

Could Not Determine

0 %

 

 

Layer 3: Graphics Test Set

 

Req. Number:

Verdict:

MIL-M-87268 Level III Requirement:

15

Pass

3.3.5.7

16

Pass

3.3.5.8

19

Pass

3.3.5.11

21

DNC

3.3.5.13

22

Pass

3.3.5.14

23

Pass

3.3.5.14.1

27

Pass

3.3.5.14.2

29

Pass

3.3.5.15

30

Pass

3.3.5.15(a)

37

Pass

3.3.5.15(h)

38

Pass

3.3.5.15(i)

39

DNC

3.3.5.16

 

Level III Conformance Report Summary

 

There are 12 Requirement(s) for Test Set

Verdict Type

Percentage

Conformance

100 %

Partially Conformant

0 %

Non Conformant

0 %

Did Not Consider

16 %

Could Not Determine

0 %

 

Layer 3: Graphics Test Set

 

Req. Number:

Verdict:

MIL-M-87268 Level IV Requirement:

17

DNC

3.3.5.9

25

Pass

3.3.5.14.1(b)

33

Pass

3.3.5.15(d)

34

Pass

3.3.5.15(e)

35

Pass

3.3.5.15(f)

36

Pass

3.3.5.15(g)

 

Level IV Conformance Report Summary

 

There are 6 Requirement(s) for Test Set

Verdict Type

Percentage

Conformance

100 %

Partially Conformant

0 %

Non Conformant

0 %

Did Not Consider

16 %

Could Not Determine

0 %

 

Layer 3: Alerts Test Set

 

Req. Number:

Verdict:

MIL-M-87268 Level I Requirement:

1

Pass

3.2.2

2

Pass

3.2.2(a)

3

Pass

3.2.2(b)

4

Pass

3.2.2(c)

5

Pass

3.2.2(d)

6

Fail

3.2.2.1

7

Pass

3.2.2.1(1)

9

Pass

3.2.2.2(a)

10

Pass

3.2.2.2(b)

11

Pass

3.2.2.2(c)

12

Pass

3.2.2.2(d)

13

Pass

3.2.3

14

Pass

3.2.4

 

Level I Conformance Report Summary

 

There are 13 Requirement(s) for Test Set

Verdict Type

Percentage

Conformance

92 %

Partially Conformant

0 %

Non Conformant

7 %

Did Not Consider

0 %

Could Not Determine

0 %

 

Layer 3: Alerts Test Set

 

Req. Number:

Verdict:

MIL-M-87268 Level II Requirement:

8

Pass

3.2.2.2

15

Fail

3.2.5

 

Level II Conformance Report Summary

 

There are 2 Requirement(s) for Test Set

Verdict Type

Percentage

Conformance

50 %

Partially Conformant

0 %

Non Conformant

50 %

Did Not Consider

0 %

Could Not Determine

0 %

 

 

Layer 3: Procedural Information Test Set

 

Req. Number:

Verdict:

MIL-M-87268 Level Requirement:

2

Pass

3.6.1.2

5

Pass

3.6.1.3.2(1)

6

Partial

3.6.1.3.3

7

Pass

3.6.1.4.1

8

Pass

3.6.1.4.2(1)

10

Pass

3.6.1.4.2.1

11

Pass

3.6.1.4.2.2

12

Pass

3.6.1.4.2.3

13

Pass

3.6.1.4.2.4

14

Pass

3.6.1.4.2.5

15

DNC

3.6.1.4.2.6

16

Pass

3.6.1.4.2.7

17

Pass

3.6.1.4.2.8

18

Pass

3.6.1.4.3

19

Pass

3.6.1.4.3(a)

20

Pass

3.6.1.4.3(b)

21

Pass

3.6.1.4.3(c)

22

Pass

3.6.1.4.3(d)

23

Pass

3.6.1.4.3(e)

24

Pass

3.6.1.4.3(f)

28

Pass

3.6.1.5.2

31

Pass

3.6.1.5.5

 

Level I Conformance Report Summary

 

There are 22 Requirement(s) for Test Set

Verdict Type

Percentage

Conformance

95 %

Partially Conformant

4 %

Non Conformant

0 %

Did Not Consider

4 %

Could Not Determine

0 %

 

Layer 3: Procedural Information Test Set

 

Req. Number:

Verdict:

MIL-M-87268 Level II Requirement:

1

Pass

3.6.1

30

Pass

3.6.1.5.4

 

 

Level II Conformance Report Summary

 

There are 2 Requirement(s) for Test Set

Verdict Type

Percentage

Conformance

100 %

Partially Conformant

0 %

Non Conformant

0 %

Did Not Consider

0 %

Could Not Determine

0 %

 

Layer 3: Procedural Information Test Set

 

Req. Number:

Verdict:

MIL-M-87268 Level III Requirement:

3

Pass

3.6.1.3.1

4

Pass

3.6.1.3.2

25

Pass

3.6.1.5

26

Pass

3.6.1.5.1(1)

27

Pass

3.6.1.5.1(2)

29

Pass

3.6.1.5.3

 

Level III Conformance Report Summary

 

There are 6 Requirement(s) for Test Set

Verdict Type

Percentage

Conformance

100 %

Partially Conformant

0 %

Non Conformant

0 %

Did Not Consider

0 %

Could Not Determine

0 %

 

Layer 3: Procedural Information Test Set

 

Req. Number:

Verdict:

MIL-M-87268 Level IV Requirement:

9

Pass

3.6.1.4.2(2)

 

Level IV Conformance Report Summary

 

There are 1 Requirement(s) for Test Set

Verdict Type

Percentage

Conformance

100 %

Partially Conformant

0 %

Non Conformant

0 %

Did Not Consider

0 %

Could Not Determine

0 %

 

Layer 3: Troubleshooting Information Test Set

 

Req. Number:

Verdict:

MIL-M-87268 Level I Requirement:

1

Pass

3.6.2

2

Pass

3.6.2.1

3

Fail

3.6.2.3

4

Fail

3.6.2.3

5

Partial

3.6.2.4

6

Fail

3.6.2.5

7

Fail

3.6.2.6

 

Level I Conformance Report Summary

 

There are 7 Requirement(s) for Test Set

Verdict Type

Percentage

Conformance

28 %

Partially Conformant

14 %

Non Conformant

57 %

Did Not Consider

0 %

Could Not Determine

0 %

 

Layer 3: Parts Information Test Set

 

Req. Number:

Verdict:

MIL-M-87268 Level I Requirement:

1

Pass

3.6.3

4

Pass

3.6.3.1

5

Pass

3.6.3.2

 

Level I Conformance Report Summary

 

There are 3 Requirement(s) for Test Set

Verdict Type

Percentage

Conformance

100 %

Partially Conformant

0 %

Non Conformant

0 %

Did Not Consider

0 %

Could Not Determine

0 %

 

Layer 3: Parts Information Test Set

 

Req. Number:

Verdict:

MIL-M-87268 Level II Requirement:

2

DNC

3.6.3(1)

3

Pass

3.6.3(2)

 

 

Level II Conformance Report Summary

 

There are 2 Requirement(s) for Test Set

Verdict Type

Percentage

Conformance

100 %

Partially Conformant

0 %

Non Conformant

0 %

Did Not Consider

50 %

Could Not Determine

0 %

 

Layer 3: Descriptive Information Test Set

 

Req. Number:

Verdict:

MIL-M-87268 Level II Requirement:

1

Pass

3.6.4

 

Level II Conformance Report Summary

 

There are 1 Requirement(s) for Test Set

Verdict Type

Percentage

Conformance

100 %

Partially Conformant

0 %

Non Conformant

0 %

Did Not Consider

0 %

Could Not Determine

0 %

 

Layer 3: General Display Test Set

 

Req. Number:

Verdict:

MIL-M-87268 Level I Requirement:

1

Pass

3.4.2.1.1.1

 

Level I Conformance Report Summary

 

There are 1 Requirement(s) for Test Set

Verdict Type

Percentage

Conformance

100 %

Partially Conformant

0 %

Non Conformant

0 %

Did Not Consider

0 %

Could Not Determine

0 %

 

 

Layer 3: General Display Test Set

 

Req. Number:

Verdict:

MIL-M-87268 Level III Requirement:

2

Pass

3.4.2.1.1.2

3

Pass

3.4.2.1.1.3

4

Pass

3.4.2.1.1.3.1

5

Pass

3.4.2.1.1.4

6

Pass

3.4.2.1.1.5

7

Pass

3.4.2.1.1.6

8

Pass

3.4.2.1.1.7

9

Pass

3.4.2.3

10

Pass

3.4.2.3(1)

11

Pass

3.4.2.3(2)

12

Pass

3.4.2.3(3)

13

Pass

3.4.2.3.1.1

14

Pass

3.4.2.3.1.1(1)

15

Pass

3.5

 

Level III Conformance Report Summary

 

There are 14 Requirement(s) for Test Set

Verdict Type

Percentage

Conformance

100 %

Partially Conformant

0 %

Non Conformant

0 %

Did Not Consider

0 %

Could Not Determine

0 %

 

Layer 3: GUI Display Test Set

 

Req. Number:

Verdict:

MIL-M-87268 Level I Requirement:

1

Pass

3.4.2.2.1

2

Pass

3.4.2.2.2

3

Pass

3.4.2.2.3

 

Level I Conformance Report Summary

 

There are 3 Requirement(s) for Test Set

Verdict Type

Percentage

Conformance

100 %

Partially Conformant

0 %

Non Conformant

0 %

Did Not Consider

0 %

Could Not Determine

0 %

 

Layer 3: GUI Display Test Set

 

Req. Number:

Verdict:

MIL-M-87268 Level III Requirement:

4

Pass

3.4.2.2.4

 

Level III Conformance Report Summary

 

There are 1 Requirement(s) for Test Set

Verdict Type

Percentage

Conformance

100 %

Partially Conformant

0 %

Non Conformant

0 %

Did Not Consider

0 %

Could Not Determine

0 %

 

Layer 3: Graphics Display Test Set

 

   
Req. Number: 21 DNC    3.5.1.7

 

Level I Conformance Report Summary

 

There are 1 Requirement(s) for Test Set

Verdict Type

Percentage

Conformance

0 %

Partially Conformant

0 %

Non Conformant

0 %

Did Not Consider

100 %

Could Not Determine

0 %

 

 

Layer 3: Graphics Display Test Set

 

Req. Number:

Verdict:

MIL-M-87268 Level III Requirement:

1

Pass

3.5.1

2

Pass

3.5.1.1

3

Pass

3.5.1.2

4

Pass

3.5.1.2(a)

5

Pass

3.5.1.2(b)

6

Fail

3.5.1.2(c)

7

Fail

3.5.1.2(d)

8

Pass

3.5.1.2(e)

9

Partial

3.5.1.2(f)

10

Pass

3.5.1.2(g)

11

Pass

3.5.1.2(h)

12

Pass

3.5.1.2(i)

13

Fail

3.5.1.3

14

Fail

3.5.1.3.1

15

Pass

3.5.1.3.2

16

Pass

3.5.1.3.3

17

Pass

3.5.1.3.4

18

Pass

3.5.1.4

19

Pass

3.5.1.4.(1)

20

Pass

3.5.1.5

 

Level III Conformance Report Summary

 

There are 20 Requirement(s) for Test Set

Verdict Type

Percentage

Conformance

75 %

Partially Conformant

5 %

Non Conformant

20 %

Did Not Consider

0 %

Could Not Determine

0 %

 

 

Layer 3: Alerts Display Test Set

 

Req. Number:

Verdict:

MIL-M-87268 Level I Requirement:

1

Pass

3.5.1.6

2

Pass

3.5.1.6(1)

3

Pass

3.5.1.6.1

4

Pass

3.5.1.6.2

6

Pass

3.5.1.6.3

7

Pass

3.5.1.6.3(1)

8

Pass

3.5.1.6.3(2)

10

Pass

3.5.1.6.4

11

Pass

3.5.1.6.5

12

Pass

3.5.1.6.5(1)

 

Level I Conformance Report Summary

 

There are 10 Requirement(s) for Test Set

Verdict Type

Percentage

Conformance

100 %

Partially Conformant

0 %

Non Conformant

0 %

Did Not Consider

0 %

Could Not Determine

0 %

 

Layer 3: Alerts Display Test Set

 

Req. Number:

Verdict:

MIL-M-87268 Level IV Requirement:

5

Pass

3.5.1.6.2(1)

9

Pass

3.5.1.6.3(3)

 

Level IV Conformance Report Summary

 

There are 2 Requirement(s) for Test Set

Verdict Type

Percentage

Conformance

100 %

Partially Conformant

0 %

Non Conformant

0 %

Did Not Consider

0 %

Could Not Determine

0 %

 

 

Layer 3: Display Display Elements Test Set

 

Req. Number:

Verdict:

MIL-M-87268 Level I Requirement:

8

Pass

3.4.1.2

9

Pass

3.4.1.2.2.1

19

Pass

3.4.1.2.4.2.2

 

Level I Conformance Report Summary

 

There are 3 Requirement(s) for Test Set

Verdict Type

Percentage

Conformance

100 %

Partially Conformant

0 %

Non Conformant

0 %

Did Not Consider

0 %

Could Not Determine

0 %

 

Layer 3: Display Display Elements Test Set

 

Req. Number:

Verdict:

MIL-M-87268 Level III Requirement:

1

Pass

3.4.1.2

2

Pass

3.4.1.2(1)

3

Pass

3.4.1.2(2)

4

Pass

3.4.1.2(3)

5

Fail

3.4.1.2(4)

6

Pass

3.4.1.2(5)

7

DNC

3.4.1.2(6)

10

Pass

3.4.1.2.2.1(1)

11

Pass

3.4.1.2.2.1(2)

12

Pass

3.4.1.2.2.1(3)

13

Pass

3.4.1.2.2.1(4)

14

Pass

3.4.1.2.2.1(5)

15

Pass

3.4.1.2.4.2.1

16

Pass

3.4.1.2.4.2.1(1)

17

Pass

3.4.1.2.4.2.1(2)

 

Level III Conformance Report Summary

 

There are 16 Requirement(s) for Test Set

Verdict Type

Percentage

Conformance

93 %

Partially Conformant

0 %

Non Conformant

6 %

Did Not Consider

6 %

Could Not Determine

0 %

Layer 4: Common GUI Test Set

 

Req. Number:

Verdict:

MIL-M-87268 Level I Requirement:

1

Pass

3.4(1)

2

Pass

3.4(2)

3

Pass

3.4(3)

4

Pass

3.4(4)

5

Pass

3.4(5)

6

Pass

3.4(6)

7

Pass

3.4(7)

8

Pass

3.4(8)

9

Pass

3.4(9)

10

Pass

3.4(10)

11

Pass

3.4(11)

12

Pass

3.4(12)

13

Pass

3.4.1.1

14

Pass

3.4.1.1.1

15

Fail

3.4.1.1.1(1)

16

Pass

3.4.1.1.1(2)

17

Pass

3.4.1.1.1(3)

18

Pass

3.4.1.1.1(4)

19

Pass

3.4.1.1.1(5)

20

Pass

3.4.1.1.1(6)

21

Pass

3.4.1.1.3

25

Pass

3.4.1.1.5

26

Pass

3.4.1.3.6

27

Pass

3.4.1.4

29

Pass

3.4.2.4(1)

30

Pass

3.5.2.1(1.1)

31

Pass

3.5.2.1(1.2)

32

Pass

3.5.2.1(1.3)

33

Pass

3.5.2.1(1.4)

34

Pass

3.5.2.1(1.5)

35

Pass

3.5.2.1(1.6)

50

Pass

3.5.2.1(2.6)

52

Pass

3.5.2.1(2.8)

 

 

Level I Conformance Report Summary

 

There are 33 Requirement(s) for Test Set

Verdict Type

Percentage

Conformance

96 %

Partially Conformant

0 %

Non Conformant

3 %

Did Not Consider

0 %

Could Not Determine

0 %

 

Layer 4: Common GUI Test Set

 

Req. Number:

Verdict:

MIL-M-87268 Level II Requirement:

23

Pass

3.4.1.1.4

24

Pass

3.4.1.1.4(1)

44

Pass

3.5.2.1(1.15)

45

Pass

3.5.2.1(2.1)

46

Pass

3.5.2.1(2.2)

47

Pass

3.5.2.1(2.3)

48

Pass

3.5.2.1(2.4)

49

Pass

3.5.2.1(2.5)

51

Pass

3.5.2.1(2.7)

 

Level II Conformance Report Summary

 

There are 9 Requirement(s) for Test Set

Verdict Type

Percentage

Conformance

100 %

Partially Conformant

0 %

Non Conformant

0 %

Did Not Consider

0 %

Could Not Determine

0 %

 

 

Layer 4: Common GUI Test Set

 

Req. Number:

Verdict:

MIL-M-87268 Level III Requirement:

22

Pass

3.4.1.1.3

28

Pass

3.4.2.4

36

Pass

3.5.2.1(1.7)

37

Pass

3.5.2.1(1.8)

38

Pass

3.5.2.1(1.9)

39

Fail

3.5.2.1(1.10)

40

Pass

3.5.2.1(1.11)

41

Pass

3.5.2.1(1.12)

42

Pass

3.5.2.1(1.13)

43

Pass

3.5.2.1(1.14)

 

Level III Conformance Report Summary

 

There are 10 Requirement(s) for Test Set

Verdict Type

Percentage

Conformance

90 %

Partially Conformant

0 %

Non Conformant

10 %

Did Not Consider

0 %

Could Not Determine

0 %

 

Layer 4: GUI Menu Test Set

 

Req. Number:

Verdict:

MIL-M-87268 Level I Requirement:

1

Pass

3.4.1.3

3

Pass

3.4.1.3.4(1)

6

Pass

3.4.1.3.4.1(2)

 

Level I Conformance Report Summary

 

There are 3 Requirement(s) for Test Set

Verdict Type

Percentage

Conformance

100 %

Partially Conformant

0 %

Non Conformant

0 %

Did Not Consider

0 %

Could Not Determine

0 %

 

 

Layer 4: GUI Menu Test Set

 

Req. Number:

Verdict:

MIL-M-87268 Level III Requirement:

2

Pass

3.4.1.3.4

4

Pass

3.4.1.3.4.1

5

Pass

3.4.1.3.4.1(1)

7

Pass

3.4.1.3.4.2

8

Pass

3.4.1.3.4.3

9

Pass

3.4.1.3.4.4

10

Pass

3.4.1.3.4.4(1)

11

Pass

3.4.1.3.4.5

12

Pass

3.4.1.3.4.5(1)

13

Pass

3.4.1.3.4.6

14

Pass

3.4.1.3.4.7

15

Pass

3.4.1.3.5

16

Pass

3.4.1.3.5(1)

 

Level III Conformance Report Summary

 

There are 13 Requirement(s) for Test Set

Verdict Type

Percentage

Conformance

100 %

Partially Conformant

0 %

Non Conformant

0 %

Did Not Consider

0 %

Could Not Determine

0 %

 

Layer 4: GUI Menu Test Set

 

Req. Number:

Verdict:

MIL-M-87268 Level I Requirement:

1

Pass

3.4.1.3

3

Pass

3.4.1.3.4(1)

6

Pass

3.4.1.3.4.1(2)

 

Level I Conformance Report Summary

 

There are 3 Requirement(s) for Test Set

Verdict Type

Percentage

Conformance

100 %

Partially Conformant

0 %

Non Conformant

0 %

Did Not Consider

0 %

Could Not Determine

0 %

 

 

Layer 4: GUI Menu Test Set

 

Req. Number:

Verdict:

MIL-M-87268 Level III Requirement:

2

Pass

3.4.1.3.4

4

Pass

3.4.1.3.4.1

5

Pass

3.4.1.3.4.1(1)

7

Pass

3.4.1.3.4.2

8

Pass

3.4.1.3.4.3

9

Pass

3.4.1.3.4.4

10

Pass

3.4.1.3.4.4(1)

11

Pass

3.4.1.3.4.5

12

Pass

3.4.1.3.4.5(1)

13

Pass

3.4.1.3.4.6

14

Pass

3.4.1.3.4.7

15

Pass

3.4.1.3.5

16

Pass

3.4.1.3.5(1)

 

Level III Conformance Report Summary

 

There are 13 Requirement(s) for Test Set

Verdict Type

Percentage

Conformance

100 %

Partially Conformant

0 %

Non Conformant

0 %

Did Not Consider

0 %

Could Not Determine

0 %

 

Layer 4: TroubleShooting Interaction Test Set

 

Req. Number:

Verdict:

MIL-M-87268 Level I Requirement:

1

Fail

3.6.2.2

2

Fail

3.6.2.2(1)

3

Fail

3.6.2.2(2)

4

Fail

3.6.2.2(3)

5

Fail

3.6.2.6

6

Fail

3.6.2.6(1)

7

Fail

3.6.2.6(2)

 

 

Level I Conformance Report Summary

 

There are 7 Requirement(s) for Test Set

Verdict Type

Percentage

Conformance

0 %

Partially Conformant

0 %

Non Conformant

100 %

Did Not Consider

0 %

Could Not Determine

0 %

 

Layer 4: Graphics Interaction Test Set

 

Req. Number:

Verdict:

MIL-M-87268 Level II Requirement:

1

Pass

3.4.2.2.5

2

Pass

3.4.2.2.5(1)

3

Pass

3.4.2.2.6

5

Pass

3.4.2.2.6.2

6

Pass

3.4.2.2.6.3

7

Pass

3.4.2.2.6.4

8

DNC

3.4.2.6

9

DNC

3.4.2.6(1)

10

DNC

3.4.2.7

11

DNC

3.4.2.7(1)

12

Pass

3.5.2.2.3

 

Level II Conformance Report Summary

 

There are 11 Requirement(s) for Test Set

Verdict Type

Percentage

Conformance

100 %

Partially Conformant

0 %

Non Conformant

0 %

Did Not Consider

36 %

Could Not Determine

0 %

 

Layer 4: Graphics Interaction Test Set

 

Req. Number:

Verdict:

MIL-M-87268 Level III Requirement:

4

Pass

3.4.2.2.6.1

 

 

Level III Conformance Report Summary

 

There are 1 Requirement(s) for Test Set

Verdict Type

Percentage

Conformance

100 %

Partially Conformant

0 %

Non Conformant

0 %

Did Not Consider

0 %

Could Not Determine

0 %

 

Layer 4: Tables Interaction Test Set

 

Req. Number: 1

Pass

3.4.2.3.2

2

Pass

3.4.2.3.3

3

Pass

3.4.2.3.4

4

Pass

3.4.2.3.4(1)

5

Pass

3.4.2.3.4(2)

 

Level III Conformance Report Summary

 

There are 5 Requirement(s) for Test Set

Verdict Type

Percentage

Conformance

100 %

Partially Conformant

0 %

Non Conformant

0 %

Did Not Consider

0 %

Could Not Determine

0 %

 

Layer 5: Linking Test Set

 

Req. Number:

Verdict:

MIL-M-87268 Level I Requirement:

1

Pass

3.1.5

5

Fail

3.1.5.2

 

Level I Conformance Report Summary

 

There are 2 Requirement(s) for Test Set

Verdict Type

Percentage

Conformance

50 %

Partially Conformant

0 %

Non Conformant

50 %

Did Not Consider

0 %

Could Not Determine

0 %

 

Layer 5: Linking Test Set

 

Req. Number:

Verdict:

MIL-M-87268 Level II Requirement:

2

Pass

3.1.5(1)

3

Pass

3.1.5(2)

 

Level II Conformance Report Summary

 

There are 2 Requirement(s) for Test Set

Verdict Type

Percentage

Conformance

100 %

Partially Conformant

0 %

Non Conformant

0 %

Did Not Consider

0 %

Could Not Determine

0 %

 

Layer 5: Linking Test Set

 

Req. Number:

Verdict:

MIL-M-87268 Level III Requirement:

4

Pass

3.1.5.1

 

Level III Conformance Report Summary

 

There are 1 Requirement(s) for Test Set

Verdict Type

Percentage

Conformance

100 %

Partially Conformant

0 %

Non Conformant

0 %

Did Not Consider

0 %

Could Not Determine

0 %

 

Layer 5: Linking Test Set

 

Req. Number:

Verdict:

MIL-M-87268 Level I Requirement:

1

Pass

3.1.5

5

Fail

3.1.5.2

 

 

Level I Conformance Report Summary

 

There are 2 Requirement(s) for Test Set

Verdict Type

Percentage

Conformance

50 %

Partially Conformant

0 %

Non Conformant

50 %

Did Not Consider

0 %

Could Not Determine

0 %

 

Layer 5: Linking Test Set

 

Req. Number:

Verdict:

MIL-M-87268 Level II Requirement:

2

Pass

3.1.5(1)

3

Pass

3.1.5(2)

 

Level II Conformance Report Summary

 

There are 2 Requirement(s) for Test Set

Verdict Type

Percentage

Conformance

100 %

Partially Conformant

0 %

Non Conformant

0 %

Did Not Consider

0 %

Could Not Determine

0 %

 

Layer 5: Linking Test Set

 

Req. Number:

Verdict:

MIL-M-87268 Level III Requirement:

4

Pass

3.1.5.1

 

Level III Conformance Report Summary

 

There are 1 Requirement(s) for Test Set

Verdict Type

Percentage

Conformance

100 %

Partially Conformant

0 %

Non Conformant

0 %

Did Not Consider

0 %

Could Not Determine

0 %

 

 

Appendix E:  Modified MIL-D-87269 DTD

      
[ Previous ]        [ Next ]        [ Home ]

 

<!SGML "ISO 8879:1986"

CHARSET BASESET "ISO 646-1983//CHARSET International Reference Version

(IRV)//ESC 2/5 4/0" -- 2/5 was 2/8 --

DESCSET 0 9 UNUSED

9 2 9

11 2 UNUSED

13 1 13

14 18 UNUSED

32 95 32

127 1 UNUSED

BASESET "ISO Registration Number 100//CHARSET ECMA-94

Right Part of Latin Alphabet Nr. 1//ESC 2/13 4/1"

DESCSET 128 32 UNUSED

160 5 32

165 1 UNUSED

166 88 38

254 1 127

255 1 UNUSED

CAPACITY SGMLREF

TOTALCAP 175000

GRPCAP 70000

ATTCAP 50000

SCOPE DOCUMENT

 

SYNTAX

SHUNCHAR CONTROLS 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17

18 19 20 21 22 23 24 25 26 27 28 29 30 31 127 255

BASESET "ISO 646-1983//CHARSET International Reference Version

(IRV)//ESC 2/5 4/0"

DESCSET 0 128 0

FUNCTION RE 13

RS 10

SPACE 32

TAB SEPCHAR 9

NAMING LCNMSTRT ""

UCNMSTRT ""

LCNMCHAR "-."

UCNMCHAR "-."

NAMECASE GENERAL YES

ENTITY NO

DELIM GENERAL SGMLREF

SHORTREF NONE

NAMES SGMLREF

QUANTITY SGMLREF LITLEN 2048

NAMELEN 32

ATTCNT 80

GRPCNT 80

FEATURES

MINIMIZE DATATAG NO OMITTAG YES RANK NO

SHORTTAG NO

LINK SIMPLE NO IMPLICIT NO EXPLICIT NO

OTHER CONCUR NO SUBDOC NO FORMAL YES

APPINFO "HyTime"

>

<!-- IETM Content Model Generic Layer V.6.1. -->

 

<!DOCTYPE file [

 

<!NOTATION MIL-D-87269-a PUBLIC "-//USA-DOD//NOTATION Content Data Model Generic Layer//EN">

 

<!-- ENTITY % MIL-D-87269-a PUBLIC "-//USA-DOD//DTD Content Data Model Generic Layer//EN" -->

 

<!-- %MIL-D-87269-a; -->

<!-- MIL-M-28001 Math entities are listed as comments. If mathpac support is

required, place these entity definitions in the body of the TAG ENTITIES

group and provide the math.dtd

 

<!ENTITY % mathpac PUBLIC "-//USA-DOD//DTD SUP MIL-M-28001 MATHPACK

9110001//EN" >

%mathpac;

<!ENTITY % mathtxt "dfref | f ">

<!ENTITY % mathcon "df | dfg "> -->

 

<!-- TAG ENTITIES -->

<!ENTITY % text "text | text-alts">

<!ENTITY % table "table | table-alts">

<!ENTITY % graphic "graphic | graphic-alts | grphprim | grphprim-alts">

<!ENTITY % audio "audio | audio-alts">

<!ENTITY % video "video | video-alts">

<!ENTITY % process "process | process-alts">

<!ENTITY % dialog "dialog | dialog-alts">

<!ENTITY % link "link | hylink">

<!ENTITY % primitive "%text; | %table; | %graphic; | %audio; | %video; | %process; | %dialog; |

expression | assertion ">

<!ENTITY % binop "eq | ne | lt | gt | le | ge | and | or | xor | concat | substring | append | plus |

minus | times | divide | idivide | exponent | mod | remove | union | intersect |

set-diff | member | subset | disjoint | add | subsequence ">

<!ENTITY % unop "not | empty | size | head | tail | neg | remove | trunc | float | index | undef |

max | min">

<!ENTITY % value "boolean | string | sequence | set | real | integer | nil">

 

<!-- ATTRIBUTE ENTITIES -->

 

<!-- The Organization Level List contains the reference types for the Organization Level DTD. -->

 

<!ENTITY % orglvllist "system | descinfo | partinfo | task | partbase" >

 

<!-- The linkendlist is the entity directly referenced by the reftypes attribute of a link or a hylink.

It includes the standard types for the generic layer and uses an entity to include those for derived

DTDs. The default O-level DTD is included using the orglvllist entity. Targets for other DTDs

can be included with entities similiar to the orglvllist. This can lead to overruning the

capacity declarations in the SGML Declaration in which case the required adjustments should

be made (e.g., increase the capacity declaration or remove unused targets in the list). -->

 

<!ENTITY % linkendlist "(%orglvllist; | text | table | graphic | audio | video | para0 | process | dialog

| entry| THEORY)">

 

<!ENTITY % a.root

"HyTime NAME HyDoc

boslevel NUMBER #IMPLIED

id ID #IMPLIED

name CDATA #IMPLIED

type CDATA #IMPLIED

itemid CDATA #IMPLIED" >

 

<!-- ARCHITECTURAL FORMS AND CORRESPONDING ATTRIBUTE LIST ENTITIES -->

 

<!-- NOTE: MIL-D-87269 architectural forms begin with the

term "element" in lowercase to distinguish them from element type

definitions per the conventions of ISO 10744. Do not attempt

to uncomment these and use them as element type definitions. -->

 

<!-- element "NODE" - - (precond*, (%link;)*, ( NODE | NODE-ALTS |

NODE-SEQ | %primitive; )*, postcond*) -->

 

<!ENTITY % a.node

"id ID #IMPLIED

name CDATA #IMPLIED

type CDATA #IMPLIED

itemid CDATA #IMPLIED

cdm NAME #FIXED 'node'

ref IDREF #CONREF" >

 

<!-- element "NODE-ALTS" - - (NODE)+ -->

 

<!ENTITY % a.node-alts

"id ID #IMPLIED

cdm NAME #FIXED 'node-alts'

ref IDREF #CONREF" >

 

<!-- element "NODE-SEQ" - - (NODE | NODE-ALTS | IF-NODE | LOOP-NODE)+ -->

 

<!ENTITY % a.node-seq

"id ID #IMPLIED

cdm NAME #FIXED 'node-seq'

ref IDREF #CONREF" >

 

<!-- element "IF-NODE" - - (expression, NODE-SEQ, NODE-SEQ?) -->

 

<!ENTITY % a.if-node

"id ID #IMPLIED

cdm NAME #FIXED 'if-node'

ref IDREF #CONREF" >

 

<!-- element "LOOP-NODE" - - (assertion?, expression, assertion?, NODE-SEQ) -->

 

<!ENTITY % a.loop-node

"id ID #IMPLIED

cdm NAME #FIXED 'loop-node'

ref IDREF #CONREF" >

 

<!-- NOTATIONS for external non-SGML datatypes. -->

 

<!NOTATION cgmbin PUBLIC "ISO 8632/2//NOTATION Binary encoding//EN" >

<!NOTATION cgmchar PUBLIC "ISO 8632/2//NOTATION Character encoding//EN" >

<!NOTATION cgmclear PUBLIC "ISO 8632/2//NOTATION Clear Text encoding//EN" >

<!NOTATION fax PUBLIC "-//USA-DOD//NOTATION CCITT Group 4 Facsimile//EN" >

<!NOTATION faxtile PUBLIC "-//USA-DOD//NOTATION CCITT Group 4 Facsimile Type 2 Tiled

Raster//EN">

<!NOTATION iges PUBLIC "-//USA-DOD//NOTATION Initial Graphics Exchange

Specification//EN" >

 

<!-- NOTE: The following notation (bitmap) is used in the document instance example of

the Organizational Level DTD in this Guide. This commercial notation is not included in CALS

standards. The status and use of commercial data formats for MIL-D-87269 deliverables is

determined by the procuring agency. -->

 

<!NOTATION bitmap PUBLIC "+//ISBN 0-7923-9432-1::Graphic Notation//NOTATION

Microsoft Windows bitmap//EN" >

 

<!-- The following NOTATION declaration is used for external SGML document instances, e.g., to

break up data base files into smaller sets -->

 

<!NOTATION SGML PUBLIC

"+//ISO 8879:1986//NOTATION Standard Generalized Markup Language//EN">

 

<!-- To use the SGML entity for external references, declare an entity as follows:

 

<!ENTITY database3 system "database3.sgm" CDATA SGML>

 

-->

 

<!-- NOTE: Currently the external pointer attributes for the audio, video and

process element types have a type of CDATA. To ensure maximum portability of files,

future versions of the DTD should include NOTATION declarations for these types.

The external-ptr attribute value should be rewritten as a NOTATION reference

once the eligible notation formats are selected. -->

 

<!-- ELEMENT TEMPLATES -->

 

<!ELEMENT link - - (#PCDATA) >

<!ATTLIST link

id ID #IMPLIED

endtypes %linkendlist; #REQUIRED

linkends IDREFS #REQUIRED >

 

<!ELEMENT hylink - - (#PCDATA) >

<!ATTLIST hylink

Hytime NAME #FIXED 'ilink'

id ID #IMPLIED

anchrole CDATA #FIXED 'hotspot target #AGG'

linkends IDREFS #REQUIRED

reftype CDATA #FIXED 'linkends %linkendlist; #SEQ'

extra NAMES 'A A'

intra NAMES 'A A'

endterms IDREFS #IMPLIED

aggtrav NAMES agg >

 

<!ELEMENT nameloc - - (nmlist*) >

<!ATTLIST nameloc

HyTime NAME nameloc

id ID #REQUIRED

ordering (ordered|noorder) ordered

set (set|notset) notset

aggloc (aggloc|agglink|nagg) agglink >

 

<!ELEMENT nmlist - - (#PCDATA) -- lextype(NAMES) -->

<!ATTLIST nmlist

HyTime NAME nmlist

nametype (entity|element|unified) entity

obnames (obnames|nobnames) nobnames

docorsub ENTITY #IMPLIED

dtdorlpd -- lextype(DTD|LPD+) -- NAMES #IMPLIED >

 

<!-- Primitive Elements -->

 

<!ELEMENT text - O (precond*, (%link;)*, (#PCDATA | text-alts | text | property)+ ) >

<!ATTLIST text

%a.node; >

 

<!-- NOTE TO USER: If the use of element types from the entities for

mathtxt and mathcon are required, uncomment these entity definitions and

include %mathtxt and % mathcon in the text element type definition

content model. -->

 

<!-- ELEMENT text - - (precond*, (%link;)*, (#PCDATA | text-alts | text | property |

%mathtxt; | %mathcon;)+, hotspot? ) -->

 

<!ELEMENT text-alts - O (text)+ >

<!ATTLIST text-alts

%a.node-alts; >

<!ELEMENT table - O (precond*, (%link;)*, rowhddef*, colhddef*, entry*) >

<!ATTLIST table

%a.node; >

<!ELEMENT table-alts - O (table)+ >

<!ATTLIST table-alts

%a.node-alts; >

<!ELEMENT rowhddef - O (%text;) >

<!ATTLIST rowhddef

id ID #IMPLIED

ref IDREF #CONREF

row NUTOKEN #REQUIRED >

<!ELEMENT colhddef - O (%text;) >

<!ATTLIST colhddef

id ID #IMPLIED

ref IDREF #CONREF

colnum NUTOKEN #REQUIRED >

<!ELEMENT entry - O ((%link;)* , ( %text; | %graphic;)) >

<!ATTLIST entry

id ID #IMPLIED

ref IDREF #CONREF

colnum NUTOKEN #REQUIRED

row NUTOKEN #REQUIRED >

<!ELEMENT graphic - O (precond*, (%link;)*, (%graphic;)+, assertion*) >

<!ATTLIST graphic

%a.node;

minsize NUTOKENS #IMPLIED --height and width in inches --

penshape CDATA #IMPLIED

penpatt CDATA #IMPLIED

transfrm NUTOKENS #IMPLIED

window NMTOKENS #IMPLIED >

<!ELEMENT graphic-alts - O (graphic)+ >

<!ATTLIST graphic-alts

%a.node-alts; >

<!ELEMENT grphprim - O (precond*, (%link;)*, (%text;)) >

<!ATTLIST grphprim

%a.node;

coding NOTATION (cgmchar | cgmbin | cgmclear | fax | faxtile | iges | bitmap) 'cgmbin'

minsize NUTOKENS #IMPLIED -- height and width in inches --

penshape CDATA #IMPLIED

penpatt CDATA #IMPLIED

transfrm NUTOKENS #IMPLIED

x-location NMTOKEN #IMPLIED

y-location NMTOKEN #IMPLIED

window NMTOKENS #IMPLIED

external-ptr ENTITY #IMPLIED

picid NUTOKEN #IMPLIED >

<!ELEMENT grphprim-alts - O (grphprim)+ >

<!ATTLIST grphprim-alts

%a.node-alts; >

<!ELEMENT audio - O (precond*, (%link;)*) >

<!ATTLIST audio

%a.node;

external-ptr ENTITY #REQUIRED >

<!ELEMENT audio-alts - O (audio+) >

<!ATTLIST audio-alts

%a.node-alts; >

<!ELEMENT video - O (precond*, (%link;)*) >

<!ATTLIST video

%a.node;

external-ptr ENTITY #REQUIRED >

<!ELEMENT video-alts - O (video+) >

<!ATTLIST video-alts

%a.node-alts; >

<!ELEMENT process - O (precond*, (%link;)*, parameter*) >

<!ATTLIST process

%a.node;

external-ptr ENTITY #REQUIRED >

<!ELEMENT process-alts - O (process+) >

<!ATTLIST process-alts

%a.node-alts;>

<!ELEMENT parameter - - (expression) >

<!ATTLIST parameter

mode (in | out | in-out) 'in' >

 

<!-- Dialog Elements -->

<!ELEMENT dialog - O (precond*, (%link;)*, (%text;)?, (%dialog; | fillin | menu | selection)+ ) >

<!ATTLIST dialog

%a.node;

agent CDATA #IMPLIED >

<!ELEMENT dialog-alts - O (dialog)+ >

<!ATTLIST dialog-alts

%a.node-alts; >

<!ELEMENT fillin - O ((%link;)*, prompt, property, (%text;)?, generic-range?) >

<!ATTLIST fillin

id ID #IMPLIED

ref IDREF #CONREF >

<!ELEMENT generic-range - - (set | sequence | num-range) >

<!ELEMENT num-range - - (low-bound, high-bound) >

<!ELEMENT low-bound - - (integer | real) >

<!ELEMENT high-bound - - (integer | real) >

<!ELEMENT menu - O ((%link;)*, prompt, choice+) >

<!ATTLIST menu

id ID #IMPLIED

ref IDREF #CONREF

select (single | multiple) 'single' >

<!ELEMENT prompt - O (%text; | %graphic;) >

<!ATTLIST prompt

id ID #IMPLIED

ref IDREF #CONREF >

<!ELEMENT choice - O ((%text; | %graphic;), (assertion+ | %dialog;) ) >

<!ATTLIST choice

id ID #IMPLIED

ref IDREF #CONREF

default (yes | no) 'no' >

<!ELEMENT selection - O (((%link;), (assertion+ | %dialog;))+,

(text | table | graphic)) >

<!ATTLIST selection

id ID #IMPLIED

ref IDREF #CONREF >

 

<!-- Context Filtering Elements -->

<!ELEMENT precond - O (expression) >

<!ATTLIST precond

id ID #IMPLIED

ref IDREF #CONREF >

<!ELEMENT postcond - O (assertion) >

<!ATTLIST postcond

id ID #IMPLIED

ref IDREF #CONREF >

<!ELEMENT expression - O ((expression, (%binop;), expression)

| ((%unop;), expression) | property | (%value;)) >

<!ATTLIST expression

id ID #IMPLIED

ref IDREF #CONREF >

<!ELEMENT assertion - O (property, expression) >

<!ATTLIST assertion

id ID #IMPLIED

ref IDREF #CONREF >

<!ELEMENT (eq, ne, lt, gt, le, ge, and, or, xor, concat,

substring, append, plus, minus, times, divide, idivide ) - O EMPTY >

<!ELEMENT (exponent, mod, union, intersect, set-diff, member, subset, disjoint, subsequence,

not, empty, size, head, tail, neg, trunc, float, undef, max, min) - O EMPTY >

<!ELEMENT add - O (index-value)? >

<!ELEMENT remove - O (index-value, index-value?)? >

<!ELEMENT index - O (index-value, index-value?) >

<!ELEMENT index-value - O (#PCDATA) >

<!ELEMENT property - O (#PCDATA) >

<!ATTLIST property

id ID #IMPLIED

ref IDREF #CONREF

type CDATA #REQUIRED

value-type CDATA 'general'

dialog-ref IDREF #IMPLIED >

<!ELEMENT (boolean, string, real, integer) - - (#PCDATA) >

<!ELEMENT (set, sequence) - - (%value;)* >

<!ELEMENT nil - O EMPTY >

 

<!-- DOCTYPE file [ -->

 

<!-- IETM CONTENT DATA MODEL 6.1

Content Specific DTD 15 March 1995. Created from 10 November 1993 version -->

 

<!-- ENTITY % MIL-D-87269-a PUBLIC "-//USA-DOD//DTD Content Data Model Generic Layer//EN" >

 

%MIL-D-87269-a; -->

 

<!-- Content Layer Entities -->

<!ENTITY % sub-prims "%text;|%table;|%graphic;|%audio;|%video;|%process;|%dialog;" >

<!ENTITY % system "system | system-alts" >

<!ENTITY % descinfo "descinfo | descinfo-alts" >

<!ENTITY % task "task | task-alts" >

<!ENTITY % reqcond "reqcond | reqcond-alts" >

<!ENTITY % input "input | input-alts" >

<!ENTITY % person "person | person-alts" >

<!ENTITY % equip "equip | equip-alts" >

<!ENTITY % refmat "refmat | refmat-alts" >

<!ENTITY % expend "expend | expend-alts" >

<!ENTITY % consum "consum | consum-alts" >

<!ENTITY % alert "alert | alert-alts" >

<!ENTITY % step "step | step-alts" >

<!ENTITY % follow-on "follow-on | follow-on-alts" >

<!ENTITY % partinfo "partinfo | partinfo-alts" >

<!ENTITY % partbase "partbase | partbase-alts" >

<!ENTITY % connection "connection | connection-alts" >

<!ENTITY % attach-part "attach-part | attach-part-alts" >

<!ENTITY % location "location | location-alts" >

<!ENTITY % faultinf "faultinf | faultinf-alts" >

<!ENTITY % test "test | test-alts" >

<!ENTITY % outcome "outcome | outcome-alts" >

<!ENTITY % fltstate "fltstate | fltstate-alts" >

<!ENTITY % fault "fault | fault-alts" >

<!ENTITY % rect "rect | rect-alts" >

<!ENTITY % para0 "para0 | para0-alts" >

 

<!-- Main Elements -->

<!ELEMENT file - - (version+, frame+ ) >

<!ATTLIST file

%a.root;

frametag CDATA #IMPLIED

title CDATA #IMPLIED

style CDATA #IMPLIED

help CDATA #IMPLIED

index CDATA #IMPLIED

hide (yhidepnl | nhidepnl) "nhidepnl"

loc (TOP | BTM | LFT | RGT) "RGT"

hgap NUMBER #IMPLIED

vgap NUMBER #IMPLIED

depth NUMBER #IMPLIED

ht NUMBER #IMPLIED

wt NUMBER #IMPLIED

xofs NUMBER #IMPLIED

yofs NUMBER #IMPLIED

domain CDATA #IMPLIED >

 

<!-- <!ELEMENT file - - (button | frame)+ >

<!ATTLIST file

frametag CDATA #IMPLIED

title CDATA #IMPLIED

style CDATA #IMPLIED

help CDATA #IMPLIED

index CDATA #IMPLIED

hide (yhidepnl | nhidepnl) "nhidepnl"

loc (TOP | BTM | LFT | RGT) "RGT"

hgap NUMBER #IMPLIED

vgap NUMBER #IMPLIED

depth NUMBER #IMPLIED

ht NUMBER #IMPLIED

wt NUMBER #IMPLIED

xofs NUMBER #IMPLIED

yofs NUMBER #IMPLIED

domain CDATA #IMPLIED >

-->

 

<!ELEMENT system - O (precond*, (%link;)*, (%system;)*,

(%descinfo;)*, (%task;)*, (%partinfo;)*,

(%faultinf;)* ) >

<!ATTLIST system

%a.node;

version IDREF #REQUIRED

status (u | a) 'a' >

<!ELEMENT system-alts - O (system)+ >

<!ATTLIST system-alts

%a.node-alts; >

<!ELEMENT version - O (%text;)? >

<!ATTLIST version

%a.node;

revision NMTOKEN #REQUIRED

revdate NUMBERS #REQUIRED

changeno NUMBER #REQUIRED

chgdate NUMBERS #REQUIRED

deleted NMTOKENS #IMPLIED >

 

<!-- Asynchronous elements -->

<!ENTITY % async "bold | undl | italic | sub | sup | symbol" >

<!ELEMENT bold - - (#PCDATA) -(bold) >

<!ELEMENT undl - - (#PCDATA) -(undl) >

<!ELEMENT italic - - (#PCDATA) -(italic) >

<!ELEMENT sub - - (#PCDATA) -(sub, sup) >

<!ELEMENT sup - - (#PCDATA) -(sup, sub) >

<!ELEMENT symbol - - (#PCDATA) -(symbol) >

<!-- Use the symbol tag around entities that are only

displayable by using the symbol font in your

stylesheet. -->

 

<!--Description Elements -->

<!ELEMENT descinfo - O (precond*, (%link;)*, para-seq+, postcond*) >

<!ATTLIST descinfo

%a.node;

version IDREF #REQUIRED

status (u | a) 'a' >

<!ELEMENT descinfo-alts - O (descinfo)+ >

<!ATTLIST descinfo-alts

%a.node-alts; >

<!ELEMENT para0 - O (precond*, (%link;)*, (%sub-prims;)+, para-seq?, postcond*) >

<!ATTLIST para0

%a.node;

version IDREF #REQUIRED

status (u | a) 'a' >

<!ELEMENT para0-alts - O (para0)+ >

<!ATTLIST para0-alts

%a.node-alts; >

<!ELEMENT para-seq - O (title*, (%descinfo; | para0 | para0-alts | if-para | loop-para)+) >

<!ATTLIST para-seq

%a.node-seq; >

<!ELEMENT if-para - O (expression, para-seq, para-seq?) >

<!ATTLIST if-para

%a.if-node; >

<!ELEMENT loop-para - O (assertion?, expression, assertion?, para-seq) >

<!ATTLIST loop-para

%a.loop-node; >

 

<!-- Task Elements -->

<!ELEMENT task - O (precond*, (%link;)*, (%input;)*, step-seq, (%follow-on;)*, postcond*) >

<!ATTLIST task

%a.node;

version IDREF #REQUIRED

status (u | a) 'a'

esttime NUTOKEN #IMPLIED

operability CDATA #IMPLIED

servicedes CDATA #IMPLIED >

<!ELEMENT task-alts - O (task)+ >

<!ATTLIST task-alts

%a.node-alts; >

<!ELEMENT input - O (precond*, (%link;)*, (%alert;)*, (%reqcond;)*, (%person;)+, (%refmat;)*,

(%equip;)*, (%expend;)*, (%consum;)* ) >

<!ATTLIST input

%a.node;

version IDREF #REQUIRED

status (u | a) 'a' >

<!ELEMENT input-alts - O (input)+ >

<!ATTLIST input-alts

%a.node-alts; >

<!ELEMENT reqcond - O (precond*, (%link;)*, (%text;)?, (expression, (%task; | %step;),

assertion*), postcond*) >

<!ATTLIST reqcond

%a.node;

version IDREF #REQUIRED

status (u | a) 'a' >

<!ELEMENT reqcond-alts - O (reqcond)+ >

<!ATTLIST reqcond-alts

%a.node-alts; >

<!ELEMENT refmat - O (precond*, (%link;)*, (%text;)? ) >

<!ATTLIST refmat

%a.node;

version IDREF #REQUIRED

status (u | a) 'a'

desig CDATA #REQUIRED >

<!ELEMENT refmat-alts - O (refmat)+ >

<!ATTLIST refmat-alts

%a.node-alts; >

<!ELEMENT expend - O (precond*, (%link;)*, (%partbase;)?, (%expend;)* ) >

<!ATTLIST expend

%a.node;

version IDREF #REQUIRED

status (u | a) 'a'

quantity NUTOKEN #REQUIRED >

<!ELEMENT expend-alts - O (expend)+ >

<!ATTLIST expend-alts

%a.node-alts; >

<!ELEMENT person - O (precond*, (%link;)*, (%text;)? ) >

<!ATTLIST person

%a.node;

version IDREF #REQUIRED

status (u | a) 'a'

quantity NUTOKEN #REQUIRED >

<!ELEMENT person-alts - O (person)+ >

<!ATTLIST person-alts

%a.node-alts; >

<!ELEMENT equip - O (precond*, (%link;)*, (%equip;)*, (%text;)?, (%partbase;)) >

<!ATTLIST equip

%a.node;

version IDREF #REQUIRED

status (u | a) 'a'

quantity NUTOKEN #REQUIRED >

<!ELEMENT equip-alts - O (equip)+ >

<!ATTLIST equip-alts

%a.node-alts; >

<!ELEMENT consum - O (precond*, (%link;)*, (%partbase;)?, (%consum;)* ) >

<!ATTLIST consum

%a.node;

version IDREF #REQUIRED

status (u | a) 'a'

govstd CDATA #IMPLIED

mfgcode CDATA #IMPLIED

milspec CDATA #IMPLIED

quantity NUTOKEN #REQUIRED

unit-of-measure NMTOKEN #IMPLIED >

<!ELEMENT consum-alts - O (consum)+ >

<!ATTLIST consum-alts

%a.node-alts; >

 

<!ELEMENT alert - O (para)+ >

<!ATTLIST alert

id ID #IMPLIED

idref IDREF #CONREF

type (warning|caution|note) "warning"

icon CDATA #IMPLIED >

 

<!ELEMENT para - O (#PCDATA) +(%async;) >

 

<!--ELEMENT alert - O (precond*, (%link;)*, (%text;)+, (%graphic;)* ) -->

<!--ATTLIST alert

%a.node;

version IDREF #REQUIRED

status (u | a) 'a' -->

 

<!ELEMENT alert-alts - O (alert)+ >

<!ATTLIST alert-alts

%a.node-alts; >

<!ELEMENT step - O (precond*, (%link;)*, (%alert;)*, (%sub-prims;)*, step-seq?, postcond* ) >

<!ATTLIST step

%a.node;

version IDREF #REQUIRED

status (u | a) 'a'

esttime NUTOKEN #IMPLIED >

<!ELEMENT step-alts - O (step)+ >

<!ATTLIST step-alts

%a.node-alts; >

<!ELEMENT step-seq - O (title*, (step | step-alts | if-step | loop-step | task | task-alts)+ ) >

<!ATTLIST step-seq

%a.node-seq; >

<!ELEMENT if-step - O (expression, step-seq, step-seq?) >

<!ATTLIST if-step

%a.if-node; >

<!ELEMENT loop-step - O (assertion?, expression, assertion?, step-seq) >

<!ATTLIST loop-step

%a.loop-node; >

<!ELEMENT follow-on - O (precond*, (%link;)*, (%text;)?, (expression, (%task; | %step;),

assertion*), postcond* ) >

<!ATTLIST follow-on

%a.node;

version IDREF #REQUIRED

status (u | a) 'a' >

<!ELEMENT follow-on-alts - O (follow-on)+ >

<!ATTLIST follow-on-alts

%a.node-alts; >

 

<!-- Parts Information -->

<!ELEMENT partinfo - O (precond*, (%link;)*, (%partinfo;)*, (%partbase;)+, (%connection;)*,

(%attach-part;)*, (%text;)?, (%graphic;)*, (%location;)* ) >

<!ATTLIST partinfo

%a.node;

version IDREF #REQUIRED

status (u | a) 'a'

indexnum NUTOKENS #IMPLIED

lru NUTOKEN #IMPLIED

mtbf CDATA #IMPLIED

refdes NMTOKEN #IMPLIED

unitsper NUTOKEN #IMPLIED

usablon NUTOKENS #IMPLIED

wuc CDATA #IMPLIED >

<!ELEMENT partinfo-alts - O (partinfo)+ >

<!ATTLIST partinfo-alts

%a.node-alts; >

<!ELEMENT partbase - O (precond*, (%link;)*, (%partbase;)*, (%text;)?, (%location;)* ) >

<!ATTLIST partbase

%a.node;

version IDREF #REQUIRED

status (u | a) 'a'

cage NUTOKENS #REQUIRED

fsc CDATA #REQUIRED

partnum CDATA #REQUIRED

smr CDATA #REQUIRED

nsn CDATA #IMPLIED

pmic CDATA #IMPLIED

replvl CDATA #IMPLIED

cac NUTOKEN #IMPLIED

qpei NUTOKEN #IMPLIED

hci (Y1 | N1) "N1"

lox (Y2 | N2) "N2"

esds (Y3 | N3) "N3"

qec (Y4 | N4) "N4"

magnetic (Y5 | N5) "N5"

procure (Y6 | N6) "N6" >

<!ELEMENT partbase-alts - O (partbase)+ >

<!ATTLIST partbase-alts

%a.node-alts; >

<!ELEMENT connection - O (precond*, (%link;)*, (%partinfo;)+ ) >

<!ATTLIST connection

%a.node;

version IDREF #REQUIRED

status (u | a) 'a' >

<!ELEMENT connection-alts - O (connection)+ >

<!ATTLIST connection-alts

%a.node-alts; >

<!ELEMENT attach-part - O (precond*, (%link;)*, (%partinfo;)+ ) >

<!ATTLIST attach-part

%a.node;

version IDREF #REQUIRED

status (u | a) 'a' >

<!ELEMENT attach-part-alts - O (attach-part)+ >

<!ATTLIST attach-part-alts

%a.node-alts; >

<!ELEMENT location - O (precond*, (%link;)*) >

<!ATTLIST location

%a.node;

version IDREF #REQUIRED

status (u | a) 'a'

location-x NUTOKENS #IMPLIED

location-y NUTOKENS #IMPLIED

location-z NUTOKENS #IMPLIED >

<!ELEMENT location-alts - O (location)+ >

<!ATTLIST location-alts

%a.node-alts; >

<!ELEMENT faultinf - O (precond*, (%link;)*, (%test;)+, (%fault;)* ) >

<!ATTLIST faultinf

%a.node;

version IDREF #REQUIRED

status (u | a) 'a' >

<!ELEMENT faultinf-alts - O (faultinf)+ >

<!ATTLIST faultinf-alts

%a.node-alts; >

<!ELEMENT test - O (precond*, (%link;)*, (%task;), (%outcome;)+ ) >

<!ATTLIST test

%a.node;

version IDREF #REQUIRED

status (u | a) 'a'

agent CDATA #IMPLIED

range CDATA #IMPLIED >

<!ELEMENT test-alts - O (test)+ >

<!ATTLIST test-alts

%a.node-alts; >

<!ELEMENT outcome - O (precond*, (%link;)*, expression, ((%fltstate;) | ((%test; | %fault;),

(%fltstate;)? ) ) ) >

<!ATTLIST outcome

%a.node;

version IDREF #REQUIRED

status (u | a) 'a' >

<!ELEMENT outcome-alts - O (outcome)+ >

<!ATTLIST outcome-alts

%a.node-alts; >

<!ELEMENT fltstate - O (precond*, (%link;)*, (%fault;)+ ) >

<!ATTLIST fltstate

%a.node;

version IDREF #REQUIRED

status (u | a) 'a'

weight NUTOKENS #IMPLIED >

<!ELEMENT fltstate-alts - O (fltstate)+ >

<!ATTLIST fltstate-alts

%a.node-alts; >

<!ELEMENT fault - O (precond*, (%link;)*, (%rect; | %fltstate; )+,

(%system;)+ ) >

<!ATTLIST fault

%a.node;

version IDREF #REQUIRED

status (u | a) 'a'

mtbf CDATA #IMPLIED >

<!ELEMENT fault-alts - O (fault)+ >

<!ATTLIST fault-alts

%a.node-alts; >

<!ELEMENT rect - O (precond*, (%link;)*, (%task;)+, (%fault;)+, (%system;), (%test;)* ) >

<!ATTLIST rect

%a.node;

version IDREF #REQUIRED

status (u | a) 'a'

action (swap | maint) #REQUIRED

agent CDATA #IMPLIED >

<!ELEMENT rect-alts - O (rect)+ >

<!ATTLIST rect-alts

%a.node-alts; >

 

 

<!-- Frame elements from IADS DTD -->

 

 

<!ELEMENT frame - O ( (%system;)+| idxcls | contcls | struccls)

+(button, hotspot, bold) >

<!ATTLIST frame

%a.node

label CDATA #REQUIRED

title CDATA #IMPLIED

help CDATA #IMPLIED

showno (yshowno | nshowno) "yshowno"

hidemenu (yhidmnu | nhidmnu) "nhidmnu"

next CDATA #IMPLIED

previous CDATA #IMPLIED

style CDATA #IMPLIED

index CDATA #IMPLIED

image CDATA #IMPLIED

hide (yhidepnl | nhidepnl) "nhidepnl"

loc (TOP | BTM | LFT | RGT) "RGT"

hgap NUMBER #IMPLIED

vgap NUMBER #IMPLIED

depth NUMBER #IMPLIED

ht NUMBER #IMPLIED

wt NUMBER #IMPLIED

xofs NUMBER #IMPLIED

yofs NUMBER #IMPLIED >

 

<!ELEMENT button - O EMPTY >

<!ATTLIST button

pos NUMBER #REQUIRED

show (nshow | yshow) "yshow"

label CDATA #IMPLIED

type (msg | frame | pic | next | prev | note | exit

| program | search | index | help | bookmark

| report | print | back) "msg"

link CDATA #IMPLIED

bitmap (ybitmap | nbitmap) "nbitmap"

bitfile CDATA #IMPLIED >

 

<!ELEMENT hotspot - - (#PCDATA | action)+ -(hotspot)>

<!ELEMENT action - - CDATA >

 

<!ELEMENT tmno - - (#PCDATA)

+(%async;) >

 

 

<!ELEMENT idxcls - - (title?, para*, (illusndx | tablendx

| tocndx | viewndx | randlist | seqlist), graphic*)>

<!ATTLIST idxcls

tmno CDATA #IMPLIED >

<!ELEMENT contcls - - (brkboxu | desc | dimentbl | errormsg | errorrpt

| glossary | howtouse | icdtbl | idinfo | initcond

| maint | mtoetb | mntalloc | notice | oper | pmcstab

| refdestb | requirtb | safesum | signal | subj

| subtask | suplytab | task | theory | tooleqp

| torqtbl | troblsht | tstpoint )>

<!ATTLIST contcls

tmno CDATA #IMPLIED >

<!ELEMENT struccls - - (book | package | appendix )>

<!ATTLIST struccls

tmno CDATA #IMPLIED >

 

<!ELEMENT title - - (#PCDATA) +(%async;) >

<!ATTLIST title

titleid CDATA #IMPLIED >

 

<!ELEMENT subtitle - - (#PCDATA) +(%async;)>

 

]>

 

 

Appendix F:  AUTOMATED TAGGING SCRIPTS

   
[ Previous ]     [ Home ]

 

#####################################################################################

# File: inspec.ins

# Developed by: Linda King

# Bart Spearen

# Purpose: This file was created for the Avalanche FastTAG version 2.4 to convert and tag

# the technical manual TM 11-5855-238-24&P Night Vision Goggles to an Interactive

# Electronic Technical Manual. This work was done under Task 8 of the DOD CALS IDE

# Project.

#

#####################################################################################

 

# INSPEC file for testing FastTag

 

 

name: default_runtxt # call it this if nothing else matches

name: default_table # call this is a table object is found

category: table

 

name: chap_heading1 # 'Chapter' title heading

title exists: Y

title attributes: all caps

body exists: N

 

name: chap_heading2 # sub chapter title heading

minimum number of lines before: 1

title attributes: all caps

body exists: N

 

name: sect_heading1 # 'Section' title header object

keyword: /Section/

maximum number of lines: 1

minimum number of lines before: 1

 

name: sect_heading2 # sub section title header object

title exists: Y

number: /[0-9]+\-[0-9]+\.#/

title form: /.*#/

maximum number of lines: 2

minimum number of lines before: 1

 

name: bullets # bullet object

first line indent: 5-15

minimum number of lines before: 1

minimum number of lines: 1

 

name: paragraphs # paragraph object

alignment: L

minimum number of lines before: 1

minimum number of lines: 1

 

name: steps # step object

keyword: /\(/

number: /[0-9]+/

body exists: Y

first line indent: 5-20

minimum number of lines before: 1

 

name: caution # CAUTION object

keyword: /CAUTION/

body exists: Y

 

name: warning # WARNING object

keyword: /WARNING/

body exists: Y

 

name: note # NOTE object

keyword: /NOTE/

body exists: Y

 

 

#####################################################################################

# File: louis.lou

# Developed by: Linda King

# Bart Spearen

# Purpose: This file was created for the Avalanche FastTAG version 2.4 to convert and tag

# the technical manual TM 11-5855-238-24&P Night Vision Goggles to an Interactive

# Electronic Technical Manual. This work was done under Task 8 of the DOD CALS IDE

# Project.

#

#####################################################################################

 

# LOUISE file for Running Test

 

start # Places tags needed in front of document and initializes variables needed in other functions below

{

printline "<file id = 'goggles'>";

printline "<version id='rev1' revision='chg1' revdate='041696' changeno='01' chgdate='041696'>";

printline;

s = 0;

sect = 0;

p = 0;

task = 0;

step = 0;

linecount = 0;

noteid = 0;

cautionid = 0;

warningid = 0;

section_number = 0;

section_title = "";

put_para_frame = @insert_para_frame;

}

default_runtxt # Used if an object of text is undefined

{

printline;

print "#########";

OUTPUT BODY;

printline "#########";

printline;

}

default_table # Used if an object is defined as an table

{

printline;

printline "/*****TABLE*********/";

printline "/*****TABLE*********/";

printline;

}

chap_heading1 # places the title defined in comment quotes for the SGML parser

{

print "<!-- ";

OUTPUT TITLE;

print " --> ";

printline;

}

chap_heading2 # places the body defined in comment quotes for the SGML parser

{

print "<!-- ";

OUTPUT BODY;

print " --> ";

printline;

}

sect_heading1 # Used if a new section object is found

{

frame_title = substr(KEYWORD, 1, length(KEYWORD));

frame_body = substr(BODY, 1, length(BODY));

if(match(BODY, /[Tt][Rr][Oo][Uu][Bb]/) < 20 && match(BODY, /[Tt][Rr][Oo][Uu][Bb]/) != 0)

task = 1; # Checks to see if the phrase 'troub' is found within the body object

IF (s == 1 && task == 0) # Section already defined and 'troub' is not found

{

sect = sect + 1;

printline "</para-seq></descinfo>"; # close current section frame

printline "</system></frame>";

linecount = 5;

printline;

printline "<frame id='sect" | sect | "' label='sect" | sect | "' "; # start new frame

print "title=' ";

OUTPUT KEYWORD;

print " ";

OUTPUT BODY;

print " ' style='frame.sty'> ";

printline "<system id='iads" |sect| "' version='rev1'>";

printline;

print "<descinfo version='rev1'> ";

p = 0;

}

ELSE IF(s == 0 && task == 0) # No section defined yet and 'troub' is not found

{

sect = sect + 1;

printline "<frame id='sect" | sect | "' label='sect" | sect | "' "; # start new frame

print " title=' ";

OUTPUT KEYWORD;

print " ";

OUTPUT BODY;

print " ' style='frame.sty'>";

printline "<system id='iads" |sect| "' version='rev1'>";

printline;

print "<descinfo version='rev1'> ";

s = 1;

p = 0;

}

ELSE IF(s == 1 && task == 1) # Section already defined and 'troub' found

{

sect = sect + 1;

printline "</step-seq></task>"; # Close current frame

printline "</system></frame>";

printline;

linecount = 5;

printline "<frame id='sect" | sect | "' label='sect" | sect | "' "; # Start new frame

print "title=' ";

OUTPUT KEYWORD;

print " ";

OUTPUT BODY;

print " ' style='frame.sty'> ";

printline "<system id='iads" |sect| " ' version='rev1'>";

printline;

print "<task version='rev1'> ";

p = 0;

}

ELSE IF(s == 0 && task == 1) # Section is not defined and 'troub' is found

{

sect = sect + 1;

printline "<frame id='sect" | sect | "' label='sect" | sect | "' "; # Start new frame

print " title=' ";

OUTPUT KEYWORD;

print " ";

OUTPUT BODY;

print " ' style='frame.sty'>";

printline "<system id='iads" |sect| "' version='rev1'>";

printline;

print "<task version='rev1'>";

s = 1;

p = 0;

}

linecount = linecount + LINE_COUNT;

}

sect_heading2 #Used if within a section and an paragraph object is defined

{

IF (p == 1 && task == 0) # If paragraph is defined and not in a troubleshooting section

{

printline "</para-seq>"; #close current paragraph sequence

printline;

printline "<para-seq>"; #start new paragraph sequence

}

ELSE IF(p == 0 && task == 0) #if paragraph is not defined and not in a troubleshooting section

{

printline "<para-seq>"; #Start new paragraph sequence

p = 1;

}

ELSE IF(p == 1 && task == 1) # if paragraph is defined and in a troubleshooting section

{

printline "</step-seq>"; # close current paragraph sequence

printline;

printline "<step-seq>"; #start new paragraph sequence

}

ELSE IF(p == 0 && task == 1) #if paragraph is not defined and in a troubleshooting section

{

printline "<step-seq>"; #start new paragraph sequence

p = 1;

}

printline "<title>"; # place these tags in all sequences

OUTPUT NUMBER;

print " ";

OUTPUT TITLE;

print "</title> ";

printline;

linecount = linecount + LINE_COUNT;

section_title = substr(TITLE, 1, length(TITLE));

if(NUMBER == 0)

section_number = 1;

else

section_number = substr(NUMBER, 1, length(NUMBER));

}

bullets #Used if bullets are found in the text

{

linecount = linecount + LINE_COUNT;

IF(task != 0) # Is the text in a troubleshooting section?

{

print "<step version='rev1'><text>";

OUTPUT BODY;

printline "</text></step> ";

}

ELSE

{

print "<para0 version='rev1'><text>";

OUTPUT BODY;

printline "</text></para0> ";

}

printline;

IF(linecount >= 25)

call $put_para_frame;

}

paragraphs # Used for single paragraphs

{

if(task == 0) # Is the text in a troubleshooting section?

{

print "<para0 version='rev1'><text>";

OUTPUT BODY;

printline "</text></para0> ";

}

else

{

print "<step version='rev1'><text>";

OUTPUT BODY;

printline "</text></step> ";

}

printline;

linecount = linecount + LINE_COUNT;

if(linecount >= 25)

call $put_para_frame;

}

note #Used for notes

{

noteid = noteid + 1;

print "<!-- ";

OUTPUT KEYWORD;

print " --> ";

print "<step version='rev1'> <alert type = 'note' id = 'noteid" | noteid | "'> <para> ";

OUTPUT BODY;

print "</para> </alert> </step>";

}

warning #Used for warnings

{

warningid = warningid + 1;

print "<!-- ";

OUTPUT KEYWORD;

print " --> ";

print "<step version='rev1'> <alert type = 'warning' id = 'warningid" |warningid|"'> <para> ";

OUTPUT BODY;

print "</para> </alert> </step>";

}

caution # Used for cautions

{

cautionid = cautionid + 1;

print "<!-- ";

OUTPUT KEYWORD;

print " --> ";

print "<step version='rev1'> <alert type = 'caution' id = 'cautionid"|cautionid|"'> <para> ";

OUTPUT BODY;

print "</para> </alert> </step>";

}

steps # Used in numbered steps are found

{

printline;

if(task ==1) #In a troubleshooting section?

{

print " <step version='rev1'> <text>";

OUTPUT KEYWORD;

OUTPUT NUMBER;

OUTPUT BODY;

print "</text> </step>";

}

else if(task == 0)

{

print "<para0 version='rev1'><text>";

OUTPUT KEYWORD;

OUTPUT NUMBER;

OUTPUT BODY;

printline "</ text></para0> ";

}

printline;

linecount = linecount + LINE_COUNT;

if(linecount >= 25)

call $put_para_frame;

}

finish #Used when finishing off a file

{

if(task == 0) #In a troubleshooting section??

{

printline "</para-seq> ";

printline "</descinfo>";

}

else

{

printline "</step-seq> ";

printline "</task>";

}

printline "</system>";

printline "</frame>";

printline "</file> ";

}

 

insert_para_frame #Used when the linecount of a frame exceeds a line limit (currently 25)

{

sect = sect + 1;

if(task == 1) #In a troubleshooting section??

{

printline;

printline "<step version = 'rev1'><text><bold> Continue . . . </bold> </text></step>";

printline "</step-seq></task>"; #End current frame

printline "</system></frame>";

printline;

printline "<frame id = 'sect" |sect| "' label = 'sect" |sect| "' "; #Start new frame

printline "title=' " |frame_title| " " |frame_body| " ' style='frame.sty'> ";

printline "<system id = 'iads" |sect| "' version = 'rev1'>";

printline;

printline "<task version = 'rev1' > <step-seq>";

printline "<title> " | section_number | " " | section_title | " (cont.) </title>";

}

else

{

printline;

printline "<para0 version='rev1'><text><bold> Continued . . . . </bold></text></para0>";

printline "</para-seq></descinfo>";

printline "</system></frame>";

printline;

printline "<frame id = 'sect" |sect| "' label = 'sect" |sect| "' ";

print "title=' " |frame_title| " " |frame_body| " ' style='frame.sty'> ";

printline "<system id = 'iads" |sect| "' version = 'rev1'>";

printline;

printline "<descinfo version = 'rev1' > <para-seq>";

printline "<title> " | section_number | " " | section_title | " (cont.) </title>";

}

linecount = 1;

}

 

 

//*******************************************************************

// File Name: tagging.cpp

// Developers: Bart Spearen

// Linda King

// Purpose: This is a conversion script that will identify phrases in

// an ASCII text file and place SGML start and end 'hotspot' tags

// around the phrases.

// Date: 5/14/96

//*******************************************************************

 

#include <stdio.h>

#include <iostream.h>

#include <string.h>

#include <malloc.h>

 

// Global Character Strings

char HOTSPOT_TAG[] = "<hotspot>";

char BEGIN_TAGS[] = "<action><?display ";

char PICTURE[] = "picture= \"";

char END_PICTURE[] = ".pic\">";

char TEXT[] = "text= \"";

char END_TEXT[] = "\">";

char FRAME[] = "!";

char FRAME_END[] = "\.ide!";

char END_TAGS[] = "</action></hotspot>";

 

// Enumerations

enum Bool {FALSE, TRUE};

typedef enum {PIC, TXT, FRM} Type;

 

// Prototypes

void vPlaceBeginTags(FILE *, char cString[], char *, int );

void vPlaceMiddleTags(FILE *, char cString[], Type, char *);

void vPlaceEndTags(FILE *, char cRight[]);

 

void main()

{

FILE *fInput = NULL, *fOutput = NULL;

char cInput_Name[80], *cOutput_Name = NULL, *cPath = NULL, charac;

char cLeft[] = "(", cRight[] = ")";

char cString[80], *cString_Found, *point;

char cFig[] = "fig", cApp[] = "app", cPara[] = "para";

int j = 0;

Bool Path_Found = FALSE;

 

memset(cString, NULL, 80); // Setting memory to NULL

memset(cInput_Name, NULL, 80);

 

cout << "File name: \n"; // Asking user for input file name

gets(cInput_Name);

 

if((fInput = fopen(cInput_Name, "r")) != NULL) //Open input file

{

if((cOutput_Name = (char *)calloc(1, strlen(cInput_Name)+ 1)) != NULL) // allocate memory for output file name

{

strcpy(cOutput_Name, cInput_Name); // Copy input file name so that

cPath = cOutput_Name; // a similar output name can be

// constructed below.

while(j++ < strlen(cOutput_Name))

cPath++;

 

j = 0;

while(j < strlen(cOutput_Name) ) // Looking for path.....

{

if(strncmp(cPath, "\\", 1) == 0 )

{

memset(cPath + 1, '_', 1);

Path_Found = TRUE;

break;

}

else

cPath--;

 

j++;

}

 

if(!Path_Found) // No path found change name

memset(cPath, '_', 1);

 

j = 0;

}

if((fOutput = fopen(cOutput_Name, "w")) != NULL) // open output file

{

while(!feof(fInput))

{

charac = getc(fInput);

if(!feof(fInput))

{

if((strncmp(&charac, "a", 1) == 0) || // Looking for the letter 'A'

(strncmp(&charac, "A", 1) == 0))

{

j = 1;

memset(cString, NULL, 80);

memset(cString, charac, 1);

while((strpbrk(cString," ") == NULL) && j < 80) // Looking for the first space after the letter 'A'

cString[j++] = getc(fInput); // Copying phrase

 

if(((cString_Found = strstr(cString, "Appen")) == cString) || // checking to see

((cString_Found = strstr(cString, "appen")) == cString)) // if phrase copied is 'appen'

{

cString[j++] = getc(fInput);

while((strpbrk(cString," ") == NULL) && j < 80) // Looking for next space after word that starts with 'appen'

cString[j++] = getc(fInput);

 

vPlaceBeginTags(fOutput, cString, cString_Found, 0); // Place beginning tags

vPlaceMiddleTags(fOutput, cString, FRM, cApp); // Place middle tags

vPlaceEndTags(fOutput, NULL); // Place end tags

}

else

fputs(cString, fOutput);

}

else if((strncmp(&charac, "f", 1) == 0) || // Looking for the letter 'F'

(strncmp(&charac, "F", 1) == 0))

{

j = 1;

memset(cString, NULL, strlen(cString));

memset(cString, charac, 1);

while((strpbrk(cString," ") == NULL) && j < 80) // finding the first space after the letter

cString[j++] = getc(fInput); // copying everthing between letter and space

 

if(((cString_Found = strstr(cString, "figu")) == cString) || // checking for the phrase 'figu'

((cString_Found = strstr(cString, "Figu")) == cString))

{

cString[j++] = getc(fInput);

while((strchr(&cString[j - 1], ' ') == NULL) && j < 80) // Looking for the first space after

cString[j++] = getc(fInput); // the next phrase after the phrase 'figu'

 

cString[strlen(cString) - 1] = NULL;

vPlaceBeginTags(fOutput, cString, cString_Found, 0); // place beginning tags

vPlaceMiddleTags(fOutput, cString, PIC, cFig); // place middle tags

vPlaceEndTags(fOutput, NULL); // place end tags

}

else

fputs(cString, fOutput);

}

else if(strncmp(&charac, cLeft, 1) == 0) // Looking for '('

{

putc(charac, fOutput);

j = 1;

memset(cString, NULL, 80);

memset(cString, charac, 1);

while((strpbrk(cString,cRight) == NULL) && j < 80) // Looking for ')' within 80 characters of '('

cString[j++] = getc(fInput);

 

if((cString_Found = strstr(cString, cFig)) != NULL) // Looking for 'fig'

{

vPlaceBeginTags(fOutput, cString, cString_Found, 1);

vPlaceMiddleTags(fOutput, cString, PIC, cFig);

vPlaceEndTags(fOutput, cRight);

}

else if((cString_Found = strstr(cString, cApp)) != NULL) // Looking for 'app'

{

vPlaceBeginTags(fOutput, cString, cString_Found, 1);

vPlaceMiddleTags(fOutput, cString, FRM, cApp);

vPlaceEndTags(fOutput, cRight);

}

else if((cString_Found = strstr(cString, cPara)) != NULL) // Looking for 'para'

{

vPlaceBeginTags(fOutput, cString, cString_Found, 1);

vPlaceMiddleTags(fOutput, cString, TXT, cPara);

vPlaceEndTags(fOutput, cRight);

}

else

{

point = &cString[1];

fputs(point, fOutput);

}

}

else

putc(charac, fOutput);

}

}

fclose(fOutput); // closing output file

}

else

cout << "ERROR Output";

 

fclose(fInput); // closing input file

}

else

cout << "ERROR Input";

 

if(cOutput_Name) // freeing memory

{

memset(cOutput_Name, NULL, strlen(cOutput_Name));

free(cOutput_Name);

}

point = NULL;

memset(cInput_Name, NULL, 80);

cString_Found = NULL;

memset(cString, NULL, 80);

}

 

 

//*********************************************************

// Function: vPlaceBeginTags

// Arguments: Out (FILE *) - pointer to Output file

// text[] (char) - character array of entire phrase

// Found (char *) - character pointer to phrase to be found

// index (int ) - tells what position of text[] to copy to file

// Returns: Void

//*********************************************************

void vPlaceBeginTags(FILE *Out, char text[], char *Found, int index)

{

if(index != 0)

text[strlen (text) - 1] = NULL;

 

while((text + index) != Found)

putc(text[index++], Out);

 

fputs(HOTSPOT_TAG, Out);

fputs(&text[index], Out);

fputs(BEGIN_TAGS, Out);

}

//**********************************************************

//*********************************************************

// Function: vPlaceEndTags

// Arguments: Out (FILE *) - pointer to Output file

// cRight[] (char) - character to be placed at end of phrase

// Returns: Void

//*********************************************************

void vPlaceEndTags(FILE *Out, char cRight[])

{

fputs(END_TAGS, Out);

fputs(cRight, Out);

}

//***********************************************************

//*********************************************************

// Function: vPlaceMiddleTags

// Arguments: Out (FILE *) - pointer to Output file

// cString[] (char) - inner phrase string found from breaking down bigger string

// type (Type) - Tells what type of phrase that is found

// text (char *) - string passed that is determined by type of phrase found

// Returns: Void

//*********************************************************

void vPlaceMiddleTags(FILE *Out, char cString[], Type type, char *text)

{

char *point;

 

switch (type) {

case PIC: // 'Picture' phrase found

fputs(PICTURE, Out);

fputs(text, Out);

point = strrchr(cString, ' ');

fputs(++point, Out);

fputs(END_PICTURE, Out);

break;

case TXT: // 'Appendix' phrase found

fputs(TEXT, Out);

fputs(text, Out);

point = strrchr(cString, ' ');

fputs(++point, Out);

fputs(END_TEXT, Out);

break;

case FRM:

fputs(TEXT, Out); // 'para' phrase found

fputs(FRAME, Out);

fputs(text, Out);

point = strrchr(cString, ' ');

fputs(++point, Out);

fputs(FRAME_END, Out);

fputs(text, Out);

fputs(point, Out);

fputs(END_TEXT, Out);

break;

default:

break;

}

}

 

 

 

 

   
[ Previous ]     [ Home ]

 


This page is hosted on a ManTech West Virginia Technology Applications Operations Center server.
by Alex Gabel/jpb 
Copyright ©1996, 1998 CALS IDE Virtual Enterprise