throbber

`
`Ever discovered after weeks of working on a software problem
`that your colleague downthe hall solved it months ago?
`What you probably needed was a system like this.
`
`
`A Browsing Approach
`
`to Documentation
`
`Yvan Leclerc, Steven W. Zucker, and Denis Leclerc, MeGill University
`
`There are those who would argue that the OS/360 six-foot
`shelf of manuals represents verbal diarrhea, that
`the very
`voluminosity of manuals represents a new kind of incompre-
`hensibility. And there is some truth in that.
`Frederick P. Brooks, Jr.!
`
`As Brooks implies above, the sheer volume of informa-
`tion required for research facilities to function makesthat
`self-same information both difficult to retrieve and dif-
`ficult to comprehend. His response to this Catch-22situa-
`tion (in the case of the [BM 360) was to compilea carefully
`organized set of manuals through which specific informa-
`tion such as the details of a programming language or the
`parameters of a subroutine could be easily found.
`While the time-honored technique of manually search-
`ing through extensive indexes does adequately allow for
`the retrieval of such information, it does notlend itself to
`the simple andleisurely discovery of that information. In
`other words,itis difficult to browse throughthe informa-
`tion in order to discover just whatis or is not available.
`Computerized documentation systems such as the VAX/
`VMS HELPfacilityoffer more flexibility in their infor-
`mation retrieval capabilities than hard-copy manuals, but
`they are not particularly well-suited to browsing either,
`The purposeofthis article is to describe one experimentin
`the design of adocumentation system that provides mech-
`anisms for both needs—retrieval and comprehension,
`The decision to design and implement a documentation
`system with browsing capabilities was made when we
`noticed that many membersof our laboratory’ tended to
`“reinvent the wheel’’ by needlessly duplicating the efforts
`of others in the laboratory. Even though these previous
`efforts were documented in various ways, most people
`were unaware that a particular topic (e.g., fast Fourier
`transforms or pseudocoloring of images) had even been
`explored by another member of the laboratory. Even
`
`“The McGill Universiy Computer Vision and Graphics Laboratory.
`
`fewer knew precisely what that other member had done.
`Also, wheneverit was known that a particular topic had
`been investigated by a particular person, the originalin-
`vestigator spent considerable time explaining exactly
`where the documentation for the topic was to be found
`and in furnishing generalinformation about the topic.
`We hoped that providing a documentation system thai
`allowed people to both discoyer and quickly retrieve in-
`formation about
`the resources of the laboratory (re-
`sources such as software and hardware documentation,
`technical reports, etc.) would alleviate the above prob-
`lems. (It is also our experience that these information dis-
`semination problems are not unique to our laboratory. In
`fact, they are more often the rule than the exception.)
`
`System design
`
`the primary goal of our browsing
`As stated above,
`system was to provide a means for browsing through
`and/or quickly retrieving information about the labor-
`alory's resources. Our needs, however, dictated that the
`implementation, and especially the maintenance, of the
`system require a minimum of manpower and on-line
`storage,
`
`Accessibility, Since executable programs are an impor-
`tant part of the resources ofthe laboratory, we felt that,
`ideally, the documentation system should be accessible
`from within other programs and that other programs
`should be accessible from within the documentation
`system. For example, the former might be useful when
`editing a program (e.g., to find the parameters of an ex-
`ternal subroutine) and the latter would allowa person to
`discover what programsareavailable without leaving the
`environmentof the documentation system. Both capabil-
`ities are provided in our current implementation.
`
`(OE-9162/K2(0600-004650.75 & 19K? IEEE
`
`COMPUTER
`
`(cid:20)
`
`PETITIONERS - EXHIBIT 1012
`PETITIONERS- EXHIBIT 1012
`
`IPR2022-00217
`
`IPR2022-00217
`
`

`

`Information organization. A capability for browsing
`requires both an appropriate presentation of individual
`items of information and an organizational context to
`facilitate the browsing. The first need was met by naming
`each item of information explicitly so that it could be
`retrieved immediately onceits name was located. In other
`words, each item of information, be it an executabie pro-
`gram or some form of text, was assigned one or more
`keywords. The second need was met by making each entry
`short—short enoughto allow a large numberof them to
`fit on one page of a normal display terminal—and these
`keywords were then embedded in a structure whosecate-
`gory names were also keywords.
`is, a
`We chose a multiple-parent hierarchy (that
`directed acyclic graph with a single root node) as the
`structural organization of the keywords. We did this
`because of the simplicity and flexibility of this type of
`organization. A strict hierarchy was considered too in-
`flexible because it forces each keyword entry to be placed
`in a specific category. This oftenleads to difficulties both
`in searching andin categorizing information. At the same
`time, an arbitrary network of keywords, although quite
`flexible, is difficult for a person to grasp and follow. The
`compromise of a hierarchy with multiple parents allows
`items of information to be found through multiple paths,
`yet it
`is simple enough that traversal of the graph is
`natural.
`
`Thus, for example, a general-purpose image-displaying
`program can be categorized under both IMAGE PRO-
`CESSING and GRAPHICS using a multiple-parent
`hierarchy, rather than under just one or the other as
`would be necessary with a strict hierarchy. Asa result, the
`program can be found moreeasily, especially if the person
`searching for the program is not really sure where it
`belongs.
`
`Human interface. One constraint on our design of the
`humaninterface to the browsing system was the require-
`mentthat it be usable from astandard video terminal with
`minimal graphic capabilities. Inspired by the standard
`Lisp pretty-printed form ofdisplayinglists, we chose the
`indented form of displaying a hierarchy illustrated in
`Figure 1. The desire for quicktraversalof the graph led to
`single keystroke commands, whicharelisted at the bot-
`tom of the screen as a reminderto the user.
`Figure 2 illustrates the initial display of the browsing
`system. The design of the human interface was also in-
`spired,in part, by an application of the Zog system?"4 to
`browsing through books and technical reports.‘ In fact, a
`version of the browsing system could have been im-
`plemented in Zog, but
`this conflicted with our
`re-
`quirementsfor simplicity of implementation andefficien-
`cy of computation. Interested readers can find further
`details of the issues of a documentretrieval language in
`Gebhartand Stellmacher.® Note that only one level of the
`hierarchy is initially visible in Figure 2, althoughellipses
`indicate that further levels exist. This is to simplify the
`user’s initial view of the system, but the display can be
`changed to view up to four levels of the hierarchy
`simultaneously. If the displayed hierarchy does notfit
`
`$1.4
`
`$1.2
`
`Si.1.1
`
`81.1.2
`
`$1.21
`
`81,22
`
`$1.23
`
`Figure 1. (a) A small hierarchy. (6) The same hierarchy
`displayed in the Indented form used In the browsing
`system.
`
`Press ‘'i'’ for information.
`
`| L
`
`(a)
`locate next page run sons top
`
`Separation of organization and information. The
`hierarchy of keywords described above is kept
`in a
`separate network file, with the information associated
`with each keyword pointed to byfile names. The network
`file basically contains a doubly linked list of variable
`length records containing the keyword name,the associ-
`ated file name, and pointers to the fathers and sonsofthe
`keyword. The simplicity of this structure is possible
`primarily because the text information is kept separate
`ATEST ENTRIES. . .
`from the organization.
`AREAS OF RESEARCH...
`There are other important advantagesin storing the in-
`SUPPORTED SOFTWARE. .
`AVAILABLE HARDWARE. . .
`formation separately from the hierarchy:
`REPORTS & THESES...
`DEMONSTRATION PROGRAMS...
`.
`(1) Once a keyword has been entered for a particular
`PEOPLE POINTERS. .
`item of information, the information can be updated by
`SUGGESTION BOX ,
`the person responsible without
`the intervention of a
`“‘librarian.”’
`(2) Information need not be modified in any way to be
`incorporated into the browsing system.
`(3) The information can be created independently of
`the system without the need for special editors, thereby
`reducing the implementation cost.
`(4) Since informationis not stored explicitly, the struc-
`ture is relatively small and can be quickly and efficiently
`traversed by the system, allowing quick traversal of the
`graph bythe user.
`
`back exit father generations help information
`
`Figure 2. Theinitial display of the browsing system. The
`ellipses following the keywordsindicate that the keyword
`has sons. Attached to each of these keywordsIs an ar-
`bitrary text file, which can be retrieved by moving the
`pointer (currently pointing to the topmost keyword)to the
`appropriate keyword and then pressing “I.” The set of
`available commands are listed at the bottom of the
`screen,
`
`June 1982
`
`47
`
`(cid:21)
`
`

`

`SUPPORTED SOFTWARE
`|
`CHARACTER STRING MANIPULATION
`DISCARDING TRAILING BLANKS
`FILE NAME MANIPULATION
`FREE FORMAT DECODING...
`KEYWORD MATCHING
`TRANSLATING CASES
`CVAGL UTILITY PROGRAMS
`DISPLAY
`PRETTY__PRINT
`SCANNER
`TEST PATTERN GENERATOR
`TYPE_VIDEO
`GRAPHICS
`.
`PROGRAMS.
`SUBROUTINES.
`HUMAN ENGINEERING AIDS
`KEYWORD MATCHING INPUT STREAM
`VIDEO TERMINAL OUTPUT
`IMAGE PROCESSING
`PROGRAMS
`SUBROUTINES
`SYSTEM UTILITIES
`back exit father generations help information
`
`Figure 3. Twolevels of the keyword “SUPPORTED SOFT-
`WARE.” The “MORE...” indicates that the two levels
`could not fit completely on the screen. This display was
`obtained by using the “generations” command preceded
`by the number“2.” (Optional numeric arguments,as for
`the “generations” command, appear after the “‘n =” of
`the top line of the display.)
`
`completely on the screen, the user can scroll the display up
`or down.
`
`Figure 3 illustrates a case in which twolevels of a hier-
`archy are displayed simultaneously, while Figure 4 shows
`the displayed hierarchy scrolled dawn several
`lines.
`(Figure 4 also illustrates the multiple-parent hierarchy
`
`locate next page run sons top
`“Thesé commands have an optional numeric: argument entered prior to the command.
`
`Add
`Back
`Create
`Delete
`“downarrow’!
`Exit
`Father
`Generations
`Help
`Information
`Kill link
`Locate
`Modify
`Next
`Page
`Quit
`Run
`Sons
`Top
`“uparrow'*
`Update
`9
`
`- Add the Input node to the network as the son of the *—"' node.
`- Move the '’—"* back. one page (22 lines) when passible
`- Create a new node(call this the Input node).
`~ Delete the '‘—"* node andall nodesisolated by this deletion,
`* Move the *— °° downwards (when not available, use linefeed)
`- Exit from the program, saving all modifications ina new file,
`~ Go to the father (super-category) of the current node.
`* Specifies depth of subcategories seen simultaneously. Max (4).
`- Print this message,
`~ Print the information associated with the *'—°’ node,
`~ Kill (delete) the tink from the Input node to the “‘—'' node
`- Search for the first match of the specified string in the net.
`~ Modity the **—"" node and makeit the new Input node.
`~ Searchfor the next match of the string in the net.
`- Move the '"—"" forward one page (22 lines) when possible.
`~ Exit from the program without creating a newfile,
`- Run the program associated with the “'—‘' node.
`~ List the sons (subcategories) of the ‘*—"" pode,
`~ Go to the top of the tree.
`* Move the **—"' upwards (when notavailable, use backspace).
`~ Update the network file,
`~ Print the namesof the files associated with the ‘‘~"' node.
`
`Figure 5. Asummary of the commandsavailable in the browsingeditor.
`Note thatall of the commandsofthe browsing system are also com-
`mands of the browsingeditor.
`
`48
`
`(cid:22)
`
`locate next page run sons top
`
`SUPPORTED SOFTWARE
`TRANSLATING CASES
`CVAGL UTILITY PROGRAMS
`DISPLAY
`PRETTY__PRINT
`SCANNER
`TEST PATTERN GENERATOR
`TYPE_VIDEO.
`GRAPHICS
`PROGRAMS. . .
`SUBROUTINES. .-
`HUMAN ENGINEERING AIDS
`KEYWORD MATCHING INPUT STREAM
`VIDEO TERMINAL OUTPUT...
`IMAGE PROCESSING
`PROGRAMS...
`SUBROUTINES, .
`SYSTEM UTILITIES
`COMMAND LANGUAGE INTERPRETER
`VIDEO TERMINAL OUTPUT
`MCG__TERM__TYPE
`NEW__PAGE
`PRINT__HELP. . .
`-
`back exil father generations help intormation
`
`Figure 4. Twolevels of the keyword “SUPPORTED SOFT-
`WARE”scrolled downseverallines. Noticethat the arrow
`now points to the keyword “PRINT_HELP” and that the
`system is indicating that more of the hierarchy can be
`displayed by the two symbols “MORE...”
`
`the keyword ‘‘VIDEO TERMINAL
`concept;
`OUTPUT” is a son of both ‘SUPPORTED SOFT-
`WARE" and ‘HUMAN ENGINEERING AIDS.”’)
`The user moves down the hierarchy by moving the
`pointer (in the top left-hand corner of Figure 2) up or
`downon the screen to the desired keyword, typing “‘s"' to
`view its sons. The user can move upthehierarchyonelevel
`al atime (retracing his or her stepsdown the hierarchy), or
`can movedirectly back to the top. The user can also locate
`a specific keyword byentering either a full keywordorits
`abbreviation. The browsing system then searches for the
`first matching keyword from the top ofthe hierarchy(us-
`ing a depth-first search). If the matched keywordis not
`the one the user wanted, he or she can force the system to
`go on to the next match.
`Once the user has placed the pointer at an appropriate
`keyword, the associated information can be displayed on
`the screen or the associated program run. The user can
`always return to the browsing system via a control
`character, giving him or her the freedom to experiment.
`
`Creating and modifying a network. Any user cancreate
`and modify a personal browsing network, although a
`passwordis required to modify the (default) system net-
`work, A different program is used for this, one that is a
`superset of the normal browsing system, In other words,
`every commandin the browsing system is also available in
`the browsing editor, along with extra commands to
`create, insert, delete, and modify keyword entries.
`There are two required steps for creating a new entry.
`First, a new nodeis created, specifying the keyword name
`and the associated text and/or executablefile name(s).
`
`COMPUTER
`
`

`

`References
`
`Second, the new nodeis added to the network as the son
`of one or more other nodes. Once anode has been entered,
`its keyword name and/orfile name can be modified andit
`1, F. P. Brooks, Jr., The Mythical Man-Month—Essays on
`Software Engineering, Addison-Wesley, Reading, Mass.,
`can be moved about the networkat will by removing and
`1975, p. 134.
`addinglinks fromit to other nodes. Figure5lists the com-
`2.
`“WAX/VMS Command Language User's Guide,"
`mandsavailable for doing this in the browsingeditor.
`AA—DO023B-TE, Digital Equipment Corporation,
`The approach weused in building the system network
`Maynard, Mass., 1980.
`was to proceed from the abstract to the concrete. The top
`3. G. Robertson, A. Newell, and K. Ramakrishna, ‘‘ZOG: A
`level of the hierarchy is the most abstract, representing
`Man-Machine Communication Philosophy,’’ Carnegie-
`various points of view that a user might have whenenter-
`Mellon University Technical Report, Carnegie-Mellon
`ing the system. For example, a personinterested in seeing
`University, Pittsburgh, Pa., Aug. 5, 1977.
`the type of research carried on in the laboratory might
`4. G. Robertson, D. McCracken, and A. Newell, ‘‘The ZOG
`start searching through the “‘AREAS OF RESEARCH”’
`Approach to Man-Machine Communication,’ Carnegie-
`Mellon University Technical Report, Carnegie-Mellon
`keyword; a visitor to the laboratory might first search
`University, Pittsburgh, Pa., Oct. 23, 1979.
`through the
`“‘DEMONSTRATION PROGRAMS”
`5. M.S. Foxand A.J. Palay, “‘The BROWSESystem, PartI:
`keyword to get a glimpse of the current work; while a
`An Introduction,’ Computer Science Department,
`veteran user might be more inclined to start with the
`Carnegie-Mellon University Technical Report, Carnegie-
`**L ATEST ENTRIES” keyword to see what has recently
`Mellon University, Pittsburgh, Pa., 1979.
`been added to the network.
`6. F. Gebhart and I. Stellmacher,
`‘‘Design Criteria for
`As a user moves down the hierarchy, the keywords
`Documentation Retrieval Languages,"’ J. Am. Soc. Infor-
`becomeincreasingly more specific, with the lowest-level
`mation Science, Vol. 29, No. 4, July 1978, pp. 191-199.
`keywords typically pointing to programs, subroutine
`sources,
`technical
`reports, etc. The multiple-parent
`feature of the system was used extensively to allow
`keywords to be found through a variety of paths, easing
`the discovery of information by the user.
`
`Conclusions
`
`The browsing system has been implemented as de-
`scribed in this article. To date, it has been used primarily,
`though notexclusively, to documentsoftware developed
`in our laboratory. This has been done in conjunction with
`a prior commitmentto the use of a standard header page
`preceding every piece of software created in our labratory.
`Thus, for the mostpart, the browsing system is pointing to
`files starting with a standard header page, which makes for
`a consistent view of the available software.
`The system has been very helpfulin alleviating needless
`duplication of effort by providing a meansfor discover-
`ing, in a simple manner, what other people have done.
`And, perhaps more importantly, the development and
`maintenance costs were quite reasonable (two to three
`man-monthsfor designing and implementing the system,
`with another man-month for organizing the information
`in the network), demonstrating the feasibility of im-
`plementing useful documentation systemsat areasonable
`cost. When these costs are compared with the time that
`our expert users no longer have to expend to simply
`disseminate information, the investment seems eminently
`worthwhile. In short, the system is working as planned.
`
`
`
`
`* Yvan G. Leclere is currently working
`toward a PhD in thefield of computervi-
`_ sion at McGill University. His research in-
` terests include computer vision, the char-
`acterization of local vs. global computa-
`tions, and cooperative processing. Other
`academic interests include the general
`study of humanintelligence (from both the
`& ».
`;
`2 af » psychological and artificial
`intelligence
`: A
`points of view), and the human engineer-
`ing of computer systems.
`Leclere received the M. Eng. and B. Eng. degrees in electrical
`engineering from McGill University in 1980 and 1977, respec-
`tively, He is currently a student memberof the IEEE and ACM.
`
`Steven W. Zucker is currently an associate
`professor in the DepartmentofElectrical
`Engineering, McGill University, Mon-
`treal, P.Q., Canada and is codirector of
`the Computer Vision and Graphics Lab-
`oratory there. His research interests in-
`clude computer vision, human perception,
`'_ andartificial intelligence. He received the
`cc 2— BS degree in electrical engineering from
`
`_ Carnegie-Mellon University in 1969, and

`i
`the MS and PhDdegrees in biomedical engineering from Drexel
`University, Philadelphia, in 1972 and 1975, respectively.
`From 1974 to 1976 he was a research associate at the Picture
`Processing Laboratory, Computer Science Center, University of
`Maryland, College Park.
`Zucker is a member of Sigma Xi, ACM, and the IEEE.
`
`Acknowledgments
`
`The authors are grateful to John Mohammed, David
`Kashtan, Harold Hubschman, and Peter Sanderfortheir
`help in designing the browsing system, and for their
`critical commentsand helpful suggestions concerningthis
`article.
`This research was supported in part by NSERC grant
`number A4470 andin part by the Quebec Department of
`Education.
`
`
`
`Denis Leclerc is currently in the master’s
`degree program in computer science at
`McGill University, working in the program-
`ming languages area. Heis also working
`part-time at Bell Northern Research on a
`text-to-speech conversion system. His re-
`_
`search interests are programming lan-
`_ guages, compiler optimization, and natural
`language understanding. He received the
`BSc degree in mathematics and computer
`science from McGill University in 1980.
`
`June 1982
`
`49
`
`(cid:23)
`
`

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket