Professional Documents
Culture Documents
DESIGN AND
IMPLEMENTATION OF A
LIBRARY AUTOMATION
SYSTEM
jYH-SHENG KE, CHING-LIANG LIN, CHIOU-
FENG WANG, AND YUH-LING HWANG
1. Introduction
These functions not only include the traditional information retrieval facilities but
also require very sophisticated computation and processing. Most of present-day
library information retrieval systems are supported by conventional file-oriented
software, which do not efficiently enable the more sophisticated data processing.
Recently, the concept of database management systems (DBMS) has arisen, and
provides a solution for integrating related data and facilitating sophisticated data
manipulation. Among a variety of database models, the relational model has been
recognized as the most promising for expanding the facilities of traditional infor-
mation retrieval software towards the more advanced data processing.
JYH-SHENG KE • Institute for Information Industry, 6th Floor, No.116, Sec. 2, Hanking E.
Road, Taipei, Taiwan, Republic of China. CHING-LIANG LIN, CHIOU-FENG WANG, and
YUH-LING HWANG. Institute of Information Science, Academia Sinica, Taipei, Taiwan,
Republic of China. This work was partially supported by the National Science Council, Republic
of China, under contract No. NSC70-0404-EOOI-Ol.
323
S.-K. Chang (ed.), Management and Office Information Systems
© Plenum Press, New York 1984
324 JYH-SHENG KE, et al.
User's
Querv
I
Schema
Translator
I
i
I
User Table-Driven 1--~~--4Da ta
Interface Data Entry I?ictionary
~'------~~'"
(In forma tion &
Retrieval) Validation Raw Data
I
I
i
down up
load load
Data Base
Management 1--~_--IData Base
System (Normaliz
ed Data)
In a library, a substantial part of clerical work concerns data entry and val-
idation of form data. For example, the acquisition of a book requires filling a
request form and a purchase order form, and the arrival of a book requires catalog
processing which is essentially to fill a specially designed form with relevant infor-
mation. In the course of data entry, the DEV subsystem should guide the clerical
staff in what sequence the entries are made, and with what codes to record it. For
each different library function, there is a different form to be filled out. The com-
plexity of the data entry sequence usually forces the system designer to design
different DEV subsystems for different library functions. This results in spending
a considerable amount of implementation cost. The problem will be worse if rules
of library functions have been changed such that the DEV subsystem should be
changed accordingly. For these reasons, we have implemented a universal data
entry interface design tool to be used in designing a variety of data entry subsys-
tems. The implemented data entry interface design tool includes a high-level data
specification language (DSL) to be used to define each data item in the application
domain, a high-level layout specification language (LSL) for defining the format
of display layout, and a table-driven automaton with a report generator which can
guide the clerical staff to enter/update data in a user-defined specific and relevant
sequence.
To design data entry subsystems for each library function (e.g., cataloging,
acquisition, etc.), the designer need only use the DSL and LSL to define data
items and display layout, respectively. A schema translator will translate these
definitions into internal table forms which will then be used to drive the automata
and report generator. Figure 2 shows the specification of data items for cataloging
register no() /* registration number */
type is str;
pic is 4; i
class no() /* classification nuniller */
type Is str;;
cutter no() /* cutter number */
type is str;;
author() /* author name */
type is str;
sel is mul:;
authorship() /* author statement */
type is str;
sel is mul;;
title() /* book title */
type is str;
sel is mul;;
edition() /* edition */
type is str;
sel is mul;;
pub~lace() /* publisher place */
type is str;
sel is mul; i
publisher() /* publisher name */
type is str;
sel is mul:;
pub data() /* publish date */
type is str;
pic is 4;
sel is mul;;
preface () /* preface */
type is str;
sel is mul;;
page() /* number of pages */
type is int;;
illustration () /* illustration */
tvoe is str = {llill.II,'I "};;
h~lght() /* height */
type is inti;
width () /* ItJidth */
type is int;
sel is mul;;
subject () /* subject heading */
type is str;
sel is mul;;
copies () /* copies */
type is str;
sel is mul;;
location () /* storage location */
type is stri;
check-out() /* check-out status */
type is char = 'y', In'
case is {series-name: (check-out ~~ 'n') };;
borrower() /* borrower name */
type is str;;
data-due() /* due date */
type is str;
sel is mul;;
series name () j* series name */
tvpe is str;
sel is mul:;
series no () /* series number * /
type is str;
sel is muI: i
reprint() /* reprint status */
type is str = {"Reprinted!!, II II};
case is {ISBN: (reprint !~ "reprinted"));;
reprinter() /* reprinter name */
t'tpe is str;;
ISBN() /* ISBN number */
type is str;
sel is mul;!
a book. Figure 3 shows the display layout specification of a catalog card. Figure
4 shows the computer display of a catalog card.
The information retrieval subsystem (IRS) is the most important part of the
library automation system. With IRS, the user can retrieve information on books
by specifying titles, authors, subjects, keywords, or their logical connections. The
underlying data storage system of IRS is a relational database management system
(RDBMS). In RDBMS, a high-level data definition language (DDL) can be used
to define the database schema (and subschema) which represents the information
about data items and the association among data item. To retrieve information
from a relational database is essentially to do manipulation on a set of related
tables. Manipulation of relational tables can be accomplished by using set-oriented
operations, namely, restriction, projection, join, division, union, intersection, and
difference. In the relational database, there is a set of base relations which rep-
resents the structured raw data transferred from the data entry subsystem. The
combination of above-mentioned relational operations possesses a powerful capa-
bility for deriving relations from the underlying base relations.(l) Figure 5 shows
the architecture of the RDBMS. The designed RDBMS includes two subsystems,
namely, relational interface system (RIS) and physical storage system (PSS). The
RIS provides DDL, DML, authorization and integrity check, and supports for
alternative views of stored data. The PSS maintains indexes on selected attributes,
manages disk space allocation, file access, storage buffers, locking, and transaction
consistence. In the following, Section 3.1 describes the RIS, Section 3.2 describes
the PSS, Section 3.3 describes the interface between IRS and DEV, and Section
3.4 describes an extensible nonprocedural query language for use by novice users
to retrieve data from the database.
1. computer funda~entals.
location : 1
or the RIS allow the database administrator to define the data at conceptual level
as well as internal level. They also allow a variety of external views to be defined
upon common underlying data to provide different users with different views. The
external views of the common data also facilitate some authorization checks and
privacy control. The data manipulation facilities of the RIS allow data to be
inserted, deleted, modified, manipulated, and retrieved by using a set of high-level
relational operators which exempt the users from knowing the internal storage
structure of the stored data.
Example 2. Get the titles of all books published by Plenum Press after 1980.
XQL. Get title; publisher is Plenum Press and year> 1980.
Example 3. Find the authors who write books in computer science or control
theory.
XQL. Get author; subject is computer science or control theory.
I
---+-- ACQUISITION
I
book arrival
CATALOGING
book
cataloged
I
REFERENCE ~ ~ CIRCULATION
FIGURE
system.
6. Petri-net modeling of library office
~_e_r_r_e_~ues~__ "__________________________,
GENERATE ORDER
--I-- REQUEST FORI!
I
¢ form prepared
~IBRARY SELECTION
, / <D ~~ '"OOkCESSING
not ok y y
CANCEL
ORDER
REQUEST
I
--+--
,
r/:y ~--
=0 I
--+- SEND PURCHASE
ORDERS TO
SUPPLIER
receivi~ ~
~: j - - , \ ------ -~
:jJ
I
CONTACT
SUPPLIER
~ I
~
I
I
~/
0 if
CANCEL
ORDER
good
CHECK
CORRECTNESS
defect or
'
I
I I I
RESENDI
ORDER I
LREQUEST,
~
FIGURE 7. Petri-net modeling of acquisition process.
DESIGN AND IMPLEMENTATION OF A LIBRARY AUTOMATION SYSTEM 331
the procedures of the library system. In order to reduce the implementation cost
by detecting the improper system specification earlier, we have developed a Petri-
net based tool, PITSSL, to be used to model the flow and transfer of data among
the work stations of the library system. This wor~ is very similar to Zisman'sY)
PITSSL is essentially a very-high-Ievel specification language which can be used
to define the library procedures and the associated work stations. Based on the
concept of Petri-net hierarchy, the intended library functions can be top-down
structured and specialized. Details of PITSSL can be found in Ref. 4. In the
following, Fig. 6 shows the relationships between the four major parts of the
library system, Fig. 7 shows the Petri-net modeling of the acquisition process, Fig.
8 shows the form-filling process, and Fig. 9 shows the PITSSL description of
Fig. 8.
5. Conclusion
In a library, most of the clerical work has been involved in form-filling. For
each different library function, a different data entry subsystem is required to
8 order request
+ ENTER TITLE
¢
-L
got title
6
I
ENTER VENDER NA1lE
FIGURE 8. Petri-net modeling of generating order request form. 1 ENTER LIBRARIAN NAl·lE
AUTHOR NAME:
receive rl: order request;
transmi t tl : got_author _name;
actions
Tell-user: sys-inf{id:"Author Name ?");
Ask-user: sys-req{id:AUTHOR,m);
end t AUTHOR NANE;
BOOK TITLE:-
- receive rl: got author name;
transmit tl: got=book-tltle;
actions
Tell-user: sys-inf(id:"Title ?");
Ask-user: sys-req{id:TI'l'LE,m);
end t BOOK l' I TLE:
PUBLISHER:
receive rl: got book title;
=:
transmi t tl: got=-publ name;
actions
Tell-user: sys-inf(id:"Publisher ?");
Ask-user: sys-req(id:PUBLISHER,m);
endt PUBLISHER:
PUBLISH DATE:
-receive rl: got publ name;
transmit tl: got-publ-date;
actions --
Tell-user: sys-inf(id:"Publish Date(II/D/Y) ?"):
Ask-user : sys-req{id:PUBL DATE) ;
endt PUBLISH DATE; -
VENDER NAME:-
- receive rl: got publ date:
Transmi t tl: got ==vender _name;
actions
Tell-user: sys-inf(id:"Vender Name ?");
Ask-user: sys-req(id:VENDER);
endt VENDER NAME;
LIBRARIAN: -
receive rl: got vender name;
transmit tl: got-librarIan name;
actions - -
Tell-user: sys-inf(id:"Your name ?");
Ask-user: sys-req(id:LIBRARIAN,m);
endt LIBRARIAN:
facilitate the clerical staff entering form data. The development of a universal
DEV system design tool has greatly reduced the implementation cost of the data
entry subsystem. The use of the relational model database in the application of
information retrieval has several advantages; among them are data integrity, flex-
ibility, and low cost of implementation. The nonprocedural query language makes
the concept of access paths transparent to the user, which is particularly useful to
the casual user. Specification of correct and consistent office procedures is usually
a difficult job. In this paper we present a Petri-net-based modeling technique for
hierarchically top-down structured-designing the library procedures. Although the
modeling power of the regular Petri nets is limited to some extent, the use of the
Petri-net model in specifying the library procedures has been proved to be suc-
cessful and optimistic, and we are continuing to extend the modeling power of
Petri nets by incorporating some program-proving techniques. Hopefully we are
able to develop a more realistic and adequate modeling tool in the near future.
DESIGN AND IMPLEMENTATION OF A LIBRARY AUTOMATION SYSTEM 333
References