WO1998033127A1 - Document markup language and system and method for generating and displaying documents therein - Google Patents

Document markup language and system and method for generating and displaying documents therein Download PDF

Info

Publication number
WO1998033127A1
WO1998033127A1 PCT/US1998/001763 US9801763W WO9833127A1 WO 1998033127 A1 WO1998033127 A1 WO 1998033127A1 US 9801763 W US9801763 W US 9801763W WO 9833127 A1 WO9833127 A1 WO 9833127A1
Authority
WO
WIPO (PCT)
Prior art keywords
dde
ofthe
href
text
twk
Prior art date
Application number
PCT/US1998/001763
Other languages
French (fr)
Inventor
Ronald E. Fortin
Louis R. Bershad
Brian T. Brady
Original Assignee
Mesa Systems Guild, Inc.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mesa Systems Guild, Inc. filed Critical Mesa Systems Guild, Inc.
Priority to AU62566/98A priority Critical patent/AU6256698A/en
Priority to EP98904769A priority patent/EP0954803A1/en
Priority to CA002278659A priority patent/CA2278659A1/en
Publication of WO1998033127A1 publication Critical patent/WO1998033127A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/103Formatting, i.e. changing of presentation of documents
    • G06F40/106Display of layout of documents; Previewing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/103Formatting, i.e. changing of presentation of documents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/14Tree-structured documents
    • G06F40/143Markup, e.g. Standard Generalized Markup Language [SGML] or Document Type Definition [DTD]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting

Definitions

  • the present invention is related to the generation and processing of documents in a markup language.
  • Markup languages such as the standard generalized markup language (SGML), and variants thereof, have been used previously in electronic publishing.
  • markup language elements include tags and their content, such as text, graphics, pointers to other documentary or other media.
  • Tags may include start tags, end tags, or empty tags.
  • a start tag begins a markup element.
  • An end tag ends the corresponding markup element.
  • start and end tags generally define the boundaries of an element.
  • An empty tag is understood as being both a start and an end tag with no content.
  • HTML hypertext markup language
  • HTML hypertext markup language
  • Other markup languages include the virtual reality modeling language (VRML) and HyTime, among other markup languages.
  • Markup languages generally have been used to define the structure of electronic documents. When graphics are used within these documents, they are imported into such documents by using a tag, such as the " ⁇ IMG>" tag in HTML. This tag uses a reference to a data file in some graphic file format to import the image data. Additionally, such markup languages typically have a mechanism to provide a hypertext link from a location in one document to a location in another document.
  • HTML Hypertext link
  • HTML graphics require an image file already to be created. The entire image is displayed.
  • HTML browsers generally do not allow selective viewing of only a portion of an image or otherwise allow a browser to "zoom" in and out on an image.
  • these HTML documents contain static content, and when updated, need to be reloaded from a server.
  • updated HTML documents need to be created manually and deposited in server directories, creating additional work for a document administrator.
  • the present invention uses a markup language that defines elements which improve the ability of users to view more complex documents, particularly graphical documents, such as those based on data generated by computer-aided design, computer-aided software engineering, or other data modeling tools. Further, one embodiment ofthe present invention allows a display of an electronic document to dynamically change in response to user input. Accordingly, one aspect ofthe present invention is an electronically published document containing descriptive markup defining several tags. These tags define elements which are interpreted to define a diagram containing a plurality of layers. Each layer contains several graphical objects. An object may have associated with it a menu of actions or hypertext links.
  • Another aspect ofthe invention is a computer system or computer-implemented process which processes such an electronically published document and generates on a computer display the diagram defined by the descriptive markup.
  • Elements ofthe electronic document are instantiated as objects which may be responsive to user input. These objects may be graphics objects which respond to events received from the user through the computer system. The different layers ofthe document may be displayed selectively. Also, the view of the diagram may change using a zoom function, or it may be refreshed, i.e., redisplayed, or the electronically published document may be reloaded and reprocessed.
  • One or more objects may be selected. Selection of objects may invoke a display of a menu of selectable actions which are associated with that object. These actions may include one or more hypertext links.
  • Another aspect ofthe invention is a computer system for generating and displaying electronically published documents having a plurality of markup elements, the computer system comprising a display configured to display an input electronic document to a user and a processor which processes the input electronic document and generates a first image on the display ofthe computer system on the basis ofthe plurality of markup elements, wherein the processor is responsive to an input ofthe user to generate a second image ofthe input electronic document based on the user input.
  • the processor instantiates a first object corresponding to at least one ofthe plurality of markup elements.
  • at least one ofthe plurality of markup elements is a graphics element.
  • the processor instantiates an object corresponding to the graphics element.
  • Another aspect ofthe invention is a computer system wherein the processor instantiates a parser object configured to parse the input electronic document.
  • the processor instantiates a second object having a defined relation to the first object and is adapted to change a representation of the second object when a representation ofthe first object is changed.
  • the processor instantiates a view handler object that responds to user input.
  • the processor instantiates a parser object configured to parse the input electronic document and wherein the processor instantiates a diagram object based on the plurality of markup elements.
  • the diagram object includes a plurality of shape objects which represent graphic markup elements.
  • the diagram object includes a plurality of layers with which are associated each of the plurality of shape objects.
  • the processor is adapted to a display one or more ofthe plurality of layers.
  • selection of a graphics object by a user invokes a menu of selectable actions.
  • a computer system wherein one or more ofthe selectable actions have an associated link to another input electronic document.
  • the first object is responsive to the user input and wherein the processor generates an updated display ofthe first object based on the user input.
  • Another aspect ofthe invention is a computer system wherein the first object is associated with a graphics element, and is responsive to a function and wherein the function provides the updated display is different than an original display ofthe first object.
  • Another aspect ofthe invention is computer system wherein the processor instantiates a second graphics object having a defined relation to the first graphics object and is adapted to change a representation ofthe second graphics object when the original display is updated.
  • another aspect ofthe present invention is an electronically published document comprising a computer readable medium with computer logic stored thereon and defining descriptive markup defining several tags, wherein each tag defines an element, wherein an element is interpreted to define a diagram containing a plurality of layers, wherein each layer contains several graphical objects, and wherein each object may have associated therewith a menu of actions or hypertext links.
  • Another aspect ofthe invention is a computer system or computer-implemented process which processes such an electronically published document and generates on a computer display the diagram defined by the descriptive markup, wherein the different layers ofthe document are displayed selectively.
  • another aspect ofthe invention is a computer-readable medium having computer-readable logic stored therein defining a data structure for representing an electronic document, the data structure comprising means defining the electronic document as a plurality of markup elements defining a first one ofthe plurality of markup elements wherein the one includes an attribute expressing an inheritance relation to a second element that is at a same hierarchical level as the first one.
  • Another aspect ofthe invention is a computer-readable medium wherein the one of the plurality of markup elements may be instantiated as an object by a computer process.
  • Another aspect ofthe invention is a computer-readable medium wherein the one of the plurality of markup elements is a graphics element.
  • Another aspect ofthe invention is a computer-readable medium the data structure further comprising means for defining a menu having selections associated with the one, wherein each element has an associated link.
  • Another aspect ofthe invention is a computer-readable medium wherein the first and second elements are graphical elements, and wherein an interpreted display ofthe first element depends on attributes ofthe second object.
  • Another aspect ofthe invention is an object-oriented computer system for generating and displaying an electronic document including a plurality of markup language elements, the system comprising of a parser object class wherein an instance ofthe parser object class comprises a method adapted to parse the electronic document, a diagram object class wherein an instance ofthe diagram object class is generated by the parser object class and comprises a plurality of shape objects representing graphic elements and a view handler object class wherein an instance ofthe view handler object class comprises a method for manipulating the diagram object used by the parser object class to generate an updated diagram object.
  • Another aspect ofthe invention is an object-oriented system wherein a first instance ofthe shape object class has a defined relation to a second instance ofthe shape object class and is adapted by a change in the second instance.
  • Another aspect ofthe invention is a method for generating and displaying an electronically-published document having a plurality of markup elements, the method comprising the steps of parsing an input electronic document, generating a display ofthe input electronic document, responding to a user input by generating a different display ofthe electronic document based on the user input.
  • Another aspect ofthe invention is a method wherein the parsing step includes the steps of reading a markup element ofthe input electronic document and instantiating a first object associated with the markup element.
  • another aspect ofthe invention is a method wherein the responding and generating step includes the steps of determining a change in the first object based upon the user input determining a change in a second object based on the change in the first object and generating a display ofthe changed first and second objects.
  • Another aspect ofthe invention is a method wherein the first and second objects are graphics objects and the change in the first object is a change in zoom.
  • Another aspect ofthe invention is a method wherein the input electronic document comprises a plurality of markup elements with at least one ofthe markup elements being a graphics element, and wherein the responding step includes the steps of displaying the graphics element and generating, in response to the user input, a different display ofthe graphics element.
  • Another aspect ofthe invention is a method for processing an electronically- published document having a plurality of markup elements, the method comprising the steps of parsing an input electronic document, reading a plurality of markup elements ofthe input electronic document, instantiating objects corresponding to the plurality of markup elements, and generating output and accepting inputs, by at least one object to a user.
  • Fig. 1 is a data flow diagram illustrating a computer network as an example embodiment in which the present invention may be used;
  • Fig. 2 is a module dependency diagram of a display system in accordance with one embodiment ofthe present invention;
  • Fig. 3 is a state diagram of a program for displaying a document
  • Fig. 4 is a state diagram ofthe state of servicing user interface events in Fig. 3;
  • Fig. 5 is an object model ofthe diagram object in Fig. 2;
  • Fig. 6 is an object model ofthe shape object class illustrated in Fig. 5;
  • Fig. 7 is an object model ofthe view handler shown in Fig. 2;
  • Fig. 8 is a display generated from the sample document of Appendix II;
  • Fig. 9 is a display generated from the sample document of Appendix III.
  • Fig. 10 is a display of a document generated by Appendix III
  • Fig. 11 is a display generated from the sample document of Appendix IV;
  • Fig. 12A is a diagram of an interface for allowing zooming ofthe displayed diagram
  • Fig. 12B is a diagram of an interface for allowing selection of layers ofthe diagram
  • Fig. 13 is a display generated from the sample document of Appendix V;
  • Fig. 14 is a display generated using selected layers from the display of Fig. 13;
  • Fig. 15 is a display generated with all selected layers ofthe document of Appendix
  • Figs. 16A-16F are parts of an enlarged view of Fig. 7; and Figs. 17A-17H are parts of an enlarged view of Fig. 5.
  • FIG. 1 illustrates a computer system 20 which receives as one input a data file 22 which contains a document in a markup language, such as the language ofthe document type shown in Appendix I.
  • the computer system 20 generates display data 24 and processes user requests 26.
  • a suitable computer system 20 typically includes an output device which displays information to a user.
  • the computer system includes a main unit connected to the output device and an input device, such as a keyboard.
  • the main unit generally includes a processor connected to a memory system via an interconnection mechanism.
  • the input device is also connected to the processor and memory system via the connection mechanism, as is the output device.
  • output devices include a cathode ray tube (CRT) display, liquid crystal displays (LCD), printers, communication devices such as a modem or network interface, and audio output.
  • CTR cathode ray tube
  • LCD liquid crystal displays
  • printers printers
  • communication devices such as a modem or network interface
  • audio output such as a modem or network interface
  • Example input devices include a keyboard, keypad, track ball, mouse, pen and tablet, communication device, audio input and scanner. It should be understood the invention is not limited to the particular input or output devices used in combination with the computer system or to those described herein.
  • the computer system 20 may be a general purpose computer system which is programmable using a high level computer programming language, such as the "C”, “C++”, and “Java” programming languages (Java is a trademark of Sun Microsystems, Inc.). Other programming languages are available.
  • the computer system may also be specially programmed, special purpose hardware.
  • the processor is typically a commercially available processor, of which the series x86 processors, such as the Pentium II processor with MMX technology available from Intel and similar devices from AMD and Cyrix, and the 680X0 series microprocessors available from Motorola are examples (Pentium and Intel are registered trademarks ofthe Intel Corporation, MMX is a trademark ofthe Intel Corporation, AMD is a trademark of Advanced Micro Devices, Inc., Cyrix is a registered trademark ofthe Cyrix Corporation, and Motorola is a trademark of Motorola, Inc.). Many other processors are available.
  • the series x86 processors such as the Pentium II processor with MMX technology available from Intel and similar devices from AMD and Cyrix
  • 680X0 series microprocessors available from Motorola are examples (Pentium and Intel are registered trademarks ofthe Intel Corporation, MMX is a trademark ofthe Intel Corporation, AMD is a trademark of Advanced Micro Devices, Inc., Cyrix is a registered trademark ofthe Cyrix Corporation, and Motorola is a trademark of Motorola, Inc
  • Such a microprocessor executes a program called an operating system, of which the Windows NT, Windows 95, UNIX, DOS, VMS, ULTRIX, IRIX, Solaris, VxWorks, OS/Warp, MacOS, and IntranetWare operating systems are examples (Windows, DOS, and Microsoft are registered trademarks; and
  • the operating system controls the execution of other computer programs and provides scheduling, debugging, input/output control, accounting, compilation, storage assignment, data management and memory management, and communication control and related services.
  • the processor and operating system define a computer platform for which application programs in high-level programming languages are written.
  • a memory system typically includes a computer readable and writeable nonvolatile recording medium, of which a magnetic disk, a flash memory and tape are examples.
  • the disk may be removable, such as a floppy disk or removable hard drive, or permanent, such as an internal hard drive.
  • a disk has a number of tracks in which signals are stored, typically in binary form, i.e., a form interpreted as a sequence of ones and zeros. Such signals may define an application program to be executed by the microprocessor, or information stored on the disk to be processed by the application program.
  • the processor causes data to be read from the nonvolatile recording medium into an integrated circuit memory element, which is typically a volatile, random access memory such as a dynamic random access memory (DRAM) or static memory (SRAM). Other memory types are available.
  • DRAM dynamic random access memory
  • SRAM static memory
  • the processor generally manipulates the data within the integrated circuit memory and then copies the data to the disk when processing is completed.
  • a variety of mechanisms are known for managing data movement between the disk and the integrated circuit memory element, and the invention is not limited thereto. It should also be understood that the invention is not limited to a particular memory system.
  • the invention is not limited to a particular computer platform, particular processor, or particular high-level programming language.
  • the computer system 20 may be a multiprocessor computer system or may include multiple computers connected over a computer network.
  • the present invention is also suitable for implementation in a network environment, such as the Internet or an Intranet, which connects a server 30 to a client or browser 32.
  • the server 30 maybe a hypertext transfer protocol (HTTP) server which makes files 22, and possibly computer programs such as "Java applets" 34, available to the browser 32.
  • Java applets are programs implemented in the Java programming language, which is a well-known object-oriented language in the art of programming.
  • HTTP servers There are many commercially available HTTP servers. Other file transfer protocols and servers may be used.
  • the browser 32 may be any commercially available browser that has the ability to process markup language documents. For the purposes of processing Java applets 32, the browser should be "java- enabled", that is, the browser should be capable of executing programs written in the Java programming language.
  • the Netscape Navigator browser from Netscape Communications, Inc., and the Internet Explorer browser, from Microsoft Corporation, are examples of such a browser.
  • the browser and the server generally communicate by transferring HTTP messages over the network, which typically uses the TCP/IP networking protocol. It is understood that other networking protocols may be used.
  • the "Java applet" 34 is utilized by the browser 32 to process documents in the markup language in accordance with one embodiment ofthe present invention. It should be understood that the browser 32 could also be modified to process this markup directly, similar to how other extensions to the hypertext markup language (HTML) are processed. Further, it should be understood that the HTML language may be extended to support these features.
  • HTML hypertext markup language
  • an object oriented system is implemented using a Java programming language.
  • This system has four primary object classes as shown in Fig. 2. These object classes are a view handler 40, a parser 42, a diagram 44 and a shape 46.
  • the parser 42 generates the diagram 44.
  • the view handler 40 is an object that has several methods associated with it to manipulate the diagram 44. Also, the view handler object 40 uses the parser object 42 to generate the diagram 44.
  • the diagram has several shapes 46 associated with it, one for each graphical object defined in the diagram. A shape object is instantiated or generated for each ofthe graphical objects defined.
  • the Java applet for processing this markup language is loaded by the browser in state 50.
  • the applet accesses the file containing the markup language document and parses it in state 52.
  • Parsing ofthe HGML document is done using standard markup language processing techniques using the document type definition (DTD) provided in Appendix I.
  • DTD document type definition
  • a particular DTD may be defined by one or more grammar rules as shown in Appendix I.
  • Given a set of grammar rules, a parser may be constructed that verifies the format of a document. Parser creation is well-known in the art of compiler theory.
  • the parser is instantiated as an object that parses an HGML document.
  • the graphical objects defined by the document are then laid out in the display area in state 54.
  • a diagram having a size of 2,000 pixels by 2,000 pixels is first defined.
  • Each graphical object, such as a rectangle with an identifier equal to "1," is defined as an object, as will be described below, having a given position, size, color and fill.
  • the position of each graphical object within the diagram is determined.
  • the graphical objects are then drawn on the display in state 56.
  • markup elements are instantiated as objects, the objects may be configured to respond to user events.
  • the applet is then terminated in state 60.
  • - li lt should be understood that the invention is not limited to representation of processing and display of graphical objects, but any markup element may be represented by an object that receives events. It should also be known that the generation of these objects is not limited to applets or the Java programming language, but these objects may be generated by a program written in any other object-oriented programming language. Also, the objects may be implemented in any suitable programming language, such as a sequential programming language.
  • Fig. 8 shows an organizational chart that may be generated using one embodiment of [a markup language] suitable for implementing the invention.
  • This display corresponds to the document shown in Appendix II.
  • Each ofthe displayed rectangles, such as 62, may be selected, as may names such as shown at 64.
  • the selection of an object results in the display of a menu 66 which allows the selection of one of a multiple of uniform resource locators (URL).
  • URL uniform resource locators
  • a markup language ofthe kind described herein is typically useful for viewing data developed using a model-based development environment.
  • models are used to describe function, behavior, process, system architecture, and several other aspects of a system.
  • the model diagrams describe not only the system or process, but are used as a focal point of understanding for communicating information about, designing and supporting a system or process. Having multiple models, each representing different views ofthe system or process that can be browsed and navigated to other model data or perhaps to non-model data, is particularly helpful in model-based development environments.
  • Models also describe systems in a formalized methodology. This formalism allows models developed using some software tools to be converted to a markup language in accordance with the invention to allow them to be displayed and navigated. In general, certain types of data may be mapped to tags and attributes in the markup language. In addition, information regarding relationships among data can be used to generate hypertext links between elements.
  • Figs. 9 and 10 which are based on the document in Appendix III, illustrate how semantically important information, such as data from a database, can be used to generate informative displays.
  • Figs. 9 and 10 illustrate a data flow diagram which includes primitive and non-primitive processes. A non-primitive process may be decomposed into other processes.
  • Such information may be derived from any original information used to generate such a data flow diagram, for example, a computer-aided design or computer-aided software engineering tool.
  • particular defined processes may be designated as primitive or non-primitive and have an associated shape and/or color.
  • Such information may be represented in a markup language either by an element tag or an attribute.
  • a non-primitive element will be decomposed into other elements. Typically, another drawing will exist for that decomposition.
  • a menu 70 may be displayed in which a reference to the decomposition of that element may be one ofthe possible hypertext links, as illustrated by the command "Show Child.”
  • Other information also may be available, such as a CAD drawing, a requirements document or personnel and pricing data.
  • Fig. 10 illustrates the same document but with a menu that is displayed when "empty space" on the diagram is selected. Empty space signifies the space within the diagram which is not occupied by an object.
  • Each diagram may have primitive operations associated with it, such as zooming, layering, refreshing and reloading, which can be selected using this menu.
  • a zooming window shown in Fig. 12A, is displayed to the user, from which the user can control the size ofthe image they are viewing.
  • This zooming function allows the defined documents to be redisplayed within the diagram area in a different size.
  • the layer function presents a layer window to the user, from which the user can turn on and off the display of selected layers. Layers are defined by and dependent upon the markup language and whether layers are introduced in the authoring process. An example of layering will be described in more detail below in connection with Appendix V and Figs. 13-15.
  • diagram shapes may be replaced by pictures or other graphics, such as shown at 78 and 80 in Fig. 11 , and as defined by the document in Appendix IV.
  • the document of Appendix V can be used to display a simple image in a window.
  • any particular point on this graphic may be associated with only a single action or uniform resource locator (URL).
  • URL uniform resource locator
  • the image that is loaded is one graphic file.
  • the regions ofthe image which are associated with different URLs are commonly implemented using a mapping function which maps a pair of coordinate values to a single action to be performed. It is difficult to determine where the image map actually is on an image in an HTML document.
  • the image may exist in one layer and image map areas may be implemented as another layer.
  • each region ofthe image also may be associated with a menu of possible hypertext links rather than a single link. This menu can be displayed as shown at 82.
  • the layers may be displayed or selected using the layering feature, which displays the menu 84. This capability can guide a user to different areas of interest.
  • Another aspect ofthe markup language in accordance with one embodiment ofthe invention is the attachment of objects, provided using the "attach” and "attach_type” attributes.
  • This aspect allows an object or graphic shape to be defined in relation to other objects in the diagram.
  • the position, height and width can be defined in this way.
  • This allows an object to be defined, for example, as being positioned in the center of another object and having one quarter ofthe size ofthe other object.
  • a more complex example is the relation wherein one object is centered between two other objects having the same height as the first object, but a width equal to, e.g., one third the distance between the two other objects. This feature is useful in representing one object in relation to others so that when one is changed, the others are changed in the same manner.
  • a first state is the "nothing selected” state 90.
  • Events which effect the state transitions are the user interface events such as a mouse click (either on or off) or the completion of an action or the selection of a menu item.
  • processing moves to the "one thing selected” state 92. If a click on the same object is received, the system returns to state 90.
  • a click off of an object returns to the "nothing selected” state also.
  • a shift key in combination with a mouse click on an object causes a transition to the "multiple thing selected” state 94.
  • a shift key and click on additional items will add them to a list of selected items.
  • a mouse click on one ofthe already selected items will eliminate it from the list.
  • a mouse click off any ofthe selected items will cause a transition back to the "nothing selected” state 90.
  • appropriate menus are displayed, which involves a transition to the "service selection” state 96.
  • the background menu, menu for a selected object, or menu for the group of selected objects is displayed and there is a transition to the "menu display” state 98.
  • a transition is made to state 100 where the menu is removed from the display and the action associated with the menu item is invoked. If the menu action involves exiting the diagram, the process is terminated in state 102.
  • processing returns to state 96.
  • state 98 if no menu item is selected, for example, by the receipt of a mouse click event outside the menu area, the menu is removed from the display in state 104. Processing then returns to the "service selection" state 96 which then reverts back to the "nothing selected", “one thing selected” or “multiple things selected” states 90, 92 or 94, according to the objects selected which caused display ofthe menu in the first place.
  • Figs. 5 through 7 These Figs, are drawn according to the object modeling technique (OMT) which is well-known in the art of object oriented programming and described in Object-Oriented Modeling and Design by James Rumbaugh et al., Prentice-Hall, Inc., New Jersey, 1991, which is incorporated by reference.
  • OMT object modeling technique
  • Fig. 5 shows that the diagram 44 is comprised of layers 246 and selected objects 248.
  • Each layer 246 is comprised of diagram objects 252.
  • the diagram class is the root of all layers and diagram objects and is responsible for dispatching events from the display area to the appropriate diagram objects.
  • Each diagram object has an associated shape 250.
  • the list of selected objects 248 comprises a list of diagram objects 252.
  • Each diagram object 252 is associated with actions 254.
  • An action 254 may be comprised of several action items 256.
  • An action item 256 is a uniform resource locator (URL) attached to a diagram object. It is displayed as a menu item in the display area and is executed by the navigator. If the navigator cannot handle the event, it is passed to the viewer.
  • An action item has an associated anchor 258.
  • URL uniform resource locator
  • An attachment 260 has an appearance defined by a diagram object.
  • a group object 262 is associated with a number of diagram objects, while single object 264 is defined as a single diagram object 252. These are subclasses ofthe diagram objects 252.
  • Diagram objects and diagrams may also have an attribute 266 associated therewith.
  • An attribute is comprised of one or more attribute items 268. Each attribute item may have an associated text block 270.
  • Fig. 6 shows the different types of graphical objects which may be displayed.
  • arc objects 140 there may be arc objects 140, ellipse objects 142, group objects 144, line objects 146, bit mapped images 148, polygons 150, rectangles 152, text blocks 154, and text segments 156.
  • Other object types also may be displayed.
  • Each one of these objects are subclasses ofthe shape object class 158.
  • the shape is comprised of an extent object 160 which defines the area of pixels within the diagram that is considered part ofthe object.
  • a line has associated with it a line style object 162 and a line point object 164.
  • An arrow object 166 is a subclass of a line 146 and has an arrowhead 168.
  • a regular polygon 170 is a subclass of a polygon 150.
  • Text block 154 and text segments 156 use a text attribute 172.
  • a text block 154 uses a text segment 156.
  • An anchor object 174 is also used. It is part of a text block with anchor object 176 and text segment with anchor object 178.
  • Each ofthe objects 176 and 178 respectively are subclasses of a text block 154 or text segment 156. Instances of each of these object classes are generated directly from the markup tags and associated attributes which indicate those objects.
  • the display area 180 is the part ofthe display on which the diagram is drawn. This class is responsible for displaying the diagram objects, scaling the diagram objects and dispatching mouse events.
  • the size ofthe display area is the size ofthe diagram times the scale.
  • the navigator object class 182 is the container for the scale scroller and the display area. It uses the scale scroller to handle the scrolling ofthe diagram in the display area.
  • the scale scroller class is responsible for handling the horizontal and vertical scroll bars. The scroll bars are only displayed if the display area is larger than can be displayed by the navigator.
  • An diagrams visited object 184 keeps a list of diagrams that have been viewed with the viewer. When an action item calls a URL to display a diagram, this list is checked to determine whether the diagram was already retrieved. Is so, the existing diagram object is displayed instead of retrieving the URL.
  • the viewer 40 and navigator 182 are subclasses ofthe action handler object 186.
  • the action handler is an abstract class. Any class that implements this class is allowed to service the action item request.
  • the viewer class controls all interaction between the applet and the browser. Its responsibilities include creation ofthe diagram drawing space, communication with the HTTP server for retrieving files in this markup language and invocation of action items which are URL references.
  • the navigator performs action items 188 which are elements within a menu item 190 which in turn are within a menu 192 which is displayed by a method ofthe display area object 180.
  • a menu item represents the visual component of an action item.
  • a control object 198 is an operation that can be performed by the navigator, which are included in a list maintained as an abstract class called a control list 200.
  • Navigator 182 has a navigational control object 202 which is a subclass ofthe control list 200. It is the list of available or built-in menu options that are performed by the navigator. Some global variables are stored in a global object 204, such as the base URL of a document.
  • the navigator also has a zoom control object 194 which uses a scale controller 196.
  • the zoom control displays a window to the user as shown in Fig. 12A which allows the user to change the zoom factor or scale ofthe diagram objects displayed in the display area. By changing the scale, the diagram is redisplayed in the new scale immediately.
  • a layer control object 210 is used to monitor which layers are active to be used by the navigator 182. It has a method for displaying a window which lists all the layers in the diagram. The user can select a layer to display it or deselect it in order not to display it. The display ofthe diagram is updated immediately upon a layer selection change.
  • the ExtFrameProducer 207 is an abstract class. Any class that implements this class is allowed to produce external windows, such as the zoom control and layer control classes.
  • the ExtFrame class 208 is an external window container. It is used for displaying any popup window.
  • the ExtFrame is added to an external frame list object 206. The frames are created by the class 207 or a subclass.
  • Each ofthe object classes has associated methods for creation of instances of these objects, reading and displaying these objects, updating the values describing the objects and deleting the objects.
  • the implementation of such methods can be done by one of ordinary skill in the art and following the desired display and user interface actions above.
  • URI means a CDATA attribute whose value is a Uniform Resource Identifier, as defined by
  • CDATA attributes are limited by the LITLEN capacity (1024 in the current version of html.decl), so that URIs in HGML have a bounded length.
  • the color may also be set to 'invisible' which causes the object not to be drawn yet it can still respond to events.

Abstract

The present invention uses a markup language that defines elements which improve the ability of users to view more complex documents, particularly graphical documents, such as those based on data generated by computer-aided design, computer-aided software engineering, or other data modeling tools. An electronically published document contains descriptive markup defining several tags. Elements defined by tags are instantiated as objects which are responsive to user input. These tags define elements which are interpreted to define a diagram containing a plurality of layers. Each layer contains several graphical objects. An object may have associated with it a menu of actions or hypertext links. A computer system or computer-implemented process processes such an electronically published document and generates on a computer display the diagram defined by the descriptive markup. The different layers of the document may be displayed selectively. Also, the view of the diagram may change using a zoom function, or it may be refreshed, i.e., redisplayed, or the electronically published document may be reloaded and reprocessed. One or more objects may be selected. Selection of objects may invoke a display of a menu of selectable actions which are associated with that object. These actions may include one or more hypertext links.

Description

DOCIJMENT MARKUP LANGUAGE AND SYSTEM AND METHOD FOR GENERATING AND DISPLAYING DOCUMENTS THEREIN
Field of the Invention
The present invention is related to the generation and processing of documents in a markup language.
Background of the Invention Markup languages, such as the standard generalized markup language (SGML), and variants thereof, have been used previously in electronic publishing. One advantage of a markup language, rather than a particular data file format, is that a markup language defines elements which describe the structure of a document. In such a document, markup language elements include tags and their content, such as text, graphics, pointers to other documentary or other media. Tags may include start tags, end tags, or empty tags. A start tag begins a markup element. An end tag ends the corresponding markup element. These start and end tags generally define the boundaries of an element. An empty tag is understood as being both a start and an end tag with no content. These tags and their content are interpreted when the document is rendered to display the content ofthe document according to a desired format. One form of markup language is the hypertext markup language (HTML) which is commonly used in a client-server system to distribute electronic documents. These documents are typically transferred using the hypertext transfer protocol (HTTP) over the Internet or other computer network using the TCP/IP protocol. Other markup languages include the virtual reality modeling language (VRML) and HyTime, among other markup languages. Markup languages generally have been used to define the structure of electronic documents. When graphics are used within these documents, they are imported into such documents by using a tag, such as the "<IMG>" tag in HTML. This tag uses a reference to a data file in some graphic file format to import the image data. Additionally, such markup languages typically have a mechanism to provide a hypertext link from a location in one document to a location in another document.
While markup languages have many useful features, they also have some limitations. For example, in HTML, each element can have a hypertext link to only one other element or file. Similarly, in HTML, graphics require an image file already to be created. The entire image is displayed. HTML browsers generally do not allow selective viewing of only a portion of an image or otherwise allow a browser to "zoom" in and out on an image. Further, these HTML documents contain static content, and when updated, need to be reloaded from a server. In addition, updated HTML documents need to be created manually and deposited in server directories, creating additional work for a document administrator.
Summary ofthe Invention
The present invention uses a markup language that defines elements which improve the ability of users to view more complex documents, particularly graphical documents, such as those based on data generated by computer-aided design, computer-aided software engineering, or other data modeling tools. Further, one embodiment ofthe present invention allows a display of an electronic document to dynamically change in response to user input. Accordingly, one aspect ofthe present invention is an electronically published document containing descriptive markup defining several tags. These tags define elements which are interpreted to define a diagram containing a plurality of layers. Each layer contains several graphical objects. An object may have associated with it a menu of actions or hypertext links.
Another aspect ofthe invention is a computer system or computer-implemented process which processes such an electronically published document and generates on a computer display the diagram defined by the descriptive markup. Elements ofthe electronic document are instantiated as objects which may be responsive to user input. These objects may be graphics objects which respond to events received from the user through the computer system. The different layers ofthe document may be displayed selectively. Also, the view of the diagram may change using a zoom function, or it may be refreshed, i.e., redisplayed, or the electronically published document may be reloaded and reprocessed. One or more objects may be selected. Selection of objects may invoke a display of a menu of selectable actions which are associated with that object. These actions may include one or more hypertext links. Another aspect ofthe invention is a computer system for generating and displaying electronically published documents having a plurality of markup elements, the computer system comprising a display configured to display an input electronic document to a user and a processor which processes the input electronic document and generates a first image on the display ofthe computer system on the basis ofthe plurality of markup elements, wherein the processor is responsive to an input ofthe user to generate a second image ofthe input electronic document based on the user input. In another aspect ofthe invention, the processor instantiates a first object corresponding to at least one ofthe plurality of markup elements. In another aspect at least one ofthe plurality of markup elements is a graphics element. In another aspect ofthe invention the processor instantiates an object corresponding to the graphics element. Another aspect ofthe invention is a computer system wherein the processor instantiates a parser object configured to parse the input electronic document. In another aspect ofthe invention is a computer system wherein the processor instantiates a second object having a defined relation to the first object and is adapted to change a representation of the second object when a representation ofthe first object is changed. In another aspect of the invention, the processor instantiates a view handler object that responds to user input. In another aspect ofthe invention the processor instantiates a parser object configured to parse the input electronic document and wherein the processor instantiates a diagram object based on the plurality of markup elements. In yet another aspect ofthe invention, wherein the diagram object includes a plurality of shape objects which represent graphic markup elements. In another aspect ofthe invention, the diagram object includes a plurality of layers with which are associated each of the plurality of shape objects.
In another aspect ofthe invention is a computer system according wherein the processor is adapted to a display one or more ofthe plurality of layers.
In yet another aspect ofthe invention, selection of a graphics object by a user invokes a menu of selectable actions. In another aspect ofthe invention is a computer system wherein one or more ofthe selectable actions have an associated link to another input electronic document. In another aspect ofthe invention, the first object is responsive to the user input and wherein the processor generates an updated display ofthe first object based on the user input.
Another aspect ofthe invention is a computer system wherein the first object is associated with a graphics element, and is responsive to a function and wherein the function provides the updated display is different than an original display ofthe first object. Another aspect ofthe invention is computer system wherein the processor instantiates a second graphics object having a defined relation to the first graphics object and is adapted to change a representation ofthe second graphics object when the original display is updated.
Accordingly, another aspect ofthe present invention is an electronically published document comprising a computer readable medium with computer logic stored thereon and defining descriptive markup defining several tags, wherein each tag defines an element, wherein an element is interpreted to define a diagram containing a plurality of layers, wherein each layer contains several graphical objects, and wherein each object may have associated therewith a menu of actions or hypertext links.
Another aspect ofthe invention is a computer system or computer-implemented process which processes such an electronically published document and generates on a computer display the diagram defined by the descriptive markup, wherein the different layers ofthe document are displayed selectively.
Accordingly, another aspect ofthe invention is a computer-readable medium having computer-readable logic stored therein defining a data structure for representing an electronic document, the data structure comprising means defining the electronic document as a plurality of markup elements defining a first one ofthe plurality of markup elements wherein the one includes an attribute expressing an inheritance relation to a second element that is at a same hierarchical level as the first one.
Another aspect ofthe invention is a computer-readable medium wherein the one of the plurality of markup elements may be instantiated as an object by a computer process.
Another aspect ofthe invention is a computer-readable medium wherein the one of the plurality of markup elements is a graphics element.
Another aspect ofthe invention is a computer-readable medium the data structure further comprising means for defining a menu having selections associated with the one, wherein each element has an associated link.
Another aspect ofthe invention is a computer-readable medium wherein the first and second elements are graphical elements, and wherein an interpreted display ofthe first element depends on attributes ofthe second object.
Another aspect ofthe invention is an object-oriented computer system for generating and displaying an electronic document including a plurality of markup language elements, the system comprising of a parser object class wherein an instance ofthe parser object class comprises a method adapted to parse the electronic document, a diagram object class wherein an instance ofthe diagram object class is generated by the parser object class and comprises a plurality of shape objects representing graphic elements and a view handler object class wherein an instance ofthe view handler object class comprises a method for manipulating the diagram object used by the parser object class to generate an updated diagram object. Another aspect ofthe invention is an object-oriented system wherein a first instance ofthe shape object class has a defined relation to a second instance ofthe shape object class and is adapted by a change in the second instance.
Another aspect ofthe invention is a method for generating and displaying an electronically-published document having a plurality of markup elements, the method comprising the steps of parsing an input electronic document, generating a display ofthe input electronic document, responding to a user input by generating a different display ofthe electronic document based on the user input.
Another aspect ofthe invention is a method wherein the parsing step includes the steps of reading a markup element ofthe input electronic document and instantiating a first object associated with the markup element.
Yet, another aspect ofthe invention is a method wherein the responding and generating step includes the steps of determining a change in the first object based upon the user input determining a change in a second object based on the change in the first object and generating a display ofthe changed first and second objects. Another aspect ofthe invention is a method wherein the first and second objects are graphics objects and the change in the first object is a change in zoom.
Another aspect ofthe invention is a method wherein the input electronic document comprises a plurality of markup elements with at least one ofthe markup elements being a graphics element, and wherein the responding step includes the steps of displaying the graphics element and generating, in response to the user input, a different display ofthe graphics element.
Another aspect ofthe invention is a method for processing an electronically- published document having a plurality of markup elements, the method comprising the steps of parsing an input electronic document, reading a plurality of markup elements ofthe input electronic document, instantiating objects corresponding to the plurality of markup elements, and generating output and accepting inputs, by at least one object to a user. Further features and advantages ofthe present invention as well as the structure and operation of various embodiments ofthe present invention are described in detail below with reference to the accompanying drawings.
Brief Description of the Drawings
In the drawings,
Fig. 1 is a data flow diagram illustrating a computer network as an example embodiment in which the present invention may be used; Fig. 2 is a module dependency diagram of a display system in accordance with one embodiment ofthe present invention;
Fig. 3 is a state diagram of a program for displaying a document;
Fig. 4 is a state diagram ofthe state of servicing user interface events in Fig. 3;
Fig. 5 is an object model ofthe diagram object in Fig. 2; Fig. 6 is an object model ofthe shape object class illustrated in Fig. 5;
Fig. 7 is an object model ofthe view handler shown in Fig. 2;
Fig. 8 is a display generated from the sample document of Appendix II;
Fig. 9 is a display generated from the sample document of Appendix III;
Fig. 10 is a display of a document generated by Appendix III; Fig. 11 is a display generated from the sample document of Appendix IV;
Fig. 12A is a diagram of an interface for allowing zooming ofthe displayed diagram;
Fig. 12B is a diagram of an interface for allowing selection of layers ofthe diagram;
Fig. 13 is a display generated from the sample document of Appendix V; Fig. 14 is a display generated using selected layers from the display of Fig. 13;
Fig. 15 is a display generated with all selected layers ofthe document of Appendix
V;
Figs. 16A-16F are parts of an enlarged view of Fig. 7; and Figs. 17A-17H are parts of an enlarged view of Fig. 5.
Detailed Description The present invention will be more completely understood through the following detailed description which should be read in conjunction with the attached drawing in which similar reference numbers indicate similar structures. All references cited herein are expressly incorporated by reference. Electronically published documents may be using descriptive markup, i.e., tags, which define a hierarchical structure of a plurality of elements. Such a markup language is the standard generalized markup language (SGML). A document may be represented using a structure that is defined as a document type within the SGML standard. The document type definition for a markup language used in one embodiment ofthe present invention is found in Appendix I, which is incorporated herein by reference. Sample documents in this language are in Appendices II, III, IV and V, which are incorporated by reference.
Referring now to Fig. 1, one embodiment ofthe present invention will now be described. It should be understood that there are several different embodiments which are possible, and that the invention is not limited to the one described. Fig. 1 illustrates a computer system 20 which receives as one input a data file 22 which contains a document in a markup language, such as the language ofthe document type shown in Appendix I. The computer system 20 generates display data 24 and processes user requests 26.
A suitable computer system 20 typically includes an output device which displays information to a user. The computer system includes a main unit connected to the output device and an input device, such as a keyboard. The main unit generally includes a processor connected to a memory system via an interconnection mechanism. The input device is also connected to the processor and memory system via the connection mechanism, as is the output device. It should be understood that one or more output devices may be connected to the computer system. Example output devices include a cathode ray tube (CRT) display, liquid crystal displays (LCD), printers, communication devices such as a modem or network interface, and audio output. It should also be understood that one or more input devices may be connected to the computer system. Example input devices include a keyboard, keypad, track ball, mouse, pen and tablet, communication device, audio input and scanner. It should be understood the invention is not limited to the particular input or output devices used in combination with the computer system or to those described herein. The computer system 20 may be a general purpose computer system which is programmable using a high level computer programming language, such as the "C", "C++", and "Java" programming languages (Java is a trademark of Sun Microsystems, Inc.). Other programming languages are available. The computer system may also be specially programmed, special purpose hardware. In a general purpose computer system, the processor is typically a commercially available processor, of which the series x86 processors, such as the Pentium II processor with MMX technology available from Intel and similar devices from AMD and Cyrix, and the 680X0 series microprocessors available from Motorola are examples (Pentium and Intel are registered trademarks ofthe Intel Corporation, MMX is a trademark ofthe Intel Corporation, AMD is a trademark of Advanced Micro Devices, Inc., Cyrix is a registered trademark ofthe Cyrix Corporation, and Motorola is a trademark of Motorola, Inc.). Many other processors are available. Such a microprocessor executes a program called an operating system, of which the Windows NT, Windows 95, UNIX, DOS, VMS, ULTRIX, IRIX, Solaris, VxWorks, OS/Warp, MacOS, and IntranetWare operating systems are examples (Windows, DOS, and Microsoft are registered trademarks; and
Windows NT is a trademark ofthe Microsoft Corporation, VMS and ULTRIX are trademarks of Digital Equipment Corporation, IRIX is a registered trademark of Silicon Graphics, Inc., Solaris is a registered trademark of Sun Microsystems, OS/Warp is a registered trademark of International Business Machines, Inc., and MacOS is a registered trademark ofthe Apple Corporation). The operating system controls the execution of other computer programs and provides scheduling, debugging, input/output control, accounting, compilation, storage assignment, data management and memory management, and communication control and related services. The processor and operating system define a computer platform for which application programs in high-level programming languages are written. A memory system typically includes a computer readable and writeable nonvolatile recording medium, of which a magnetic disk, a flash memory and tape are examples. The disk may be removable, such as a floppy disk or removable hard drive, or permanent, such as an internal hard drive. A disk has a number of tracks in which signals are stored, typically in binary form, i.e., a form interpreted as a sequence of ones and zeros. Such signals may define an application program to be executed by the microprocessor, or information stored on the disk to be processed by the application program. Typically, in operation, the processor causes data to be read from the nonvolatile recording medium into an integrated circuit memory element, which is typically a volatile, random access memory such as a dynamic random access memory (DRAM) or static memory (SRAM). Other memory types are available. The integrated circuit memory element allows for faster access to the information by the processor than does the disk. The processor generally manipulates the data within the integrated circuit memory and then copies the data to the disk when processing is completed. A variety of mechanisms are known for managing data movement between the disk and the integrated circuit memory element, and the invention is not limited thereto. It should also be understood that the invention is not limited to a particular memory system.
It should be understood the invention is not limited to a particular computer platform, particular processor, or particular high-level programming language. Additionally, the computer system 20 may be a multiprocessor computer system or may include multiple computers connected over a computer network.
The present invention is also suitable for implementation in a network environment, such as the Internet or an Intranet, which connects a server 30 to a client or browser 32. The server 30 maybe a hypertext transfer protocol (HTTP) server which makes files 22, and possibly computer programs such as "Java applets" 34, available to the browser 32. Java applets are programs implemented in the Java programming language, which is a well-known object-oriented language in the art of programming. There are many commercially available HTTP servers. Other file transfer protocols and servers may be used. The browser 32 may be any commercially available browser that has the ability to process markup language documents. For the purposes of processing Java applets 32, the browser should be "java- enabled", that is, the browser should be capable of executing programs written in the Java programming language. The Netscape Navigator browser, from Netscape Communications, Inc., and the Internet Explorer browser, from Microsoft Corporation, are examples of such a browser. The browser and the server generally communicate by transferring HTTP messages over the network, which typically uses the TCP/IP networking protocol. It is understood that other networking protocols may be used.
In one embodiment to be described, the "Java applet" 34 is utilized by the browser 32 to process documents in the markup language in accordance with one embodiment ofthe present invention. It should be understood that the browser 32 could also be modified to process this markup directly, similar to how other extensions to the hypertext markup language (HTML) are processed. Further, it should be understood that the HTML language may be extended to support these features.
In order to process a document in the markup language in accordance with one embodiment ofthe invention, an object oriented system is implemented using a Java programming language. This system has four primary object classes as shown in Fig. 2. These object classes are a view handler 40, a parser 42, a diagram 44 and a shape 46. The parser 42 generates the diagram 44. The view handler 40 is an object that has several methods associated with it to manipulate the diagram 44. Also, the view handler object 40 uses the parser object 42 to generate the diagram 44. The diagram has several shapes 46 associated with it, one for each graphical object defined in the diagram. A shape object is instantiated or generated for each ofthe graphical objects defined.
The state diagram of a program which generates and uses these objects will now be described in connection with Fig. 3. First, the Java applet for processing this markup language is loaded by the browser in state 50. The applet accesses the file containing the markup language document and parses it in state 52. Parsing ofthe HGML document is done using standard markup language processing techniques using the document type definition (DTD) provided in Appendix I. A particular DTD may be defined by one or more grammar rules as shown in Appendix I. Given a set of grammar rules, a parser may be constructed that verifies the format of a document. Parser creation is well-known in the art of compiler theory. However, in one embodiment ofthe invention, the parser is instantiated as an object that parses an HGML document. Upon verification by the parser that the document is valid, the graphical objects defined by the document are then laid out in the display area in state 54. For example, referring to the document shown in Appendix II, a diagram having a size of 2,000 pixels by 2,000 pixels is first defined. Each graphical object, such as a rectangle with an identifier equal to "1," is defined as an object, as will be described below, having a given position, size, color and fill. The position of each graphical object within the diagram is determined. The graphical objects are then drawn on the display in state 56. These graphical objects are instantiated in the memory ofthe computer system. Once objects are drawn on the display, user interface events can be serviced in state 58, which will be described in more detail in connection with Fig. 4. Because markup elements are instantiated as objects, the objects may be configured to respond to user events. Upon termination ofthe need to service user events, the applet is then terminated in state 60. - li lt should be understood that the invention is not limited to representation of processing and display of graphical objects, but any markup element may be represented by an object that receives events. It should also be known that the generation of these objects is not limited to applets or the Java programming language, but these objects may be generated by a program written in any other object-oriented programming language. Also, the objects may be implemented in any suitable programming language, such as a sequential programming language.
Before describing the servicing of user interface events in connection with Fig. 4, Some sample output displays will be described in connection with Figs. 8-15 and their corresponding sample markup documents, shown in Appendices II- V.
Fig. 8 shows an organizational chart that may be generated using one embodiment of [a markup language] suitable for implementing the invention. This display corresponds to the document shown in Appendix II. Each ofthe displayed rectangles, such as 62, may be selected, as may names such as shown at 64. The selection of an object results in the display of a menu 66 which allows the selection of one of a multiple of uniform resource locators (URL). This menu of selections expands on the hypertext capability typically found in HTML documents which allows only one hypertext link assigned per HTML element.
A markup language ofthe kind described herein is typically useful for viewing data developed using a model-based development environment. Such models are used to describe function, behavior, process, system architecture, and several other aspects of a system. The model diagrams describe not only the system or process, but are used as a focal point of understanding for communicating information about, designing and supporting a system or process. Having multiple models, each representing different views ofthe system or process that can be browsed and navigated to other model data or perhaps to non-model data, is particularly helpful in model-based development environments.
Models also describe systems in a formalized methodology. This formalism allows models developed using some software tools to be converted to a markup language in accordance with the invention to allow them to be displayed and navigated. In general, certain types of data may be mapped to tags and attributes in the markup language. In addition, information regarding relationships among data can be used to generate hypertext links between elements. Figs. 9 and 10, which are based on the document in Appendix III, illustrate how semantically important information, such as data from a database, can be used to generate informative displays. Figs. 9 and 10 illustrate a data flow diagram which includes primitive and non-primitive processes. A non-primitive process may be decomposed into other processes. Such information may be derived from any original information used to generate such a data flow diagram, for example, a computer-aided design or computer-aided software engineering tool. For example, particular defined processes may be designated as primitive or non-primitive and have an associated shape and/or color. Such information may be represented in a markup language either by an element tag or an attribute. A non-primitive element will be decomposed into other elements. Typically, another drawing will exist for that decomposition. When a given object, e.g., 68, is selected, a menu 70 may be displayed in which a reference to the decomposition of that element may be one ofthe possible hypertext links, as illustrated by the command "Show Child." Other information also may be available, such as a CAD drawing, a requirements document or personnel and pricing data. Fig. 10 illustrates the same document but with a menu that is displayed when "empty space" on the diagram is selected. Empty space signifies the space within the diagram which is not occupied by an object. Each diagram may have primitive operations associated with it, such as zooming, layering, refreshing and reloading, which can be selected using this menu. For example, reloading forces re-reading ofthe data from its source, refreshing causes a diagram to be repainted on the display. The menu also may allow for selection of a parent diagram, for which this model is a decomposition, as indicated at 72. If a zooming function is selected, a zooming window, shown in Fig. 12A, is displayed to the user, from which the user can control the size ofthe image they are viewing. This zooming function allows the defined documents to be redisplayed within the diagram area in a different size. The layer function presents a layer window to the user, from which the user can turn on and off the display of selected layers. Layers are defined by and dependent upon the markup language and whether layers are introduced in the authoring process. An example of layering will be described in more detail below in connection with Appendix V and Figs. 13-15.
Some diagram shapes may be replaced by pictures or other graphics, such as shown at 78 and 80 in Fig. 11 , and as defined by the document in Appendix IV.
Referring now to Fig. 13, the document of Appendix V can be used to display a simple image in a window. Using a language such as HTML, any particular point on this graphic may be associated with only a single action or uniform resource locator (URL). Additionally, the image that is loaded is one graphic file. The regions ofthe image which are associated with different URLs are commonly implemented using a mapping function which maps a pair of coordinate values to a single action to be performed. It is difficult to determine where the image map actually is on an image in an HTML document.
By using layers defined by the markup language of one embodiment ofthe present invention, the image may exist in one layer and image map areas may be implemented as another layer. Referring to Fig. 14, in the present invention, each region ofthe image also may be associated with a menu of possible hypertext links rather than a single link. This menu can be displayed as shown at 82. When the image map areas are implemented using a layer, the layers may be displayed or selected using the layering feature, which displays the menu 84. This capability can guide a user to different areas of interest.
Another aspect ofthe markup language in accordance with one embodiment ofthe invention is the attachment of objects, provided using the "attach" and "attach_type" attributes. This aspect allows an object or graphic shape to be defined in relation to other objects in the diagram. The position, height and width can be defined in this way. This allows an object to be defined, for example, as being positioned in the center of another object and having one quarter ofthe size ofthe other object. A more complex example is the relation wherein one object is centered between two other objects having the same height as the first object, but a width equal to, e.g., one third the distance between the two other objects. This feature is useful in representing one object in relation to others so that when one is changed, the others are changed in the same manner.
Having now described some ofthe markup language features, and their corresponding display features, the state diagram for processing user interface events to provide these features will now be described in connection with Fig. 4.
A first state is the "nothing selected" state 90. Events which effect the state transitions are the user interface events such as a mouse click (either on or off) or the completion of an action or the selection of a menu item. Given a mouse click on an object, processing moves to the "one thing selected" state 92. If a click on the same object is received, the system returns to state 90. A click off of an object returns to the "nothing selected" state also. A shift key in combination with a mouse click on an object causes a transition to the "multiple thing selected" state 94. A shift key and click on additional items will add them to a list of selected items. A mouse click on one ofthe already selected items will eliminate it from the list. A mouse click off any ofthe selected items will cause a transition back to the "nothing selected" state 90. After a transition to the'One thing selected" state 92 or "multiple things selected" state 94, or a click on the background in the "nothing selected" state 90, appropriate menus are displayed, which involves a transition to the "service selection" state 96. In this state, either the background menu, menu for a selected object, or menu for the group of selected objects is displayed and there is a transition to the "menu display" state 98. On selection of a menu action, a transition is made to state 100 where the menu is removed from the display and the action associated with the menu item is invoked. If the menu action involves exiting the diagram, the process is terminated in state 102. Otherwise, processing returns to state 96. In state 98, if no menu item is selected, for example, by the receipt of a mouse click event outside the menu area, the menu is removed from the display in state 104. Processing then returns to the "service selection" state 96 which then reverts back to the "nothing selected", "one thing selected" or "multiple things selected" states 90, 92 or 94, according to the objects selected which caused display ofthe menu in the first place.
Having now described the general flow ofthe display and user interface interaction with documents in the markup language ofthe present invention, the layout ofthe graphical objects will now be described in connection with Figs. 5 through 7. These Figs, are drawn according to the object modeling technique (OMT) which is well-known in the art of object oriented programming and described in Object-Oriented Modeling and Design by James Rumbaugh et al., Prentice-Hall, Inc., New Jersey, 1991, which is incorporated by reference.
Fig. 5 shows that the diagram 44 is comprised of layers 246 and selected objects 248. Each layer 246 is comprised of diagram objects 252. The diagram class is the root of all layers and diagram objects and is responsible for dispatching events from the display area to the appropriate diagram objects. Each diagram object has an associated shape 250. The list of selected objects 248 comprises a list of diagram objects 252. Each diagram object 252 is associated with actions 254. An action 254 may be comprised of several action items 256. An action item 256 is a uniform resource locator (URL) attached to a diagram object. It is displayed as a menu item in the display area and is executed by the navigator. If the navigator cannot handle the event, it is passed to the viewer. An action item has an associated anchor 258. An attachment 260 has an appearance defined by a diagram object. A group object 262 is associated with a number of diagram objects, while single object 264 is defined as a single diagram object 252. These are subclasses ofthe diagram objects 252. Diagram objects and diagrams may also have an attribute 266 associated therewith. An attribute is comprised of one or more attribute items 268. Each attribute item may have an associated text block 270.
Referring now to Fig. 6 shows the different types of graphical objects which may be displayed. For example, there may be arc objects 140, ellipse objects 142, group objects 144, line objects 146, bit mapped images 148, polygons 150, rectangles 152, text blocks 154, and text segments 156. Other object types also may be displayed. Each one of these objects are subclasses ofthe shape object class 158. The shape is comprised of an extent object 160 which defines the area of pixels within the diagram that is considered part ofthe object. A line has associated with it a line style object 162 and a line point object 164. An arrow object 166 is a subclass of a line 146 and has an arrowhead 168. A regular polygon 170 is a subclass of a polygon 150. Text block 154 and text segments 156 use a text attribute 172. A text block 154 uses a text segment 156. An anchor object 174 is also used. It is part of a text block with anchor object 176 and text segment with anchor object 178. Each ofthe objects 176 and 178 respectively are subclasses of a text block 154 or text segment 156. Instances of each of these object classes are generated directly from the markup tags and associated attributes which indicate those objects. Referring now to Fig. 7, the display area 180 is the part ofthe display on which the diagram is drawn. This class is responsible for displaying the diagram objects, scaling the diagram objects and dispatching mouse events. The size ofthe display area is the size ofthe diagram times the scale. The navigator object class 182 is the container for the scale scroller and the display area. It uses the scale scroller to handle the scrolling ofthe diagram in the display area. The scale scroller class is responsible for handling the horizontal and vertical scroll bars. The scroll bars are only displayed if the display area is larger than can be displayed by the navigator. An diagrams visited object 184 keeps a list of diagrams that have been viewed with the viewer. When an action item calls a URL to display a diagram, this list is checked to determine whether the diagram was already retrieved. Is so, the existing diagram object is displayed instead of retrieving the URL.
The viewer 40 and navigator 182 are subclasses ofthe action handler object 186. The action handler is an abstract class. Any class that implements this class is allowed to service the action item request. The viewer class controls all interaction between the applet and the browser. Its responsibilities include creation ofthe diagram drawing space, communication with the HTTP server for retrieving files in this markup language and invocation of action items which are URL references. The navigator performs action items 188 which are elements within a menu item 190 which in turn are within a menu 192 which is displayed by a method ofthe display area object 180. A menu item represents the visual component of an action item. A control object 198 is an operation that can be performed by the navigator, which are included in a list maintained as an abstract class called a control list 200. Navigator 182 has a navigational control object 202 which is a subclass ofthe control list 200. It is the list of available or built-in menu options that are performed by the navigator. Some global variables are stored in a global object 204, such as the base URL of a document.
The navigator also has a zoom control object 194 which uses a scale controller 196. The zoom control displays a window to the user as shown in Fig. 12A which allows the user to change the zoom factor or scale ofthe diagram objects displayed in the display area. By changing the scale, the diagram is redisplayed in the new scale immediately.
A layer control object 210 is used to monitor which layers are active to be used by the navigator 182. It has a method for displaying a window which lists all the layers in the diagram. The user can select a layer to display it or deselect it in order not to display it. The display ofthe diagram is updated immediately upon a layer selection change.
The ExtFrameProducer 207 is an abstract class. Any class that implements this class is allowed to produce external windows, such as the zoom control and layer control classes. The ExtFrame class 208 is an external window container. It is used for displaying any popup window. The ExtFrame is added to an external frame list object 206. The frames are created by the class 207 or a subclass.
Each ofthe object classes has associated methods for creation of instances of these objects, reading and displaying these objects, updating the values describing the objects and deleting the objects. The implementation of such methods can be done by one of ordinary skill in the art and following the desired display and user interface actions above. Having now described a few embodiments ofthe invention, it should be apparent to those skilled in the art that the foregoing is merely illustrative and not limiting, having been presented by way of example only. Numerous modifications and other embodiments are within the scope of one of ordinary skill in the art and are contemplated as falling within the scope ofthe invention as defined by the appended claims and equivalents thereto.
Appendix I
<!-- ============== HyperGraphic Markup Language =============
Document Type Definition for the HyperGraphic Markup Language (HGML DTD)
Id: hgml.dtd v 1.0 09/10/1996 Author: Ronald E. Fortin <ref@mesasys.com> See Also :http : //www.mesasys . com/hgml . html
<! ENTITY % HGMLVersion
"-//Mesa//DTD HGML 1.0//EN"
-- Typical usage:
<!DOCTYPE HGML PUBLIC "-//Mesa//DTD HGML 1.0//EN">
<hgml>
</hgml>
>
<!--====================== Imported Names ======================-->
<!ENTITY % URI "CDATA"
-- The term URI means a CDATA attribute whose value is a Uniform Resource Identifier, as defined by
"Universal Resource Identifiers" by Tim Berners-Lee aka RFC 1530
Note that CDATA attributes are limited by the LITLEN capacity (1024 in the current version of html.decl), so that URIs in HGML have a bounded length.
>
<!-- ============== Character mnemonic entities =============== -->
<! ENTITY % ISOlatl PUBLIC
"ISO 8879-1986//ENTITIES Added Latin 1//EN//HTML" >
%IS01atl;
<! ENTITY amp CDATA "&#38;" -- ampersand -->
<! ENTITY gt CDATA "&#62;" -- greater than -->
<! ENTITY It CDATA "&#60;" -- less than -->
<! ENTITY quot CDATA "&#34;" -- double quote -->
<! ENTITY % bool "(TRUE | FALSE)" >
<! ENTITY % justify "LEFT | CENTER | RIGHT" >
<! ENTITY % font "B I I I U I S I SUP | SUB | BIG | SMALL | PRE | FONT" >
<! ENTITY % text "#PCDATA | BR | HR | %justify | %font I A" >
<!ELEMENT (%font ; | %justify; ) - - (%text) + >
<! ELEMENT BASEFONT - O EMPTY >
<!ATTLIST (FONT | BASEFONT)
SIZE NUTOKEN #IMPLIED
COLOR CDATA #IMPLIED -- #RRGGBB in hex, e.g. red:
Cθlor="#FF0000" --
NAME CDATA #IMPLIED >
<!--
There are also 16 widely known color names although the resulting colors are implementation dependent : aqua, black, blue, fuchsia, gray, green, lime, maroon, navy, olive, purple, red, silver, teal, white, and yellow
These colors were originally picked as being the standard
16 colors supported with the Windows VGA palette.
The color may also be set to 'invisible' which causes the object not to be drawn yet it can still respond to events.
- ->
< ! ELEMENT BR - 0 EMPTY >
< ! ELEMENT HR - 0 EMPTY >
<! ENTITY % linkName "CDATA" >
<! ENTITY % linkType "NAME" >
<!ENTITY % linkExtraAttributes
"REL %linkType #IMPLIED
REV %linkType #IMPLIED
URN CDATA #IMPLIED
TITLE CDATA #IMPLIED
METHODS NAMES #IMPLIED
TARGET CDATA #IMPLIED" >
<! ENTITY % AContent "(%text)*" >
<! ELEMENT A - - %AContent -(A) >
<!ATTLIST A
HREF %URI #IMPLIED
NAME %linkName #IMPLIED
%1inkExtraAttributes ; >
<!-- <A> Anchor; source/destination of link-->
<!-- <A NAME=" ... ">Name of this anchor -->
<!-- <A HREF=" ... ">Address of link destination- ->
<!-- <A URN=" ... ">Permanent address of destination- ->
<!-- <A REL= ... Relationship to destination-->
<!-- <A REV= ... Relationship of destination to this -->
<!-- <A TITLE=" ... ">Title of destination (advisory) -->
<!-- <A TARGET=" ... " > - - >
<!-- <A METHODS=" ... ">Operations on destination (advisory) -->
<!-- ========================= include ======================== -->
< ! ELEMENT INCLUDE - 0 EMPTY >
<!ATTLIST INCLUDE
SRC CDATA #REQUIRED >
<!-- ========================= Action ========================= -->
<!ENTITY % actionType "(CLICK | DOUBLECLICK | KEY)" >
<! ENTITY % actionContent "(Al)*" >
<! ELEMENT ACTION - - %actionContent >
<!ATTLIST ACTION
TYPE %actionType CLICK >
<! ENTITY % aiType" (DEFAULT | NONE)" >
<!ENTITY % aiSelect" (ENABLED | DISABLED)" >
<! ELEMENT Al - - (A | ACTION) >
<!ATTLIST Al
NAME CDATA #REQUIRED
DEFAULT %aiType NONE
SELECTABILITY %aiSelect ENABLED >
<!-- ==================== Hierarchical List =================== -->
<! ELEMENT HL - - (HLI)+ >
<! ELEMENT HLI - - (HL | (%text)+)? >
<!ATTLIST HLI
NAME CDATA #REQUIRED
TYPE CDATA #IMPLIED > <!-- ===================== Graphic Objects ==================== -->
<! ENTITY % attachlnside "TOP-INSIDE | TOPRIGHT-INSIDE | RIGHT-INSIDE |
BOTTOMRIGHT-INSIDE | BOTTOM-INSIDE | BOTTOMLEFT-INSIDE | LEFT-INSIDE |
TOPLEFT-INSIDE" >
< .ENTITY % attachOutside "TOP-OUTSIDE | TOPRIGHT-OUTSIDΞ | RIGHT-OUTSIDE
I BOTTOMRIGHT-OUTSIDE | BOTTOM-OUTSIDE | BOTTOMLEFT-OUTSIDE |
LEFT-OUTSIDE | TOPLEFT-OUTSIDE" >
<! ENTITY % attachLocation " (%attachlnside | %attachOutside | CENTER)" >
<!ENTITY % fillType "(SOLID | NONE | NUMBER)" >
<!ENTITY % styles "(SOLID | DOT | DASH)" >
<!ENTITY % objectContent "(ACTION | HL | %text) *" >
<!ENTITY % graphicAttlist
"ID ID #IMPLIED
TYPE CDATA #IMPLIED
ATTACH ID #IMPLIED
ATTACHTYPE%attachLocation#IMPLIED
POSITION NUTOKENS #IMPLIED
SIZE NUMBERS #IMPLIED
ROTATIONNUMBER #IMPLIED
ENABLE %bool TRUE" >
<! ENTITY % objectAttlist
"%graphicAtt1ist
COLOR CDATA #IMPLIED
WIDTH NUMBER 1
FILL %fillType NONE
STYLE %styles SOLID" >
<!-- <OBJECT ID Unique Identifier -->
< ! - - <OBJECT TYPELogical Type Information- - >
<!-- <OBJECT COLORDraw Object Using COLOR- ->
<!-- <OBJECT FILLFill The Object With COLOR- ->
<!-- <OBJECT STYLEDraw Object with line style-->
<!-- <OBJECT ATTACHID Of Binding Object- ->
<!-- <OBJECT ATTACHTYPEType Of Binding-->
<!-- <OBJECT POSITIONObject Location Or Bind Offset- ->
<!-- <OBJECT SIZEWidth And Height Of Object- ->
<!-- <OBJECT ROTATION Rotation angle in degrees -->
<!-- <OBJECT ENABLEEnable/Disable events- ->
< ! - - <OB ECT> - - >
<! ELEMENT OBJECT - - %objectContent >
<!ATTLIST OBJECT
NAME CDATA #REQUIRED
%objectAttlist >
<!-- <ELLIPSE> -->
<! ELEMENT ELLIPSE - - %objectContent >
<!ATTLIST ELLIPSE
%objectAttlist >
<!-- <RECTANGLE> -->
<! ELEMENT RECTANGLE - - %objectContent >
<!ATTLIST RECTANGLE
CORNER NUMBER "0"
%objectAttlist >
<!-- <ARC> -->
< ! ELEMENT ARC - - %ob j ectContent >
< ! ATTLIST ARC
ANGLE NUMBERS " 0 0 "
%obj ectAttlist > < ! - - <REGPOLYGON> - - >
<! ELEMENT REGPOLYGON - - %objectContent >
<!ATTLIST REGPOLYGON
SIDES NUMBER #REQUIRED
%objectAttlist >
<!-- <IMAGE> -->
<! ELEMENT IMAGE - - %objectContent >
<!ATTLIST IMAGE
SRC CDATA #REQUIRED
%objectAttlist >
<!-- <TEXT> -->
<!ELEMENT TEXT - - %objectContent >
<!ATTLIST TEXT
%graphicAttlist >
<!-- <POLYGON> -->
<! ENTITY % polygonContent "((POINT, POINT+) & %objectContent) " >
< ! ELEMENT POLYGON - - %polygonContent >
<!ATTLIST POLYGON
%objectAttlist >
<!-- <LINE> -->
<! ENTITY % lineType "(SQUARE | ROUND)" >
<! ENTITY % linePoint "(POINT j ATTACHPOINT) " >
<! ENTITY % lineContent " ( (%linePoint, %linePoint+) & FROMARROW? & TOARROW?
& %objectContent) " >
<! ELEMENT LINE - - %lineContent >
<!ATTLIST LINE
ID ID #IMPLIED
COLOR CDATA #IMPLIED
WIDTH NUMBER 1
TYPE CDATA #IMPLIED
SPLINE %lineType SQUARE
STYLE %styles SOLID
ENABLE %bool TRUE >
<!-- <POINT> - - >
<! ELEMENT POINT - O EMPTY >
<!ATTLIST POINT
POSITIONNUMBERS #REQUIRED >
<! ELEMENT ATTACHPOINT - O EMPTY >
<!ATTLIST ATTACHPOINT
POSITIONNUMBERS #IMPLIED
ATTACH ID #REQUIRED
ATTACHTYPE%attachLocation#REQUIRED
CLIP %bool FALSE >
< ! - - <FROMARROWxTOARROW> - - >
<! ENTITY % arrowType "(SOLID | HOLLOW | OPEN | CROW | BAR)" >
<! ELEMENT FROMARROW - O EMPTY >
<! ELEMENT TOARROW - O EMPTY >
<!ATTLIST (FROMARROW | TOARROW)
TYPE %arrowType #REQUIRED
COLOR CDATA #IMPLIED
COUNT NUMBER #IMPLIED
WIDTH NUMBER #IMPLIED
HEIGHT NUMBER #IMPLIED >
<! ENTITY % graphicObjectS "OBJECT | ELLIPSE | RECTANGLE | ARC | LINE |
TEXT I IMAGE | POLYGON | REGPOLYGON | USE" > <! ELEMENT DEFINE - - (%graphicObjects) + >
<!ATTLIST DEFINE
NAME CDATA #REQUIRED
TYPE CDATA #IMPLIED >
<! ELEMENT USE - - %objectContent >
<!ATTLIST USE
NAME CDATA #REQUIRED
%graphicAttlist >
<!-- ========================== Layer ========================= -->
<!ENTITY % layerContent "%graphicObjects" >
<! ELEMENT LAYER O O (%layerContent) * >
<!ATTLIST LAYER
ID CDATA #IMPLIED >
<!-- ========================= Diagram ======================== -->
<! ENTITY % diagramContent "(LAYER | %layerContent | HL | ACTION)" >
<! ELEMENT DIAGRAM - - (%diagramContent) + >
<!ATTLIST DIAGRAM
ID CDATA #IMPLIED
TITLE CDATA #IMPLIED
TYPE CDATA #IMPLIED
COLOR CDATA #IMPLIED
SIZE NUMBERS #IMPLIED >
<!-- <DIAGRAM IDUnigue Identifier- ->
< ! - - <DIAGRAM TITLEDiagram Title - - >
<!-- <DIAGRAM TYPELogical type of the diagram- ->
<!-- <DIAGRAM COLORBackground color of the diagram- ->
<!-- <DIAGRAM SIZEDiagram drawing area size (x,y)-->
<! ENTITY % bodyContent "DIAGRAM | HL" >
<! ELEMENT BODY - - ( %bodyContent) + >
<!-- ========================== Head ========================== -->
<! ELEMENT META - O EMPTY > <!ATTLIST META HTTP-EQUIVNAME #IMPLIED NAME NAME #IMPLIED CONTENT CDATA #REQUIRED >
-- <META> Generic Metainformation-->
-- <META HTTP-EQUIV= ... >HTTP response header name-->
-- <META NAME= ... >Metainformation name-->
-- <META CONTENT=" ... ">Associated information- ->
ELEMENT TITLE - - #PCDATA>
ENTITY % headContent "BASEFONT? & TITLE? & META*" >
ELEMENT HEAD - - (%headContent) >
-- ========================== HGML ======================
ENTITY % hgmlContent "HEAD?, (DEFINE | INCLUDE)*, BODY" > ELEMENT HGML - - (%hgmlContent) >
ENTITY % versionAttr "VERSION CDATA #FIXED ' %HGMLVersion; / « ATTLIST HGML
%versionAttr ; > Appendix II
<HGML>
<HEADxBASEFONT SIZE=24</HEAD>
<BODY>
<DIAGRAM size="2000 2000" Type="Org Chart" Id="org/Vidyo-yo"
Title="Vidyo-yo Org Chart"
Figure imgf000025_0001
<rectangle id="l" corner=80 position="1250 100" size="250 100" color=blue fill=solid enable=falsex/rectangle>
<rectangle id=" la" corner=80 attach=" l" attachtype="topleft-inside" position=" - 5% -10%" size="250 100" color=white fill=solid>
<action type=click>
<ai name="Send Mail" xa href="mailto :burnes@springf ield. com" x/ax/ai>
</action>
</rectangle>
<rectangle corner=80 attach="l" attachtype="topleft-inside" position="-5%
-10%" size="250 100" color=black enable=falsex/rectangle>
<text attach="la" attachtype="center" >
<center>Mr . Burnes<br>President</center>
</text>
<rectangle id="2" corner=80 position="500 500" size="250 100" color=blue fill=solid enable=falsex/rectangle>
<rectangle id="2a" corner=80 attach="2" attachtype="topleft-inside" position="-5% -10%" size="250 100" color=white fill=solid>
<action type=click>
<ai name="Send Mail" xa href ="mailto :Barney@springf ield. com" x/ax/ai>
</action>
</rectangle>
<rectangle corner=80 attach="2" attachtype="topleft-inside" position="-5%
-10%" size="250 100" color=black enable=falseχ/rectangle>
<text attach="2a" attachtype="center" >
<center>Barney<br>V. P . Sales</center>
</text>
<rectangle id="3" corner=80 position="1000 500" size="250 100" color=blue f ill=solid enable=falsex/rectangle>
<rectangle id="3a" corner=80 attach=" 3" attachtype=" topleft-inside" position=" - 5% - 10%" size="250 100" color=white fill=solid>
<action
<ai name="Send Mail" xa href="mailto :Homer@springf ield. com" x/ax/ai>
<ai name="Display Info" xa href=" /graphics/simpsons/homer2 . gif " x/ax/ai>
</action>
</rectangle>
<rectangle corner=80 attach="3" attachtype="topleft-inside" position="-5%
-10%" size="250 100" color=black enable=falsex/rectangle>
<text attach="3a" attachtype="center" >
<center>Homer<br>V. P . Engineering^center>
</text>
<rectangle id="4" corner=80 position="1500 500" size="250 100" color=blue f ill=solid enable=falsex/rectangle>
<rectangle id="4a" corner=80 attach="4" attachtype=" topleft- inside" position=" -5% -10%" size="250 100" color=white fill=solid> <action type=click>
<ai name="Send Mail" xa href ="mailto : smithers@springf ield. com" x/ax/ai>
</action>
</rectangle>
<rectangle corner=80 attach="4" attachtype="topleft-inside" position="-5%
-10%" size="250 100" color=black enable=falsex/rectangle>
<text attach="4a" attachtype="center" >
<center>Smithers<br>V. P . Marketing</center>
</text>
<rectangle id=" 5" comer=80 position="2000 500" size=" 250 100" color=blue f ill=solid enable=false>< /rectangle >
<rectangle id=" 5a" corner=80 attach=" 5" attachtype="toplef t-inside" position=" -5% -10%" size=" 250 100" color=white fill=solid>
<action type=click>
<ai name="Send Mail" xa href="mailto :Mo@springf ield. com" ></ax/ai>
</action>
</rectangle>
<rectangle corner=80 attach="5" attachtype="topleft-inside" position="-5%
-10%" size="250 100" color=black enable=falsex/rectangle>
<text attach="5a" attachtype="center" >
<center>Mo<br>V. P . Manufacturing</center>
</text>
<line type=square>
<attachpoint attach="l" attachtype="bottom-outside">
<attachpoint attach="2" attachtype="top-outside">
<toarrow type=solid>
</line>
<line type=square>
<attachpoint attach="l" attachtype="bottom-outside">
<attachpoint attach="3" attachtype="top-outside" >
<toarrow type=solid>
</line>
<line type=square>
<attachpoint attach="l" attachtype="bottom-outside">
<attachpoint attach="4" attachtype="top-outside">
<toarrow type=solid>
</line>
<line type=square>
<attachpoint attach="l" attachtype="bottom-outside">
<attachpoint attach="5" attachtype="top-outside" >
<toarrow type=solid>
</line>
<rectangle id=" 6" corner=80 position=" 700 800" size="250 100" color=blue fill=solid enable=falsex/rectangle>
<rectangle id=" 6a" corner=80 attach="6" attachtype="topleft- inside" position=" -5% -10%" size="250 100" color=white fill=solid>
<action type=click>
<ai name="Send Mail" xa href =" mail to : WigginsOspringf ield. com" x /a /ai>
</action>
</rectangle>
<rectangle corner=80 attach="6" attachtype="toplef t-inside" position=" - 5%
-10%" size="250 100" color=black enable=falsex/rectangle>
<text attach=" 6a" attachtype= " center" >
<center>Wiggins<br>Mgr . V and V</center> </text>
<line type=square>
<attachpoint attach="3" attachtype="bottom-outside">
<attachpoint attach="6" attachtype="top-outside">
<toarrow type=solid>
</line>
<line type=square>
<point position="1125 600" >
<point position="1125 900" >
</line>
<text position=" 1130 760" >
<action type=click>
<ai name="Send Mail" xa href ="mailto :bart@springf ield. com" x/ax/ai>
<ai name="Display Info" xa href=" /graphics/simpsons/bart . gif " x/ax/ai>
</action>
Bart
</text>
<line type=square>
<point position="1125 800" >
<point position="1225 800" >
</line>
<text position=" 1130 810" >
<action type=click>
<ai name="Send Mail" xa href ="mailto : lisaOspringf ield. com" χ/ax/ai>
<ai name="Display Info" xa href=" /graphics/simpsons/lisa2 . gif " x/ax/ai>
</action>
Lisa
</text>
<line type=square>
<point position="1125 850" >
<point position="1225 850" >
</line>
<text position="1130 860" >
<action type=click>
<ai name="Send Mail" xa href ="mailto :maggie@springf ield. com" x/ax/ai>
<ai name="Display Info" xa href =" /graphics/simpsons/maggie . gif " x/ax/ai>
</action>
Maggie
</text>
<line type=square>
<point position=" 1125 900" >
<point position=" 1225 900" >
</line>
<rectangle id="7" corner=80 position="1300 800" size="250 100" color=blue f ill=solid enable=falsex/rectangle>
<rectangle id=" 7a" corner=80 attach=" 7" attachtype="toplef t-inside" position=" -5% - 10%" size="250 100" color=white fill=solid>
<action type=click>
<ai name="Send Mail" xa href ="mailto :Marge@springf ield. com" x/ax/ai> <ai name="Display Info" xa href =" /graphics/simpsons/marge4 . gif " x/ax/ai>
</action>
</rectangle>
<rectangle corner=80 attach="7" attachtype="topleft-inside" position="-5%
-10%" size="250 100" color=black enable=falsex/rectangle>
<text attach="7a" attachtype="center" >
<center>Marge<br>Mgr . Documentation</center>
</text>
<rectangle id="8" corner=80 position="1600 800" size="250 100" color=blue fill=solid enable=falsex/rectangle>
<rectangle id="8a" corner=80 attach="8" attachtype="topleft-inside" position="-5% -10%" size="250 100" color=white fill=solid>
<action type=click>
<ai name="Send Mail" xa href ="mailto :ned@springf ield. com" x/ax/ai>
</action>
</rectangle>
<rectangle corner=80 attach="8" attachtype="topleft-inside" position="-5%
-10%" size="250 100" color=black enable=falsex/rectangle>
<text attach="8a" attachtype="center" >
<center>Ned<br>Mgr. Training</center>
</text>
<line type=square>
<attachpoint attach="3" attachtype="bottom-outside">
<attachpoint attach="7" attachtype="top-outside" >
<toarrow type=solid>
</line>
<line type=square>
<attachρoint attach="3" attachtype="bottom-outside">
<attachpoint attach="8" attachtype="top-outside" >
<toarrow type=solid>
</line>
< /diagram>
< /BODY>
</HGML>
Appendix III
<hgml>
<head x/head>
<body>
<diagram Color=white Type="DFD" Id="Cruise_Control/Cruise_Control/DFD/0"
Title=" 0 - Perform Automobile Cruise Control and Monitoring" >
<action type=click>
<ai name="Check Object" xa href=" /vista/twk/cgi-bin/twkcheck .pl?Cruise_Control/Cruise_Cσntrol/DFD/0
/object /body" target=" check" x /ax /ai>
<ai name="Check Subtree" xa href =" /vista/ twk/cgi-bin/twkcheck.pl?Cruise_Control/Cruise_Control/DFD/θ
/subtree /body" target=" check" x /ax /ai>
<ai name="Show Parent" xa href =" / ista/ twk/cgi-bin/twkhgml .pl?Cruise_Control/Cruise_Control /DFD/Co ntext -Diagram" >< /ax /ai>
<ai name="Show Parent (in another window) " xa href =" / vista/ twk/cgi-bin/twkhgml . i ?Cruise_Control/Cruise_Control/DFD/Co ntext-Diagram" target="_blank" χ/ax/ai>
<ai name="Show Notes" xa href=" /vista/twk/cgi-bin/twkget .pl?Cruise_Control/Cruise_Control/DFD_NI/
0/" x/ax/ai>
</action>
<ellipse id="l" type="DFD_PRIMITIVE_PROCESS" position="555 428" size="102 102" width=3 color="green" >
<action type=click>
<ai name="Show Child" default xa href=" /vista/twk/cgi-bin/twkhgml .pl?Cruise_Control/Cruise_Control/DFD/l" x/ax/ai>
<ai name="Show Child (in another window) " xa href=" /vista/twk/cgi-bin/twkhgml .pl?Cruise_Control/Cruise_Control/DFD/l" target="_blank" x/ax/ai>
<ai name="Show Requirements" xa href =" /vista/twk/blank .html" x/ax/ai>
<ai name="Show CAD Drawing" xa href =" /vista/twk/blank . html" x/ax/ai>
</action>
</ellipse>
<text id="0" type=text attach="l" attachtype="center" position="0 0">
<CENTERxB> Determine<BR>
Speed and<BR>
Distance
</Bx /CENTERx /text>
<text id=" 0" type=text attach=" l" attachtype=" bottom- inside" position=" 0
- 30%" >
1
</text>
<ellipse id="2" type="DFD_NONPRIMITIVE_PROCESS" position="654 680" size="102 102" width=3 color="blue" >
<action type=click>
<ai name="Show Child" default xa href=" /vista/twk/cgi-bin/twkhgml .pl?Cruise_Control/Cruise_Control/DFD/3" x/ax/ai>
<ai name="Show Child (in another window) " xa href="/vista/twk/cgi-bin/twkhgml.pl?Cruise_Control/Cruise_Control/DFD/3" target="_blank" x/ax/ai>
<ai name="Show Requirements" xa href =" /vista/twk/blank . html" x/ax/ai>
<ai name="Show CAD Drawing" xa href=" /vista/twk/blank . html" x/ax/ai>
</action>
</ellipse>
<text id="0" type=text attach="2" attachtype="center" position="0 0">
<CENTERxB> Monitor<BR>
Maintenance<BR>
Required
</Bx/CENTERx /text>
<text id=" 0" type=text attach="2" attachtype="bottom-inside" position=" 0
-30%" >
3
</text>
<ellipse id="3" type="DFD_NONPRIMITIVE_PROCESS" position="858 490" size="102 102" width=3 color="blue" >
<action type=click>
<ai name="Show Child" default xa href=" /vista/twk/cgi-bin/twkhgml .pl?Cruise_Control/Cruise_Control/DFD/2" x/ax/ai>
<ai name="Show Child (in another window) " xa href="/vista/twk/cgi-bin/twkhgml.pl?Cruise_Control/Cruise_Control/DFD/2" target="_blank" x/ax/ai>
<ai name="Show Requirements" xa href =" /vista/twk/blank . html" x/aχ/ai>
<ai name="Show CAD Drawing" xa href=" /vista/twk/blank . html" x/ax/ai>
</action>
</ellipse>
<text id="0" type=text attach="3" attachtype="center" ρosition="0 0">
<CENTERxB> Control<BR>
Speed
</Bx/CENTERx/text>
<text id=" 0" type=text attach=" 3" attachtype="bottom- inside" position=" 0
- 30%" >
2
</text>
<ellipse id="4" type="DFD_PRIMITIVE_PROCESS" position="342 725" size="102 102" width=3 color="green" >
<action type=click>
<ai name="Show Child" default xa href="/vista/twk/cgi-bin/twkhgml.pl?Cruise_Control/Cruise_Control/DFD/5"
></ax/ai>
<ai name="Show Child (in another window) " xa href="/vista/twk/cgi-bin/twkhgml.pl?Cruise_Control/Cruise_Control/DFD/5" target="_blank" x/ax/ai>
<ai name="Show Requirements" xa href=" /vista/twk/blank. html" x/ax/ai>
<ai name="Show CAD Drawing" xa href =" /vista/twk/blank . html" x/ax/ai>
</action>
</ellipse>
<text id="0" type=text attach="4" attachtype=" center" position="0 0">
<CENTERxB> Monitor<BR>
Average<BR>
Speed
</Bx/CENTERx/text> <text id="0" type=text attach="4" attachtype="bottom-inside" position="0
-30%">
5
</text>
<imagβ src="ref .gif" id="5" type="DFD_NONPRIMITIVE_PROCESS" position="149 607" size="104 104" width=3 color="blue" >
<action type=click>
<ai name=" Show Child" default xa href =" /vista/ twk/cgi-bin/twkhgml . pi ?Cruise_Control/Cruise_Control/DFD/4" x/ax/ai>
<ai name=" Show Child (in another window) " xa href="/vista/twk/cgi-bin/twkhgml.pl?Cruise_Control/Cruise_Control/DFD/4" target="_blank" x/ax/ai>
<ai name=" Show Requirements" xa href =" /vista/twk/blank . html" ></ax/ai>
<ai name=" Show CAD Drawing" xa href =" /vista/twk/blank . html" /ax/ai>
</action>
</image>
<text id="0" type=text attach="5" attachtype="center" position="0 0">
<F0NT COLOR="white">
<CENTERxB> Monitor<BR>
Fuel<BR>
Economy
< /Bx/CENTERx /FONTx/text>
<text id=" 0" type=text attach=" 5" attachtype="bottom- inside" position=" 0
- 30%" >
4
</text>
<image src="mailbox_gif" id="6" type="DFD_STORE" position="412 570" size="75 75" width=l >
<action type=click>
<ai name=" Show DDE" xa href="/vista/twk/cgi-bin/twkget .pi?Cruise_Control/Cruise_Control/DDE/Mil
Figure imgf000031_0001
<ai name="Show DDE (in another window) " xa href="/vista/twk/cgi-bin/twkget.pl?Cruise_Control/Cruise_Control/DDE/Mil eage" target="_blank" x/ax/ai>
</action>
</image>
<text id="0" type=text attach="6" attachtype="top-outside" ρosition="-50%
-70%">
<CENTERxB> Mileage<BR>
</Bx/CENTERx /text>
<layer id="Data" >
<line id="L0" type=DFD_DATAFLOW >
<point position="482 377" >
<point position="500 382" >
<point position="526 396" >
<point position="548 412" >
<point position="565 430" >
<attachpoint attach=l attachtype=center position="-35 -36" clip=true>
<toarrow type="solid" >
<action type=click>
<ai name="Show DDE" xa href =" /vista/ twk/cgi -bin/ twkget . pl?Cruise_Control/Cruise_Control/DDE/Sha ft Rotation" x/ax/ai>
<ai name="Show DDE (in another window) " xa href =" /vista/ twk/cgi-bin/twkget .pl?Cruise_Control/Cruise_Control /DDE/Sha ft_Rotation" target="_blank" x/ax/ai>
</action>
</line>
<text id="T7" type=text position="485 397" >
<action type=click>
<ai name="Show DDE" xa href=" /vista/twk/cgi-bin/twkget .pl?Cruise_Control/Cruise_Control/DDE/Sha ft Rotation" x/ax/ai>
<ai name="Show DDE (in another window) " xa href=" /vista/twk/cgi-bin/twkget .pl?Cruise_Control/Cruise_Control/DDE/Sha ft Rotation" target="_blank" x/ax/ai>
</action>
<B>Shaft_<BR>
Rotation</B>
</text>
<line id="Ll" type=DFD_DATAFLOW >
<attachpoint attach=l attachtype=center positions" -47 19" clip=true>
<point position=" 518 505" >
<point position="494 525" >
<attachpoint attach=6 attachtype=center position=" 12 -26" clip=true>
<fromarrow type=" solid" >
<toarrow type=" solid" >
<action type=click>
<ai name=" Show DDE" disabledxa href=" /vista/twk/cgi-bin/twkget .pl?Cruise_Control/Cruise_Control/DDE/" x
/ax/ai>
<ai name="Show DDE (in another window) " disabledxa href =" /vista/twk/cgi-bin/twkget .pl?Cruise_Control/Cruise_Control /DDE/" target="_blank" x/ax/ai>
</action>
</line>
<line id="L2" type=DFD_DATAFLOW > ottachpoint attach=6 attachtype=center position=" -29 26" clip=true>
<attachpoint attach=4 attachtype=center position="2 -50" clip=true>
<toarrow type=" solid" >
<action type=click>
<ai name=" Show DDE" disabledxa href=" /vista/twk/cgi-bin/twkget .pl?Cruise_Control/Cruise_Control/DDE/" x
/ax/ai>
<ai name="Show DDE (in another window) " disabledxa href="/vista/twk/cgi-bin/twkget.pl?Cruise_Control/Cruise_Control/DDE/" targets"_blank" ></ax/ai>
</action>
</line>
<line id="L3" type=DFD_DATAFLOW >
<attachpoint attach=4 attachtype=center position="2 50" clip=true>
<point positions"371 917" >
<toarrow types"solid" >
<action type=click>
<ai name="Show DDE" xa href=" /vista/twk/cgi-bin/twkget .pl?Cruise_Control/Cruise_Control/DDΞ/Ave rage_Speed_Display" x/ax/ai>
<ai name="Show DDE (in another window) " xa href=" /vista/twk/cgi-bin/twkget.pi?Cruise_Control/Cruise_Control/DDE/Ave rage_Speed_Display" target="_blank" x/ax/ai>
</actionχ/line>
<text id="Tll" type=text position="372 849" >
<action type=click>
<ai name="Show DDE" xa href=" /vista/twk/cgi-bin/twkget.pi?Cruise_Control/Cruise_Control/DDE/Ave rage_Speed_Display" x/ax/ai>
<ai name="Show DDE (in another window) " xa href=" /vista/twk/cgi-bin/twkget.pi?Cruise_Control/Cruise_Control/DDE/Ave rage_Speed_Display" target="_blank" x/ax/ai>
</action>
<B>Average_<BR>
Speed_<BR>
Display</B>
</text>
<line id="L4" type=DFD_DATAFLOW >
<attachpoint attach=6 attachtype=center position="36 26" clip=true>
<attachpoint attach=2 attachtype=center positions" -48 -15" clip=true>
<toarrow type="solid" >
<action type=click>
<ai name="Show DDE" xa href =" /vista/twk/cgi -bin/ wkget .pl?Cruise_Control/Cruise_Control/DDE/Tot al_Miles" χ/ax/ai>
<ai name="Show DDE ( in another window) " xa href="/vista/twk/cgi-bin/twkget.pl?Cruise_Control/Cruise_Control/DDE/Tot al_Miles" target="_blank" x/ax/ai>
</action>
</line>
<text id="T13" type=text position=" 538 654" >
<action type=click>
<ai name=" Show DDE" xa href=" /vista/twk/cgi-bin/twkget.pl?Cruise_Control/Cruise_Control/DDE/Tot al_Miles" x/ax/ai>
<ai name="Show DDE (in another window)" xa href="/vista/twk/cgi-bin/twkget.pl?Cruise_Control/Cruise_Control/DDE/Tot al_Miles" target="_blank" χ/ax/ai>
</action>
<B>Total_<BR>
Miles</B>
</text>
<line id="L5" type=DFD_DATAFLOW >
<attachρoint attachsδ attachtypescenter positions" -50 16" clipstrue> ottachpoint attachsδ attachtype=center positions"49 -16" clipstrue>
<toarrow types"solid" >
<action type=click>
<ai name="Show DDE" xa href=" /vista/twk/cgi-bin/twkget.pi?Cruise_Control/Cruise_Control/DDE/Tot al_Miles" x/ax/ai>
<ai names" show DDE (in another window) " xa href s" /vista/twk/cgi -bin/ twkget .pl?Cruise_Control/Cruise_Control/DDE/Tot al_Miles" targets"_blank" x/ax/ai>
</action>
</line>
<text id="T14" type=text positions" 312 607" >
<action type=click> <ai names"show DDE" xa href=" /vista/twk/cgi-bin/twkget .pl?Cruise_Control/Cruise_Control/DDE/Tot al_Miles" x/ax/ai>
<ai names" show DDE (in another window) " xa href=" /vista/twk/cgi-bin/twkget .pl?Cruise_Control/Cruise_Control/DDE/Tot al_Miles" target="_blank" x/ax/ai>
</action>
<B>Total_<BR>
Miles</B>
</text>
<line id="L6" type=DFD_DATAFLOW >
<attachpoint attach=5 attachtypescenter position="4 51" clip=true>
<point positions" 181 778" >
<toarrow type=" solid" >
<action typesclick>
<ai names"show DDE" xa href="/ ista/twk/cgi-bin/twkget.pi?Cruise_Control/Cruise_Control/DDE/MPG
_Display"x/ax/ai>
<ai names"show DDE (in another window)" xa hrefs" /vista/twk/cgi-bin/twkget .pi?Cruise_Control/Cruise_Control/DDE/MPG
_Display" target="_blank" x/aχ/ai>
</action>
</line>
<text id="T16" type=text positions" 174 728" >
<action type=click>
<ai names"show DDE" xa href=" /vista/twk/cgi-bin/twkget.pi?Cruise_Control/Cruise_Control/DDE/MPG
_Display"x/ax/ai>
<ai names"Show DDE (in another window)" xa href=" /vista/twk/cgi-bin/twkget.pl?Cruise_Control/Cruise_Control/DDE/MPG
_Display" target="_blank"x/ax/ai>
</action>
<B>MPG_Display</B>
</text>
<line id="L7" type=DFD_DATAFLOW >
<point positions" 76 675" >
<attachpoint attachsS attachtype=center positions" -49 ιg" clip=true>
<toarrow types" solid" >
<action typesclick>
<ai name="Show DDE" xa href=" /vista/twk/cgi-bin/twkget.pi?Cruise_Control/Cruise_Control/DDE/Fue l_Amount" x/ax/ai>
<ai names" show DDE (in another window) " xa href=" /vista/twk/cgi-bin/twkget .pl?Cruise_Control/Cruise_Control/DDE/Fue l_Amount" target="_blank" x/ax/ai>
</action>
</line>
<text id="T17" type=text positions" 95 663" >
<action type=click>
<ai name="Show DDE" xa href =" /vista/ twk/cgi-bin/twkget . pi ?Cruise_Control/Cruise_Control/DDE/Fue l_Amount" x/ax/ai>
<ai names"show DDE (in another window)" xa href=" /vista/twk/cgi-bin/twkget.pl?Cruise_Control/Cruise_Control/DDE/Fue l_Amount" target="_blank" x/ax/ai>
</action> <B>Fuel_<BR>
Amount</B>
</text>
<line id="L8" type=DFD_DATAFLOW >
<point positions"603 356" >
<attachpoint attach=l attachtypescenter positions" -3 -50" clip=true>
<toarrow types"solid" >
<action typesclick>
<ai name="Show DDE" xa href=" /vista/twk/cgi-bin/twkget .pi?Cruise_Control/Cruise_Control/DDE/Tim e"x/ax/ai>
<ai name="Show DDE (in another window) " xa href =" /vista/twk/cgi-bin/twkget . pi ?Cruise_Control/Cruise_Control/DDΞ/Tim e" target="_blank" x/ax/ai>
</action>
</line>
<text id="T20" type=text position=" 591 387" >
<action typesclick>
<ai name="Show DDE" xa href =" /vista/twk/cgi -bin/ twkget .pl?Cruise_Control/Cruise_Control/DDE/Tim e" x/ax/ai>
<ai names"show DDE (in another window) " xa href =" /vista/twk/cgi-bin/twkget .pl?Cruise_Control/Cruise_Control /DDE/Tim e" target="_blank" x/ax/ai>
</action>
<B>Time</B>
</text>
<line id="L9" type=DFD_DATAFLOW >
<attachpoint attachsi attachtype=center positions"27 43" clipstrue> ottachpoint attach=3 attachtypescenter positions" -50 -10" clipstrue>
<toarrow types"solid" >
<action type=click>
<ai name="Show DDE" xa href =" /vista/ twk/cgi-bin/twkget .pi ?Cruise_Control/Cruise_Control/DDE/Spe ed" x/ax/ai>
<ai name="Show DDE ( in another window) " xa href =" /vista/ twk/cgi -bin/ twkget . pi ?Cruise_Control/Cruise_Control/DDE/Spe ed" target="_blank" x/ax/ai>
</action>
</line>
<text id="T21" type=text positions"726 520" >
<action typesclick>
<ai names"show DDE" xa href=" /vista/twk/cgi-bin/twkget.pl?Cruise_Control/Cruise_Control/DDE/Spe ed"x/ax/ai>
<ai names"Show DDE (in another window)" xa href=" /vista/twk/cgi-bin/twkget.pi?Cruise_Control/Cruise_Control/DDE/Spe ed" targets"_blank"x/ax/ai>
</action>
<B>Speed</B>
</text>
<line id="L10" type=DFD_DATAFLOW >
<attachpoint attachs2 attachtypescenter positions" 35 36" clip=true>
<point positions" 814 821" >
<toarrow types" solid" >
<action type=click> <ai names"show DDE" xa href="/vista/twk/cgi-bin/twkget.pl?Cruise_Control/Cruise_Control/DDE/Mai ntenance_Display_Status" x/ax/ai>
<ai name="Show DDE (in another window) " xa hrefs" /vista/twk/cgi-bin/twkget .pi?Cruise_Control/Cruise_Control/DDE/Mai ntenance_Display_Status" targets"_blank" x/ax/ai>
</action>
</line>
<text id="T22" tyρe=text positions"736 779" >
<action typesclick>
<ai names"show DDE" xa hrefs"/vista/twk/cgi-bin/twkget .pi?Cruise_Control/Cruise_Control/DDE/Mai ntenance_Display_Status"χ/ax/ai>
<ai names"show DDE (in another window)" xa hrefs" /vista/twk/cgi-bin/twkget .pi?Cruise_Control/Cruise_Control/DDE/Mai ntenance_Display_Status" target="_blank" x/ax/ai>
</action>
<B>Maintenance_<BR>
Display_Status<BR>
</B>
</text>
<line id="Lll" type=DFD_DATAFLOW >
<point positions"897 740" > ottachpoint attachs3 attachtype=center positions" -6 50" clipstrue>
<toarrow types"solid" > oction typesclick>
<ai names"show DDE" xa hrefs"/vista/twk/cgi-bin/twkget.pl?Cruise_Control/Cruise_Control/DDE/Ped al_Def lection" x/ax/ai>
<ai name="Show DDE (in another window) " xa href=" /vista/twk/cgi-bin/twkget.pi?Cruise_Control/Cruise_Control/DDE/Ped al_Def lection" targets"_blank" x/ax/ai>
</action>
</line>
<text id="T24" type=text positions"834 662" >
<action typesclick>
<ai names"show DDE" xa href="/vista/twk/cgi-bin/twkget.pl?Cruise_Control/Cruise_Control/DDE/Ped al_Def lection" x/ax/ai>
<ai name="Show DDE ( in another window) " xa hrefs" /vista/twk/cgi-bin/twkget .pi?Cruise_Control/Cruise_Control/DDE/Ped al_Def lection" targets"_blank" χ/ax/ai>
</action>
<B>Pedal_<BR>
Deflection</B>
</text>
<line id="L12" type=DFD_DATAFLOW > ottachpoint attachs3 attachtypescenter positions"45 22" clip=true>
<point positions"1098 621" >
<toarrow types"solid" > oction type=click>
<ai names"Show DDE" xa hrefs" /vista/twk/cgi-bin/twkget.pi?Cruise_Control/Cruise_Control/DDE/Thr ottle_Position" x/ax/ai>
<ai name=" Show DDE (in another window) " xa href=" /vista/twk/cgi-bin/twkget . pl?Cruise_Control/Cruise_Control/DDE/Thr ottle_Position" target="_blank" x/ax/ai>
</action>
</line>
<text id="T27" type=text positions" 1037 581" >
<action typesclick>
<ai name="Show DDE" xa href=" /vista/twk/cgi-bin/twkget.pi?Cruise_Control/Cruise_Control/DDE/Thr ottle_Position" x/ax/ai>
<ai names"show DDE (in another window)" xa hrefs" /vista/twk/cgi-bin/twkget.pi?Cruise_Control/Cruise_Control/DDE/Thr ottle_Position" targets"_blank"x/ax/ai>
</action>
<B>Throttle_<BR>
Position</B>
</text>
</layer>
<layer ids"Control" >
<line colors" red" style="dash" id="L13" type=DFD_CONTROLFLOW >
<point positions"624 620" >
<attachpoint attachs2 attachtypescenter positions" -19 -46" clipstrue>
<toarrow type=" solid" >
<action typesclick>
<ai name="Show DDE" xa href=" /vista/twk/cgi-bin/twkget.pi?Cruise_Control/Cruise_Control/DDE/Mai ntenance_Reset_Command" x/ax/ai>
<ai name="Show DDE (in another window)" xa href=" /vista/twk/cgi-bin/twkget.pi?Cruise_Control/Cruise_Control/DDE/Mai ntenance_Reset_Command" target="_blank" ></ax/ai>
</action>
</line>
<text id="T9" type=text position="601 634" >
<action type=click> oi name=" Show DDE" xa href=" /vista/twk/cgi-bin/twkget.pi?Cruise_Control/Cruise_Control/DDE/Mai ntenance_Reset_Command" x/ax/ai>
<ai name="Show DDE (in another window)" xa href=" /vista/twk/cgi-bin/twkget.pi?Cruise_Control/Cruise_Control/DDE/Mai ntenance_Reset_Command" target="_blank" ></ax/ai>
</action>
<B>Maintenance_<BR>
Reset_Command</B>
</text>
<line color=" red" style="dash" id="L14" type=DFD_C0NTR0LFL0W >
<point positions" 506 835" > ottachpoint attachs4 attachtypescenter positions"38 33" clip=true>
<toarrow types" solid" > oction typesclick>
<ai names" show DDE" xa href=" /vista/twk/cgi-bin/twkget .pl?Cruise_Control/Cruise_Control/DDE/Spe ed_Command" x/ax/ai>
<ai names" show DDE (in another window) " xa href=" /vista/twk/cgi-bin/twkget .pl?Cruise_Control/Cruise_Control/DDE/Spe ed_Command" targets "_blank" x/ax/ai>
</action>
</line>
<text id="T12" type=text position="472 811" > oction typesclick>
<ai name=" Show DDE" xa href=" /vista/twk/cgi-bin/twkget .pl?Cruise_Control/Cruise_Control/DDE/Spe ed_Command" x/ax/ai> oi name=" Show DDE ( in another window) " xa href=" /vista/twk/cgi-bin/twkget . pi ?Cruise_Control/Cruise_Control/DDΞ/Spe ed_Command" target="_blank" x/ax/ai>
< /action>
<B>Speed_<BR>
Command<BR>
</B>
</text>
<line color="red" style="dash" id="L15" type=DFD_CONTROLFLOW >
<point positions" 98 575" > ottachpoint attach=5 attachtype=center positions" -32 -40" clipstrue>
<toarrow types" solid" > oction typesclick>
<ai name="Show DDE" xa hrefs" /vista/twk/cgi-bin/twkget.pi?Cruise_Control/Cruise_Control/DDE/MPG
_Reset_Command" ></ax/ai>
<ai names"Show DDE (in another window)" xa href=" /vista/twk/cgi-bin/twkget.pi?Cruise_Control/Cruise_Control/DDE/MPG
_Reset_Command" target="_blank" x/ax/ai>
</action>
</line>
<text id="T15" type=text positions" 115 569" >
<action typesclick>
<ai name="Show DDE" xa href=" /vista/twk/cgi-bin/twkget .pi?Cruise_Control/Cruise_Control/DDE/MPG
_Reset_Command" x/ax/ai>
<ai name=" Show DDE ( in another window) " xa href="/vista/twk/cgi-bin/twkget.pl?Cruise_Control/Cruise_Control/DDE/MPG
_Reset_Command" target="_blank" χ /ax/ai>
< /action>
<B>MPG_<BR>
Reset_Command</B>
</text>
<line color="red" style="dash" id="L16" type=DFD_C0NTR0LFL0W >
<attachpoint attach=l attachtypescenter position="49 12" clipstrue> ottachpoint attachs3 attachtypescenter positions" -27 -43" clipstrue>
<toarrow type=" solid" > oction type=click>
<ai name="Show DDE" xa href="/ ista/twk/cgi-bin/twkget.pi?Cruise_Control/Cruise_Control/DDE/Cal ibration" x/ax/ai>
<ai names"show DDE (in another window)" xa href=" /vista/twk/cgi-bin/twkget .pi?Cruise_Control/Cruise_Control/DDE/Cal ibration" targets"_blank" x/ax/ai>
</action>
< /line>
<text ids"T18 " type=text positions" 697 485" >
<action typesclick>
<ai name="Sho DDE" xa href =" /vista/twk/cgi -bin/ twkget . pl?Cruise_Control/Cruise_Control/DDΞ/Cal ibration" x /ax/ai>
<ai names" show DDE ( in another window) " xa href =" /vista/twk/cgi -bin/ twkget . l?Cruise_Control/Cruise_Control/DDE/Cal ibration" targets"_blank" χ/ax/ai>
</action>
<B>Calibration</B>
</text>
<line color="red" style="dash" id="L17" type=DFD_CONTROLFLOW >
<point positions"711 397" >
<attachpoint attachsi attachtypescenter positions"36 -35" clip=true>
■ctoarrow type="solid" > oction type=click>
<ai name="Show DDE" xa href=" /vista/twk/cgi-bin/twkget .pl?Cruise_Control/Cruise_Control/DDE/Mea sure_Signal"x/ax/ai>
<ai names"show DDE (in another window)" xa href="/vista/twk/cgi-bin/twkget .pi?Cruise_Control/Cruise_Control/DDE/Mea sure_Signal" target="_blank" x/ax/ai>
</action>
</line>
<text id="T19" type=text position="656 405" >
<action type=click>
<ai names"show DDE" xa hrefs"/vista/twk/cgi-bin/twkget.ρl?Cruise_Control/Cruise_Control/DDE/Mea sure_Signal"x/ax/ai> oi name="Show DDE (in another window)" xa href="/vista/twk/cgi-bin/twkget.pl?Cruise_Control/Cruise_Control/DDE/Mea sure_Signal" target="_blank" x/ax/ai>
</action>
<B>Measure_Signal</B>
</text>
<line color="red" style="dash" id="L18" type=DFD_C0NTR0LFL0W >
<point positions"784 674" >
<attachpoint attach=3 attachtypescenter positions" -31 40" clipstrue>
<toarrow types"solid"> oction typesclick> oi names"show DDE" xa href="/vista/twk/cgi-bin/twkget.ρl?Cruise_Control/Cruise_Control/DDE/Bra ke_Engaged" x/ax/ai>
<ai name="Show DDE (in another window) " xa href="/vista/twk/cgi-bin/twkget.pl?Cruise_Control/Cruise_Control/DDE/Bra ke_Engaged" targets"_blank" x/ax/ai>
</action>
</line>
<text id="T23" type=text positions"778 606" >
<action type=click>
<ai name="Show DDE" xa href=" /vista/twk/cgi-bin/twkget. i?Cruise_Control/Cruise_Control/DDE/Bra ke_Engaged"x/ax/ai> oi names"show DDE (in another window)" xa href="/vista/twk/cgi-bin/twkget.pi?Cruise_Control/Cruise_Control/DDE/Bra ke_Engaged" targets"_blank" χ/ax/ai>
</action>
<B>Brake_<BR>
Engaged</B>
</text>
<line colors" red" style="dash" id="L19" type=DFD_C0NTR0LFL0W >
<point positions" 1008 749" > ottachpoint attach=3 attachtypescenter positions" 24 44" clιpstrue>
•ctoarrow types" solid" >
<actιon typesclιck>
<aι name=" Show DDE" xa href =" /vιsta/twk/cgι -bin/ twkget . pi ?Cruιse_Control/Cruιse_Control/DDE/CC_
Request" x/ax/aι>
<a name="Show DDE ( in another window) " xa href =" /vιsta/twk/cgι -b n/ twkget . pi ?Cruιse_Control/Cruιse_Control/DDE/CC_
Request" targets"_blank" x/ax/aι>
</act on>
</lme>
<text ιd="T25" type=text positions" 941 674" > oction type=clιck>
<aι names" show DDE" xa href=" /vista/ twk/cgi-bin/ twkget . pi ?Cruιse_Control/Cruιse_Control/DDE/CC_
Request" x/ax/aι>
<aι names"Show DDE (in another window) " xa href s" /vιsta/twk/cgι -bin/ twkget .pl?Cruιse_Control/Cruιse_Control/DDE/CC_
Request" target="_blank" χ/ax/aι>
</actιon>
<B>CC_Request</B>
</text>
<lme color=" red" style="dash" d="L20" type=DFD_CONTROLFLOW >
<pomt positions" 1097 510" > ottachpoint attach=3 attachtypescenter positions" 48 -14" clιp=true>
<toarrow types" solid" > oction typesclιck>
<aι names" show DDE" xa href=" /vιsta/twk/cgι-bιn/twkget .pl?Cruιse_Control/Cruιse_Control/DDE/Eng me Running" x/ax/aι> oi names" show DDE ( in another window) " xa href=" /vista/ twk/cgi -bm/twkget . pi ?Cruιse_Control/Cruιse_Control/DDE/Eng ιne_Runnmg" target="_blan " χ/aχ/aι>
</actιon>
< / 1 me >
<text d="T26" type=text posιtιon=" 1035 513" >
<actιon type=clιck>
<aι names" show DDE" xa href s" /vιsta/twk/cgι -bin/ twkget . pi ?Cruιse_Control/Cruιse_Control/DDE/Eng ιne_Runnmg" χ/ax/aι>
<aι name="Show DDE ( n another window) " xa href=" /vista/ twk/cgi -bin/ twkget .pi ?Cruιse_Control/Cruιse_Control/DDE/Eng ine Runnmg" target="_blank" x/ax/aι>
</actιon>
<B>Engme_Runnmg</B>
</text>
<i age src=" esalogo.gif" d="MesaLogo" posιtιon="80 350" sιze="350 100" wιdths3>
<actιon typesclιck>
<aι names"Mesa Homepage" default xa hrefs"http: //www.mesasys.com" x/ax/aι>
<aι names"Mesa Homepage (in another window)" xa hrefs"http: //www.mesasys .co " targets"_blank"x/ax/aι>
<aι names"Mesa Tools" xa hrefs"http. //www.mesasys. com/tools" x/ax/aι>
<aι names"Mesa Services" xa hrefs"http . //www.mesasys . com/services" ></ax/aι> </action> </ image > </ layer > </diagram> </body> </hgml>
Appendix IV
<hgml>
<head >< /head>
<body>
<diagram Color=white Type="DFD" Id="Default/lrb/DFD/0" Title="0 - Perform
Automobile Cruise Control and Monitoring" > oction typesclick> oi names"check object" xa href="/vista/twk/cgi-bin/twkcheck.pi?Default/lrb/DFD/θ/object/body" targets"check" x/ax/ai>
<ai names»check Subtree" xa href="/vista/twk/cgi-bin/twkcheck.pl?Default/lrb/DFD/0/subtree/body" target="check"x/ax/ai> oi name="Show Parent" xa hrefs"/vista/twk/cgi-bin/twkhgml.pl?Default/lrb/DFD/Context-Diagram"x/a
></ai> oi name="Show Parent (in another window)" xa href=" /vista/twk/cgi-bin/twkhgml .pl?Default/lrb/DFD/Context-Diagram" target="_blank" χ/aχ/ai>
<ai name="Show Notes" xa href=" /vista/twk/cgi-bin/twkget . pl?Default/lrb/DFD_NI/0/" x/ax/ai>
</action>
<image srcs"http : //thor/graphics/people/mesa/ref . gif " id=" l" type="DFD_PRIMITIVE_PROCESS" positions" 555 428" size=" 102 102" width=2 colors"green" > oction typesclick>
<ai names" show Child" default xa href=" /vista/ twk/cgi-bin/twkhgml . pi ?Default/lrb/P- Spec/1" x /ax /ai>
<ai names"Show Child (in another window) " xa href=" /vista/twk/cgi-bin/twkhgml .pl?Default/lrb/P-Spec/l" targets"_blank" x/ax/ai>
<ai name="Show Requirements" xa href =" /vista/twk/blank . html" χ/aχ/ai> oi name="Show CAD Drawing" xa href s" /vista/twk/blank . html" x/ax/ai>
</action>
</image>
<text id="0" typestext attachs"i" attachtypes"center" positions'O 0">
<CENTERxB> \<more<BR>stuff><BR>Determine<BR>Speed
</Bx/CENTERx/text>
<text id="0" type=text attachs"l" attachtypes"bottom-inside" positions" 0
-30%">
1
</text>
<image src="http : //thor/graphics/people/mesa/ref . gif " ids" 2" type="DFD_PRIMITIVE_PROCESS" positions" 971 458" size=" 102 102" width=2 colors"green" >
<action type=click>
<ai name=" Show child" default xa href=" /vista/twk/cgi-bin/twkhgml .pl?Default/lrb/P-Spec/2" χ/ax/ai>
<ai names" show child (in another window) " xa href=" /vista/twk/cgi-bin/twkhgml .pl?Default/lrb/P-Spec/2" target="_blank" χ/ax/ai>
<ai name=" Show Requirements" xa href =" /vista/twk/blank . html" x/ax/ai>
<ai name="Show CAD Drawing" xa href =" /vista/twk/blank . html" x/ax/ai>
</action> </ image >
<text id="0" type=text attach="2" attachtype=" center" position="0 0">
<CENTERxB> Measure
Mile
</Bx/CENTERx/text>
<text id="0" type=text attach="2" attachtype="bottom-inside" position="0
-30%">
2
</text>
<rectangle id="3" type="DFD_NONPRIMITIVE_PROCESS" position="446 710" size="102 102" width=3 colors"blue" > oction type=click>
<ai name=" Show Child" default xa href="/vista/twk/cgi-bin/twkhgml.pl?Default/lrb/DFD/3"x/ax/ai>
<ai name="Show Child (in another window)" xa href="/vista/twk/cgi-bin/twkhgml.pl?Default/lrb/DFD/3" target="_blank"x/ax/ai>
<ai name="Show Requirements" xa href ="/vista/twk/blank. html" x/ax/ai>
<ai names"Show CAD Drawing" xa href s"/vista/twk/blank.html"x/aχ/ai>
</action>
</rectangle>
<text id="0" type=text attach="3" attachtype=" center" position="0 0">
<CENTERxB> Control
Speed
</Bx/CENTER></text>
<text ids'O" typestext attachs"3" attachtype="bottom-inside" positions'O
-30%" >
3
</text>
<rectangle id="4" type="DFD_NONPRIMITIVE_PROCESS" position="947 739" size="102 102" widths3 colors"blue" >
<action typesclick>
<ai name=" Show child" default xa href="/vista/twk/cgi-bin/twkhgml.pl?Default/lrb/DFD/5"x/ax/ai>
<ai name="Show Child (in another window)" xa href="/vista/twk/cgi-bin/twkhgml.pl?Default/lrb/DFD/5" targets"_blank"x/ax/ai>
<ai name="Show Requirements" xa href s"/vista/twk/blank. html" χ/ax/ai>
<ai name="Show CAD Drawing" xa href ="/vista/twk/blank.html"x/ax/ai>
</action>
</rectangle>
<text ids'O" type=text attachs"4" attachtype="center" position="0 0">
<CENTERxB> Monitor
Automobile
</Bx/CENTERx/text>
<text ids'O" type=text attach="4" attachtypes"bottom-inside" position="0
-30%">
5
</text>
<regpolygon sidess2 ids"6" type="DFD_STORE" position="766 539" sizes"i08
52" width=l color="yellow" >
<action type=click>
<ai names" show DDE" xa hrefs" /vista/twk/cgi-bin/twkget .pl?Default/lrb/DDE/Pulse_Count" x/ax/ai
> oi name="Show DDE (in another window) " xa href =" /vista/twk/cgi-bin/twkget . pi ?Default/lrb/DDE/Pulse_Count" target="_blank" x/ax/ai>
</action>
</regpolygon>
<text id="0" type=text attach="6" attachtype="center" positions" 0 0">
<CENTERxB> Pulse_
Count
</Bx/CENTERx/text>
<regpolygon sides=2 id="7" type="DFD_STORE" positions"770 609" size="104
52" width=l color="yellow" >
<action typesclick> oi name="Show DDE" xa href=" /vista/twk/cgi-bin/twkget.pl?Default/lrb/DDE/Clock"x/ax/ai>
<ai names"Show DDE (in another window)" xa href=" /vista/twk/cgi-bin/twkget.pl?Default/lrb/DDE/Clock" targets"_blank" ></ax/ai>
</action>
</regpolygon>
<text ids'O" typestext attachs"7" attachtypes"center" positions" 0 o">
<CENTERxB> Clock
</Bx/CENTERx/text>
<text id="29" type=text position="723 390">
<actionx/action>
<left>\<off<BR>in \<mid<BR>air</left>
</text>
<layer ids"Data">
<line id="L0" type=DFD_DATAFLOW >
<point position="875 352">
<attachpoint attachs2 attachtypescenter positions" -25 -44" clipstrue>
<toarrow types" crow" > oction type=click>
<ai name="Show DDE" xa href=" /vista/twk/cgi-bin/twkget . pl?Default/lrb/DDE/Shaf t Rotation" x/ax
/ai>
<ai names" show DDE (in another window) " xa href=" /vista/ twk/cgi -bin/ twkget . pl?Default/lrb/DDE/Shaf t Rotation" target="_blank" x/ax/ai>
</action>
</line>
<text id="T8" type=text positions" 905 423" > oction typesclick>
<ai name="Show DDE" xa href=" /vista/twk/cgi-bin/twkget.pl?Default/lrb/DDE/Shaft_Rotation" /ax
/ai>
<ai names" show DDE (in another window) " xa href=" /vista/twk/cgi-bin/twkget . pl?Default/lrb/DDE/Shaft_Rotation" targets"_blank" x/ax/ai>
</action>
<B>Shaft_
Rotation</B>
</text>
<line id="Ll" type=DFD_DATAFLOW > ottachpoint attachs3 attachtypescenter positions" 50 s" clip=true>
<point positions" 576 766" >
<point positions" 605 768" >
<point position="671 191" >
<toarrow types" crow" > oction typesclick>
<ai name="Show DDE" xa href=" /vista/twk/cgi-bin/twkget.pl?Default/lrb/DDE/Throttle_Position"x/ ax/ai>
<ai name="Show DDE (in another window) " xa href=" /vista/twk/cgi-bin/twkget . pi ?Default/lrb/DDE/Throttle_Position" targets"_blank" x/ax/ai>
</action>
</line>
<text id="T9" typestext position="579 763">
<action typesclick>
<ai name="Show DDE" xa href=" /vista/twk/cgi-bin/twkget.pl?Default/lrb/DDE/Throttle_Position"></ ax/ai> oi name="Show DDE (in another window)" xa href=" /vista/twk/cgi-bin/twkget. i?Default/lrb/DDE/Throttle_Position" targets"_blank"x/ax/ai>
</action>
<B>Throttle_
Position</B>
</text>
<line id="L2" type=DFD_DATAFLOW >
<point position="452 399" > ottachpoint attach=l attachtype=center positions" -43 -26" clip=true>
<toarrow types" crow" > oction type=click>
<ai name="Show DDE" xa hrefs" /vista/twk/cgi-bin/twkget.pl?Default/lrb/DDE/<howdy>Shaft_Rotation
"x/ax/ai>
<ai name=" Show DDE (in another window) " xa href=" /vista/twk/cgi-bin/twkget . pl?Default/lrb/DDE/<howdy>Shaf t_Rotation
" target="_blank" x/ax/ai>
</action>
</line>
<text id="T10" type=text position="461 422" > oction typesclick>
<ai names"Show DDE" xa href=" /vista/twk/cgi-bin/twkget.pi?Default/lrb/DDE/<howdy>Shaft_Rotation
"x/ax/ai>
<ai name="Show DDE (in another window) " xa href=" /vista/twk/cgi-bin/twkget . pl?Default/lrb/DDE/<howdy>Shaft_Rotation
" target="_blank" x/ax/ai>
</action>
<B>\<howdyxBR>Shaft_<BR>Rotation</B>
</text>
<line id="L3" type=DFD_DATAFLOW > ottachpoint attach=6 attachtype=center positions" -49 -26" clip=true>
<attachpoint attach=l attachtype=center position="49 10" clip=true>
<toarrow types" crow" > oction typesclick>
<ai name=" Show DDE" disabledxa href=" /vista/twk/cgi-bin/twkget .pl?Default/lrb/DDE/" x/ax/ai> oi names"Show DDE (in another window)" disabledxa href=" /vista/twk/cgi-bin/twkget.pl?Default/lrb/DDE/" targets"_blank" x/ax/ai>
</action>
</line>
<line id="L4" type=DFD_DATAFLOW > ottachpoint attach=2 attachtypescenter positions" -50 9" clip=true>
<attachpoint attach=6 attachtypescenter positions"54 -16" clip=true>
<toarrow types"crow" > oction typesclick>
<ai names"show DDE" disabledxa href=" /vista/twk/cgi-bin/twkget.pi?Default/lrb/DDE/" ></ax/ai> oi name="Show DDE (in another window)" disabledxa href=" /vista/twk/cgi-bin/twkget.pl?Default/lrb/DDE/" target="_blank" χ/ax/ai>
</action>
</line>
<line id="L5" type=DFD_DATAFLOW >
<attachpoint attach=7 attachtype=center positions" -52 -13" clip=true>
<attachpoint attachsi attachtypescenter positions"33 38" clip=true>
<toarrow types" crow" >
<action typesclick>
<ai name="Show DDE" disabledxa href="/vista/twk/cgi-bin/twkget.pi?Default/lrb/DDE/"x/ax/ai> oi name="Show DDE (in another window)" disabledxa href=" /vista/twk/cgi-bin/twkget.pl?Default/lrb/DDE/" targets"_blank" x/ax/ai>
</action>
</line>
<line id="L6" type=DFD_DATAFLOW > ottachpoint attach=l attachtype=center positions" -26 43" clip=true>
<point position="490 653" > ottachpoint attach=3 attachtypescenter positions" -7 -50" clipstrue>
<toarrow type="crow">
<action typesclick> oi name="Show DDE" xa href="/vista/twk/cgi-bin/twkget.pl?Default/lrb/DDE/Speed"x/ax/ai> oi names"show DDE (in another window)" xa href="/vista/twk/cgi-bin/twkget.pl?Default/lrb/DDE/Speed" target="_blank" x/aχ/ai>
</action>
</line>
<text id="T14" type=text position="499 601" > oction type=click> oi name=" Show DDE" xa href=" /vista/twk/cgi-bin/twkget . pi ?Default/lrb/DDE/Speed" x/ax/ai> oi names" show DDE ( in another window) " xa href=" /vista/twk/cgi-bin/twkget .pl?Default/lrb/DDE/Speed" targets"_blank" x/ax/ai>
</action>
<B>Speed</B>
</text>
<line id="L7" type=DFD_DATAFLOW > ottachpoint attach=l attachtypescenter positions" 11 49" clip=true>
<point positions" 756 744" > ottachpoint attachs4 attachtypescenter positions" -49 -10" clip=true>
<toarrow types" crow" >
<action typesclick>
<ai names"Show DDE" xa hrefs" /vista/twk/cgi-bin/twkget .pl?Default/lrb/DDE/Distance"x/ax/ai>
<ai name="Show DDE (in another window) " xa href=" /vista/twk/cgi-bin/twkget.pl?Default/lrb/DDE/Distance" targets"_blank"x/ax/ai>
</action>
</line>
<text id="T15" type=text positions" 690 668" > oction typesclick>
<ai name=" Show DDE" xa href=" /vista/twk/cgi-bin/twkget . pl?Default/lrb/DDE/Distance" x/ax/ai> oi name="Show DDE (in another window) " xa hrefs" /vista/twk/cgi-bin/twkget . pi ?Default/lrb/DDE/Distance" targets"_blank" χ/ax/ai>
</action>
<B>Distance</B>
</text>
<line id="L8" type=DFD_DATAFLOW >
<point position="375 895" > ottachpoint attach=3 attachtype=center positions" -31 40" clip=true>
<toarrow types" crow" >
<action typesclick>
<ai names"show DDE" xa href=" /vista/twk/cgi-bin/twkget.pl?Default/lrb/DDE/Pedal_Deflection" ></a
<ai name="Show DDE (in another window)" xa href=" /vista/twk/cgi-bin/twkget.pi?Default/lrb/DDE/Pedal_Deflection" targets"_blank" ></ax/ai>
</action>
</line>
<text id="T16" type=text position="364 832">
<action typesclick>
<ai names"Show DDE" xa href=" /vista/twk/cgi-bin/twkget.pl?Default/lrb/DDE/Pedal_Deflection" x/a x/ai>
<ai names"Show DDE (in another window) " xa href=" /vista/ twk/cgi -bin/ twkget . pl?Default/lrb/DDE/Pedal_Def lection" targets"_blank" χ/ax/ai>
</action>
<B>Pedal_
Deflection</B>
</text>
<line id="L9" type=DFD_DATAFLOW >
<attachpoint attach=7 attachtypescenter positions" 11 26" clipstrue> ottachpoint attach=4 attachtypescenter positions" -36 -35" clipstrue>
<toarrow types" crow" > oction typesclick>
<ai names"Show DDE" disabledxa href=" /vista/twk/cgi-bin/twkget.pl?Default/lrb/DDE/" χ/ax/ai>
<ai names"Show DDE (in another window)" disabledxa href=" /vista/twk/cgi-bin/twkget.pl?Default/lrb/DDE/" target="_blank" x/ax/ai>
</action> </line>
<line id="L10" type=DFD_DATAFLOW >
<attachpoint attachs4 attachtypescenter positions"11 49" clipstrue>
<point positions"1043 968" >
<toarrow types"crow" > oction type=click>
<ai name="Show DDE" xa href=" /vista/twk/cgi-bin/twkget . pi ?Default/lrb/DDE/Display" x/ax/ai>
<ai names"Show DDE ( in another window) " xa href=" /vista/twk/cgi-bin/twkget . ρl?Default/lrb/DDE/Display" targets"_blank" x/ax/ai>
</action>
</line>
<text id="T21" type=text positions"989 894" > oction type=click> oi names»show DDE" xa href=" /vista/twk/cgi-bin/twkget. i?Default/lrb/DDE/Display"x/ax/ai>
<ai names"Show DDE (in another window)" xa href="/vista/twk/cgi-bin/twkget. i?Default/lrb/DDE/Display" target="_blank" x/aχ/ai>
</action>
<B>Display</B>
</text>
<line id="Lll" type=DFD_DATAFLOW >
<point positions" 1136 854" > ottachpoint attach=4 attachtypescenter position="48 16" clip=true>
<toarrow types" crow" > oction typesclick>
<ai names" show DDE" xa href=" /vista/twk/cgi-bin/twkget . pl?Default/lrb/DDE/Fuel" x/ax/ai> oi names"Show DDE ( in another window) " xa href=" /vista/twk/cgi-bin/twkget .pl?Default/lrb/DDE/Fuel" targets"_blank" x/ax/ai>
</action>
</line>
<text id="T22" type=text position=" 1072 831" > oction type=click>
<ai names" show DDE" xa href=" /vista/twk/cgi-bin/twkget . pl?Default/lrb/DDE/Fuel" x/ax/ai>
<ai names"Show DDE (in another window) " xa href=" /vista/twk/cgi-bin/twkget . pl?Default/lrb/DDE/Fuel" targets"_blank" χ/ax/ai>
</action>
<B>Fuel</B>
</text>
</layer>
<layer id="Control">
<rectangle id="5" type="DFD_CSPEC" positions" 1250 384" size="4 60" width=l color="red" fill="solid" > oction type=click>
<ai name="Show C-Spec" xa href=" /vista/twk/cgi-bin/twkhgml .pl?Default/lrb/PAT/0-sl" x/ax/ai>
<ai name="Show C-Spec (in another window) " xa href=" /vista/twk/cgi-bin/twkhgml .pl?Default/lrb/PAT/0-sl" target="_blank" x/aχ/ai>
</action> </rectangle>
<text id="0" type=text attach="5" attachtype="bottomright-outside" positions" 0 -100%">
<font colors"green">
<B> PAT
</Bx/font>
<action typesclick>
<ai names"Show C-Spec" xa href s" /vista/twk/cgi-bin/twkhgml .pl?Default/lrb/PAT/0-sl" x/ax/ai>
<ai name="Show C-Spec (in another window) " xa href="/vista/twk/cgi-bin/twkhgml.pl?Default/lrb/PAT/0-sl" targets"_blank" x/ax/ai>
</action>
</text>
<text id="0" type=text attach="5" attachtype="bottomleft-outside" positions" 0 -100%">
<font colors"blue">
O-sl
</font>
<action type=click>
<ai name="Show C-Spec" xa href =" /vista/twk/cgi-bin/twkhgml .pl?Def ault/lrb/PAT/0-sl" x/ax/ai> oi name="Show C-Spec (in another window) " xa href="/vista/twk/cgi-bin/twkhgml.pl?Default/lrb/PAT/0-sl" targets"_blank" x/ax/ai>
</action>
</text>
<line color="red" style="dash" id="L12" type=DFD_CONTROLFLOW >
<point position="363 704" > ottachpoint attach=3 attachtypescenter positions" -47 -18" clip=true>
<toarrow type="open">
<action type=click>
<ai name="Show DDE" xa href=" /vista/twk/cgi-bin/twkget .pi?Default/lrb/DDE/Brake_Engaged" x/ax/ ai>
<ai names"Show DDE (in another window)" xa href=" /vista/twk/cgi-bin/twkget.pi?Default/lrb/DDE/Brake_Engaged" target="_blank" x/ax/ai>
</action>
</line>
<text id="T17" type=text position="358 717" > oction typesclick>
<ai names"show DDE" xa href=" /vista/twk/cgi-bin/twkget .pl?Default/lrb/DDE/Brake_Engaged" χ/aχ/ ai>
<ai names"show DDE (in another window)" xa href=" /vista/twk/cgi-bin/twkget.pl?Default/lrb/DDE/Brake_Engaged" target="_blank" x/ax/ai>
</action>
<B>Brake_
Engaged</B>
</text>
<line color=" red" style="dash" id="L13" type=DFD_C0NTR0LFL0W >
<point position=" 581 920" > ottachpoint attach=3 attachtype=center positions" 30 41" clip=true>
<toarrow types" open" > oction typesclick>
<ai names"Show DDE" xa href=" /vista/twk/cgi-bin/twkget .pl?Default/lrb/DDE/Driver_Request" x/ax
/ai>
<ai name=" Show DDE (in another window) " xa href s" /vista/twk/cgi-bin/twkget .pl?Default/lrb/DDE/Driver_Request" targets"_blank" x/ax/ai>
</action>
</line>
<text id="T18" type=text position="532 864"> oction typesclick> oi names"show DDE" xa href=" /vista/twk/cgi-bin/twkget .pi?Default/lrb/DDE/Driver_Request" x/ax
/ai>
<ai names"Show DDE (in another window)" xa href="/ ista/twk/cgi-bin/twkget .pi?Default/lrb/DDE/Driver_Request" target="_blank" x/ax/ai>
</action>
<B>Driver_
Request</B>
</text>
<line color=" red" style="dash" id="L14" type=DFD_CONTROLFLOW >
<point positions" 649 689" > ottachpoint attachs3 attachtypescenter position="40 -31" clip=true>
<toarrow types"open">
<action type=click>
<ai names"Show DDE" xa href=" /vista/twk/cgi-bin/twkget.pi?Default/lrb/DDE/Engine_Running" x/ax
/ai>
<ai name="Show DDE (in another window) " xa href=" /vista/ twk/cgi-bin/twkget . pi ?Default/lrb/DDE/Engine_Running" targets"_blank" x/ax/ai>
</action>
</line>
<text id="T19" type=text positions" 558 693" >
<action type=click>
<ai name=" Show DDE" xa href=" /vista/twk/cgi-bin/twkget. l?Default/lrb/DDE/Engine_Running" x/ax
/ai>
<ai name="Show DDE (in another window)" xa href=" /vista/twk/cgi-bin/twkget.pl?Default/lrb/DDE/Engine_Running" target="_blank" x/ax/ai>
</action>
<B>Engine_Running</B>
</text>
<line colors" red" style="dash" id="L15" type=DFD_CONTROLFLOW >
<point positions" 1108 659" > ottachpoint attach=4 attachtypescenter positions" 18 -47" clipstrue>
<toarrow types"open">
<action type=click> oi name="Show DDE" xa href=" /vista/twk/cgi-bin/twkget . pi ?Default/lrb/DDE/Maintenance_Reset_Com mand" x/ax/ai>
<ai names" show DDE (in another window) " xa href=" /vista/twk/cgi-bin/twkget . pl?Default/lrb/DDE/Maintenance_Reset_Com and" targets"_blank" x/ax/ai> </action>
</line>
<text id="T23 " typestext position=" 1022 682" >
<action typesclick>
<ai name="Show DDE" xa href =" /vista/twk/cgi-bin/twkget . pl?Default/lrb/DDE/Maintenance_Reset_Com mand" x/ax/ai>
<ai names"Show DDE ( in another window) " xa href =" /vista/twk/cgi-bin/twkget . pl?Default/lrb/DDE/Maintenance_Reset_Com mand" target="_blank" x /ax/ai>
</action>
<B>Maintenance_
Reset_Command</B>
</text>
<line color="red" style="dash" id="L16" type=DFD_CONTROLFLOW >
<point positions" 815 905">
<attachpoint attach=4 attachtypescenter positions" -39 31" clip=true>
<toarrow type="open"> oction type=click>
<ai name="Sho DDE" xa href s" /vista/ twk/cgi-bin/twkget . pi ?Default/lrb/DDE/Monitor_Command" x/a>
</ai>
<ai names"Show DDE ( in another window) " xa href =" /vista/ twk/cgi-bin/twkget . pi ?Default/lrb/DDE/Monitor_Command" target="_blank" x/ax/ai>
</action>
</line>
<text id="T24" type=text positions"831 850" > oction type=click>
<ai names"show DDE" xa href=" /vista/twk/cgi-bin/twkget.pi?Default/lrb/DDE/Monitor_Command"x/a>
</ai>
<ai names"Show DDE ( in another window) " xa href=" /vista/twk/cgi-bin/twkget . pi ?Default/lrb/DDE/Monitor_Command" target="_blank" χ/aχ/ai>
</action>
<B>Monitor_
Command</B>
</text>
<line colors"red" style="dash" id="L17" type=DFD_C0NTR0LFL0W >
<point positions"1140 499" > ottachpoint attachsS attachtype=center positions" -2 2" clipstrue>
<toarrow types"open"> oction typesclick>
<ai name="Show DDE" xa hrefs" /vista/twk/cgi-bin/twkget . pl?Default/lrb/DDE/Activate" x/ax/ai>
<ai name="Show DDE (in another window) " xa href=" /vista/twk/cgi-bin/twkget . pi ?Default/lrb/DDE/Activate" targets"_blank" x/ax/ai>
</action>
</line>
<text id="T25" typestext positions"1131 464" > oction typesclick>
<ai name="Show DDE" xa hrefs" /vista/twk/cgi-bin/twkget . pl?Default/lrb/DDE/Activate" χ/ax/ai>
<ai name=" Show DDE ( in another window) " xa href=" /vista/twk/cgi-bin/twkget.pi?Default/lrb/DDE/Activate" target="_blank" χ/ax/ai>
</action>
<B>Activate</B>
</text>
<line color="red" style="dash" id="L18" type=DFD_CONTROLFLOW >
<point positions"1105 404" >
<attachpoint attachsS attachtypescenter positions" -2 -2" clip=true>
<toarrow type="open">
<action typesclick>
<ai names"show DDE" xa href=" /vista/twk/cgi-bin/twkget.pl?Default/lrb/DDE/Measure_Signal" x/ax
/ai>
<ai names"Show DDE (in another window)" xa href="/vista/twk/cgi-bin/twkget.pl?Default/lrb/DDE/Measure_Signal" target="_blank" x/ax/ai>
</action>
</line>
<text id="T26" typestext position="1093 386">
<action typesclick> oi names"show DDE" xa href=" /vista/twk/cgi-bin/twkget .pl?Default/lrb/DDE/Measure_Signal" χ/aχ
/ai>
<ai names"Show DDE (in another window)" xa href=" /vista/twk/cgi-bin/twkget.pl?Default/lrb/DDE/Measure_Signal" target="_blank" x/ax/ai>
</action>
<B>Measure_
Signal</B>
</text>
<line color="red" style="dash" id="L19" type=DFD_C0NTR0LFL0W >
<point position="1133 316" > ottachpoint attach=5 attachtypescenter positions" -2 -15" clip=true>
<toarrow tyρe="open">
<action typesclick>
<ai name="Show DDE" xa href=" /vista/twk/cgi-bin/twkget.pl?Default/lrb/DDE/Engine_Running" /ax
/ai>
<ai name="Show DDE (in another window) " xa href=" /vista/twk/cgi-bin/twkget .pi?Default/lrb/DDE/Engine_Running" target="_blank" x/ax/ai>
</action>
</line>
<text id="T27" type=text positions"1088 336" > oction type=click>
<ai name=" Show DDE" xa href=" /vista/twk/cgi-bin/twkget .pi?Default/lrb/DDE/Engine_Running" x/ax
/ai>
<ai names"Show DDE (in another window)" xa href="/vista/twk/cgi-bin/twkget.pl?Default/lrb/DDE/Engine_Running" target="_blank" x/ax/ai>
</action>
<B>Engine_Running</B>
</text>
</layer>
</diagram> < /body> </hgml>
Appendix V
<hgml>
<head x/head>
<body>
<diagram Colorswhite Types" imageMap" Id=" ImageMap_Example"
Titles" lmageMap_Example" >
<action typesclick> oi names"Mesa Homepage" default xa hrefs " http : / /www . mesasys . com" x/ax/ai > oi name="Mesa Homepage (in another window) " xa href ="http : //www. mesasys . com" targets"_blank" x/ax/ai> oi names"Mesa Tools" xa href ="http : //www. mesasys . com/tools" x/ax/ai> oi name="Mesa Services" xa href s"http : //www.mesasys . com/services" x/ax/ai>
</action>
<ellipse id="ll" type="HotSun" position="100 100" size="100 100" width=3 color="yellow" fill=solid > oction typesclick>
<ai names'Ηot" default xa hrefs"http: //www.mesasys . com/hot" x/ax/ai>
<ai names'Ηotter" xa hrefs"http : //www.mesasys .com/hotter" x/ax/ai> oi names'Ηottest" xa href="http : //www.mesasys . com/hottest" ></ax/ai>
<ai names'Ηell" xa hrefs"http: //www.mesasys. com/hell" x/ax/ai>
</action>
</ellipse>
<text id="lll" typestext attach="ll" attachtypes"center" position="0 0">
<CENTERxBxBIG>Hot<BR>Sun</BIGx/Bx/CENTER>
</text>
<line ids" 112" typesSunBeam width=5 colors"yellow" >
<attachpoint attachsii attachtypescenter clip=true>
<attachpoint attach=31 attachtypeslef t-inside clip=true> oction typesclick>
<ai names"Top Beam" xa href =" Something . . . " x/ax/ai> oi name="Top Beam (in another window) " xa href =" Something . . . " target="_blank" x/ax/ai>
</action>
</line>
<line id="113" typesSunBeam widthsS color="yellow">
<attachpoint attach=ll attachtypescenter clipstrue> ottachpoint attachs32 attachtype=left-inside clip=true>
<action type=click>
<ai name="Middle Beam" xa href s"Something . . . " x/ax/ai>
<ai names"Middle Beam (in another window) " xa hrefs" Something. . . " targets"_blank" x/ax/ai>
</action>
</line>
<line ids"114" typesSunBeam width=5 colors"yellow">
<attachpoint attach=ll attachtypescenter clip=true>
<attachpoint attach=33 attachtype=topleft-inside clip=true>
<action typesclick>
<ai names'Εottom Beam" xa hrefs"something... "x/ax/ai>
<ai name="Bottom Beam (in another window)" xa href="Something... " targets"_blank" x/ax/ai>
</action>
</line>
<layer ids" image" >
<image enablesfalse src=" snowman.gif" id="l" types"Snowman" position="100 100" size="500 500">
</image>
</layer>
<layer ids"visible Hot Spots" >
<ellipse enable=false id="21" type="Top" position="250 120" size="230
190" width=3 color="yellow" >
</ellipse>
<text ids"211" typestext attachs"21" attachtype=" center" positions" o 0">
<CENTERxBxBIG>Top</BIGx/Bx/CENTER>
</text>
<ellipse enable=false id="22" types"Middle" positions"230 310" size="250
140" width=3 color="yellow" >
</ellipse>
<text ids"221" typestext attachs"22" attachtypes" center" position="0 0">
<CENTERxBxBIG>Middle</BIGx/Bx/CENTER>
</text>
<ellipse enable=false id="23" type="Bottom" position="200 450" size="330
150" width=3 color="yellow" >
</ellipse>
<text id="231" type=text attach="23" attachtype=" center" positions" 0 0">
<CENTERxBxBIG>Bottom</BIGx/Bx/CENTER>
</text>
</layer>
<layer id=" Invisible Hot Spots" >
<ellipse id="31" type="Top" position="250 120" size="230 190" width=3 colors" invisible" >
<action typesclick> oi names"Top First Link" default xa href="http: //www.mesasys . com/first" x/ax/ai>
<ai name="Top Second Link" xa href="http: //www.mesasys . com/second" x/ax/ai>
<ai name="Top Third Link" xa hrefs"http: //www.mesasys . com/third" x/ax/ai>
<ai names"Top Fourth Link" xa hrefs"http: //www. mesasys. com/fourth" x/ax/ai>
<ai names"Top Fifth Link" xa href="http: //www.mesasys . co /fifth" ></ax/ai>
</action>
</ellipse>
<ellipse id="32" type="Middle" position="230 310" size="250 140" width=3 color=" invisible" > oction typesclick>
<ai name="Middle First Link" default xa href="http : //www. mesasys . com/first" x/ax/ai>
<ai names"Middle Second Link" xa href="http: //www.mesasys . com/second" x/ax/ai>
<ai name="Middle Third Link" xa hrefs"http: //www.mesasys . com/third" x/ax/ai> oi names"Middle Fourth Link" xa href="http : //www.mesasys . com/fourth" x/ax/ai> oi names"Middle Fifth Link" xa hrefs" http : // www . mesasys . com/ fifth" x/ax/ai >
</action>
</ellipse>
<ellipse id="33" type="Bottom" position="200 450" size="330 150" width=3 colors"invisible" > oction typesclick>
<ai name="Bottom First Link" default xa hrefs"http: //www.mesasys . com/first"x/ax/ai>
<ai names"Bottom Second Link" xa hrefs"http: //www.mesasys . com/second" x/ax/ai>
<ai names"Bottom Third Link" xa hrefs"http: //www.mesasys . com/third" x/ax/ai>
<ai names"Bottom Fourth Link" xa hrefs"http: //www.mesasys . com/fourth" x/ax/ai>
<ai names"Bottom Fifth Link" xa hrefs"http: //www.mesasys .com/fifth"x/ax/ai>
</action>
</ellipse>
</layer>
</diagram>
</body>
< /hgml >

Claims

1. A computer system for generating and displaying electronically published documents having a plurality of markup elements, the computer system comprising: a display configured to display an input electronic document to a user; and a processor which processes the input electronic document and generates a first image on the display ofthe computer system on the basis ofthe plurality of markup elements, wherein the processor is responsive to an input ofthe user to generate a second image ofthe input electronic document based on the user input.
2. The computer system according to claim 1, wherein the processor instantiates a first object corresponding to at least one ofthe plurality of markup elements.
3. The computer system according to claim 1 , wherein at least one ofthe plurality of markup elements is a graphics element.
4. The computer system according to claim 3, wherein the processor instantiates an object corresponding to the graphics element.
5. The computer system according to claim 2, wherein the processor instantiates a parser object configured to parse the input electronic document.
6. The computer system according to claim 2, wherein the processor instantiates a second object having a defined relation to the first object and is adapted to change a representation ofthe second object when a representation ofthe first object is changed.
7. The computer system according to claim 2, wherein the processor instantiates a view handler object that responds to user input.
8. The computer system according to claim 7, wherein the processor instantiates a parser object configured to parse the input electronic document and wherein the processor instantiates a diagram object based on the plurality of markup elements.
9. The computer system according to claim 8, wherein the diagram object includes a plurality of shape objects which represent graphic markup elements.
10. The computer system according to claim 9, wherein the diagram object includes a plurality of layers with which are associated each ofthe plurality of shape objects.
11. The computer system according to claim 10, wherein the processor is adapted to a display one or more ofthe plurality of layers.
12. The computer system according to claim 4, wherein selection of a graphics object by a user invokes a menu of selectable actions.
13. The computer system according to claim 12, wherein one or more of the selectable actions have an associated link to another input electronic document.
14. The computer system of claim 1, wherein the first object is responsive to the user input and wherein the processor generates an updated display ofthe first object based on the user input.
15. The computer system according to claim 14, wherein the first object is associated with a graphics element, and is responsive to a function and wherein the function provides the updated display is different than an original display ofthe first object.
16. The computer system according to claim 15, wherein the processor instantiates a second graphics object having a defined relation to the first graphics object and is adapted to change a representation ofthe second graphics object when the original display is updated.
17. An electronically published document comprising a computer readable medium with computer logic stored thereon and defining descriptive markup defining several tags, wherein each tag defines an element, wherein an element is interpreted to define a diagram containing a plurality of layers, wherein each layer contains several graphical objects, and wherein each object may have associated therewith a menu of actions or hypertext links.
18. A computer system or computer-implemented process which processes such an electronically published document as defined in claim 17 and generates on a computer display the diagram defined by the descriptive markup, wherein the different layers ofthe document are displayed selectively.
19. A computer-readable medium having computer-readable logic stored therein defining a data structure for representing an electronic document, the data structure comprising: means defining the electronic document as a plurality of markup elements defining a first one ofthe plurality of markup elements wherein the one includes an attribute expressing relation to a second element.
20. The computer-readable medium of claim 19, wherein the one ofthe plurality of markup elements may be instantiated as an object by a computer process.
21. The computer-readable medium of claim 19, wherein the one of the plurality of markup elements is a graphics element.
22. The computer-readable medium of claim 19, the data structure further comprising means for defining a menu having selections associated with the one, wherein each element has an associated link.
23. The computer-readable medium of claim 19, wherein the first and second elements are graphical elements, and wherein an interpreted display ofthe first element depends on attributes ofthe second object.
24. An object-oriented computer system for generating and displaying an electronic document including a plurality of markup language elements, the system comprising: a parser object class wherein an instance ofthe parser object class comprises a method adapted to parse the electronic document; a diagram object class wherein an instance ofthe diagram object class is generated by the parser object class and comprises a plurality of shape objects representing graphic elements; and a view handler object class wherein an instance ofthe view handler object class comprises a method for manipulating the diagram object used by the parser object class to generate an updated diagram object.
25. The object-oriented system of claim 24 wherein a first instance ofthe shape object class has a defined relation to a second instance ofthe shape object class and is adapted by a change in the second instance.
26. A method for generating and displaying an electronically-published document having a plurality of markup elements, the method comprising the steps of: parsing an input electronic document; generating a display ofthe input electronic document; responding to a user input by generating a different display ofthe electronic document based on the user input.
27. The method according to claim 26, wherein the parsing step includes the steps of: reading a markup element ofthe input electronic document; and instantiating a first object associated with the markup element.
28. The method according to claim 27, wherein the responding and generating step includes the steps of: determining a change in the first object based upon the user input; determining a change in a second object based on the change in the first object; and generating a display ofthe changed first and second objects.
29. The method according to claim 28, wherein the first and second objects are graphics objects and the change in the first object is a change in zoom.
30. The method according to claim 26, wherein the input electronic document comprises a plurality of markup elements wherein at least one ofthe markup elements is a graphics element, and wherein the responding step includes the steps of: displaying the graphics element; and generating, in response to the user input, a different display ofthe graphics element.
31. A method for processing an electronically-published document having a plurality of markup elements, the method comprising the steps of: parsing an input electronic document; reading a plurality of markup elements ofthe input electronic document; instantiating objects corresponding to the plurality of markup elements; and generating output and accepting inputs, by at least one object to a user.
PCT/US1998/001763 1997-01-24 1998-01-23 Document markup language and system and method for generating and displaying documents therein WO1998033127A1 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
AU62566/98A AU6256698A (en) 1997-01-24 1998-01-23 Document markup language and system and method for generating and displaying documents therein
EP98904769A EP0954803A1 (en) 1997-01-24 1998-01-23 Document markup language and system and method for generating and displaying documents therein
CA002278659A CA2278659A1 (en) 1997-01-24 1998-01-23 Document markup language and system and method for generating and displaying documents therein

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US3648497P 1997-01-24 1997-01-24
US60/036,484 1997-01-24

Publications (1)

Publication Number Publication Date
WO1998033127A1 true WO1998033127A1 (en) 1998-07-30

Family

ID=21888843

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US1998/001763 WO1998033127A1 (en) 1997-01-24 1998-01-23 Document markup language and system and method for generating and displaying documents therein

Country Status (4)

Country Link
EP (1) EP0954803A1 (en)
AU (1) AU6256698A (en)
CA (1) CA2278659A1 (en)
WO (1) WO1998033127A1 (en)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000033213A2 (en) * 1998-11-30 2000-06-08 Nortel Networks Limited Method and system for website overview
WO2000068822A2 (en) * 1999-05-07 2000-11-16 Autodesk, Inc. Integrating into an application objects that are provided over a network
GB2353615A (en) * 1998-08-26 2001-02-28 Symtec Ltd Selecting items such as data files
WO2001082561A1 (en) * 2000-04-20 2001-11-01 Nokia Corporation A communication terminal
GB2372118A (en) * 2001-02-09 2002-08-14 Amino Holdings Ltd System commands carried in tags in markup language documents
EP1280073A1 (en) * 1999-05-07 2003-01-29 Autodesk, Inc. Integrating into an application objects that are provided over a network
GB2445848A (en) * 2007-01-10 2008-07-23 Christine Rose Warner Data Storage System for layered components elements
US7764272B1 (en) 1999-08-26 2010-07-27 Fractal Edge Limited Methods and devices for selecting items such as data files
EP2550618A4 (en) * 2010-03-25 2017-11-22 Microsoft Technology Licensing, LLC Sequential layout builder architecture
EP2550617A4 (en) * 2010-03-25 2017-11-22 Microsoft Technology Licensing, LLC Sequential layout builder

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0530678A2 (en) * 1991-09-06 1993-03-10 International Business Machines Corporation Method for providing a generalized link from a reference point in an on-line book to a multimedia object
US5572643A (en) * 1995-10-19 1996-11-05 Judson; David H. Web browser with dynamic display of information objects during linking
EP0753835A2 (en) * 1995-07-12 1997-01-15 Sony Corporation A three-dimensional virtual reality space sharing method and system

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0530678A2 (en) * 1991-09-06 1993-03-10 International Business Machines Corporation Method for providing a generalized link from a reference point in an on-line book to a multimedia object
EP0753835A2 (en) * 1995-07-12 1997-01-15 Sony Corporation A three-dimensional virtual reality space sharing method and system
US5572643A (en) * 1995-10-19 1996-11-05 Judson; David H. Web browser with dynamic display of information objects during linking

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2353615A (en) * 1998-08-26 2001-02-28 Symtec Ltd Selecting items such as data files
WO2000033213A3 (en) * 1998-11-30 2000-10-12 Nortel Networks Corp Method and system for website overview
WO2000033213A2 (en) * 1998-11-30 2000-06-08 Nortel Networks Limited Method and system for website overview
US6344851B1 (en) 1998-11-30 2002-02-05 Northern Telecom Limited Method and system for website overview
EP2410443A1 (en) * 1998-11-30 2012-01-25 Nortel Networks Limited Method and system for website overview
WO2000068822A2 (en) * 1999-05-07 2000-11-16 Autodesk, Inc. Integrating into an application objects that are provided over a network
WO2000068822A3 (en) * 1999-05-07 2001-12-27 Autodesk Inc Integrating into an application objects that are provided over a network
EP1280073A1 (en) * 1999-05-07 2003-01-29 Autodesk, Inc. Integrating into an application objects that are provided over a network
US6931600B1 (en) 1999-05-07 2005-08-16 Autodesk, Inc. Integrating into an application objects that are provided over a network
US7764272B1 (en) 1999-08-26 2010-07-27 Fractal Edge Limited Methods and devices for selecting items such as data files
WO2001082561A1 (en) * 2000-04-20 2001-11-01 Nokia Corporation A communication terminal
US7849415B1 (en) 2000-04-20 2010-12-07 Nokia Corporation Communication terminal
GB2372118A (en) * 2001-02-09 2002-08-14 Amino Holdings Ltd System commands carried in tags in markup language documents
GB2445848A (en) * 2007-01-10 2008-07-23 Christine Rose Warner Data Storage System for layered components elements
EP2550618A4 (en) * 2010-03-25 2017-11-22 Microsoft Technology Licensing, LLC Sequential layout builder architecture
EP2550617A4 (en) * 2010-03-25 2017-11-22 Microsoft Technology Licensing, LLC Sequential layout builder

Also Published As

Publication number Publication date
CA2278659A1 (en) 1998-07-30
AU6256698A (en) 1998-08-18
EP0954803A1 (en) 1999-11-10

Similar Documents

Publication Publication Date Title
US20020023110A1 (en) Document markup language and system and method for generating and displaying documents therein
US7924285B2 (en) Exposing various levels of text granularity for animation and other effects
US6343377B1 (en) System and method for rendering content received via the internet and world wide web via delegation of rendering processes
US5781714A (en) Apparatus and methods for creating and using portable fonts
US7051276B1 (en) View templates for HTML source documents
US6985929B1 (en) Distributed object-oriented geospatial information distribution system and method thereof
US5860073A (en) Style sheets for publishing system
US7555706B2 (en) Human machine interface
US6343265B1 (en) System and method for mapping a design model to a common repository with context preservation
US8136109B1 (en) Delivery of data and formatting information to allow client-side manipulation
US5966135A (en) Vector-based geographic data
EP1326210B1 (en) Interactive timeline visualization
US6801224B1 (en) Method, system, and program for generating a graphical user interface window for an application program
US20020018078A1 (en) System, method, and article of manufacture for generating a customizable network user interface
US20050091672A1 (en) Facilitating presentation functionality through a programming interface media namespace
US20080222521A1 (en) Viewing System that Supports Multiple Electronic Document Types
JPH0740307B2 (en) Image windowing method
US7757210B1 (en) Object framework
EP0954803A1 (en) Document markup language and system and method for generating and displaying documents therein
US5479589A (en) Object-oriented system for selecting a graphic image on a display
Herman et al. MADE: A Multimedia Application development environment
Michener et al. Some major issues in the design of the core graphics system
US7231598B1 (en) User interface for editing documents containing markup language
CN111063010A (en) Map motion track animation realization method and device, electronic equipment and storage medium
US20010020292A1 (en) Apparatus and method for emulating terminal attributes using a web server

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AL AM AT AU AZ BA BB BG BR BY CA CH CN CU CZ DE DK EE ES FI GB GE GH GM GW HU ID IL IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MD MG MK MN MW MX NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT UA UG UZ VN YU ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GH GM KE LS MW SD SZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN ML MR NE SN TD TG

DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
121 Ep: the epo has been informed by wipo that ep was designated in this application
ENP Entry into the national phase

Ref document number: 2278659

Country of ref document: CA

Ref country code: CA

Ref document number: 2278659

Kind code of ref document: A

Format of ref document f/p: F

WWE Wipo information: entry into national phase

Ref document number: 1998904769

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 1998904769

Country of ref document: EP

REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

NENP Non-entry into the national phase

Ref country code: JP

Ref document number: 1998532270

Format of ref document f/p: F

WWW Wipo information: withdrawn in national office

Ref document number: 1998904769

Country of ref document: EP