178
UNIFIED APPROACH FOR DESIGNING FRAME BASED SYSTEMS By PUNAM BEDI A THESIS SUBMITTED TO THE UNIVERSITY OF DELHI IN PARTIAL FULFILLMENT OF THE REQUIREMENTS FOR THE DEGREE OF DOCTOR OF PHILOSOPHY DEPARTMENT OF COMPUTER SCIENCE UNIVERSITY OF DELHI DELHI-110 007 INDIA MAY 1997

UNIFIED APPROACH FOR DESIGNING FRAME BASED SYSTEMSpeople.du.ac.in/~pbedi/pb_thesis.pdf · unified approach for designing frame based systems by punam bedi a thesis submitted to the

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: UNIFIED APPROACH FOR DESIGNING FRAME BASED SYSTEMSpeople.du.ac.in/~pbedi/pb_thesis.pdf · unified approach for designing frame based systems by punam bedi a thesis submitted to the

UNIFIED APPROACH FOR DESIGNING

FRAME BASED SYSTEMS

By

PUNAM BEDI

A THESIS SUBMITTED TO THE UNIVERSITY OF DELHI

IN PARTIAL FULFILLMENT OF THE REQUIREMENTS

FOR THE DEGREE

OF

DOCTOR OF PHILOSOPHY

DEPARTMENT OF COMPUTER SCIENCE

UNIVERSITY OF DELHI

DELHI-110 007

INDIA

MAY 1997

Page 2: UNIFIED APPROACH FOR DESIGNING FRAME BASED SYSTEMSpeople.du.ac.in/~pbedi/pb_thesis.pdf · unified approach for designing frame based systems by punam bedi a thesis submitted to the

CERTIFICATE

This is to certify that the work embodied in this thesis entitled A UNIFIED APPROACH

FOR DESIGNING FRAME BASED SYSTEMS has been carried out in the Department of

Computer Science, University of Delhi. The work presented in this thesis is original and has not

been submitted in parts or full to this or any other university for any diploma or degree.

Punam Bedi

(Candidate)

(Prof. K.D. Sharma) (Dr.(Mrs.) Saroj Kaushik)

Supervisor Supervisor

Department of Computer Department of Computer

Science Science and Engineering

University of Delhi Indian Institute of Technology

Delhi Delhi

(Mrs. Vidya Kulkarni)

Head

Department of Computer Science

University of Delhi

Delhi

Page 3: UNIFIED APPROACH FOR DESIGNING FRAME BASED SYSTEMSpeople.du.ac.in/~pbedi/pb_thesis.pdf · unified approach for designing frame based systems by punam bedi a thesis submitted to the

Acknowledgements

I would first like to thank my supervisors Prof. K.D.Sharma and Dr.(Mrs.)Saroj Kaushik

for the guidance and support given by them during my work. This work could not have been

accomplished without their assistance and encouragement. Prof. Sharma brought the subject to

my attention and always made himself available for discussions and advice. Dr. Kaushik greatly

helped me in keeping the thesis on solid ground by questioning the assumptions and giving

sound ideas for improvement. The thesis could not have been in the present form without their

help.

My special thanks are to Mrs. Vidya Kulkarni, the Head and Prof. P.S. Grover,

Department of Computer Science for providing me the congenial environment and facilities to

carry out my work.

I take pleasure in acknowledging the cooperation provided by staff members of the

Department of Computer Science and Computer Centre of University of Delhi. Ms. Namita and

Mr. Vyas of Computer Centre deserve a special mention for their assistance and cooperation

during my implementation work in the Computer Centre. I would certainly be a remiss in

omitting an acknowledgement to the staff members of libraries of Computer Centre and

Department of Computer Science for helping me by making available various references and

books in their libraries.

I am grateful to my friends and colleagues for their patience, cooperation and

encouragement.

My sincere thanks are to my parents and brothers for their cooperation and

encouragement throughout this endeavour. I would like to thank my sister, Sangeeta, for helping

me in getting the printouts of my papers in proper formats.

Last but not the least, I owe my heartiest thanks to my husband, Vinod, for helping and

encouraging me throughout. But for his relentless efforts & constant support and cooperation of

all my family members, specially my parents_in_law, I could have hardly finished this onerous

task.

Delhi University

1997

Punam Bedi

Page 4: UNIFIED APPROACH FOR DESIGNING FRAME BASED SYSTEMSpeople.du.ac.in/~pbedi/pb_thesis.pdf · unified approach for designing frame based systems by punam bedi a thesis submitted to the

ii

Abstract

The emphasis of the work in the thesis is to enhance the existing concept of frame based

systems for handling temporal, distributed and multimedia information. A mathematical

representation of each concept is developed using first_order logic as it provides a powerful

system for reasoning. An integrated structured query language for the proposed system has been

designed and developed. The complete syntax and semantics of the proposed language named

FSQL (Frame_oriented Structured Query Language) is designed. The prototype of FSQL is

implemented to show the feasibility of such system.

The inherent capability of Frame Based System for structuring knowledge has been the

motivation for enhancing its capabilities by adding various dimensions to it and provide SQL

like language to manipulate such systems. Temporal(time) dimension is added keeping various

applications of such systems in mind, e.g., robot planning activities, standardized plans of

buildings & equipments etc. In such situations, it is not appropriate to discard the old

information. Knowledge in these temporal frame systems (Tframe) has the period of validity

which is attached to either frames or its slots or both. If the period of validity is attached to

frames, it is called frame versioning and if attached to its slots, it is called slot versioning. The

proposed Tframe system is based on slot versioning in contrast to frame versioning in order to

achieve efficiency in terms of time and space.[Ilsoo 86]. FSQL takes care of both valid time and

transaction time required for a temporal system.

Page 5: UNIFIED APPROACH FOR DESIGNING FRAME BASED SYSTEMSpeople.du.ac.in/~pbedi/pb_thesis.pdf · unified approach for designing frame based systems by punam bedi a thesis submitted to the

iii

The scope of procedural attachments in the frames has been extended. The procedural

attachments are viewed as triggers which implies the activation of some other mechanism(s). A

trigger recognizes the occurrence of an event and conditionally performs certain action. These

triggers are very useful for data validation, data entry and data deletion in the situations where

active data management is needed. The level, scope, context, usage, inheritance and overloading

of these triggers with respect to frames have been suggested.

The design of distributed frame systems is proposed with various types of

fragmentations for a given network of frames. The network of frames is the structure created

using "is_a", "ako" and "a_part_of" links amongst frames [chapter 1]. The knowledge

represented using frames is distributed over different computers in a point_to_point network

environment and can be manipulated using FSQL. Such a distributed system will find

applications in organizations having decentralized structure such as Airlines,

Telecommunications, Banks, Corporate MIS, Hotel chains, Military commands & control and

multiplant manufacturing.

Another dimension is to add multimedia knowledge to frames. Such systems overcome

the problems of current hypermedia / multimedia technology for handling abstraction,

associative searching facilities, complex object modelling capabilities. The proposed model

supports the basic structure and operations of multimedia data and can be used to develop active

video presentations. Hyperlinks are also available, so that the user can navigate from one

medium to another.

Page 6: UNIFIED APPROACH FOR DESIGNING FRAME BASED SYSTEMSpeople.du.ac.in/~pbedi/pb_thesis.pdf · unified approach for designing frame based systems by punam bedi a thesis submitted to the

iv

Finally, an integrated structured query language to handle temporal, distributed and

multimedia knowledge incorporated in existing frame systems is designed and developed. The

FSQL consists of a set of facilities for defining, manipulating and controlling knowledge

contained in the proposed frame systems. The proposed query language has features similar to

SQL of relational databases but takes care of multiple facets of slots and inheritance. The

complete syntax and semantics is developed. To demonstrate the feasibility of the query

language, a subset of FSQL has been implemented using LPA Prolog Professional Compiler

and Quintus Prolog 2.3.

Page 7: UNIFIED APPROACH FOR DESIGNING FRAME BASED SYSTEMSpeople.du.ac.in/~pbedi/pb_thesis.pdf · unified approach for designing frame based systems by punam bedi a thesis submitted to the

v

Table of Contents

Acknowledgements i

Abstract ii

Chapter 0. Introduction 1

0.1 Literature Survey 3

0.2 Thesis Outline 13

Chapter 1. A Frame System Shell (FS-Shell) 16

1.1 Knowledge Representation using Frames 16

1.2 Overall Design of the Frame System 20

1.3 Representation of Frames in first_order logic 32

1.4 Connecting Rules and Frames 34

1.5 Implementation of the Frame Systems 35

1.5.1 Representing Frames in Prolog 36

1.5.2 Design of the Frame System for Implementation 39

1.6 Design and Implementation of the FS-Shell 43

1.6.1 Design of the FS-Shell 43

1.6.2 Implementation of the FS-Shell 46

1.7 Summary 50

Chapter 2. Time Dimension to Frame Systems 52

Page 8: UNIFIED APPROACH FOR DESIGNING FRAME BASED SYSTEMSpeople.du.ac.in/~pbedi/pb_thesis.pdf · unified approach for designing frame based systems by punam bedi a thesis submitted to the

2

2.1 The Model of Time 52

2.2 The Temporal Frame Model 54

2.2.1 Representation of Temporal Frames in first_order logic 55

2.2.2 Representation of Time in a Dynamic slot 56

2.2.3 Lifespan Computation 57

2.2.4 Frame versioning vs. slot versioning 61

2.3 Implementation of Temporal Frame Query Language 64

2.4 Summary 71

Chapter 3. Triggers in Frame Systems 72

3.1 Level, Classification, Scope and Contexts of Triggers 71

3.1.1 Trigger Definition Level 71

3.1.2 Classification of Triggers 72

3.1.3 Scope and Contexts of Triggers 75

3.1.4 Overloading of Triggers 77

3.2 Inheritance of Triggers 78

3.3 Temporal Triggers in Frames 79

3.4 Triggers for views of a frame 79

3.5 Triggers w.r.t. multimedia environment 80

3.6 Implementation of Triggers 80

3.7 Summary 81

Chapter 4. Distributed Frame Systems 83

4.1 Distributed Knowledge Based System 83

4.1.1 Operations on Fragments of Frames 87

Page 9: UNIFIED APPROACH FOR DESIGNING FRAME BASED SYSTEMSpeople.du.ac.in/~pbedi/pb_thesis.pdf · unified approach for designing frame based systems by punam bedi a thesis submitted to the

3

4.1.2 Representing Fragmentation in first_order logic 87

4.1.2.1 Network Fragmentation 87

4.1.2.2 Instance Fragmentation 88

4.1.2.3 Slot Fragmentation 89

4.2 Reference Architecture for Distributed Frame Systems

(DFS) 89

4.3 Distribution Transparency in DFS 91

4.4 Distributed Frame Management System 92

4.5 Message passing in Distributed Frame Management System 96

4.6 Distributed Frame Query Language 97

4.7 Summary 100

Chapter 5. Multimedia Dimension To Frame Systems 101

5.1 Basic Terminology 102

5.2 The Multimedia Frame Model 103

5.2.1 Media as a Slot 103

5.2.2 Media as a Facet 107

5.3 System_Defined Classes 108

5.4 System Architecture 110

5.5 Multimedia Frame Query Language 112

5.6 Summary 118

Chapter 6. FSQL- A Frame_oriented Structured Query Language 119

6.1 Some Common Statements of FSQL 120

6.2 Syntax of FSQL 129

Page 10: UNIFIED APPROACH FOR DESIGNING FRAME BASED SYSTEMSpeople.du.ac.in/~pbedi/pb_thesis.pdf · unified approach for designing frame based systems by punam bedi a thesis submitted to the

4

6.3 Semantics of FSQL 145

6.4 Summary 160

Chapter 7. Conclusion 161

7.1 Conclusion 161

7.2 Applications of the Proposed System 164

Appendix-I. Sample Outputs

Bibliography

Glossary

Abbreviations

Page 11: UNIFIED APPROACH FOR DESIGNING FRAME BASED SYSTEMSpeople.du.ac.in/~pbedi/pb_thesis.pdf · unified approach for designing frame based systems by punam bedi a thesis submitted to the

5

Chapter 0

Introduction

Representation and management of knowledge play an important role in

Artificial Intelligence. Knowledge structures are used to store knowledge and provide a

capability of reasoning such knowledge. The problem of representing knowledge in a

way that is best suited for use by a computer program is known as knowledge

representation.

Different Knowledge Representation Schemes are available in the literature with

varying degrees of merits and demerits. The choice of most suitable formalism to be

used is of course one of the main problems when designing knowledge based/ expert

system. Different knowledge representations in the literature include

Object_Attribute_Value-triplets (OAV-triplets), Logic, Semantic Networks, Rules and

Frames [Mockler 87, Turban 90]. When the domain knowledge is vast and varied, the

knowledge can become unmanageable. Gevarter in his paper [Gevarter 87] suggested

that structuredness and modularity is necessary to handle a large knowledge base. A

common disadvantage in Semantic Networks, Rules, Logic and OAV representations is

that they are not structured enough to manage situations when the number of objects and

rules increases significantly. The frames [Minsky 75] are the most widely used

Page 12: UNIFIED APPROACH FOR DESIGNING FRAME BASED SYSTEMSpeople.du.ac.in/~pbedi/pb_thesis.pdf · unified approach for designing frame based systems by punam bedi a thesis submitted to the

6

primitives for knowledge representation because they are more structured than above

mentioned representations. In a paper [Niwa 84], an experimental comparison was done

amongst various knowledge representation schemes and was concluded that the use of

structured knowledge representation increases run time efficiency as well as reduces the

effect of knowledge volume on run time.

A frame is basically a structure for holding various types of knowledge. Frames

are given names, with the presumption that the knowledge contained within a particular

frame is in some way interrelated. Many authors and speakers may refer to frame-like

structures as units, objects, concepts, schemas or entities. Most of the expert system

related literature uses the term frame rather than object, while the database literature

generally uses the term object [Parsaye 89]. When we talk about frame representation,

we essentially talk about using OOP in building Expert Systems [Turban 90].

Knowledge representation with frames is being chosen in the proposed thesis

because Frames are structured ways of representing descriptive information & they

provide a natural mapping for the kind of knowledge which is centered around one

concept or object [Hayes 81, Minsky 75]. The organization allows efficient searching

because there is immediate access to relevant information. Frame structure provides a

natural method for representing hierarchies of information, thus allowing the inheritance

of values. Although frames were conceived independently of the object-oriented

paradigm they are in fact consistent with it, and provide an excellent demonstration of

their power. Indeed frames are capable of representing both specific and general

knowledge, and are capable of accommodating both descriptive and prescriptive

Page 13: UNIFIED APPROACH FOR DESIGNING FRAME BASED SYSTEMSpeople.du.ac.in/~pbedi/pb_thesis.pdf · unified approach for designing frame based systems by punam bedi a thesis submitted to the

7

computations [Zaniolo 86].

Frame Based Systems have many advantages including immediate access to

relevant information, easy to include default information and detect missing values etc.

Frames can easily be used in conjunction with Production rules, thereby facilitating

partitioning, indexing and organizing production rules of a system. The implicit

hierarchy available in frame taxonomies also permits hierarchical segmentation of rules.

Simplicity of the frame structure coupled with the type of knowledge it can possess has

motivated to work in this field.

0.1 Literature Survey

Frame representation languages [Bobrow 77, Brachman 85, Fikes 85, Minsky

75], provide a rich structural metaphor to capture the way humans/experts typically

think about their domains. They also provide efficient special purpose reasoning

techniques that are based on representational structures. These reasoning techniques are

more direct than general methods such as logic. In addition, frames allow descriptive

information to be shared among multiple objects and semantic integrity constraints to be

maintained. This can reduce redundant and incorrect data in a system [Liebowitz 89].

But the existing frame systems do not provide facilities for handling temporal data,

distributed data and multimedia data which are very useful in various real life

applications. The work in the literature has been done on temporal, distributed,

multimedia databases when databases are taken as relational databases. Idea was

Page 14: UNIFIED APPROACH FOR DESIGNING FRAME BASED SYSTEMSpeople.du.ac.in/~pbedi/pb_thesis.pdf · unified approach for designing frame based systems by punam bedi a thesis submitted to the

8

conceived to add these dimensions to existing frame systems as frame systems are a

better way of organizing data/knowledge than relational databases. They extend

relational databases by providing facets of slots, procedural attachments (Fig. 0.1) and

also allow inheritance of values.

Knowledge bases and databases so far discussed in the literature are generally

designed to contain information only about the "current state" of the world. Changes are

destructive because they replace the old information without remembering the previous

contents, but some applications like medical histories, robot planning activities,

analyzing stories, standardized plans, natural language understanding etc. require the

preservation of old information. Hence, in such situations, it is desirable to associate

time values with knowledge.

Research in temporal information management has been very active in recent

years in various fields of Computer Science [Maiocchi 91]. For example,

A. In Data Bases, the emphasis is on providing a way of storing and retrieving

temporal data. Two main directions of research in this area with respect to relational

databases are

i) extending existing data models.

ii) providing temporal reasoning capabilities for databases.

Page 15: UNIFIED APPROACH FOR DESIGNING FRAME BASED SYSTEMSpeople.du.ac.in/~pbedi/pb_thesis.pdf · unified approach for designing frame based systems by punam bedi a thesis submitted to the

9

The TQuel system [Snodgrass 87] was designed based on the first category of

systems, because it extends the query language Quel (query language for relational

databases). Under the second type of systems, TSOS [Maiocchi 86] provides an expert

system reasoner to handle temporal data. Another system handling the second category

of systems is Event calculus [Kowalski 86] which focusses on handling the update

problem in deductive databases.

B. In Artificial Intelligence (AI), two types of temporal reasoning systems are

available.

i) Systems that are mainly concerned with interpretation of the data, and their

relationships.

ii) Systems to build plans for future actions, such as, scheduling the use of

resources correctly to solve a given scheduling problem within certain time

constraints.

Allen's interval calculus [Allen 83, Allen 84] is a representative of the first category of

AI temporal reasoning systems and the time map management (TMM) system [Dean

87] represent intelligent schedulers.

Page 16: UNIFIED APPROACH FOR DESIGNING FRAME BASED SYSTEMSpeople.du.ac.in/~pbedi/pb_thesis.pdf · unified approach for designing frame based systems by punam bedi a thesis submitted to the

7

C. In Software Engineering (SE), the emphasis is on describing the related

properties of real time systems. In general, such systems are used to verify that the

specified properties describe the system completely and correctly. Therefore, the

purpose of such type of temporal systems is not that of managing temporal data and

reasoning as in DB and AI systems but to verify that the system will be able to handle

such data correctly. ERAE model [Dubois 86] is a representative of this category of

systems.

We have defined Tframe (Temporal frame) model based on the TQuel approach

and used Allen's interval calculus for temporal reasoning. Our system takes care of all

type of intervals where one of the endpoints may or may not be defined. In the TQuel

approach, four type of databases [Snodgrass 86, Snodgrass 87] differentiated by their

ability to support time concepts and processing of temporal information can be defined

as follows:

Snapshot databases: Conventional database model an enterprise as it changes

dynamically by a snapshot at a particular point in time. A state or an instance of a

database is its current content. The state of a database is updated using data

manipulation operations such as insertion, deletion or replacement, taking effect as soon

as they are committed. In this process past states of the database, representing those of

the enterprise, are discarded and forgotten. this type of database is known as a snapshot

database.

Rollback databases: In these databases, all past states of the snapshot database as it

Page 17: UNIFIED APPROACH FOR DESIGNING FRAME BASED SYSTEMSpeople.du.ac.in/~pbedi/pb_thesis.pdf · unified approach for designing frame based systems by punam bedi a thesis submitted to the

8

evolves, are stored indexed by time. By moving along the time axis and selecting a

particular snapshot state, it is possible to get a snapshot of the database at some time in

the past and make queries about it. The operation of selecting a snapshot state is termed

rollback and a database supporting it is termed a rollback database. Changes to a

rollback database may be made only to the most recent snapshot state.

Historical databases: While rollback databases record a sequence of snapshot states,

historical databases record a single historical state per relation. As errors are discovered,

they are corrected by modifying the database. Previous states of the database itself are

not retained, so it is not possible to view the database as it was in the past. No record is

kept of the errors corrected. Historical database resemble snapshot database in this

respect. Historical databases are different than rollback databases in the sense that

historical databases support arbitrary modification, where rollback databases only allow

snapshot states to be appended.

Temporal databases: A temporal database may be regarded as a sequence of historical

states, each a complete historical relation. The rollback operation on a temporal relation

selects a particular historical state, on which a historical query can be executed. Each

transaction causes a new historical state to be created; hence temporal relations are

append only. A clear need for such a data model is evident in a variety of fields which

may be concerned with medical histories, accounting systems, auditing, learning,

robotics movement, etc.

Page 18: UNIFIED APPROACH FOR DESIGNING FRAME BASED SYSTEMSpeople.du.ac.in/~pbedi/pb_thesis.pdf · unified approach for designing frame based systems by punam bedi a thesis submitted to the

9

A number of time dimensions can be included in a time model. Two of the most

common ones are valid time and transaction time. The valid time represents the actual

time intervals during which a particular fact was true. The transaction time represents

the time where these facts or events were recorded in the database. Snapshot databases

are independent of time whereas rollback databases support transaction time, historical

databases support valid time and temporal databases support both valid and transaction

time.

The Tframe model [Bedi 93a] proposed in the thesis supports both valid and

transaction time. We have also represented frames in first_order logic because predicate

logic provides a powerful system for reasoning, but it lacks facilities, such as,

packaging, built_in inheritance and procedural attachments. Hence logic combined with

frames allows for a flexible method of knowledge and inference. Pimental [Pimentel

89], in his paper has defined temporal frame systems which simply makes temporal

reasoning on frames. The time is not included in the structure of frames but it is

specified only in events. The system Telos [Mylopoulos 90] also associates time values

with entities and its attributes. The concept of static slots, dynamic slots and the concept

of versioning has not been considered in Telos. Proposed work takes care of static and

dynamic slot concepts and is based on slot versioning in contrast to frame versioning.

Lot of work has been done on triggers with respect to relational databases

[Graham 91, Oracle, Perry 88] but enough study has not been done on frames. When

triggers are combined with frames, they facilitate knowledge base processing and one

Page 19: UNIFIED APPROACH FOR DESIGNING FRAME BASED SYSTEMSpeople.du.ac.in/~pbedi/pb_thesis.pdf · unified approach for designing frame based systems by punam bedi a thesis submitted to the

10

can control the following tasks:

- validate data entry

- protect the frame system from errors such as entry of duplicate instances

- limit user access to specified frame

- expand the functionality of function keys

Also in the proposed frame system inheritance and overloading of triggers are important

features.

Distributed database technology [Ceri 84, Kumar Vijay, Molina 95, Ozsu 91,

Saxena 91] is one of the major recent developments in the database system area. The

technology is the union of the two diametrically opposite approaches of data processing:

database systems and computer network technology. There are many advantages of

using distributed knowledge based systems (DKBS). These include local autonomy,

better reliability, shareability, improved performance, higher availability, expandability.

The only negative point of using DKBS is the software and hardware maintenance cost.

The thesis contains contribution to distributed knowledge using frame system. The

knowledge has been distributed in a point_to_point network environment.

Hypermedia systems such as Hypercard [Goodman 87], Notecard [Halasz 88],

Neptune [Delisle 86] and Intermedia [Yankelovich 88] have a simple data model

consisting of nodes and links. There are several problems in using these current

hypermedia / multimedia technology to complex systems which deal with large amount

Page 20: UNIFIED APPROACH FOR DESIGNING FRAME BASED SYSTEMSpeople.du.ac.in/~pbedi/pb_thesis.pdf · unified approach for designing frame based systems by punam bedi a thesis submitted to the

11

of data and heterogeneous structures. Lack of abstraction, associative searching

facilities, complex object modelling capabilities, support for database facilities and poor

performance are among these problems.

The Knowledge Management System (KMS) is the commercial face of ZOG

[Akscyn 84], a hypertext system developed at Carnegie Mellon University [Akscyn 88,

Botto 93]. Both ZOG and KMS adopt the frame-based approach, where whole

documents or frames are linked. Each frame is made up of text objects. Many of the

today's commercial implementations adopt this technique.

Quest [Botto 93] is a frame-based authoring system. This package is aimed

mainly at the development of CBT courseware and has the ability to control the

videodisc player. Although Quest has its own language QAL (Quest Authoring

Language) , applications can be created in a menu driven environment. Lessons are

constructed from a number of frames each of which contain a number of objects.

Objects include text, images and branches. You can edit any frame at random. However,

objects can not be edited, instead they have to be erased and then re-established in the

required form. Quest is particularly flexible in terms of monitoring the performance of

students. Indeed it is for this reason that it was chosen. It is also possible to create

interesting animations. Cycle animations, where a number of images are presented in

turn, can be used for micons, though in reality they are rarely used for this purpose. Path

animations, where an image is simply moved from one point to another, are easily

created and one simply defines the path using the arrow keys. However, the version used

Page 21: UNIFIED APPROACH FOR DESIGNING FRAME BASED SYSTEMSpeople.du.ac.in/~pbedi/pb_thesis.pdf · unified approach for designing frame based systems by punam bedi a thesis submitted to the

12

for this production was unable to load animations from other programs. But in this case

temporal and distributed features are not included.

In [Ishikawa 90, Ishikawa 93] objects are defined as an integration of functional

data model and frames and hence solve the above mentioned problems, but the video is

not taken as a media. In [Oomoto 93] authors have considered that any portion of a

video frame sequence is an independent entity having its own attributes and their values

for arbitrary video frame sequences and called it as a video object. More specifically a

video object corresponds to a certain set of video frame sequences and it has its own

attributes and their values to represent the content (meanings) of the corresponding

video scene. The main features of the OVID model are schemaless description of the

database, interval inclusion inheritance ( this type of inheritance is between instances

and not between traditional classes and subclasses in OODB systems) and composition

of video objects based on is-a hierarchy. In this paper, the concept is not extended to

hypermedia systems.

In this thesis, we have added Multimedia Dimension to the earlier proposed

Temporal Frame Systems which also work well in the Distributed Environment. The

proposed frame system besides providing abstraction, generalization and classification

of data, can also support the basic structure and operations of multimedia data. Both

structural and behavioral knowledge can be represented in this system and the facets of

slots can flexibly represent constraints and triggers. This system has potential to offer

active video presentations and hyperlinks to navigate from one medium to another.

Page 22: UNIFIED APPROACH FOR DESIGNING FRAME BASED SYSTEMSpeople.du.ac.in/~pbedi/pb_thesis.pdf · unified approach for designing frame based systems by punam bedi a thesis submitted to the

13

Complete syntax and semantics of a query language FSQL, acronym for

"Frame_oriented Structured Query Language" has been designed and developed. A

subset of it has been implemented. FSQL consists of a set of facilities for defining,

manipulating and controlling the knowledge contained in frames. It has features similar

to SQL of relational databases but takes care of multiple facets of slots and inheritance

of values between parent and child frames including temporal information. The frame

based systems have been extended to handle temporal, distributed and multimedia

information. The syntax is defined using BNF like notation. Following factors were kept

in mind while developing FSQL:

a. FSQL is an extended version of SQL which is endorsed by almost all the major

developers of relational systems. Thus the existing application programs can be

supported by FSQL without any change.

b. FSQL has the added advantage of offering time dimension [Bedi 93a,

Mylopoulos 90] which makes it possible to preserve the old information

required in several applications such as medical histories, real-time

applications, historical/temporal databases.

c. FSQL can be used in a distributed environment and also has facilities for basic

multimedia operations.

d. SQL is the only relational language that has a standard developed for it and

Page 23: UNIFIED APPROACH FOR DESIGNING FRAME BASED SYSTEMSpeople.du.ac.in/~pbedi/pb_thesis.pdf · unified approach for designing frame based systems by punam bedi a thesis submitted to the

14

paves the way for standardizing FSQL.

0.2 Thesis Outline

The thesis is divided into seven chapters described as follows:

Chapter 1 contains brief review of the frame systems with slots and facets

having inheritance properties. We have represented frames in first_order logic because

predicate logic provides a powerful mathematical system for reasoning, but it lacks

facilities, such as, packaging, built_in inheritance and procedural attachments. Hence

logic combined with frames allows for a flexible method of knowledge and inference.

The design and implementation of a Frame System Shell (FS_Shell) [Bedi 91] is

discussed. FS-Shell has been implemented in Turbo Prolog 2.0.

Chapter 2 deals with time dimension to frame system. The Tframe model [Bedi

93a] supports both valid and transaction time and is based on slot versioning

(associating time at slot level) in contrast to frame versioning (associating time at frame

level). A first_order representation for temporal frames is also included in the chapter.

Chapter 3 deals with the triggers in frames[Bedi 93b]. The definition level and

classification of triggers have been considered. Triggers are classified as event_based

and user_named. Temporal triggers are also discussed which are basically triggers

dependent on time. Inheritance and overloading of triggers included in the chapter are

Page 24: UNIFIED APPROACH FOR DESIGNING FRAME BASED SYSTEMSpeople.du.ac.in/~pbedi/pb_thesis.pdf · unified approach for designing frame based systems by punam bedi a thesis submitted to the

15

important features.

In chapter 4, the design of distributed knowledge based system [Bedi 95] when

the knowledge is represented as frames is proposed. The concept of fragmentation along

with first_order representation for each kind of fragmentation is discussed. It also

presents the concept of different types of distribution transparencies for a given network

of frames.

Chapter 5 deals with further extension of a frame system for representing

multimedia information. Each frame has been defined having static slots and dynamic

slots and each slot can have media such as text, image, video, audio. For a static slot,

whatever value the media may have, the value of slot remains constant with time. In

case of dynamic slots, the value change with time and give rise to animation.

Chapter 6 contains the complete design of Query Language for Frames called

the Frame_oriented Structured Query Language (FSQL). The language handles frame

systems that have been enhanced to contain temporal, distributed and multimedia

information. A prototype of FSQL is implemented using LPA PROLOG Professional

Compiler. The syntax and semantics of the language are given in the chapter.

Chapter 7 contains the conclusion and applications of the proposed system.

Page 25: UNIFIED APPROACH FOR DESIGNING FRAME BASED SYSTEMSpeople.du.ac.in/~pbedi/pb_thesis.pdf · unified approach for designing frame based systems by punam bedi a thesis submitted to the

16

Chapter 1

A Frame System Shell (FS-Shell)

Of the various knowledge representation schemes which evolved over the years,

the frame based approach received lot of attention [Ito 85, Minsky 75, Parsaye 89].

Information about an object is stored in a frame. The frame has multiple slots used to

define various attributes of the object. The slots can have multiple facets for holding the

value for the attributes, or defaults, or procedures which are called to calculate the value

(Fig. 1.1). This chapter gives a formal introduction to frame systems. A Frame System

Shell (FS-Shell) in Turbo Prolog is also developed [Bedi 91]. FS-Shell can be used to

create existing frame based systems which involves creating the structure and

knowledge base. Knowledge can be queried using the QBE approach of Relational

Databases even without knowing the Frame Language or Prolog. The shell has been

tested by taking the example of Hospital Knowledge Base and University Knowledge

Base which use multiple inheritance instead of usual hierarchical nature of frames.

1.1 Knowledge Representation using Frames

A good knowledge representation tool is not only adequate to the expression, but

also efficacious to the reasoning [Chen 86, Woods 83]. Frames which have good

Page 26: UNIFIED APPROACH FOR DESIGNING FRAME BASED SYSTEMSpeople.du.ac.in/~pbedi/pb_thesis.pdf · unified approach for designing frame based systems by punam bedi a thesis submitted to the

17

expressive power were first proposed in [Minsky 75]. Since then, several frame-based

languages, such as KRL [Bobrow 77], FRL [Goldstein 79, Rosenberg 79], KL-ONE

[Brachman 85], etc.[Waterman 86, pp.346-350] have been developed and used to

implement systems in a variety of domains. How frames are involved in knowledge

system reasoning process was discussed in [Fikes 85].

Frames are complex data structures for representing objects and events of

situations. Frames provide a method of combining declarations and procedures within a

single knowledge representation environment, i.e., frames package both data and

procedures into knowledge structures [Parsaye 88]. Frames are basically an application

of object-oriented programming for AI and Expert Systems.

1.1.1 Frame Structure

Definition: A frame is a data structure that includes all the knowledge about a

particular object. This knowledge is organized in a special hierarchical

structure that permits a diagnosis of knowledge independence.

Frame Contents: A Frame include two basic elements: Slots and Facets.

Slots This is a set of attributes that describe the object represented by the

frame, i.e., for a hospital frame, phone no. or address will be in the slots.

Page 27: UNIFIED APPROACH FOR DESIGNING FRAME BASED SYSTEMSpeople.du.ac.in/~pbedi/pb_thesis.pdf · unified approach for designing frame based systems by punam bedi a thesis submitted to the

18

Facets Each slot contains one or more facets (sometimes called subslots) which

describe some knowledge or procedures about the attributes in the slot.

Facets may take many forms, such as:

Values These describe the attributes such as phone no. 548285.

Default This facet is used if the slot is empty, that is, without any

description. For example, in a ward frame, a default value for

no.of beds may be 10 beds, i.e., when we do not know how many

beds are there in a ward, we assume automatically that it is ten.

Range The range indicates what kind of information can appear in a slot and is

useful for validation purpose.

If_added This facet contains procedural information. It specifies an action

to be taken when a value in the slot is added (or modified). Such

procedural attachments are called demons.

If_needed The If_needed facet is used in a case when no slot value is given.

It triggers, much like the if_added situation, i.e., a procedure

that goes out and gets or computes a value.

Other Slots may contain frames, rules, semantic network or any type of

information.

Facets can as well take values of the form:

- Maximum number of values permitted in the slot.

- Minimum number of values permitted in the slot.

- Display format for the slot's value.

Page 28: UNIFIED APPROACH FOR DESIGNING FRAME BASED SYSTEMSpeople.du.ac.in/~pbedi/pb_thesis.pdf · unified approach for designing frame based systems by punam bedi a thesis submitted to the

19

- Explanation about the purpose or meaning of the slot.

- Text of question to be asked in the event that the user is requested to provide a

value for the slot.

- Text of response to be provided should the user question the purpose of the

request for a slot value.

1.2 Overall Design of the Frame System

1.2.1 The Network of Frames

There can be two types of frames : class frames and instance frames. Class

frames are frames which represent a general type or concept whereas instance frames

represent specific occurrence of these class or type frames. These frames can be linked

using "is_a", "ako" and "a_part_of" links. "is_a" link is used to connect a particular

instance to a general type (class frame) (Fig. 1.2). "a_part_of" link is used to connect

two frames representing objects one of which is contained in the other. "a_part_of" link

can exist either between two class frames (e.g. department, university) or between

instances (e.g. Computer_ science dept., Delhi_University) (Fig. 1.3). "ako" link

connects two class frames, one of which is a specialized version of the other (Fig. 1.4).

This structure can be represented as a three dimensional structure as shown in

Fig. 1.5. The first dimension of the structure corresponds to "a_part_of" link, the second

dimension to "ako" link and the third dimension to "is_a" link. In fact the second

dimension consists of hierarchy of "ako" links (Fig. 1.5). Each frame can have at most

Page 29: UNIFIED APPROACH FOR DESIGNING FRAME BASED SYSTEMSpeople.du.ac.in/~pbedi/pb_thesis.pdf · unified approach for designing frame based systems by punam bedi a thesis submitted to the

21

two links with the following combinations.

"is_a" & "a_part_of" or "ako" & "a_part_of" but not "is_a" & "ako".

1.2.2 Inheritance

The mechanism for passing knowledge from frame to frame down through the

taxonomy from general to specific is known as inheritance. Inheritance is a good way to

find information that is not stored in the place where we first look. It leads to what is

known as cognitive economy [Parsaye 88], where information is only stored in one

place but can still be retrieved from different parts of the network or hierarchy.

The process of inheritance normally proceeds as follows. First, we examine the

appropriate object/frame. If the information is not stored there, we go to the parent

object/frame and check whether the information is stored there or not. If the information

is still not found, we repeat the process with the parent of the object/frame until the

information is found or we reach the top of the hierarchy (root of the

hierarchy/network).

Various types of Inheritance [Walters 88] can be defined in a Frame System, e.g.,

a. Slot Inheritance

Slot Inheritance takes place when the slot itself, but not its value, is inherited

from its parent frame.

Page 30: UNIFIED APPROACH FOR DESIGNING FRAME BASED SYSTEMSpeople.du.ac.in/~pbedi/pb_thesis.pdf · unified approach for designing frame based systems by punam bedi a thesis submitted to the

24

b. Value Inheritance

Value Inheritance takes place when the value of a slot in a frame is inherited

from the corresponding slot of the parent.

c. Restriction (Range) Inheritance

Restriction inheritance takes place when it is the restriction on values, rather

than values themselves, that are inherited.

d. Types of Inheritance :Null

In some cases inheritance is not desirable, and all of its forms should be

inhibited.

1.2.3 Multiple Inheritance

Normally frame systems have a hierarchical structure i.e. each subclass has one

and only one superclass but there may be a case when a subclass is being referred to by

more than one superclasses, The mechanism that allows a class to inherit from more

than one immediate parents is called multiple inheritance.

As long as the parents share no common slots, inheritance from multiple parents

is a simple matter. The difficulty arises when the parents have common slots with

different values. Then the class inheritance hierarchy becomes a DAG (directed acyclic

Page 31: UNIFIED APPROACH FOR DESIGNING FRAME BASED SYSTEMSpeople.du.ac.in/~pbedi/pb_thesis.pdf · unified approach for designing frame based systems by punam bedi a thesis submitted to the

25

graph), since a class can have more than one immediate predecessor [Khoshafian 90]. In

case of multiple inheritance, there can be two kinds of conflicts:

1. The conflicting slots come from a common ancestor.

2. The conflicting slots are totally unrelated.

If the conflicting slots come from a common ancestor, conflict can be resolved

with common ancestry by using the slots and their values from the common ancestor.

One can adopt one of the following strategies to handle inheritance in the

circumstances when the conflicting slots are totally unrelated.

a. Priorities are assigned to paths and one can inherit the value from the path with

highest priority.

b. System adopts some strategy of traversal, e.g., DFS or BFS and inherits value

from the first parent.

c. The linearization strategy for conflict resolution provides an algorithm for

mapping the DAG of the predecessors of a class into a linear order. When a class

indicates its superclasses, the superclass names are given in a particular order.

The linearization strategy uses this ordering of class names to generate a linear

Page 32: UNIFIED APPROACH FOR DESIGNING FRAME BASED SYSTEMSpeople.du.ac.in/~pbedi/pb_thesis.pdf · unified approach for designing frame based systems by punam bedi a thesis submitted to the

27

order[Khoshafian 90].

d. Conflicting slots of the two superclasses can be renamed to resolve the conflict.

e. Whenever there is an ambiguity in the access or usage of a slot, it must be

resolved by qualifying the slot with the appropriate class name.

Our system qualifies the slot with the appropriate class name in case of conflict.

1.2.4 Subtyping

A type is a set of objects with a set of operations defined on them. The common

elements of different types can be abstracted to form subtyping hierarchy. A type T1 is a

subtype of type T2 if every instance of T1 is an instance of T2 [Khoshafian 90]. In such

a case, T1 is related to T2 by "ako" link. For example, child hospital is a subtype of

hospital because every instance of child instance is an instance of hospital. So subtypes

form a layer between class & it's instances.

A frame defined for the concept of subtyping inherits all the slots of supertype

along with some or none additional slots. For example, if HOSPITAL has slots name,

address, code, phoneno, noofbeds, then the slots of a CHILD HOSPITAL could be

name, address, code, phoneno, noofbeds, ageofpatient etc.

The advantages of using subtyping in frame system will be that all instances of

Page 33: UNIFIED APPROACH FOR DESIGNING FRAME BASED SYSTEMSpeople.du.ac.in/~pbedi/pb_thesis.pdf · unified approach for designing frame based systems by punam bedi a thesis submitted to the

28

HOSPITAL need not have the same structure, representation becomes more structured

and memory efficient. Such representation will be useful in many applications involving

one particular subtype, for example, list the names and addresses of all child hospitals in

India.

1.2.5 Attached Predicates

Attached predicates allow us to invoke rules from within frames. Attached

predicates extend conventional data structuring paradigms by providing active structures

[Parsaye 88]. Attached Predicates can provide a powerful style of programming. For

example, an attached if_needed predicate may be used for monitoring the behavior of an

expert system and may be used as a debugging tool. Whenever the value of a slot is

read, the predicate may write a message to the screen. The type of trace, which describes

the use of knowledge, might supplement traditional methods that focus on rules that are

being invoked during reasoning. The use of Attached predicates along with the

inheritance provides a new programming paradigm with a number of benefits such as

integrity maintenance and dynamic data management.

Consider for example, an expert system which provides real estate advice

(Example 1.1). While using the system, we might need to check whether Rosen could

afford to buy a certain house. We might know the price of the house, the current interest

Page 34: UNIFIED APPROACH FOR DESIGNING FRAME BASED SYSTEMSpeople.du.ac.in/~pbedi/pb_thesis.pdf · unified approach for designing frame based systems by punam bedi a thesis submitted to the

30

rate for mortgages, Rosen's salary and Rosen's savings. (If one of these slots is missing,

the expert system could detect the empty slot and ask the user to provide this

information.) Then we might have an algorithm which approximates down the payment,

closing costs, and mortgage payments given the price of the house, and made a

determination on whether Rosen could afford to buy a house. Such a system is given by

the following example:

1.2.5.1 Integrity Maintenance with Attached Predicates

One way to use attached predicates is as guardians for information storage and

retrieval. In this mode the predicate restrict the information that may be retrieved from a

slot or stored in a slot.

As an example of this type of application of an if_needed predicate, one may

restrict access to the data in a frame by defining a password predicate. If_added

predicate may be used to validate the data when the data is added in the value of a slot.

1.2.5.2 Dynamic Data Management with Attached Predicates

Another mode for using attached predicates is for dynamic information retrieval

and storage. In this mode, one may either directly calculate the value of a slot on the

basis of other information or dynamically determine the possible range of values for a

Page 35: UNIFIED APPROACH FOR DESIGNING FRAME BASED SYSTEMSpeople.du.ac.in/~pbedi/pb_thesis.pdf · unified approach for designing frame based systems by punam bedi a thesis submitted to the

32

slot.

For instance, an if_needed predicate may calculate a person's age by retrieving

the current date and birthdate of the person and subtracting the birthdate from the

current date to obtain the age. Attached predicates allow us to have dynamic menus

whose contents are not fixed before the execution of the program begins, but are

dynamically adjusted with a set of rules [Parsaye 88].

1.3 Representation of Frames in first-order logic

The three dimensional structure of NOF can be represented as

frame(x,[slot1,slot2,...,slotn])

where slot1 ∈ {is_a,ako}

slot2 = a_part_of

slot3 ... slotn represent attributes of the frame.

and in first-order logic [Chen 86] , we can write this as

∀x (frame(x) ≡ ∃y1,y2,...,yn ((is_a(x,y1) ∨ ako(x,y1)) ∧ a_part_of(x,y2) ∧

slot3(x,y3)∧ ... ∧ slotn(x,yn)))

Page 36: UNIFIED APPROACH FOR DESIGNING FRAME BASED SYSTEMSpeople.du.ac.in/~pbedi/pb_thesis.pdf · unified approach for designing frame based systems by punam bedi a thesis submitted to the

33

Here frame(x) - x is a frame,

sloti(x,yi) - yi is the value of slot sloti of frame x.

Considering the following semantics for class(x), subclass(x) and instance(x),

class(x) - x is a class frame,

subclass(x) - x is a subclass frame,

instance(x) - x is an instance frame.

We can rewrite the definition of the frame as

∀x (frame(x) = class(x) ∨ subclass(x) ∨ instance(x))

Here

class(x) = ( ∃y1,y2,...,yn (a_part_of(x,y1) ∧ slot2(x,y2) ∧ ... ∧

slotn(x,yn) ) )

where y1 represents a class frame.

subclass(x) = ( ∃y0,y1,y2,...,yn (a_part_of(x,y0) ∧ ako(x,y1) ∧

slot2(x,y2) ∧ ... ∧ slotn(x,yn) ) )

or

subclass(x) = ( ∃y1,y2,...,yn (ako(x,y1) ∧ slot2(x,y2) ∧ ... ∧

slotn(x,yn) ) )

Page 37: UNIFIED APPROACH FOR DESIGNING FRAME BASED SYSTEMSpeople.du.ac.in/~pbedi/pb_thesis.pdf · unified approach for designing frame based systems by punam bedi a thesis submitted to the

34

where y0, y1 represent either class frame or subclass frame.

instance(x) = ( ∃y0,y1,y2,...,yn (is_a(x,y0) ∧ a_part_of(x,y1) ∧

slot2(x,y2) ∧ ... ∧ slotn(x,yn) ) )

where y0 represents either a class frame or a subclass frame and y1 is an instance frame.

In this notation y1 is of the form

[(facet1,val1),...,(facetk,valk)]

where value, type, default, range, if_needed, if_added are some of the possible facets.

We define the root node of the network as a special case of class frame x which

is not a part of any other frame, i.e., a class frame not contained in any other class frame

is known as a root node or a root frame.

1.4 Connecting Rules and Frames

Rules and frames can be integrated to form a hybrid system. The storage and

retrieval properties of frames make them a good way of implementing an intelligent

database. Many knowledge-based systems have to rely heavily on intelligent data

management. An integrated rule-frame system is an ideal environment for intelligent

data management.

Page 38: UNIFIED APPROACH FOR DESIGNING FRAME BASED SYSTEMSpeople.du.ac.in/~pbedi/pb_thesis.pdf · unified approach for designing frame based systems by punam bedi a thesis submitted to the

35

1.4.1 Rules that act on Frames

Rules can normally be written the form

IF condition THEN action1

ELSE action2

If condition, action1, action2 in the above rule are based on frames or slot of

frames, then we can get a rule based system whose knowledge is represented in the form

of frames. Hence it will be system with frame based representation and rule based

inferencing.

1.4.2 Frames that trigger Rules

Frames can trigger rule in the form of attached predicates. As the number of

production rules in knowledge system grows, it becomes more difficult for a system

designer to understand the interactions among the rules, to debug them, and to control

their behavior. Production rules like conventional programs, need to be organized into

small easily managed modules. A frame based representation facility can provide

significant help with this rule management task by providing a means of organizing and

indexing modular collection of rules according to their intended usage. A slot of a frame

in such a system may point to a set of rules or a rulebase. Hence such a system will

Page 39: UNIFIED APPROACH FOR DESIGNING FRAME BASED SYSTEMSpeople.du.ac.in/~pbedi/pb_thesis.pdf · unified approach for designing frame based systems by punam bedi a thesis submitted to the

36

partition the rulebase hierarchically, i.e., we will have knowledge in form of rules which

are partitioned in such a way to form a hierarchy/network of rules and also follow class,

subclass paradigm which eliminates the redundancy in the rulebase and makes the set of

rules reusable. This class/subclass structuring in the rulebase also gives rise to object-

oriented features in rule-based systems.

1.5 Implementation of the Frame System

In our system we have designed a frame system in turbo prolog and a query

system for manipulating the information in the frame system. We have taken the

example of Hospital Knowledge Base for testing the system [Tsichritzis 82].

In the example of Hospital Knowledge Base, we have assumed that a country

can have many hospitals, where each hospital can have different wards, labs and

doctors. Staff and patients can be there in a ward. These patients may be seen by doctors

with different specialties. A patient may have a certain diagnosis and various tests may

have been done for him in some lab.(Fig. 1.8- 1.10).

1.5.1 Representing Frames in Prolog

To represent frames in Prolog, the first step is to determine the necessary storage

format. First approach consists of using one large compound clause to create all of the

frame and slot units. The format of such a frame data structure is given below:

Page 40: UNIFIED APPROACH FOR DESIGNING FRAME BASED SYSTEMSpeople.du.ac.in/~pbedi/pb_thesis.pdf · unified approach for designing frame based systems by punam bedi a thesis submitted to the

37

frame (name, [

slotname1-[

facet1-val11

facet2-val12

. . . ]

slotname2-[

facet1-val21

facet2-val22

. . . ]

. . . ]

)

The second approach uses two different clause formats, "frame-list" for storing frames

and "slot-list" for storing slots of a frame.

We have chosen the second approach for representing frames in turbo prolog

[Weiskamp 88] for the following reasons:

1. It is simple to implement and use.

Page 41: UNIFIED APPROACH FOR DESIGNING FRAME BASED SYSTEMSpeople.du.ac.in/~pbedi/pb_thesis.pdf · unified approach for designing frame based systems by punam bedi a thesis submitted to the

40

2. In turbo prolog, variable functors are not allowed which makes it impossible to

implement various operations using the first approach.

Later for Quintus Prolog and LPA Prolog, the first approach is chosen.

1.5.2 Design of the Frame System for Implementation

We have used two different clause formats: "frame_list" for storing frames and

"slot_list" for storing slot. To begin with, the clause for creating frames "new_frame" is

discussed below:

database

frame_list(string,string,integer,string)

predicates

new_frame(string,string,string)

clauses

new_frame(F_name,_,_):-

frame_list(F_name,_,_,_),

write("\n Error -Frame:",F_name,"Already Exists").

Page 42: UNIFIED APPROACH FOR DESIGNING FRAME BASED SYSTEMSpeople.du.ac.in/~pbedi/pb_thesis.pdf · unified approach for designing frame based systems by punam bedi a thesis submitted to the

41

new_frame(F_name,Par-name,Comment):-

frame-list(Par_name,_,Top_level,_),

assertz(frame_list(F_name,Par_name,F_level,Comment)).

new_frame(F_name,_,_):-

write"\n Error - Possibly invalid Parent Name:",F_name).

The arguments for this clause are the frame name, the parent frame name, and the

comment field which can be used to describe the author, use, or other information about

the frame. The parent frame name provides a backward link to the previous frame, thus

creating a hierarchical structure for the knowledge. "new_frame" first verifies that the

frame exists or does not exist. If the frame does not exist, the second "new_frame"

clause verifies that the parent frame exists and then it increments the frame level. This

information is used to assert the new frame. The last "new_frame" is only called if the

parent frame does not exist.

For example

new_frame(ward,hospital,"ward in a hospital").

creates a new frame ward with parent hospital.

To support the frame structure, the following two clauses are developed. The first

initializes the knowledge base while the second lists the current structure:

predicates

Page 43: UNIFIED APPROACH FOR DESIGNING FRAME BASED SYSTEMSpeople.du.ac.in/~pbedi/pb_thesis.pdf · unified approach for designing frame based systems by punam bedi a thesis submitted to the

42

init()

list(symbol)

clauses

init():-

retract(frame_list(_,_,_,_)),

fail.

init():-

assertz(frame_list(country,world,0,"Top of Structure")).

list(frames):-

makewindow(1,1,7,"FRAME LIST",1,1,20,60),

write("\nFrame\t\tParent\t\tLevel"),

frame_list(F_name,Par_name,F_level,_),

write("\n",F_name,"\t",Par_name,"\t",F_level),

fail.

list(frames):-

write("\nPress any key to continue"),

readchar(_).

The init() clause removes the old frames and asserts a special "end of structure"

frame. This first frame represents the top of frame hierarchy. All other frames are linked

directly or indirectly to this frame.

The "list" clause is a tool for displaying all currently defined frames. Here a

Page 44: UNIFIED APPROACH FOR DESIGNING FRAME BASED SYSTEMSpeople.du.ac.in/~pbedi/pb_thesis.pdf · unified approach for designing frame based systems by punam bedi a thesis submitted to the

43

window is opened and a column heading is displayed. Each frame is then displayed

along with the name of its parent and it's frame level.

Now let us examine the slot storage structure.

domains

slist=symbol*

vlist=string*

database

slot_list(string,string,symbol,integer,integer,vlist,string,string,string)

The "slot_list" clause is a structure containing a number of arguments such as

frame name, the slot name, the slot value and comments. The comment argument serves

the same purpose as the one found in "new_frame" clause. There are four types of slot

values: integer, symbol, open and frame. An integer slot type indicates that a new slot

value must be compared with the upper and lower limits specified for that slot. For a slot

type of symbol, the "legal_val" argument contains a list of candidate slot values. These

are the only values that a slot is allowed to handle. The open slot type has no restrictions

so that any value can be placed in this type of slot. The last slot type is the frame which

allows the slot to point to another frame. This provides a forward link structure for the

knowledge base.

The clause "new_slot" inserts a new slot after being sure that the frame and slot

Page 45: UNIFIED APPROACH FOR DESIGNING FRAME BASED SYSTEMSpeople.du.ac.in/~pbedi/pb_thesis.pdf · unified approach for designing frame based systems by punam bedi a thesis submitted to the

44

do not already exist. If frame already exists, then the second "new_slot" clause causes

the "slot_types" clause to be initiated. This clause determines if the specified slot type is

valid. If the slot type is valid, then the "slot_list" clause is asserted. If it isn't, then an

error message is displayed.

The clause "new_slot_value" is used to change a slot's value. Different

"new_slot_value" clauses are written for different slot type. The information is retrieved

from the slots using the clause "get_slot_value" and a slot is deleted using "delete_slot".

The "help" clause summarizes the options that are available for the frame knowledge

representation.

All the above clauses are used for class frames (Fig. 1.8). For implementing the

instances, similar clauses are developed such as "new_iframe" creates an instance frame,

"new_islot" inserts a slot value in an instance.

1.6 Design and Implementation of the FS-Shell

1.6.1 Design of the FS-Shell

Our system (Fig. 1.13) starts with the FSShell menu. This menu of the FS-Shell

gives us the options for creating the frame structure, creating the KB corresponding to a

structure, manipulating the existing KB, querying the given KB and executing a DOS

command (Fig. 1.11).

Page 46: UNIFIED APPROACH FOR DESIGNING FRAME BASED SYSTEMSpeople.du.ac.in/~pbedi/pb_thesis.pdf · unified approach for designing frame based systems by punam bedi a thesis submitted to the

45

CreateStructure: It creates a new class structure such as shown in Fig. 1.8. It has also an

option for creating KB of the instances for the created structure.

CreateKB: It is used for entering knowledge about instances for an existing structure

(Fig. 1.9-1.10).

ManipulateKB: This option consists of three sub-modules:

insert: option for inserting a new instance frame or slot value for an already created

instance frame.

delete: option for deleting an instance frame or a slot value in a given instance frame.

update: option for updating an instance frame information or a slot information

in a given instance frame. Updating an instance frame mean modify one

or more slot values of an instance frame and updating a slot of an

instance mean that value of a slot of a given instance frame will be

modified.

QuerySystem: It is used for retrieving the information from the KB. The retrieval is

either conditional or unconditional.

DOSshell: This option is used for executing a DOS command.

Page 47: UNIFIED APPROACH FOR DESIGNING FRAME BASED SYSTEMSpeople.du.ac.in/~pbedi/pb_thesis.pdf · unified approach for designing frame based systems by punam bedi a thesis submitted to the

46

Quit: This option is for quitting the FS-Shell.

1.6.2 Implementation of the FS-Shell

The FS-Shell Menu and its pulldown is shown in Fig. 1.13. The details of its

various options are given below:-

1.6.2.1 Creating the Structure

The module CreateStructure creates the frame structure as shown in Fig.1.8. It

generates hierarchy of class frames. Under this option user is asked for the name of the

class frame (F_name) to be inserted, its parent's name and comment, if any.

The predicate

new_frame(F_name,Par_name,Comment)

creates a new class frame F_name with parent Par_name. User is also asked for slot

name, slot type, comment and default value to be inserted for the frame F_name. Open,

integer, symbol and frame are valid slot types. For integer slot type, upper value &

lower value for the slot are to be entered and for symbol slot type legal values are to be

entered. The predicate

new_slot(F_name,S_name,S_type,Up_val,Low_val,Legal_val,Default,Comment)

Page 48: UNIFIED APPROACH FOR DESIGNING FRAME BASED SYSTEMSpeople.du.ac.in/~pbedi/pb_thesis.pdf · unified approach for designing frame based systems by punam bedi a thesis submitted to the

47

adds a slot for the class frame F_name. A blank slot name with valid slot type terminates

the process.

1.6.2.2 Creating the KB

The module for creating the KB (CreateKB) uses some structure for classes for

which knowledge is to be created. In case CreateKB is called after CreateStructure, the

created structure is used, otherwise an option comes for consulting the knowledge

structure(KS) with a list of all stored knowledge structures. After consulting a structure,

user is asked for an instance name, its class name and parent name. The predicate

new_iframe(Inst_name,Class_name,Par_name)

inserts an instance frame in the knowledge base. User is also asked for slot names and

values to be inserted for the instance. A blank slot name terminates the slot insertion.

The predicate

new_islot(Inst_name,S_name,Value)

adds a slot S_name with value Value in the instance frame Inst_name.

1.6.2.3 Manipulating the KB

Page 49: UNIFIED APPROACH FOR DESIGNING FRAME BASED SYSTEMSpeople.du.ac.in/~pbedi/pb_thesis.pdf · unified approach for designing frame based systems by punam bedi a thesis submitted to the

48

In the module for manipulating the KB (ManipulateKB) first KS and KB are

consulted. In case the module is called from CreateKB, there is no need of consulting

the structure and KB. This module has the following three options:

Insert: One can insert either an instance along with its slots or a slot value in an

instance. The following predicates are used to insert an instance and a

slot respectively.

new_iframe(Inst_name,Class_name,Par_name)

new_islot(Inst_name,S_name,Value)

For inserting slot values for an inserted instance new_islot is called in a repeat loop until

S_name="".

Delete: One can delete either an instance along with its slots or a slot value of an

instance. Deletion of a frame results in deletion of all child frames also.

Deletion is done by deleting the corresponding facts from the database.

Update: One can update either an instance information along with its slots

information or a slot's information of an instance frame. Updation of

frame is done by deleting the old information and inserting the new

frame information. Slot updation is done by using the predicate

new_islot_value(Inst_name,S_name,Value)

Page 50: UNIFIED APPROACH FOR DESIGNING FRAME BASED SYSTEMSpeople.du.ac.in/~pbedi/pb_thesis.pdf · unified approach for designing frame based systems by punam bedi a thesis submitted to the

49

1.6.2.4 Query System

We have developed a query system in Turbo Prolog for frames for retrieving the

information of either a frame or a slot unconditionally or based on some condition.

1.6.2.5 DOS shell

Using this option user comes to DOS prompt and after executing DOS

commands, user can type EXIT for coming back to FS-Shell.

1.6.2.6 Quit

Using this option user comes out of the FS Shell.

1.7 Summary

This chapter contains a brief review of the frame systems. The frames have been

represented in first_order logic because predicate logic provides a powerful system for

reasoning, but it lacks facilities, such as, packaging, built_in inheritance and procedural

attachments. Hence logic combined with frames allows for a flexible method of

knowledge and inference. A Frame System Shell (FS-Shell) has been developed in

Turbo Prolog and tested with Hospital and University knowledge bases. This Frame

System Shell has the facilities for creating the structure, creating the knowledge base,

Page 51: UNIFIED APPROACH FOR DESIGNING FRAME BASED SYSTEMSpeople.du.ac.in/~pbedi/pb_thesis.pdf · unified approach for designing frame based systems by punam bedi a thesis submitted to the

51

manipulating the knowledge base. In the FS-Shell, a query system has also been

developed to query information stored in the frame system unconditionally or based on

some condition. Even a user who does not know Prolog can use this system for

querying.

Page 52: UNIFIED APPROACH FOR DESIGNING FRAME BASED SYSTEMSpeople.du.ac.in/~pbedi/pb_thesis.pdf · unified approach for designing frame based systems by punam bedi a thesis submitted to the

53

Chapter 2

Time Dimension to Frame Systems

In many applications of the frame systems such as analyzing stories, robot

planning activities, standardized plans of buildings & equipments, natural language

understanding, it is not appropriate to discard the old information. Hence the addition of

temporal (time) dimension to frame system is important. In this chapter, we have

proposed a temporal extension to existing frame based systems named as Temporal

Frame ( Tframe ) systems. Knowledge in these temporal frame systems has the period

of validity attached to frames and its slots. The Tframe system is based on slot

versioning in contrast to frame versioning because frame versioning approach has high

degree of redundancy owing to duplication of the entire frame, especially when the

changed portion is relatively small compared with the unchanged portion. The design of

Frame_oriented Structured Query Language (FSQL) to process the information stored in

the knowledge base for the temporal system is discussed. The query language takes care

of both valid time and transaction time required for a temporal system.

2.1 The Model of Time

With all physical entities, time can be observed and measured only by

Page 53: UNIFIED APPROACH FOR DESIGNING FRAME BASED SYSTEMSpeople.du.ac.in/~pbedi/pb_thesis.pdf · unified approach for designing frame based systems by punam bedi a thesis submitted to the

54

superimposing a model on it. A time model allows observations and measurements of

the objects it considers; either instantaneous or lasting phenomena by means of absolute

references to a time scale or mutual relations between observed objects. Measures and

observations can thus be qualitative, i.e., chronologies (before/after relations) or

quantitative, i.e., chronometries, which entail the use of a time unit [Cabodi 91].

In literature and practice, it is common to meet a high-level classification of time

models: continuous vs. discrete. In continuous models the concept of instant is assumed

as primitive and a one-to-one correspondence is established between instants (τ space)

and positive reals (R+ space). In discrete models a minimum duration interval is

assumed, often referred to as a discretization step or basic time unit (BTU) and there is a

one-to-one correspondence between intervals (the primitive entities of τ space) and

natural numbers (N space). Instants in discrete time coincide with minimum duration

intervals.

We define a time interval, denoted by [t1,t2] to be a set of consecutive time

instants, where t1 is the first time instant and t2 is the last time instant of the interval.

The distance between two consecutive time instances can be adjusted based on the

granularity of the application to be equal to months, days, hours, minutes, seconds or

any other suitable time unit. A single discrete time point t is easily represented as an

interval [t,t]. This interval representation can easily be used to represent both stepwise

constant and discrete time sequences and can also be used to represent continuous time

sequences if the interval is dense. Any event that occurs over a period that is less than

Page 54: UNIFIED APPROACH FOR DESIGNING FRAME BASED SYSTEMSpeople.du.ac.in/~pbedi/pb_thesis.pdf · unified approach for designing frame based systems by punam bedi a thesis submitted to the

55

valid time granularity is considered instantaneous.

We assume that all our references to time are confined to the interval [0,now] of

instants. The most natural subsets of [0,now] are perhaps the intervals but they are not

closed under union, intersection and complementation [Elnasri 90] and thus are not

adequate to model queries involving "or," "and" and "not" respectively. Thus we define

a temporal element to be a finite union of intervals denoted by the set [I1,I2,...,In] where

Ii is an interval in [0,now]. The set of all temporal elements in [0,now] is easily seen to

be closed under the set theoretical operations mentioned above.

2.2 The Temporal Frame Model

The temporal frame model extends the frame model to include the temporal

information. Time/Lifespan can be added with a frame or a slot. Lifespan for the root

node of the network of frames denotes the period for which the problem is to be solved.

For rest of the frames of network, time may or may not be present.

Static Slots: Slots which do not contain time/lifespan facet are called static slots

because they do not change with time. The lifespan of static slot

is same as lifespan of corresponding frame.

Dynamic Slots: Slots which contain time/lifespan facet are called dynamic slots.

The frames having chronologies (i.e. before/after relationships ) can refer to

Page 55: UNIFIED APPROACH FOR DESIGNING FRAME BASED SYSTEMSpeople.du.ac.in/~pbedi/pb_thesis.pdf · unified approach for designing frame based systems by punam bedi a thesis submitted to the

56

semantic network of events for their lifespan. The arcs of this semantic network

represent chronologies [Anger 88, Anger 89].

If the time information does not exist with the frame, then the time will be

available from its parent, by inheritance.

2.2.1 Representation of Temporal Frames in first_order logic

We define temporal frame (Tframe) similar to the definition of frame as follows:

∀ x ( Tframe(x) ≡ Tclass(x) ∨ Tsubclass(x) ∨ Tinstance(x) )

where

Tclass(x) ≡ class(x) ∨ (class(x) ∧ ∃ yn+1 (T(x,yn+1)))

represents a temporal class frame x which is either a class frame x or class frame x with

time slot T having value yn+1.

Similarly

Tsubclass(x) ≡ subclass(x) ∨ (subclass(x) ∧ ∃ yn+1 (T(x,yn+1)))

Tinstance(x) ≡ instance(x) ∨ (instance(x) ∧ ∃ yn+1 (T(x,yn+1)))

where class(x), subclass(x), instance(x) are defined in section 1.3.

Page 56: UNIFIED APPROACH FOR DESIGNING FRAME BASED SYSTEMSpeople.du.ac.in/~pbedi/pb_thesis.pdf · unified approach for designing frame based systems by punam bedi a thesis submitted to the

57

Combining this definition of Tframe with the definition of frame as given in

section 1.3, we can define Tframe(x) in terms of frame(x) as follows:

∀x ( Tframe(x) ≡ frame(x) ∨ (frame(x) ∧ ∃ yn+1 (T(x,yn+1))))

i.e., Tframe can be an ordinary frame or a frame with time slot.

2.2.2 Representation of Time in a Dynamic slot

Lifespan is one of the facets in a dynamic slot. Hence for a dynamic slot

sloti(x,yi) denotes sloti of frame x with value yi,

where yi = [(T(sloti),value),(default,_),...].

For frame x having lifespan denoted by T with value yn+1, we can write T(x,yn+1),

k

where yn+1 = U Ii denotes the temporal element of frame x.

i=1

Hence, T can be taken as a function and for a frame/slot x, we define

k

U Ii for chronometries, where Ii is an interval

T(x) = i=1

* for chronologies

Subsequently, we can say that

Page 57: UNIFIED APPROACH FOR DESIGNING FRAME BASED SYSTEMSpeople.du.ac.in/~pbedi/pb_thesis.pdf · unified approach for designing frame based systems by punam bedi a thesis submitted to the

58

T( sloti(x,yi) ) < = T(x)

i.e. lifespan of a slot is always less than or equal to the lifespan of its parent frame.

2.2.3 Lifespan Computation

2.2.3.1 Lifespan Computation for a slot

Static slot: The lifespan of a static slot is equal to the lifespan of its frame, i.e.,

T(sloti(x,yi)) = T(x)

Dynamic slot: Lifespan is given as one of the facets in a dynamic slot.

2.2.3.2 Lifespan Computation for a frame

In case, the lifespan of a frame is not given we can use the lifespan inheritance

algorithm for inheriting its value from parent. If the lifespan T is given is terms of

chronologies [Allen 83, Allen 84], we attach these in the semantic network of events

where arcs represent the relationships. In case one of endpoints of some intervals of

lifespan are not given, such as may be the case when keeping historical records, in

which date of birth may be unknown, i.e., lifespan tuple of the form [Ts,null] or [null,Te]

is entered into the network of events (or intervals). This network will contain only the

Page 58: UNIFIED APPROACH FOR DESIGNING FRAME BASED SYSTEMSpeople.du.ac.in/~pbedi/pb_thesis.pdf · unified approach for designing frame based systems by punam bedi a thesis submitted to the

59

events which are not completely specified by time stamps and will maintain, as Allen

does, the known or possible relations between any two related events [Anger 88].

In Allen's system the information stored on the links between related events in

the network consists of pertinent subset of the thirteen possible temporal relations which

he defines between two events (Table. 2.1). These are determined and entered by the

user otherwise they are computed by the system. Since under the proposed scheme,

some time_stamped information will be entered into the network, the system will have

to calculate new values on the arcs. For example, Allen indicates that if A, B and C are

events satisfying (A CONTAINS B) and (B OVERLAPS C), then it is true that (A

OVERLAPS, CONTAINS, OR FINISHED BY C). What if, on the other hand, (A

CONTAINS B), B is specified by an interval [6,null], and C is an interval [8,null]? It

can, in fact, be deduced that A BEFORE, MEETS, OVERLAPS, FINISHED BY, or

CONTAINS C [Anger 89]. It is therefore proposed to extend Allen's reasoning scheme

to deduce relations between the intervals with one or two endpoints known and that this

can be added to the arcs in the network. Table. 2.2 shows the possible deductions, using

the notation of Allen(Allen 83, p.835, Figure 2). Denoting the time interval by [Is,Ie],

chronologies can be represented in our system in terms of intervals as follows:

Page 59: UNIFIED APPROACH FOR DESIGNING FRAME BASED SYSTEMSpeople.du.ac.in/~pbedi/pb_thesis.pdf · unified approach for designing frame based systems by punam bedi a thesis submitted to the

62

Time/Lifespan Inheritance algorithm

Repeat

for a frame x with lifespan not known

if x is a part of frame f

then T(x) < T(f)

else

if x is an instance of frame f or x is a subtype/subclass of frame f

then T(x) = T(f)

Until ( value of T(x) is found or root node is reached)

2.2.4 Frame versioning vs. slot versioning

Since it is impossible to store all the states of the knowledge base while it

evolves over time and therefore it is needed to represent temporal versions into physical

storage so that we can maintain the past states of the knowledge base without excessive

redundancy and deal with evergrowing storage size effectively. Versions of frame/slot

are created after each update. Update includes insertion, deletion or replacement of the

information.

In frame versioning, each frame is augmented with a valid time interval [Ts,

Te]. When the frame is first inserted, Te component of the interval is set to now

indicating the frame is currently valid. A delete operation on an existing frame changes

Page 60: UNIFIED APPROACH FOR DESIGNING FRAME BASED SYSTEMSpeople.du.ac.in/~pbedi/pb_thesis.pdf · unified approach for designing frame based systems by punam bedi a thesis submitted to the

63

Te component of the frame now to some t1. The value of t1 is usually the current time

but can be specified explicitly by a 'delete' statement for a historical database. For a

replace operation a new version of the frame augmented with an appropriate interval is

inserted after a valid delete operation is executed as above (Fig. 2.1).

In slot versioning (similar to attribute versioning in relational databases [Ilsoo

86]), a slot is either static or dynamic, depending on whether its value is constant or

changes over time. Each dynamic slot of a frame is set to (value,temporal element) pair,

where handling of the interval [Ts, Te] is similar to the frame versioning except that the

interval is associated with each version of a slot value. When a frame is inserted, the Te

component of the interval for each slot value is set to now. A delete operation on an

existing frame changes Te component of all dynamic slots in the frame from now to

some t1 as in frame versioning. A delete operation on an existing slot changes Te

component of that slot from now to some t1. For a replace operation a new version of the

changed slots augmented with the appropriate intervals are inserted after a valid delete

operation is executed as above (Fig. 2.2 ).

Slot versioning and frame versioning are equivalent in terms of their information

contents, but Slot versioning is preferred in contrast with frame versioning keeping in

view the high degree of redundancy owing to duplication of the entire frame, especially

when the changed portion is relatively small compared with the unchanged portion in

case of frame versioning.

Page 61: UNIFIED APPROACH FOR DESIGNING FRAME BASED SYSTEMSpeople.du.ac.in/~pbedi/pb_thesis.pdf · unified approach for designing frame based systems by punam bedi a thesis submitted to the

64

2.3 Temporal Frame Query Language

In this section, we will discuss the design of query language for temporal frame

system. The query language is similar to SQL of relational databases. The effect of

temporal aspect on selection, projection and manipulation statements on frames is

shown below:

2.3.1 Selection

Selection basically retrieves instance frame information from class frames or slot

information from instance frames unconditionallly or based on some condition(s).

Selection can be temporal selection or nontemporal selection depending upon whether

the selection is based on time or not. In nontemporal selection, all conditions are

independent of time and in temporal selection the conditions may contain time

information. In case of temporal selection, we use WHEN, VALID and AS_OF clauses.

(a). The WHEN clause is the temporal analogue of the WHERE clause for

nontemporal selection, where the condition is based on time.

(b). The AS_OF clause rolls back the knowledge base to a previous state and

evaluates the rest of the query using the information known only to that point.

Page 62: UNIFIED APPROACH FOR DESIGNING FRAME BASED SYSTEMSpeople.du.ac.in/~pbedi/pb_thesis.pdf · unified approach for designing frame based systems by punam bedi a thesis submitted to the

65

Addition and error corrections made after that time are not included in the

resulting network of frames.

The desired state is expressed as a temporal expression which evaluates to a

point of time i.e. zero length interval. Only those frames with transaction time on or

before that point are allowed to participate in the derivation. Without the loss of

generality, most queries are concerned with the current state of the knowledge base.

Therefore it is natural to assume AS_OF now, if the clause is omitted.

(c). The VALID clause specifies the value of the valid time attribute in the desired

relation.

Two forms of the VALID clause are

(1). VALID AT

it specifies a time point or an interval.

(2). VALID FROM Vs TO Ve

it specifies the start point and end point of the desired interval.

A nontemporal selection can be represented as

SELECT FROM class_name1

A_PART_OF class_name2

WHERE condition.

or

Page 63: UNIFIED APPROACH FOR DESIGNING FRAME BASED SYSTEMSpeople.du.ac.in/~pbedi/pb_thesis.pdf · unified approach for designing frame based systems by punam bedi a thesis submitted to the

66

SELECT * FROM instance_name.

which retrieves instance_names of class_name1 which is "a_part_of" class_name2 and

satisfy the given condition or lists all slot_names and their values of instance_name

respectively.

For example,

SELECT FROM research_student

A_PART_OF Delhi_University

WHERE age < 25.

lists research students of Delhi_University whose age is less than 25 years.

and based on the definition of temporal frame given in section 2.2, the temporal

selection statement

Find research students of Delhi_University who joined in 1986 or after 1986

and whose age is less than 25 years as known in the beginning of 1992.

can be written as

SELECT FROM research_student

A_PART_OF Delhi_University

WHERE age < 25

VALID_FROM 1986 TO now

AS_OF 1-1-92.

Page 64: UNIFIED APPROACH FOR DESIGNING FRAME BASED SYSTEMSpeople.du.ac.in/~pbedi/pb_thesis.pdf · unified approach for designing frame based systems by punam bedi a thesis submitted to the

67

2.4.2 Projection

In projection, we project the selected answer to some specific slots. In case the

projection is done on time slot, it is called temporal projection & if projection is done

on slots other than time slot, it is called nontemporal projection.

A nontemporal projection of the form

Find entryno of research students of Delhi_University whose supervisor is Prof.

Rosen.

can be written as

PROJECT ON entryno FROM research_student

A_PART_OF Delhi_University

WHERE supervisor = Rosen.

or

SELECT entryno FROM research_student

A_PART_OF Delhi_University

WHERE supervisor = Rosen.

The temporal projection statement can be converted to select statement with a projection

on time, e.g.

Page 65: UNIFIED APPROACH FOR DESIGNING FRAME BASED SYSTEMSpeople.du.ac.in/~pbedi/pb_thesis.pdf · unified approach for designing frame based systems by punam bedi a thesis submitted to the

68

Find entryno of research students of Delhi_University in [1985, now] whose

supervisor is Prof. Rosen.

The above statement means that we want to find entry numbers of all instances of

research student, a part of Delhi_University in [1985, now] whose supervisor is Prof.

Rosen.

The select statement corresponding to this can be written as

SELECT entryno FROM research_student

A_PART_OF Delhi_University

WHERE supervisor = Rosen

VALID_FROM 1985 to now.

2.4.3 Manipulation

Manipulation operation consists of basically three operations.

- Insert

- Delete

- Update

Insertion means a new instance frame is added in the network or a slot value is added

Page 66: UNIFIED APPROACH FOR DESIGNING FRAME BASED SYSTEMSpeople.du.ac.in/~pbedi/pb_thesis.pdf · unified approach for designing frame based systems by punam bedi a thesis submitted to the

69

to an already existing frame.

For example, the statement

Insert a new instance frame with name John and lifespan [1987, now] to

research student in Delhi_University.

can be written as

INSERT INTO research_student

A_PART_OF Delhi_University

INSTANCE rsjohn

VALUES name John

VALID_FROM 1987 TO now.

Deletion means in the lifespan of frame/slot, the end point of the last interval in the

temporal element is changed to time of deletion, i.e., deletion of information is obtained

by storing knowledge about the end of the period for which the information holds. For

example,

Delete all research students of Delhi_University whose supervisor is Prof. Paul.

Page 67: UNIFIED APPROACH FOR DESIGNING FRAME BASED SYSTEMSpeople.du.ac.in/~pbedi/pb_thesis.pdf · unified approach for designing frame based systems by punam bedi a thesis submitted to the

70

can be written as

DELETE FROM research_student

A_PART_OF Delhi_University

WHERE supervisor = Paul.

The effect of this deletion statement will be that with all research students of Delhi

University with supervisor Paul, lifespan has its endpoint as the time of deletion.

Update means that in the temporal element of frame/slot another interval is added, e.g.,

k

if T(x)= U Ii

i=1

then after update

k+1

T(x)= U Ii

I=1

where Ik+1 is the interval in which the new value of frame/slot exist. For example,

UPDATE research_student

A_PART_OF Delhi_University

SET supervisor = Rosen

Page 68: UNIFIED APPROACH FOR DESIGNING FRAME BASED SYSTEMSpeople.du.ac.in/~pbedi/pb_thesis.pdf · unified approach for designing frame based systems by punam bedi a thesis submitted to the

71

WHERE supervisor = Paul.

This statement updates the supervisor to Rosen for research students whose present

supervisor is Paul. Suppose this update is done in the beginning of 1986, then in the

interval ending with 1986, i.e. [_,1986] supervisor is Paul and in [1986,now] supervisor

is Rosen. Therefore,

k

if before update, T(X) = U Ii

i=1

k+1

then after update T(X) = U Ii where Ik+1 = [1986,now]

i=1

A subset of this query language has been implemented using LPA Prolog

Professional Compiler and Quintus Prolog 2.3.

2.4 Summary

In this chapter, a temporal extension to frame model has been presented and the

design of a query language for this model is discussed. The proposed temporal frame (

Tframe) system is based on slot versioning in contrast with frame versioning.

The Tframe model

(1) is based on the TQuel approach, i.e., it extends the existing frame model.

Page 69: UNIFIED APPROACH FOR DESIGNING FRAME BASED SYSTEMSpeople.du.ac.in/~pbedi/pb_thesis.pdf · unified approach for designing frame based systems by punam bedi a thesis submitted to the

72

(2) uses Allen's interval calculus for temporal reasoning but it uses the concept of a

temporal element which is union of intervals instead of an interval.

(3) integrates with semantic network of events if one of the endpoints of interval is

unknown.

(4) uses both valid time and transaction time for the representation of temporal

information.

The query language has been simulated using LPA Prolog Professional Compiler and

Quintus Prolog 2.3.

Page 70: UNIFIED APPROACH FOR DESIGNING FRAME BASED SYSTEMSpeople.du.ac.in/~pbedi/pb_thesis.pdf · unified approach for designing frame based systems by punam bedi a thesis submitted to the

73

Chapter 3

Triggers in Frame Systems

This chapter discusses the concept of triggers in frames. The scope of procedural

attachments in frames has been extended and are viewed as triggers which implies the

activation of some other mechanism(s). A trigger recognizes the occurrence of an event

and conditionally performs certain action(s). When triggers are combined with frames,

they facilitate knowledge base processing because triggers are very useful for

performing tasks such as data validation, data entry, data deletion and control the logical

flow of an application.

The frame system with triggers can be treated as an active knowledge base

system since such system can monitor situations of interest by triggering an appropriate

response in a timely manner.

Two categories of triggers in the frames are designed and discussed in this

chapter. One is event_based and the other is user_named. The chapter also deals with

level, scope, context and usage for these triggers. Overloading and inheritance feature of

triggers are also discussed in the chapter. Such a frame based system will find

applications in several areas including flight control, medical histories, corporate

Page 71: UNIFIED APPROACH FOR DESIGNING FRAME BASED SYSTEMSpeople.du.ac.in/~pbedi/pb_thesis.pdf · unified approach for designing frame based systems by punam bedi a thesis submitted to the

74

management, university environment, railway reservation system.

3.1 Level, Classification, Scope and Contexts of Triggers

We have attached triggers to objects in the network of frames [Bedi 91, Bedi

93b], i.e., a trigger is attached to a slot, an instance frame, a class frame or the root

frame.

3.1.1 Trigger Definition Level

The trigger Definition level defined in this paper refers to the object level to

which one can attach a particular type of trigger. The top down level hierarchy for

triggers in a network of frames works in the following level order:

1. root or network

2. class

3. instance

4. slot

A trigger defined at a higher level can be used at lower levels unless it is redefined.

3.1.2 Classification of Triggers

Page 72: UNIFIED APPROACH FOR DESIGNING FRAME BASED SYSTEMSpeople.du.ac.in/~pbedi/pb_thesis.pdf · unified approach for designing frame based systems by punam bedi a thesis submitted to the

75

Triggers can be classified into two categories:

- Event_based

- User_named

Event_based triggers

Different types of triggers which are associated with event_based triggers can

be summarized in a table (Table. 3.1). Event_based triggers perform certain actions after

recognizing the occurrence of some event. These triggers are executed when some event

occurs or a function key is pressed. Each of five kinds of event_based triggers are

described below.

A. Entry Triggers: These triggers are executed when we access an object in the network

of frames, i.e., when we enter a network of frames or a class frame or an instance frame

or a slot. They are useful in validation, authorization checks, initialization etc. Under

this category, we have Pre_Network, Pre_Class, Pre_Instance and Pre_Slot triggers.

B. Query Triggers: These triggers are executed before/after querying class/instance

frames or slots. Post_Query triggers are useful in making the system self_learning, i.e.,

after execution of the query, the results of the query can be stored as information for

subsequent use. Pre_Query triggers can be used for checking the authorization of the

user for query operation.

Page 73: UNIFIED APPROACH FOR DESIGNING FRAME BASED SYSTEMSpeople.du.ac.in/~pbedi/pb_thesis.pdf · unified approach for designing frame based systems by punam bedi a thesis submitted to the

76

C. Change Triggers: These are executed before/after insertion, deletion or updation

operations are done on instance frames or slots. Post_Change triggers are used to give

appropriate message such as success/failure of the operation to the user. Pre_Change

triggers can check the authorization of user for a particular change

(insert/delete/update) operation. They can also be used to perform some preprocessing,

if required, before change such as storing backups etc.

D. Exit Triggers: These are executed when we exit either a network, a class, an instance

or a slot. These triggers can be useful for printing results, giving message to a user and

can activate some other system, if desired.

E. Keystrokes: These are key triggers and are executed when the user presses a function

key. Key triggers are most often used to perform complex or multiple functions with a

single keystroke.

User_named triggers

User_named triggers are common triggers or subtriggers that we want to call

whenever required from other triggers. These are defined by the user giving each one its

own name and are not triggered by a specific event at all. These can be defined at any

level and can then be called from other triggers at that level or levels below. Hence, we

have defined these triggers at root frame level so that they can be called at any level in

the network. These triggers can be used to modularize trigger code that otherwise would

Page 74: UNIFIED APPROACH FOR DESIGNING FRAME BASED SYSTEMSpeople.du.ac.in/~pbedi/pb_thesis.pdf · unified approach for designing frame based systems by punam bedi a thesis submitted to the

78

have to be repeated in several different triggers. User_named triggers can also be

defined for security purposes imposed by the user.

To call a user_named trigger, one can enter

#EXEMACRO EXETRG (trigger_name)

The processor will search for and execute that trigger.

Example 3.1 :- User_named Trigger

In a library environment, we can define a user_named trigger called GETBOOK that

retrieves a book's name and its authors based on its accession number as follows:

define_trigger GETBOOK(BOOKID) AS

SELECT NAME, AUTHORS

INTO LOAN.BOOKNAME, LOAN.AUTHORNAME

FROM BOOK

WHERE BOOK.ACCNO = BOOKID

This GETBOOK trigger can be called in a post_query trigger for a loan frame. e.g., one

can get the accession numbers of all books issued to a particular person from the loan

frame and can then use GETBOOK trigger to get details of books.

3.1.3 Scope and Contexts of Triggers

Page 75: UNIFIED APPROACH FOR DESIGNING FRAME BASED SYSTEMSpeople.du.ac.in/~pbedi/pb_thesis.pdf · unified approach for designing frame based systems by punam bedi a thesis submitted to the

79

The scope of a trigger is defined as the domain in which a trigger operates and is

determined by the level at which it is defined. Each type of trigger has been defined at

its desired level or at any higher level, i.e., a slot level trigger can be defined at slot level

or at instance / class / root level. When a trigger is defined at more than one levels, the

specific overrides the general (Example 3.2).

Since triggers can act on classes, instances or slots that are not current, each type of

trigger also has a context that determines which objects are affected by its actions.

Context of a slot level trigger is the slot, of the instance level trigger is all slots of that

instance, of a class level trigger is all instances of that class and of a root level trigger is

the network of frames. Context of a key trigger is slot, instance, class or root frame in

which a function key is pressed. The context of a user_named trigger is same as the

context of trigger calling it.

3.1.4 Overloading of Triggers

Function overloading allows the same function name to be applied with different

types and quantities of arguments [Khoshafian 90]. The same function name can be used

to perform operations on different data types. Several functions can share a name but

completely different implementations. Triggers are procedures and hence have

parameters. The number and nature of these parameters can differ resulting in

overloading of triggers.

Page 76: UNIFIED APPROACH FOR DESIGNING FRAME BASED SYSTEMSpeople.du.ac.in/~pbedi/pb_thesis.pdf · unified approach for designing frame based systems by punam bedi a thesis submitted to the

81

The proposed system uses the following information to distinguish among different

versions of the same overloaded trigger name:

- parameter types

- number of parameters

For example, one of the parameters can have the value which denotes the slot, instance

or a class frame. Number and nature of other parameters differ depending

upon the first parameter, i.e., we can define a trigger retrieve_value for retrieving a value

as

define_trigger retrieve_value(n,A) AS

case n=1 : get_slot_value(A);

n=2 : get_instance_value(A);

n=3 : get_class_value(A);

else error.

Here in this trigger A represents the name of the slot, instance or class frame depending

upon the value of n.

Page 77: UNIFIED APPROACH FOR DESIGNING FRAME BASED SYSTEMSpeople.du.ac.in/~pbedi/pb_thesis.pdf · unified approach for designing frame based systems by punam bedi a thesis submitted to the

82

3.2 Inheritance of Triggers

Since triggers can be attached at various levels, i.e., root, class, instance and slot,

triggers can be inherited in the given network of frames. Hence a class level trigger can

be called by its subclasses as well as its instances. This inheritance of triggers can be of

two types:

a. Simple Inheritance

If the trigger is inherited from a single parent, it is the case of simple inheritance

and is same as discussed in section 3.1.3, i.e., scope and context of triggers.

b. Multiple Inheritance

If a trigger is inherited from more than one parent, it becomes the case of

multiple inheritance and one needs to resolve the conflict that from which parent trigger

should be inherited. One can follow the strategies given in section 1.2.3 for resolving the

conflict.

3.3 Temporal Triggers in Frames

These are triggers which are executed at/after specific time points. For example,

in a library environment, temporal triggers are needed for return of books and in hospital

Page 78: UNIFIED APPROACH FOR DESIGNING FRAME BASED SYSTEMSpeople.du.ac.in/~pbedi/pb_thesis.pdf · unified approach for designing frame based systems by punam bedi a thesis submitted to the

83

environment, temporal triggers are needed for patient's checkup, keeping his records etc.

Allen's theory of action and time [Allen 84] combined with temporal triggers can give

very meaningful results. The thirteen conditions between endpoints of intervals as given

in [Allen 83, Allen 84], can be treated as events and corresponding actions can be

defined.

3.4 Triggers for views of a frame

A view of a frame is defined as either a subframe or a table (relational database)

or a view of a table or combination of views of tables. Hence, if a trigger is defined at

frame level, it will work as a global trigger for all its generated views. A trigger can be

defined at frame level to work only for particular views giving condition as an event in

an event_based trigger.

3.5 Triggers w.r.t. multimedia environment

These triggers are very useful in a multimedia environment. We can use triggers

for representing the information in textual form, in graphical form, in voice or a

combination.

3.6 Implementation of Triggers

Triggers in frame system are defined using

Page 79: UNIFIED APPROACH FOR DESIGNING FRAME BASED SYSTEMSpeople.du.ac.in/~pbedi/pb_thesis.pdf · unified approach for designing frame based systems by punam bedi a thesis submitted to the

84

1. statements of FSQL[Sharma 88, Chapter 6]

2. some loop constructs

3. user exits

4. few macro type commands like #EXEMACRO, #ERASE, #COPY, #HOST

Most of the triggers in frame systems are defined using the select statements of

FSQL. Only the commit triggers are defined using the manipulate (INSERT, DELETE

and UPDATE) statements of FSQL.

Loop constructs like repeat until, while do, if then, case statements are used in

implementing triggers in frame systems.

Macro type commands like #EXEMACRO, #ERASE, #COPY, #HOST are used

for executing a macro, erasing a global variable, copying a variable value from source to

destination and executing an operating system command respectively.

User Exits are used to perform complex computations, optimize the performance

of an application and can be written in a programming language like Prolog, C.

The syntax of triggers is same as syntax of FSQL[Sharma 88] along with syntax of loop

constructs and user exits.

Page 80: UNIFIED APPROACH FOR DESIGNING FRAME BASED SYSTEMSpeople.du.ac.in/~pbedi/pb_thesis.pdf · unified approach for designing frame based systems by punam bedi a thesis submitted to the

85

3.7 Summary

In this chapter, triggers have been extended for frame systems giving their

definition level, scope, context and usage. Event_based and User_defined are two

categories of triggers, described in the chapter. Local and global nature of triggers are

also explained. Inheritance of triggers is an important feature which is discussed in the

chapter. The overloading of triggers is also explained in the chapter.

Table 3.2 Key Triggers available in our system

KEY PURPOSE

KEY F0-F9 user_defined function keys and can be programmed to

any desired function.

KEY-HELP displays help messages

KEY-CLRSLOT clears a slot

KEY-CLRINST clears an instance frame by clearing all its slots.

KEY-CLRCLAS clears a class frame by clearing all its instance frames.

KEY-CLRNET clears the network

KEY_COMMIT saves changes since last commit/clear network operation.

It initiates pre and post change triggers.

KEY_PRVSLOT moves cursor to previous slot.

KEY_PRVINST moves cursor to previous instance.

KEY_PRVCLAS moves cursor to previous class.

KEY_NXTSLOT moves cursor to next slot.

KEY_NXTINST moves cursor to next instance.

KEY_NXTCLAS moves cursor to next class.

KEY_SCROLUP scrolls up and shows previous few instances.

KEY_SCROLDN scrolls down and shows next few instances.

KEY_STARTUP it fires after all other triggers (Pre_network, Pre_class,

Pre_instance, Pre_slot) have been executed upon after

entry to a network of frames. It can be used to execute

unrestricted macros to fill and move around the network.

KEY_OTHERS executes when user presses any key for which there is no

explicitly defined trigger.

KEY_DELSLOT deletes a slot.

Page 81: UNIFIED APPROACH FOR DESIGNING FRAME BASED SYSTEMSpeople.du.ac.in/~pbedi/pb_thesis.pdf · unified approach for designing frame based systems by punam bedi a thesis submitted to the

86

KEY_DELINST deletes an instance.

KEY_DELCLAS deletes a class.

KEY_DUPSLOT copies a slot.

KEY_DUPINST copies an instance.

KEY_CLASMENU menu of classes.

KEY_INSTMENU menu of instances of a class.

KEY_SLOTMENU menu of slots of an instance/ a class.

KEY_ENTQRY enter query.

KEY_EXEQRY execute query.

KEY_EXIT exits the network.

KEY_EDIT activates slot editor.

KEY_UPDINST locks an instance to prevent other users from updating

while user works with it.

KEY_CQUERY counts query hits, i.e., counts the number of instances

returned by execution of a query.

Page 82: UNIFIED APPROACH FOR DESIGNING FRAME BASED SYSTEMSpeople.du.ac.in/~pbedi/pb_thesis.pdf · unified approach for designing frame based systems by punam bedi a thesis submitted to the

87

Chapter 4

Distributed Frame Systems

In this chapter, we have proposed the design of a transparent and homogenous

frame based system in a point_to_point distributed environment. We have defined three

types of fragmentations: Network fragmentation, Instance fragmentation and Slot

fragmentation for a given network of frames [Bedi 93a]. The first_order representation

for these fragmentations are also given. Message passing amongst objects is used for

communication and knowledge transfer. Since distributed systems are useful in

organizations having decentralized structure such as Airlines, Telecommunications,

Banks, Corporate MIS, Hotel chains, Military commands & control and multiplant

manufacturing, the proposed distributed frame system gets its importance. The design of

the FSQL incorporating distributed frame based queries is discussed. FSQL takes care

of Fragmentation, Location & Local Mapping transparencies.

4.1 Distributed Knowledge Based System

Definition: A knowledge based system (KBS) is said to be distributed if the

knowledge is distributed over different computers connected via a

computer network. Each of these computers has autonomous processing

Page 83: UNIFIED APPROACH FOR DESIGNING FRAME BASED SYSTEMSpeople.du.ac.in/~pbedi/pb_thesis.pdf · unified approach for designing frame based systems by punam bedi a thesis submitted to the

88

capabilities for performing local applications. These computers at

various sites also participate in at least one global application, which

requires accessing knowledge at other sites using a communication

system.

A homogenous KBS refers to a distributed system with the same knowledge

representation technique used at each site whereas in a heterogenous KBS at least two

knowledge representation techniques are used.

We have used frame based representation for representing knowledge [Bedi 91,

Bedi 93a]. Three types of fragmentation can be defined w.r.t. Network Of

Frames(NOF).

1. Network Fragmentation

2. Instance Fragmentation

3. Slot Fragmentation

We will consider the example of five Institute of Technologies in India denoted

by IITD, IITB, IITK, IITKh, IITM located at Delhi, Bombay, Kanpur, Kharagpur and

Madras respectively. Each one of them being a full fledged educational institute in its

own right with similar academic and administrative structures. Every Institute has

several basic science and engineering departments offering undergraduate, postgraduate

and research degrees in various subjects in Science and Engineering. Besides this, every

Page 84: UNIFIED APPROACH FOR DESIGNING FRAME BASED SYSTEMSpeople.du.ac.in/~pbedi/pb_thesis.pdf · unified approach for designing frame based systems by punam bedi a thesis submitted to the

89

Institute has administrative wing and other support services.

Network Fragmentation :-

In case of Network fragmentation, NOF is fragmented at the root level, i.e.,

different instances of the root give rise to different fragments. Hence corresponding to

each instance of the root, one instance NOF is created. In general, if R corresponds to

the root of NOF and R1, R2, ...,Rn are instances of R, then after fragmentation R1, R2,

...,Rn will be located at different sites. For example, consider the NOF for five IIT's

having IIT frame as the root frame of NOF and IITD, IITB, IITK, IITM, IITKh as five

instances of IIT. Hence after Network fragmentation, instance NOFs with roots IITD,

IITB, IITK, IITM, IITKh will be created which are located at Delhi, Bombay, Kanpur,

Madras and Kharagpur, i.e., are located at different sites.

Instance Fragmentation :-

In this case, all instances of a particular class frame (e.g. department) of the

instance NOF after network fragmentation are not at the same place, but are contained at

the site of the complete network fragment (or instance NOF). Consider for example, the

instance NOF for IITD. Department is a class frame in this NOF. Comp.Sc.dept.,

Mech.Engg.dept., Electrical Engg.dept., Maths dept. are instances of department and are

located in various blocks within the site of IITD. All these departments give rise to

Page 85: UNIFIED APPROACH FOR DESIGNING FRAME BASED SYSTEMSpeople.du.ac.in/~pbedi/pb_thesis.pdf · unified approach for designing frame based systems by punam bedi a thesis submitted to the

90

instance fragments for the class frame department.

Slot Fragmentation :-

In case of slot fragmentation, all slots of instances of a class frame are not stored

at one place, i.e., few slots of the instance frames are located at one place and other slots

at other place within the site of instance NOF. Consider, for example, instructor class

frame in Comp.Sc.dept. of IITD. The details of the courses an instructor teaches are

stored within the department whereas salary details, number of years of service, next

promotion due date etc. are with the administrative branch. Hence all the slots of the

instances of instructor are not at one place but are fragmented and are placed at two

locations giving rise to two slot fragments of the class frame instructor.

4.1.1 Operations on Fragments of Frames

The usual operations of selection, union and intersection can be applied to these

fragments. These fragments also satisfy the conditions of Completeness, Reconstruction

and Disjointness.

4.1.2 Representing Fragmentation in first_order logic

The frame system

Page 86: UNIFIED APPROACH FOR DESIGNING FRAME BASED SYSTEMSpeople.du.ac.in/~pbedi/pb_thesis.pdf · unified approach for designing frame based systems by punam bedi a thesis submitted to the

91

frame(x,[slot1, slot2, ... , slotn]) can be represented in first_order logic as

∀x (frame(x) ≡ ∃ y0, y1, ..., yn (((is_a(x,y0) ∨ ako(x,y0)) ∧ a_part_of(x,y1) ∧

slot2(x,y2) ∧ ...∧ slotn(x,yn))))

where slot1 ∈ {is_a, ako}, slot2 ≡ a_part_of

and slot3, ... , slotn represent the attributes of the frame.

4.1.2.1 Network Fragmentation

In case of network fragmentation, all instances of the root of the NOF give rise

to various fragments. In case of root frame, "a_part_of", "ako" and "is_a" links are

absent. The root x of NOF can be defined in first_order logic as follows:

frame(x) ≡ ∃ y2, y3, ..., yn (slot2(x,y2) ∧ slot3(x,y3) ∧ ...∧ slotn(x,yn))

If the instances x1, x2, ... , xm are defined as

is_a(x,x1) ∧ is_a(x,x2) ∧ ... ∧ is_a(x,xm)

_y ( y ∈{x1, x2, ... , xm} ∧ is_a(x,y) ∧ frame(y))

then

x1, x2, ... , xm are the only instances of x , which form m network fragments of

NOFs with roots x1, x2, ... , xm respectively.

Page 87: UNIFIED APPROACH FOR DESIGNING FRAME BASED SYSTEMSpeople.du.ac.in/~pbedi/pb_thesis.pdf · unified approach for designing frame based systems by punam bedi a thesis submitted to the

92

4.1.2.2 Instance Fragmentation

In case of instance fragmentation, all instances of a class frame are not at one

place. If x is a class frame, then x can be represented in first_order logic as follows:

frame(x) ≡ ∃ y0, y1, ..., yn (ako(x,y0) ∧ a_part_of(x,y1) ∧

slot2(x,y2) ∧ ...∧ slotn(x,yn))

and the instances x1, x2, ... , xi of x are defined as

is_a(x,x1) ∧ is_a(x,x2) ∧ ... ∧ is_a(x,xi)

( _ xj s.t. xj ∈ { x1, x2, ... , xi } ∧ is_a(x,xj) ∧ frame(xj) )

then x1, x2, ... , xi give rise to instance fragments and this set is maximal.

4.1.2.3 Slot Fragmentation

In case of slot fragmentation, all slots of instance frames of a class frame are not

at one place, i.e., for a class frame x which is defined in first_order logic as follows:

frame(x) ≡ ∃ y0, y1, ..., yn ( ako(x,y0) ∧ a_part_of(x,y1) ∧

slot2(x,y2) ∧ ...∧ slotn(x,yn))

then

Page 88: UNIFIED APPROACH FOR DESIGNING FRAME BASED SYSTEMSpeople.du.ac.in/~pbedi/pb_thesis.pdf · unified approach for designing frame based systems by punam bedi a thesis submitted to the

93

sloti(x,yi) ∪ ... ∪ slotm(x,ym) , 2 ≤i,m≤ n form slot fragments of x.

4.2 Reference Architecture For Distributed Frame Systems (DFS)

Figure 4.2 shows a reference architecture [Ceri 84] for distributed frame

systems. Global schema of KB is at the top level of this architecture and it defines the

knowledge as if knowledge is not distributed. The global network of frames can be split

into fragments as defined in section 4.1. The mapping between global NOF and

fragments is defined by fragmentation schema. Fragments are logical portions of global

NOF which are physically located at one or several sites of the computer network. The

allocation schema defines the site(s) of the fragment.

4.3 Distribution Transparency in DFS

Transparency is the separation of lower level components from the higher level

components. The implementation details of lower level components are hidden from

user and from the higher level components. The following types of transparencies are

present in our system.

a. Fragmentation Transparency

From the view point of the distribution transparency, the application having

Fragmentation Transparency refers to the NOF completely ignoring the fact that the KB

Page 89: UNIFIED APPROACH FOR DESIGNING FRAME BASED SYSTEMSpeople.du.ac.in/~pbedi/pb_thesis.pdf · unified approach for designing frame based systems by punam bedi a thesis submitted to the

94

is fragmented and distributed. Hence the application is completely immune to any

change which is applied to all schemas below the global schema in our reference

architecture, i.e., fragmentation schema, allocation schema and local mapping schema.

b. Location Transparency

The application having Location Transparency is independent from changes in

the allocation schema and local mapping schema but not from changes in fragmentation

schema because the fragmentation structure is incorporated in the application. Location

Transparency allows the application to ignore which copies exist of each fragment,

therefore allowing copies to be moved from one site to another and allowing the creation

of new copies without affecting the application.

c. Local Mapping Transparency

At this level of distribution transparency, the application still refers to objects

using names which are independent from the individual local systems. However, it has

to specify at which site the objects reside. The site names are indicated in the distributed

frame query language statements by adding an at clause to the from clause.

4.4 Distributed Frame Management System

In distributed frame management system, there are two basic components. The

Page 90: UNIFIED APPROACH FOR DESIGNING FRAME BASED SYSTEMSpeople.du.ac.in/~pbedi/pb_thesis.pdf · unified approach for designing frame based systems by punam bedi a thesis submitted to the

96

first component is known as User Request Processor [Bell 92] that handles interaction

with the user. The second component deals with the knowledge and is known as

Knowledge Base Processor.

User Request Processor consists of the following components :

- The User Interface Handler is responsible for interpreting user commands as

they come in and formatting the results to be sent to the user.

- Semantic Data Controller uses the integrity constraints and authorizations to

check if the user query can be processed. Semantic data control includes

- View Management

- Security Control

- Semantic integrity Control

- The Global Query Optimizer determines an execution strategy to minimize a

cost function and translates the global queries into local ones.

- The Global Execution Monitor coordinates the distributed execution of the

user request.

Knowledge Base Processor consists of the following components:

Page 91: UNIFIED APPROACH FOR DESIGNING FRAME BASED SYSTEMSpeople.du.ac.in/~pbedi/pb_thesis.pdf · unified approach for designing frame based systems by punam bedi a thesis submitted to the

98

a. Level Manager (LM)

Each level manager has a Monitor and it provides a higher level interface to the

operating system. It chooses a message for execution and acts as a demon to provide the

requested service.

Controller KB selects the appropriate Knowledge Source (KS) which is executed by

Local Controller to meet the requirements of the user query.

Knowledge Base (KB) refers to the local KB which is represented as a frame hierarchy,

i.e., a fragment of NOF.

Communication Controller is responsible for all inter LM communication. It has its own

KB to handle the communication for each LM.

The Behaviour Part is a collection of methods and KSs. A method is a procedure written

in a high level language that describes an action of the object. It can be a predefined

method or defined by the user. The KSs are triggers (event_driven processes) which

generate or modify knowledge base objects.

b. Communication Level Manager (CLM)

The Communication Level Manager (CLM) is a specialized LM to handle intersite

Page 92: UNIFIED APPROACH FOR DESIGNING FRAME BASED SYSTEMSpeople.du.ac.in/~pbedi/pb_thesis.pdf · unified approach for designing frame based systems by punam bedi a thesis submitted to the

99

communication. Each site in the problem solving network has a CLM which is

responsible for message transfer between two sites. It has a structure similar to general

purpose problem solving LM but additionally has communication buffer for message

transfer. One of the CLMs is designated as the Primary Communication Level

Manager (PCLM) and is responsible for dynamic reconfiguration of the network in

case of failure or recovery of the site or link in a NOFs.

c. Recovery Manager

The recovery manager is responsible for making sure that the local KB remains

consistent even if failure occurs. It provides a facility to automatically restart processes

after they have failed or if a site recovers.

4.5 Message Passing in Distributed Frame Management System

A message is a request for an object (frame) to carry out one of its operations. In

DFS, CLM at one site can communicate with CLM at another site in a point to point

fashion by message passing through the network. CLM A can send a message to any

other CLM B as long as it knows the name of the target CLM B at the other site. B need

not know about the address of A to receive the message. However, message will be

processed by B only if CLM A is authorized as per information stored in CLM B. The

message passing takes place in a point_to_point (agent_to_agent) fashion.

Page 93: UNIFIED APPROACH FOR DESIGNING FRAME BASED SYSTEMSpeople.du.ac.in/~pbedi/pb_thesis.pdf · unified approach for designing frame based systems by punam bedi a thesis submitted to the

101

These messages can be of two types: enquiry messages, instructions. An enquiry

asks the recipient for a value whereas an instruction message tells the recipient what it

should do. Messages representing requests are handled by the monitor of receiving LM.

It examines LM's store, forms a reply and sends a message back to the initiator of the

control request. Control instructions are passed onto the local controller which decides

what is to be done with the instruction.

4.6 Distributed Frame Query Language

We now discuss the design of a structured query language for querying

distributed frame systems. Distributed Frame Systems have a structure similar to the one

given in reference architecture (section 4.2). This model also supports triggers and

temporal aspects in frame systems [Bedi 93a. Bedi 93b]. The following concepts are

added in FSQL to give distributed features.

- Fragmentation

- Transparencies

The Query Language has been implemented using the distributed knowledge at

various sites taking care of various fragmentations and transparencies present in the

system.

Example 4.1:-

Page 94: UNIFIED APPROACH FOR DESIGNING FRAME BASED SYSTEMSpeople.du.ac.in/~pbedi/pb_thesis.pdf · unified approach for designing frame based systems by punam bedi a thesis submitted to the

102

Query1: Retrieve names of all professors of Computer Science in all IITs.

(i) In case of fragmentation transparency, the query can be written as

SELECT name FROM INSTRUCTOR

WHERE dept = CompSc

desg = Prof.

(ii) In case of Location Transparency, result is the union of the results of the queries

of the form

SELECT name FROM_FRAGMENT INSTRUCTORi

WHERE dept = CompSc

desg = Prof.

executed for all the fragments INSTRUCTORi of INSTRUCTOR.

(iii) In case of local mapping transparency, result is the union of the results of the

queries of the form

SELECT name FROM_FRAGMENT INSTRUCTORi AT_SITE sitej

WHERE dept = CompSc

desg = Prof.

Page 95: UNIFIED APPROACH FOR DESIGNING FRAME BASED SYSTEMSpeople.du.ac.in/~pbedi/pb_thesis.pdf · unified approach for designing frame based systems by punam bedi a thesis submitted to the

103

executed for all the fragments INSTRUCTORi of INSTRUCTOR present at sitej of the

network for all sites.

Example 4.2:-

Query2 Get the address of Marry, a professor of Computer Science.

(i) In case of fragmentation transparency, the query can be written as

SELECT address FROM INSTRUCTOR

WHERE name = Marry

dept = CompSc

desg = Prof.

(ii) In Location Transparency, the query can be written as combination of five

queries as follows

SELECT address FROM_FRAGMENT INSTRUCTOR1

WHERE name = Marry

dept = CompSc

desg = Prof.

If not found

SELECT address FROM_FRAGMENT INSTRUCTOR2

WHERE name = Marry

dept = CompSc

Page 96: UNIFIED APPROACH FOR DESIGNING FRAME BASED SYSTEMSpeople.du.ac.in/~pbedi/pb_thesis.pdf · unified approach for designing frame based systems by punam bedi a thesis submitted to the

104

desg = Prof.

If not found

SELECT address FROM_FRAGMENT INSTRUCTOR3

WHERE name= Marry

dept = CompSc

desg = Prof.

If not found

SELECT address FROM_FRAGMENT INSTRUCTOR4

WHERE name = Marry

dept = CompSc

desg = Prof.

If not found

SELECT address FROM_FRAGMENT INSTRUCTOR5

WHERE name = Marry

dept = CompSc

desg = Prof.

(iii) In case of local mapping transparency, at site clause will be written in queries of

Example 4.2(ii) as given in Example 4.1(iii).

4.7 Summary

Page 97: UNIFIED APPROACH FOR DESIGNING FRAME BASED SYSTEMSpeople.du.ac.in/~pbedi/pb_thesis.pdf · unified approach for designing frame based systems by punam bedi a thesis submitted to the

105

The design of a transparent, homogenous frame based system in a distributed

environment is presented in the chapter. The concepts of Network fragmentation,

Instance fragmentation and Slot fragmentation along with their first_order

representation have been discussed. Various types of distribution transparencies ,i.e.,

fragmentation transparency, Location transparency and Local mapping transparency are

also explained. This model also supports triggers and temporal aspects in frame

systems[Bedi 93a, Bedi 93b]. Design of a query language FSQL with respect to

distributed frame systems has been discussed.

Page 98: UNIFIED APPROACH FOR DESIGNING FRAME BASED SYSTEMSpeople.du.ac.in/~pbedi/pb_thesis.pdf · unified approach for designing frame based systems by punam bedi a thesis submitted to the

106

Chapter 5

Multimedia Dimension to Frame

Systems

New applications such as CAD, AI, and hypermedia require direct

representation and flexible use of complex objects, behavioral knowledge and

multimedia data. In this chapter, the design of a frame based system that offers

multimedia facilities is discussed. Both structural and behavioral knowledge can be

incorporated in this system. The facets of slots can flexibly represent constraints and

triggers. Besides providing abstraction, generalization and classification of data, the

proposed multimedia frame model supports the basic structure and operations for

multimedia data. The system has the potential of offering active video presentations and

hyperlinks so that the user can navigate from one medium to another. The design of a

query language FSQL for frame based systems with multimedia facilities is also

discussed. A prototype of the query language for querying multimedia frame based

systems is developed using LPA Prolog Professional Compiler.

Page 99: UNIFIED APPROACH FOR DESIGNING FRAME BASED SYSTEMSpeople.du.ac.in/~pbedi/pb_thesis.pdf · unified approach for designing frame based systems by punam bedi a thesis submitted to the

107

5.1 Basic Terminologies

Hypertext is a mechanism for building and using associative structures. A

normal document is linear, and one tends to read it from beginning to end. In contrast,

reading hypertext is open-ended and one can jump from idea to idea depending on one's

interests. The nearest thing to a hypertext document that most people are familiar with is

a thesaurus. A thesaurus has no single beginning or end. Each time the thesaurus is

consulted, it is entered at a different location based on the word used to initiate the

search. Hypertext can be thought of as an enriched thesaurus where, instead of links

between words, links between documents and text fragments are available. Hypertext

can simply be defined as the creation and representation of links between discrete pieces

of text data. Hypermedia is an extension of hypertext when the data can be of different

media such as graphics, sound, text, numbers, video.

Multimedia means different things to different people, but broadly it is the

name given to the technology that attempts a harmonious real-time integration of

different media like images, full motion video, voice, text, graphics and other computer

data for enhanced man-machine interaction encompassing the audio-visual senses.

Hence, multimedia applications involve integration of various media of information in

its natural form.

Multimedia Information Systems embed various media into diverse

Page 100: UNIFIED APPROACH FOR DESIGNING FRAME BASED SYSTEMSpeople.du.ac.in/~pbedi/pb_thesis.pdf · unified approach for designing frame based systems by punam bedi a thesis submitted to the

108

applications and allow for creation, processing, storage, management, retrieval, transfer

and presentation of multimedia information. The main characteristic of a multimedia

information system is its ability to deal not only with alphanumeric data (as in

traditional databases) but with images- both still and moving, graphics, text and voice

[Berra 93].

5.2 The Multimedia Frame Model

The Multimedia Frame Model is defined as a frame model that extends the

earlier proposed frame models to include the media information. Different media can be

added in the structure of a frame to give rise to a Multimedia Frame. Media

information can be added to a frame as a slot or to a slot as a facet.

5.2.1 Media as a slot

We can define Media Frame and Simple Frame depending on whether media is

included as a slot or not as follows:

Simple Frame: Frame which does not have a media slot is called a simple frame.

Media Frame: Frame which has a media slot is known as a media frame. These frames

are single media frames. The media slot in these frames can be

text, audio, video, graphics etc. and the other slots depend on the

value of the media slot.

Page 101: UNIFIED APPROACH FOR DESIGNING FRAME BASED SYSTEMSpeople.du.ac.in/~pbedi/pb_thesis.pdf · unified approach for designing frame based systems by punam bedi a thesis submitted to the

109

- If the media slot is text (Example 5.1), then the other slots will be

no_of_chars(integer), data(long string) and no_of_words (integer).

- If the media slot is audio, then the other slots will be data (bitstream) and

frequency(number).

- If the media slot is graphics, then the other slots will be data(bitmap),

height(number) and width(number).

- If the media slot is video (Example 5.2), then the other slots will be

encoding_format, data_reference, original_size and original_duration..

In case of a media frame, data may be included in the frame or the frame has a reference

to the data. In addition to the encoding scheme, information on the original size of the

object and the original duration of the playout is also stored with the frame. The measure

for these are taken from the generic space, which defines the virtual coordinates on the

x, y, z axes. Each axis goes from -32,768 to 31,767.

At playout time, the physical coordinates of the visual frame are computed from

the virtual coordinates. This virtual coordinate system helps us to avoid device

dependencies in the description of the multimedia objects, such as the number of pixels

in the target window, audio sampling rate. Parameters in the encoding determine the

manner in which a media frame can be manipulated at play-out time. Hence we create

Page 102: UNIFIED APPROACH FOR DESIGNING FRAME BASED SYSTEMSpeople.du.ac.in/~pbedi/pb_thesis.pdf · unified approach for designing frame based systems by punam bedi a thesis submitted to the

110

virtual views from the given media frame for the actual physical coordinates and these

views contain the actual parameters at the runtime when the frame plays out.

5.2.2 Media as a facet

A slot in a multimedia frame can be either a simple slot or a media slot which

can be defined as follows:

Simple Slot: Slot which does not have a media facet is called a simple slot.

Media Slot: Slot which contains media facet(s) is called a media slot. Each of these

media facets point to a media frame normally a single media frame.

These frames are mixed media frames and are used to represent the

same information in many ways.

Hence, a multimedia frame can be a single media frame or a mixed media frame

whose subclasses are either a single media frame or mixed media frames. So "a_part_of"

hierarchy breaks down a mixed media frame to single media frames.

For example, in Robert frame, name is an example of media slot having facets: value

which gives the string value "Robert", photo which points to student's photo, voice

which speaks the name of the student. Photo actually is an image frame for student and

Page 103: UNIFIED APPROACH FOR DESIGNING FRAME BASED SYSTEMSpeople.du.ac.in/~pbedi/pb_thesis.pdf · unified approach for designing frame based systems by punam bedi a thesis submitted to the

112

voice is an audio frame with data to speak the name Robert.

In case of Multimedia Frame Systems with Time Dimension, the value of slots

change with time and give rise to animation or moving video with time. Hence, frames

in Multimedia Frame Systems with Time Dimension can be classified as:

- Simple static frames

- Media static frames

- Simple dynamic frames

- Media dynamic frames

Simple Static Frames (SSF):

These frames have no media associated with them and are nontemporal in nature

and hence are same as frames given in literature.

Media Static Frames (MSF):

These frames have media slot/facet but no time information in them.

Simple Dynamic Frames (SDF):

These frames have no media information, but are temporal frames.

Media Dynamic Frames (MDF):

These frames are multimedia frames having media slot as well as are temporal in

nature and hence can be used for video presentations.

Page 104: UNIFIED APPROACH FOR DESIGNING FRAME BASED SYSTEMSpeople.du.ac.in/~pbedi/pb_thesis.pdf · unified approach for designing frame based systems by punam bedi a thesis submitted to the

113

5.3 System-Defined Classes

The basic functions needed for a hypermedia engine are provided by system-

defined classes (Fig. 5.2) in our system. The user can model the application domain by

using these classes. The system-defined classes [Ishikawa 93] mirror the frame model

semantics.

OBJECT is the root of hierarchy of system-defined classes. OBJECT is divided

into REFERENCE and IMMEDIATE parts, denoting reference and immediate objects.

IMMEDIATE objects do not have object identifier and can be of type ATOMIC which

include NUMBERS and STRINGS or they can be procedures or rules. REFERENCE

objects have identifier associated with them and are divided into MEDIA and

COMPOSITE. User defines frames, rules or semantic net as subclasses of

COMPOSITE. MEDIA has subclasses IMAGE, GRAPHICS, VIDEO, AUDIO and

TEXT. Although they have polymorphic procedures such as input, output, change-size

and move, which have different implementations from one media to another, they have

the same interface. The user can operate on multimedia in a uniform manner.

System-defined classes have system-defined slots which are inherited by user-

defined subclasses and instances.

5.4 System Architecture

Page 105: UNIFIED APPROACH FOR DESIGNING FRAME BASED SYSTEMSpeople.du.ac.in/~pbedi/pb_thesis.pdf · unified approach for designing frame based systems by punam bedi a thesis submitted to the

114

This architecture combines techniques of various media processing along with

Frame technology. The architectural components and their relationships are shown in

Fig. 5.3.

Multimedia data like images can be stored on Secondary Storage or Optical

Disks and can be accessed whenever required. Instead of copying it in main memory, it

can be copied in buffer and then printed from there.

Vision library contains instances of media image system defined subclass and

routines to manipulate image data. Similarly video/audio library contains instances of

media video/audio system defined subclasses and routines to manipulate video/audio

data. Multimedia frame system consists of multimedia frames which are capable of

storing information such as text, image, video and audio. User makes a query to

multimedia frame system which using various reference tables retrieves the media data

from the corresponding media library. In case of manipulation, operators manipulate

data in the corresponding media library and update the reference tables, if required.

5.5 Multimedia Frame Query Language

In this section, a query language for the frame model with multimedia dimension

is discussed. This is a part of FSQL, i.e., Frame_oriented Structured Query Language

Page 106: UNIFIED APPROACH FOR DESIGNING FRAME BASED SYSTEMSpeople.du.ac.in/~pbedi/pb_thesis.pdf · unified approach for designing frame based systems by punam bedi a thesis submitted to the

117

[Chapter 6]. Selection, projection and manipulation of frames/slots can be done using

this language. Display, move and change_size are common operations which can be

done independent of media type. The polymorphism feature [Ishikawa 93] is also

supported in our system, i.e., an integrated interface is given to media methods that

perform the same function but have different implementations, depending on the type of

media.

5.5.1 Selection

In selection, knowledge is retrieved from the NOF unconditionally or based on

some condition(s). Selection can be media selection or simple selection depending

upon whether the selection is based on media or not.

For Example, a simple selection of the form

Select research students of Duke_University whose age is less than 25 years.

can be represented as

SELECT FROM research_student

A_PART_OF Duke_University

WHERE age < 25.

and taking the definition of media frame as given in section 5.2, the media selection

statement can be represented as

Page 107: UNIFIED APPROACH FOR DESIGNING FRAME BASED SYSTEMSpeople.du.ac.in/~pbedi/pb_thesis.pdf · unified approach for designing frame based systems by punam bedi a thesis submitted to the

118

SELECT data FROM TEXT_frame

WHERE no_of_words > 30.

or

SELECT data FROM MEDIA_frame

WHERE media = text

and no_of_words > 30.

This statement retrieves more than 30 words text data.

5.5.2 Projection

In projection, we project the selected answer to some specific slots/facets. In

case the projection is done on media slot/facet, it is called media projection & if

projection is done on slots/facets other than media slot/facet, it is called simple

projection.

A simple projection of the form

Find entryno of research students of Duke_University whose supervisor is Prof.

Rosen.

can be written as

SELECT entryno FROM research_student

Page 108: UNIFIED APPROACH FOR DESIGNING FRAME BASED SYSTEMSpeople.du.ac.in/~pbedi/pb_thesis.pdf · unified approach for designing frame based systems by punam bedi a thesis submitted to the

119

A_PART_OF Duke_University

WHERE supervisor = Rosen.

The media projection statement can be converted to select statement with a projection

on media, e.g.

Speak entryno of research students of Duke_University whose supervisor is

Prof. Rosen.

The above statement means that we want to find audio representation of entry numbers

of all instances of research student, a part of Delhi_University whose supervisor is

Prof.Rosen.

The select statement corresponding to this can be written as

SELECT audio(entryno) FROM research_student

A_PART_OF Duke_University

WHERE supervisor = Rosen.

5.5.3 Manipulation

Manipulation operation consists of basically three operations.

Page 109: UNIFIED APPROACH FOR DESIGNING FRAME BASED SYSTEMSpeople.du.ac.in/~pbedi/pb_thesis.pdf · unified approach for designing frame based systems by punam bedi a thesis submitted to the

120

- Insert

- Delete

- Update

Insertion means a new frame is added in the network or a slot value is inserted for

already existing frame.

For example, the statement

Insert a new instance frame with name John to research student in

Duke_University.

can be written as

INSERT INTO research_student

A_PART_OF Duke_University

INSTANCE rsjohn

VALUES name John.

Deletion means a frame is deleted from the network or a slot value is deleted from an

instance frame.

For example, the statement

Delete all research students of Duke_University whose supervisor is Prof. Paul.

can be written as

DELETE FROM research_student

Page 110: UNIFIED APPROACH FOR DESIGNING FRAME BASED SYSTEMSpeople.du.ac.in/~pbedi/pb_thesis.pdf · unified approach for designing frame based systems by punam bedi a thesis submitted to the

121

A_PART_OF Duke_University

WHERE supervisor = Paul.

Update means an instance frame is modified in the network or a slot value of an

instance frame is modified.

UPDATE research_student

A_PART_OF Duke_University

SET supervisor = Rosen

WHERE supervisor = Paul.

This statement updates the supervisor to Rosen for research students whose present

supervisor is Paul. Suppose this update is done in the beginning of 1986,then in the

interval ending with 1986, i.e. [-,1986] supervisor is Paul and in [1986,now] supervisor

is Rosen. Therefore,

k

if before update, T(X) = U Ii

i=1

k+1

then after update T(X) = U Ii where Ik+1 = [1986,now]

i=1

A prototype of the query language has been implemented using LPA Prolog

Professional Compiler to test the feasibility of the system.

Page 111: UNIFIED APPROACH FOR DESIGNING FRAME BASED SYSTEMSpeople.du.ac.in/~pbedi/pb_thesis.pdf · unified approach for designing frame based systems by punam bedi a thesis submitted to the

122

5.6 Summary

A frame based system to offer multimedia facilities has been designed in this

chapter. The system has capabilities of representing both structural and behavioral

knowledge. The facets of slots can flexibly represent constraints and triggers. The model

provides abstraction, generalization and classification of data, as well as capable of

supporting the basic structure and operations of multimedia data. The system has the

potential of offering active video presentations and hyperlinks so that the user can

navigate from one medium to another. A query language for such frame based systems

with multimedia facilities has been designed and a prototype is developed for

demonstration using LPA Prolog Professional Compiler.

Page 112: UNIFIED APPROACH FOR DESIGNING FRAME BASED SYSTEMSpeople.du.ac.in/~pbedi/pb_thesis.pdf · unified approach for designing frame based systems by punam bedi a thesis submitted to the

123

Chapter 6

FSQL - Frame_oriented Structured

Query Language

The name FSQL is an acronym for "Frame_oriented Structured Query

Language". This language consists of a set of facilities for defining, manipulating

and controlling the knowledge contained in frames. "FSQL" has features similar to

SQL of relational databases but takes care of multiple facets of slots and inheritance of

values between parent and child frames including temporal information. FSQL has

been designed as a query language for the frame systems in view of the following

factors:

a. FSQL is an extended version of SQL which is endorsed by almost all the major

developers of relational systems. Thus the existing application programs can be

supported by FSQL without any change.

b. FSQL has the added advantage of offering time dimension [Bedi 93a,

Mylopoulos 90] which makes it possible to preserve the old information

required in several applications such as medical histories, real-time

applications, historical/temporal databases.

Page 113: UNIFIED APPROACH FOR DESIGNING FRAME BASED SYSTEMSpeople.du.ac.in/~pbedi/pb_thesis.pdf · unified approach for designing frame based systems by punam bedi a thesis submitted to the

124

c. FSQL can be used in a distributed environment and also has facilities for basic

multimedia operations.

d. SQL is the only relational language that has a standard developed for it and

paves the way for standardizing FSQL.

6.1 Some Common Statements of FSQL

Before proceeding to define the syntax and semantics of FSQL, we illustrate

here few statements of FSQL (such as selection, projection and manipulation) to

facilitate the understanding of the language.

6.1.1 Selection

Selection basically retrieves knowledge is from the network of frames [Bedi 91]

unconditionally or based upon some condition(s). Selection can be of the following

types:

- simple selection

- temporal selection

- media selection

- temporal media selection

Page 114: UNIFIED APPROACH FOR DESIGNING FRAME BASED SYSTEMSpeople.du.ac.in/~pbedi/pb_thesis.pdf · unified approach for designing frame based systems by punam bedi a thesis submitted to the

125

In simple selection, all conditions are independent of time and media whereas in

temporal selection, the conditions may contain time information and require the use of

WHEN, VALID and AS_OF clauses. In media selection, conditions contain media

information and in temporal media selection, condition may contain both time and

media.

a). A simple selection of the form

Select lecturers of Delhi_University whose salary is less than rupees 8000.

can be represented as

SELECT FROM lecturer

A_PART_OF Delhi_University

WHERE salary < 8000.

b). The temporal selection statement

Find lecturers of Delhi_University who joined in 1990 or after 1990 and whose

salary is less than rupees 8000 as known in the beginning of 1996.

can be written as

Page 115: UNIFIED APPROACH FOR DESIGNING FRAME BASED SYSTEMSpeople.du.ac.in/~pbedi/pb_thesis.pdf · unified approach for designing frame based systems by punam bedi a thesis submitted to the

126

SELECT FROM lecturer

A_PART_OF Delhi_University

WHERE salary < 8000

VALID_FROM 1990 TO now

AS_OF 1-1-96.

c). The media selection statement

Get data of the type text which has more than 300 characters in it.

can be written as

SELECT FROM TEXT_class

A_PART_OF MEDIA_class

WHERE no_of_chars >300.

d). The temporal media selection statement

Get data of the type text which has more than 300 characters in it from 1990 to

1995.

can be written as

SELECT FROM TEXT_class

A_PART_OF MEDIA_class

WHERE no_of_chars >300

Page 116: UNIFIED APPROACH FOR DESIGNING FRAME BASED SYSTEMSpeople.du.ac.in/~pbedi/pb_thesis.pdf · unified approach for designing frame based systems by punam bedi a thesis submitted to the

127

VALID_FROM 1990 to 1995.

If the frame system is also distributed and system has

- fragmentation transparency, the above queries will remain the same.

- location transparency, fragment identifier will be mentioned in the

FROM_FRAGMENT clause.

- local mapping transparency, fragment identifier will be mentioned in the

FROM_FRAGMENT clause and site identifier will be used in the AT_SITE

clause.

6.1.2 Projection

In projection, we project the selected answer to some specific slots/facets.

In case the projection is done on

- time slot, it is called temporal projection

- media slot/facet, it is called media projection

- else it is simple projection

A simple projection of the form

Find entryno of research students of Delhi_University whose supervisor is Prof.

Page 117: UNIFIED APPROACH FOR DESIGNING FRAME BASED SYSTEMSpeople.du.ac.in/~pbedi/pb_thesis.pdf · unified approach for designing frame based systems by punam bedi a thesis submitted to the

128

Rosen.

can be written as

SELECT entryno FROM research_student

A_PART_OF Delhi_University

WHERE supervisor = Rosen.

The temporal projection statement can be converted to select statement with a projection

on time, e.g.

Find entryno of research students of Delhi_University in [1985, now] whose

supervisor is Prof. Rosen.

The above statement means that we want to find entry numbers of all instances of

research student, a part of Delhi_University in [1985, now] whose supervisor is

Prof.Rosen.

The select statement corresponding to this can be written as

SELECT entryno FROM research_student

A_PART_OF Delhi_University

WHERE supervisor = Rosen

Page 118: UNIFIED APPROACH FOR DESIGNING FRAME BASED SYSTEMSpeople.du.ac.in/~pbedi/pb_thesis.pdf · unified approach for designing frame based systems by punam bedi a thesis submitted to the

129

VALID_FROM 1985 to now.

The media projection statement can be converted to select statement with a projection

on media, e.g.

Speak entryno of research students of Delhi_University in [1985, now] whose

supervisor is Prof. Rosen.

This statement means that we want to find audio representation of entry numbers of all

instances of research student, a part of Delhi_University in [1985, now] whose

supervisor is Prof.Rosen.

The select statement corresponding to this can be written as

SELECT audio(entryno) FROM research_student

A_PART_OF Delhi_University

WHERE supervisor = Rosen

VALID_FROM 1985 to now.

6.1.3 Manipulation

Manipulation operation consists of basically three operations:

- Insert

- Delete

- Update

Page 119: UNIFIED APPROACH FOR DESIGNING FRAME BASED SYSTEMSpeople.du.ac.in/~pbedi/pb_thesis.pdf · unified approach for designing frame based systems by punam bedi a thesis submitted to the

130

Insert

Insert means a new frame is added in the network or a slot value is added to an

already existing instance fraem. For example, the statement

Insert a new instance frame rs009 with name Iman and lifespan [1987, now] to

research student in Delhi_ University.

can be written as

INSERT INTO research_student

A_PART_OF Delhi_University

INSTANCE rs009

VALUES name Iman

VALID_FROM 1987 TO now.

Delete

Delete means in the lifespan of frame/slot, the end point of the last interval in the

temporal element is changed to time of deletion, i.e., deletion of information is obtained

by storing knowledge about the end of the period for which the information holds. For

example,

Delete all research students of Delhi_University whose supervisor is Prof.

Page 120: UNIFIED APPROACH FOR DESIGNING FRAME BASED SYSTEMSpeople.du.ac.in/~pbedi/pb_thesis.pdf · unified approach for designing frame based systems by punam bedi a thesis submitted to the

131

Keshav.

can be written as

DELETE FROM research_student

A_PART_OF Delhi_University

WHERE supervisor = Keshav.

The effect of this deletion statement will be that for all research students of

Delhi_University with supervisor Keshav, lifespan has its endpoint as the time of

deletion.

Update

Update means that in the temporal element of frame or slot another interval is

added. For example, the statement

UPDATE research_student

A_PART_OF Delhi_University

SET supervisor = Keshav

WHERE supervisor = Berry.

updates the supervisor to Prof. Keshav for research students whose present supervisor

Page 121: UNIFIED APPROACH FOR DESIGNING FRAME BASED SYSTEMSpeople.du.ac.in/~pbedi/pb_thesis.pdf · unified approach for designing frame based systems by punam bedi a thesis submitted to the

132

is Prof. Berry. Suppose this update is done in the beginning of 1986, then in the

interval ending with 1985, i.e. [_,1985] supervisor is Prof. Berry and in [1986,now]

supervisor is Prof. Keshav.

Therefore, if before update

k

T(x)= ∪ Ii

i=1

then after update

k+1

T(x)= ∪ Ii , where Ik+1 = [1986,now]

i=1

6.2 Syntax of FSQL

We have presented the syntax of FSQL [Sharma 88, Date 87] using the BNF

form with the extensions that the braces { } and [ ] are used to indicate repetition and

optional occurrences respectively. More specifically,

{item}* denotes zero or more items separated by blank(s)

{item}+ denotes one or more items separated by blank(s)

[item] denotes zero or one item

{item}(*)

denotes zero or more items separated by comma

{item}(+)

denotes one or more items separated by comma

In the proposed query language, FSQL, AT/IN/FROM FRAGMENT clauses is

optional and is present in allocation schema. In local mapping schema AT/IN/FROM

Page 122: UNIFIED APPROACH FOR DESIGNING FRAME BASED SYSTEMSpeople.du.ac.in/~pbedi/pb_thesis.pdf · unified approach for designing frame based systems by punam bedi a thesis submitted to the

133

FRAGMENT is present along with AT/FROM SITE whereas in case of fragmentation

schema both of these clauses are absent.

6.2.1 Frame Knowledge Definition Language (FKDL)

schema

::= CREATE [distributed_schema] schema_name

AUTHORIZATION user

{distributed_schema_element}*

distributed_schema

::= FRAGMENTATION_SCHEMA

/ ALLOCATION_SCHEMA

/ LOCAL_MAPPING_SCHEMA

distributed_schema_element

::= base_class_definition

/ view_definition

/ privilege_definition

base_class_definition

::= CREATE CLASS class_name

[ IN_FRAGMENT fragmenti

Page 123: UNIFIED APPROACH FOR DESIGNING FRAME BASED SYSTEMSpeople.du.ac.in/~pbedi/pb_thesis.pdf · unified approach for designing frame based systems by punam bedi a thesis submitted to the

134

[ AT_SITE sitei ] ]

[linklist_definition]

[timelist_definition]

[media_element]

{base_class_element}(+)

linklist_definition

::= {link_name-frame_name}*

timelist_definition

::= {[ VALID_FROM Vs ]

[ VALID_TO Ve ]

[ AS_OF Tt ]

[ DELETION_TIME Dt]}*

media_element

::= MEDIA media

base_class_element

::= (slot - slot_value) [timelist_definition]

media

::= text / image / audio / video

Page 124: UNIFIED APPROACH FOR DESIGNING FRAME BASED SYSTEMSpeople.du.ac.in/~pbedi/pb_thesis.pdf · unified approach for designing frame based systems by punam bedi a thesis submitted to the

135

slot_value

::= {facet_name - facet_value}(*)

facet_name

::= DEFAULT / SLOTTYPE / RANGE / IF_ADDED /

IF_NEEDED / IF_DELETED / IF_CHANGED / media_element

link_name

::= AKO / A_PART_OF / IS_A

view_definition

::= CREATE VIEW view_name [MEDIA media] {slot_name}(+)

AS select_statement

[WITH CHECK OPTION]

If "WITH CHECK OPTION" is included in the view definition, then all INSERTs and

UPDATEs against the view will be checked to ensure that newly INSERTed or

UPDATed instances does indeed satisfy the view condition.

privilege_definition

::= GRANT privileges ON

{class_identifier/slot_identifier}(+)

Page 125: UNIFIED APPROACH FOR DESIGNING FRAME BASED SYSTEMSpeople.du.ac.in/~pbedi/pb_thesis.pdf · unified approach for designing frame based systems by punam bedi a thesis submitted to the

136

[ OF_FRAGMENT fragmenti

[ AT_SITE sitei ] ]

TO {grantee}(+)

[WITH GRANT OPTION]

Here the GRANT OPTION means that if a user A is allowed to grant some

privilege P to user B WITH GRANT OPTION, then the recipient of the privilege can in

turn grant the same privilege with or without GRANT OPTION to some other user

(and so on, recursively).

privileges

::= ALL [PRIVILEGES] / {operation}(+)

Operation

::= ((SELECT / INSERT / DELETE / UPDATE)

(instance_identifier / slot_identifier)) /

ALTER class_identifier

grantee

::= PUBLIC / user

6.2.2 Module Language

Page 126: UNIFIED APPROACH FOR DESIGNING FRAME BASED SYSTEMSpeople.du.ac.in/~pbedi/pb_thesis.pdf · unified approach for designing frame based systems by punam bedi a thesis submitted to the

137

module_def

::= MODULE module_name

LANGUAGE {COBOL / PROLOG / PASCAL / C}

AUTHORIZATION user

{procedure_def}*

procedure_def

::= PROCEDURE procedure {parameter_ def}+

manipulative_statement

parameter_def

::= parameter data_type / FSQLCODE

6.2.3 Frame Knowledge Manipulation Language (FKML)

manipulative_statement

::= add_instance_statement

/ alter_statement

/ commit_statement

/ delete_statement

/ drop_statement

/ insert_statement

/ project_statement

Page 127: UNIFIED APPROACH FOR DESIGNING FRAME BASED SYSTEMSpeople.du.ac.in/~pbedi/pb_thesis.pdf · unified approach for designing frame based systems by punam bedi a thesis submitted to the

138

/ rollback_statement

/ select_statement

/ update_statement

add_instance_statement

::= ADD TO CLASS class

[ OF_FRAGMENT fragmenti

[ AT_SITE sitei ] ]

INSTANCES {instance_name,instance_element+}

+

alter_statement

::= ALTER CLASS class_name

[ IN_FRAGMENT fragmenti

[AT_SITE sitei ] ]

[AKO class]

[A_PART_OF class]

[MEDIA media]

{ADD / DELETE} base_class_element

commit_statement

::= COMMIT WORK

[ IN_FRAGMENT fragmenti

[ AT_SITE sitei ] ]

Page 128: UNIFIED APPROACH FOR DESIGNING FRAME BASED SYSTEMSpeople.du.ac.in/~pbedi/pb_thesis.pdf · unified approach for designing frame based systems by punam bedi a thesis submitted to the

139

drop_statement

::= DROP CLASS class_name

[ FROM_FRAGMENT fragmenti

[ AT_SITE sitei ] ]

/

DROP VIEW view_name

[ FROM_FRAGMENT fragmenti

[ AT_SITE sitei ] ]

delete_statement

::= delete_instance_statement /

delete_slot_statement

delete_instance_statement

::= DELETE FROM class_identifier

[ OF_FRAGMENT fragmenti

[ AT_SITE sitei ] ]

WHERE condition

WHEN temporal_condition

delete_slot_statement

::= DELETE slot_identifier

Page 129: UNIFIED APPROACH FOR DESIGNING FRAME BASED SYSTEMSpeople.du.ac.in/~pbedi/pb_thesis.pdf · unified approach for designing frame based systems by punam bedi a thesis submitted to the

140

OF class_identifier

[ OF_FRAGMENT fragmenti

[ AT_SITE sitei ] ]

[WHERE condition]

[WHEN temporal_condition]

/

DELETE slot_identifier

FROM instance_identifier

[ OF_FRAGMENT fragmenti

[ AT_SITE sitei ] ]

insert_statement

::= insert_instance_statement /

insert_slot_statement

insert_instance_statement

::= INSERT INTO class_identifier

[ OF_FRAGMENT fragmenti

[ AT_SITE sitei ] ]

INSTANCE instance_identifier

VALUES (instance_element)(+)

insert_slot_statement

Page 130: UNIFIED APPROACH FOR DESIGNING FRAME BASED SYSTEMSpeople.du.ac.in/~pbedi/pb_thesis.pdf · unified approach for designing frame based systems by punam bedi a thesis submitted to the

141

::= INSERT INTO instance_identifier

[ OF_FRAGMENT fragmenti

[ AT_SITE sitei ] ]

VALUES instance_element

project_statement

::= PROJECT ON (slot/(facet_name(slot))(+)

FROM (class_identifier)(+)

[ OF_FRAGMENT fragmenti

[ AT_SITE sitei ] ]

[where_clause]

[when_clause]

/

select_statement

rollback_statement

::= ROLLBACK WORK

[ IN_FRAGMENT fragmenti

[AT_SITE sitei ] ]

select_statement

Page 131: UNIFIED APPROACH FOR DESIGNING FRAME BASED SYSTEMSpeople.du.ac.in/~pbedi/pb_thesis.pdf · unified approach for designing frame based systems by punam bedi a thesis submitted to the

142

::= SELECT (slot_identifier)(*)

FROM (frame_identifier)(+)

[ OF_FRAGMENT fragmenti

[ AT_SITE sitei ] ]

[MEDIA media]

[ where_clause ]

[ when_clause ]

[ VALID_FROM Vs TO Ve ]

[ AS_OF Tt ]

update_statement

::= update_instance_statement

/ update_slot_statement

update_instance_statement

::= UPDATE class_identifier

[ OF_FRAGMENT fragmenti

[ AT_SITE sitei ] ]

SET ({slot_name = expression}(+)

)

[WHERE condition]

[WHEN condition]

VALID_FROM Vs TO Ve

Page 132: UNIFIED APPROACH FOR DESIGNING FRAME BASED SYSTEMSpeople.du.ac.in/~pbedi/pb_thesis.pdf · unified approach for designing frame based systems by punam bedi a thesis submitted to the

143

update_slot_statement

::= UPDATE instance_identifier

[ OF_FRAGMENT fragmenti

[ AT_SITE sitei ] ]

SET slot_name = expression

VALID_FROM Vs TO Ve

6.2.4 Query Expression

when_clause

::= WHEN temporal_condition

temporal_condition

::= temporal_expression temporal_comparison_operator

{temporal_expression/subquery}

/ NOT temporal_condition

/ temporal_condition {AND/OR} condition

/(temporal_condition)

where_clause

::= WHERE condition

condition

Page 133: UNIFIED APPROACH FOR DESIGNING FRAME BASED SYSTEMSpeople.du.ac.in/~pbedi/pb_thesis.pdf · unified approach for designing frame based systems by punam bedi a thesis submitted to the

144

::= expression comparison_operator

{expression/subquery}

/ expression [NOT] BETWEEN expression AND

expression

/ expression [NOT] in (constant)(+)

/ expression [NOT] IN subquery

/ expression comparison-operator {ANY/ALL}

(subquery)

/ alphanumeric-expression [NOT] LIKE mask

/ EXISTS (subquery)

/ NOT condition

/ condition {AND / OR} condition

/ (condition)

comparison_operator

::= { = / <> / <= / >= / <> }

temporal_operator

::= overlap/ extend/ thru

temporal_comparison_operator

::= precede/meet/equal

Page 134: UNIFIED APPROACH FOR DESIGNING FRAME BASED SYSTEMSpeople.du.ac.in/~pbedi/pb_thesis.pdf · unified approach for designing frame based systems by punam bedi a thesis submitted to the

145

6.2.5 Scalar Expression

expression

::= arithmetic_expression

/ alphanumeric_expression

/ temporal_expression

arithmetic_expression

::= constant

/ slot_identifier

/ arithmetic_expression arithmetic_operator

arithmetic_expression

/ (arithmetic_expression)

alphanumeric_expression

::= alphanumeric_constant

/ slot_identifier

temporal_expression

::= temporal_constant

/ expression temporal_operator expression

/ (temporal_expression)

constant

Page 135: UNIFIED APPROACH FOR DESIGNING FRAME BASED SYSTEMSpeople.du.ac.in/~pbedi/pb_thesis.pdf · unified approach for designing frame based systems by punam bedi a thesis submitted to the

146

::= integer_constant

/ decimal_constant

/ floating_point_constant

/ alphanumeric_constant

subquery

::= select_statement

function

::= {count / MAX / MIN / SUM / AVG} [(distinct)

expression]

/ count (*)}

revoke_statement

::= REVOKE {SELECT / PROJECT / INSERT / DELETE /

UPDATE / ALL}

[ON class_identifier]

FROM {{user}(+)

/ PUBLIC } {privilege}

6.2.6 Miscellaneous

frame_identifier

::= class_identifier / instance_identifier

Page 136: UNIFIED APPROACH FOR DESIGNING FRAME BASED SYSTEMSpeople.du.ac.in/~pbedi/pb_thesis.pdf · unified approach for designing frame based systems by punam bedi a thesis submitted to the

147

class_identifier

::= class_name

/ class_name [link_element]

/ view_name

set_statement

::= SET AUTO COMMIT { ON/OFF }

slot_identifier

::= slot_name

/ class_identifier.slot_name

instance_identifier

::= instance_name

/instance_name IS_A class_identifier

instance_element

::= {link_element, time_element, ins_slot_element}(+)

link_element

::= {link_name - link_value}(+)

Page 137: UNIFIED APPROACH FOR DESIGNING FRAME BASED SYSTEMSpeople.du.ac.in/~pbedi/pb_thesis.pdf · unified approach for designing frame based systems by punam bedi a thesis submitted to the

148

link_value

::= frame_name/instance_name

time_element

::= {time_element_name - time_element_value}(+)

time_element_name

::= VALID_BEGIN / VALID_END /

TRANSACTION_BEGIN / TRANSACTION_END

time_element_value

::= day / month / year

ins_slot_element

::= slot_name - ins_slot_value

ins_slot_value

::= {ins_facet_name - facet_value}(+)

ins_facet_name

Page 138: UNIFIED APPROACH FOR DESIGNING FRAME BASED SYSTEMSpeople.du.ac.in/~pbedi/pb_thesis.pdf · unified approach for designing frame based systems by punam bedi a thesis submitted to the

149

::= VALUE / IF_ADDED / IF_NEEDED / IF_CHANGED /

IF_DELETED / VALID_FROM / VALID_TO / AS_OF /

time_element_name / media_element

6.3 Semantics of FSQL

In this section,the semantics of SELECT, INSERT, DELETE and UPDATE

statements [Clifford 83, Yau 91] including the temporal aspects are defined. The

following notations are used:

- σ represents the predicate used in the WHERE clause and is evaluated as σ'.

- φ represents the predicate used in the WHEN clause and is evaluated as φ'.

- λ represents the temporal expression for the time point specified in the

AS_OF clause and is evaluated to Tλ

- α and ß are temporal expressions that represent the 'from time' and 'to time' of

the VALID clause, and are evaluated to Tα and Tβ respectively.

- TNOW is the current system time.

Page 139: UNIFIED APPROACH FOR DESIGNING FRAME BASED SYSTEMSpeople.du.ac.in/~pbedi/pb_thesis.pdf · unified approach for designing frame based systems by punam bedi a thesis submitted to the

150

- F.Si represent the ith

slot of frame F.

- F, I and Fi are input frames and D is the derived frame.

SELECT

The SELECT statement of FSQL creates a derived frame with instances

satisfying the constraints in the WHEN, WHERE and AS_OF clauses. The skeleton

SELECT statement is

SELECT (FmSn)r

FROM F1,F2,...,Fk

WHERE σ

WHEN φ

VALID FROM α TO ß

AS_OF λ

The semantics are:

D = { D.S1 ,D.S2 ,...,D.Sr ,D.Vs ,D.Ve ,D.Tt ,D.Dt

where

∃ F1 ,F2 ,...,Fk

( σ'

∧ φ'

∧ (∀i)( 1≤i≤r ((Fm.Sn)i.Tt ≤ Tλ ∧ (Tλ ≤ (Fm.Sn)i.Dt ∨

(Fm.Sn).Dt = NULL)))

Page 140: UNIFIED APPROACH FOR DESIGNING FRAME BASED SYSTEMSpeople.du.ac.in/~pbedi/pb_thesis.pdf · unified approach for designing frame based systems by punam bedi a thesis submitted to the

151

∧ (∀i)( 1≤i≤r ( D.Si = (Fm.Sn)i))

∧ D.Vs = Tα

∧ D.Ve = Tβ

∧ D.Tt = TNOW

∧ D.Dt= NULL)}

INSERT

INSERT statement is of two types:

a. insert_instance_statement

b. insert_slot_statement

a. The insert_instance_statement inserts an instance frame into a class frame.

The skeleton insert_instance_statement is

INSERT INTO F

VALUES (S1,v1),...,(Sr,vr)

VALID FROM α TO ß

The semantics are:

D = { D.S1,D.S2,...,D.Sr,D.Vs,D.Ve,D.Tt,D.Dt

where

∀F

Page 141: UNIFIED APPROACH FOR DESIGNING FRAME BASED SYSTEMSpeople.du.ac.in/~pbedi/pb_thesis.pdf · unified approach for designing frame based systems by punam bedi a thesis submitted to the

152

( (∀i)( 1≤i≤r ( D.Si = F.Si)

∧(D.Si).Vs = (F.Si).Vs

∧(D.Si).Ve = (F.Si).Ve

∧(D.Si).Tt = (F.Si).Tt

∧(D.Si).Dt = (F.Si).Dt) )

∧ D.Vs = F.Vs

∧ D.Ve = F.Ve

∧ D.Tt = F.Tt

∧ D.Dt= F.Dt ) }

{ D.S1,D.S2,...,D.Sr,D.Vs,D.Ve,D.Tt,D.Dt

where

¬ ∃ F

( (∀i)( 1≤i≤r (F.Si = vi) ∧ (F.Si).Dt = NULL

∧(F.Si).Vs ≤ Tβ ∧ (F.Si).Ve ≥ Tα )

∧(∀i)( 1≤i≤r ( D.Si = vi)

∧ (D.Si).Vs = Tα

∧ (D.Si).Ve = Tβ

∧ (D.Si).Tt = TNOW

∧ (D.Si).Dt = NULL))}

the first block contains the original instances and the second refers to the inserted

instances.

Page 142: UNIFIED APPROACH FOR DESIGNING FRAME BASED SYSTEMSpeople.du.ac.in/~pbedi/pb_thesis.pdf · unified approach for designing frame based systems by punam bedi a thesis submitted to the

153

b. The insert_slot_statement inserts a slot value into an existing instance frame.

The skeleton insert_slot_statement is

INSERT INTO I

VALUES (Sr+1,vr+1)

VALID FROM α TO ß

The semantics are:

D = { D.S1,D.S2,...,D.Sr,D.Sr+1,D.Vs,D.Ve,D.Tt,D.Dt

where

( ((∀i)( 1≤i≤r ( D.Si = I.Si)

∧(D.Si).Vs = (I.Si).Vs

∧(D.Si).Ve = (I.Si).Ve

∧(D.Si).Tt = (I.Si).Tt

∧(D.Si).Dt = (I.Si).Dt ) )

∧ D.Vs = I.Vs

∧ D.Ve = I.Ve

∧ D.Tt = I.Tt

∧ D.Dt = I.Dt

∧ D.Sr+1 = vr+1

∧(D.Sr+1).Dt = NULL

∧(D.Sr+1).Vs ≤ Tβ

∧(D.Sr+1).Ve ≥ Tα )}

Page 143: UNIFIED APPROACH FOR DESIGNING FRAME BASED SYSTEMSpeople.du.ac.in/~pbedi/pb_thesis.pdf · unified approach for designing frame based systems by punam bedi a thesis submitted to the

154

DELETE

DELETE statement is of two types:

a. delete_instance_statement

b. delete_slot_statement

a. The delete_instance_statement logically deletes instances from a class by

updating the deletion time to the current time value. The skeleton

delete_instance_statement is:

DELETE

FROM F

WHERE σ

WHEN φ

The semantics are

D = { D.S1,D.S2,...,D.Sr,D.Vs,D.Ve,D.Tt,D.Dt

where

∃ F

( (¬σ' x ¬φ'

Page 144: UNIFIED APPROACH FOR DESIGNING FRAME BASED SYSTEMSpeople.du.ac.in/~pbedi/pb_thesis.pdf · unified approach for designing frame based systems by punam bedi a thesis submitted to the

155

∧ (∀i)( 1≤i≤r ( D.Si = F.Si)

∧ (D.Si).Vs = (F.Si).Ve

∧ (D.Si).Ve = (F.Si).Ve

∧ (D.Si).Tt = (F.Si).Tt

∧ (D.Si).Dt = (F.Si).Dt )

∧ D.Vs = F.Vs

∧ D.Ve = F.Ve

∧ D.Tt = F.Tt

∧ D.Dt = F.Dt ))}

∪ { D.S1,D.S2,...,D.Sr,D.Vs,D.Ve,D.Tt,D.Dt

where

∃ F

( σ'

∧φ'

∧(F.Si).Ve = NOW

∧(F.Si).Dt = NULL

∧ (∀i)( 1≤i≤r ( D.Si = F.Si)

∧ (D.Si).Vs = (F.Si).Vs

∧ (D.Si).Ve = TNOW

∧ (D.Si).Tt = (F.Si).Tt

∧ (D.Si).Dt = TNOW)) }

Page 145: UNIFIED APPROACH FOR DESIGNING FRAME BASED SYSTEMSpeople.du.ac.in/~pbedi/pb_thesis.pdf · unified approach for designing frame based systems by punam bedi a thesis submitted to the

156

∪ { D.S1,D.S2,...,D.Sr,D.Vs,D.Ve,D.Tt,D.Dt

where

∃ F

( σ'

∧φ'

∧(F.Si).Dt = NULL

∧ (∀i)( 1≤i≤r ( D.Si = F.Si )

∧ (D.Si).Vs = (F.Si).Vs

∧ (D.Si).Ve = (F.Si).Ve

∧ (D.Si).Tt = (F.Si).Tt

∧ (D.Si).Dt = TNOW )) }

The first block represents the unaffected frames. The second and third modify the

deletion times Dt of the affected tuples. The second block handles the case when the Ve

of the tuple is 'NOW', which has to be changed to the current time.

b. The delete_slot_statement logically deletes values of slots from an instance by

updating the deletion time to the current time value. The skeleton delete_slot_statement

is:

DELETE Sj

FROM I

/

Page 146: UNIFIED APPROACH FOR DESIGNING FRAME BASED SYSTEMSpeople.du.ac.in/~pbedi/pb_thesis.pdf · unified approach for designing frame based systems by punam bedi a thesis submitted to the

157

DELETE Si

FROM F

WHERE σ

WHEN φ

b1). DELETE Sj

FROM I

The semantics are

D = { D.S1,D.S2,...,D.Sr,D.Vs,D.Ve,D.Tt,D.Dt

where

( (∀i)( (1≤i≤j-1) ∧ (j+1≤i≤r) D.Si = I.Si

∧ (D.Si).Vs = (I.Si).Vs

∧ (D.Si).Ve = (I.Si).Ve

∧ (D.Si).Tt = (I.Si).Tt

∧ (D.Si).Dt = (I.Si).Dt )

∧ D.Vs = I.Vs

∧ D.Ve = I.Ve

∧ D.Tt = I.Tt

∧ D.Dt = I.Dt

∧ D.Sj = I.Sj

∧( D.Sj).Dt = TNOW

∧( D.Sj).Ve = TNOW )}

Page 147: UNIFIED APPROACH FOR DESIGNING FRAME BASED SYSTEMSpeople.du.ac.in/~pbedi/pb_thesis.pdf · unified approach for designing frame based systems by punam bedi a thesis submitted to the

158

b2). DELETE Si

FROM F

WHERE σ

WHEN φ

The semantics are

D = { D.S1,D.S2,...,D.Sr,D.Vs,D.Ve,D.Tt,D.Dt

where

∃ F

( (¬σ' ∨ ¬φ'

∧ (∀j)( 1≤j≤r ( D.Sj = F.Sj )

∧ (D.Sj).Vs = (F.Sj).Vs

∧ (D.Sj).Ve = (F.Sj).Ve

∧ (D.Sj).Tt = (F.Sj).Tt

∧ (D.Sj).Dt = (F.Sj).Dt )

∧ D.Vs = F.Vs

∧ D.Ve = F.Ve

∧ D.Tt = F.Tt

∧ D.Dt = F.Dt )) }

∪ { D.S1,D.S2 ,...,D.Sr,D.Vs,D.Ve,D.Tt,D.Dt

where

∃ F

Page 148: UNIFIED APPROACH FOR DESIGNING FRAME BASED SYSTEMSpeople.du.ac.in/~pbedi/pb_thesis.pdf · unified approach for designing frame based systems by punam bedi a thesis submitted to the

159

( σ'

∧φ'

∧(F.Si).Ve = NOW

∧(F.Si).Dt = NULL

∧ (∀j)( (1≤j≤i-1) ∧ (i+1≤j≤r)( D.Sj = F.Sj )

∧ (D.Sj).Vs = (F.Sj).Vs

∧ (D.Sj).Ve = (F.Sj).Ve

∧ (D.Sj).Tt = (F.Sj).Tt

∧ (D.Sj).Dt = (F.Sj).Dt )

∧ D.Si = F.Si

∧ (D.Si).Vs = (F.Si).Vs

∧ (D.Si).Ve = TNOW

∧ (D.Si).Tt = (F.Si).Tt

∧ (D.Si).Dt = TNOW )}

∪ { D.S1,D.S2,...,D.Sr,D.Vs,D.Ve,D.Tt,D.Dt

where

∃ F

( σ'

∧φ'

∧(F.Si).Dt = NULL

∧ (∀j)( (1≤j≤i-1) ∧ (i+1≤j≤r) ( D.Sj = F.Sj )

Page 149: UNIFIED APPROACH FOR DESIGNING FRAME BASED SYSTEMSpeople.du.ac.in/~pbedi/pb_thesis.pdf · unified approach for designing frame based systems by punam bedi a thesis submitted to the

160

∧ (D.Sj).Vs = (F.Sj).Vs

∧ (D.Sj).Ve = (F.Sj).Ve

∧ (D.Sj).Tt = (F.Sj).Tt

∧ (D.Sj).Dt = (F.Sj).Dt )

∧ D.Si = F.Si

∧ (D.Si).Vs = (F.Si).Vs

∧ (D.Si).Ve = (F.Si).Ve

∧ (D.Si).Tt = (F.Si).Tt

∧ (D.Si).Dt = TNOW )}

UPDATE

UPDATE statement is of two types:

a. update_instance_statement

b. update_slot_statement

a. The update_instance_statement modifies a class frame by first discarding the

selected instances and then inserting back the updated ones. The skeleton

update_instance_statement is

UPDATE F

Page 150: UNIFIED APPROACH FOR DESIGNING FRAME BASED SYSTEMSpeople.du.ac.in/~pbedi/pb_thesis.pdf · unified approach for designing frame based systems by punam bedi a thesis submitted to the

161

SET (F.Sm = vm)

WHERE σ

WHEN φ

VALID FROM α TO ß

The semantics are

D = { D.S1,D.S2,...,D.Sr,D.Vs,D.Ve,D.Tt,D.Dt

where

∃ F

( (¬σ' ∨ ¬φ'

∧ (∀i)( 1≤i≤r ( D.Si = F.Si )

∧ (D.Si).Vs = (F.Si).Vs

∧ (D.Si).Ve = (F.Si).Ve

∧ (D.Si).Tt = (F.Si).Tt

∧ (D.Si).Dt = (F.Si).Dt ) )

∧ D.Vs = F.Vs

∧ D.Ve = F.Ve

∧ D.Tt = F.Tt

∧ D.Dt = F.Dt ) }

∪ { D.S1,D.S2,...,D.Sr,D.Vs,D.Ve,D.Tt,D.Dt

where

∃ F

( σ'

Page 151: UNIFIED APPROACH FOR DESIGNING FRAME BASED SYSTEMSpeople.du.ac.in/~pbedi/pb_thesis.pdf · unified approach for designing frame based systems by punam bedi a thesis submitted to the

162

∧φ'

∧(∀i)( 1≤i≤r (F.Si).Vs = Tα

∧(F.Si).Ve = Tβ

∧(F.Si).Dt = NULL

∧ D.Si = F.Si

∧ (D.Si).Vs = (F.Si).Vs

∧ (D.Si).Ve = (F.Si).Ve

∧ (D.Si).Tt = (F.Si).Tt

∧ (D.Si).Dt = TNOW ) ) }

∪ { D.S1,D.S2,...,D.Sr,D.Vs,D.Ve,D.Tt,D.Dt

where

∃ F

( σ'

∧φ'

∧(∀i)( 1≤i≤r (F.Si).Ve = NOW

∧(F.Si).Dt = NULL

∧ D.Si = F.Si

∧ (D.Si).Vs = (F.Si).Vs

∧ (D.Si).Ve = TNOW

∧ (D.Si).Tt = (F.Si).Tt

∧ (D.Si).Dt = TNOW ) ) }

∪ { D.S1,D.S2,...,D.Sr,D.Vs,D.Ve,D.Tt,D.Dt

where

Page 152: UNIFIED APPROACH FOR DESIGNING FRAME BASED SYSTEMSpeople.du.ac.in/~pbedi/pb_thesis.pdf · unified approach for designing frame based systems by punam bedi a thesis submitted to the

163

¬∃F

( σ'

∧φ'

∧ (∀i)( 1≤i≤r ( F.Si = Vi ) ∧ (F.Si ).Dt = NULL)

∧ (∀i)( 1≤i≤r ( D.Si = F.Si)

∧ (F.Si).Vs ≤ Tβ

∧ (F.Si).Ve ≥ Tα

∧ (D.Si).Vs = (F.Si).Vs

∧ (D.Si).Ve = (F.Si).Ve

∧ (D.Si).Tt = TNOW

∧ (D.Si).Dt = NULL) ) }

The first block contains the unaffected instances. The second and third deletes

the selected instances and the last gives the inserted instance.

b. The update_slot_statement modifies an instance frame by first discarding the

values of the selected slots and then inserting back the updated ones. The skeleton

update_slot_statement is

UPDATE I

SET (I.Sm = vm)

VALID FROM α TO ß

The semantics are:

Page 153: UNIFIED APPROACH FOR DESIGNING FRAME BASED SYSTEMSpeople.du.ac.in/~pbedi/pb_thesis.pdf · unified approach for designing frame based systems by punam bedi a thesis submitted to the

164

D = { D.S1,D.S2,...,D.Sr,D.Vs,D.Ve,D.Tt,D.Dt

where

( (∀i)( (1≤i≤m-1) ∧ (m+1≤i≤r) D.Si = I.Si

∧ (D.Si).Vs = (I.Si).Vs

∧ (D.Si).Ve = (I.Si).Ve

∧ (D.Si).Tt = (I.Si).Tt

∧ (D.Si).Dt = (I.Si).Dt )

∧ D.Vs = I.Vs

∧ D.Ve = I.Ve

∧ D.Tt = I.Tt

∧ D.Dt = I.Dt

∧ (D.Sm =I.Sm

∧ (D.Sm).Vs = (I.Sm).Vs

∧ (D.Sm).Ve = (I.Sm).Ve

∧ (D.Sm).Tt = (I.Sm).Tt

∧ (D.Sm).Dt = TNOW )

∧ (D.Sm =vm

∧( D.Sm).Dt = NULL

∧( D.Sm).Vs ≤ Tβ

∧( D.Sm).Ve ≥ Tα ))}

Page 154: UNIFIED APPROACH FOR DESIGNING FRAME BASED SYSTEMSpeople.du.ac.in/~pbedi/pb_thesis.pdf · unified approach for designing frame based systems by punam bedi a thesis submitted to the

165

6.4 Summary

In this chapter, we have designed and developed FSQL, a structured query

language for enhanced frame systems capable of handling temporal, distributed and

multimedia information. A brief overview of the language has been given with the help

of examples. The complete syntax of FSQL has been designed. The semantics of

important statements has also been included in the chapter. The language has been

simulated using LPA PROLOG Professional Compiler and Quintus Prolog 2.3. The

results of the sample queries are shown in Appendix-I.

Page 155: UNIFIED APPROACH FOR DESIGNING FRAME BASED SYSTEMSpeople.du.ac.in/~pbedi/pb_thesis.pdf · unified approach for designing frame based systems by punam bedi a thesis submitted to the

166

Chapter 7

Conclusion

7.1 Conclusion

In the thesis, the capabilities of the existing frame based systems have been

enhanced to handle temporal, distributed, multimedia facilities. The syntax and

semantics of the language FSQL, i.e., Frame_oriented Structured Query Language

similar to SQL in structure has been designed and developed. Prototype of FSQL has

been implemented using LPA Prolog Professional Compiler and Quintus Prolog 2.3 for

demonstration purpose.

A temporal extension to frame based system[Bedi 93a] has been presented in the

form of proposed temporal frame (Tframe) system which is based on slot versioning in

contrast with frame versioning keeping in view the high degree of redundancy owing to

duplication of the entire frame, especially when the changed portion is relatively small

compared with the unchanged portion in case of frame versioning. The existing frame

based systems have been extended using Allen's interval calculus for temporal reasoning

along with the concept of a temporal element which is the union of intervals instead of

an interval. This system integrates with semantic network of events if one of the

Page 156: UNIFIED APPROACH FOR DESIGNING FRAME BASED SYSTEMSpeople.du.ac.in/~pbedi/pb_thesis.pdf · unified approach for designing frame based systems by punam bedi a thesis submitted to the

167

endpoints of interval is unknown. Valid time and transaction time for the representation

of temporal information are used in the presented Tframe system.

The concept of triggers in frames [Bedi 93b] has been explored in the proposed

work giving their definition level, scope, context and usage. Triggers have been

classified as Event_based and User_defined. Local and global nature of triggers has also

been explained. Inheritance and overloading of triggers given in the thesis are important

features.

The design of a transparent, homogenous, frame based system in a distributed

environment has been presented in the next chapter. The concepts of Network

fragmentation, Instance fragmentation and Slot fragmentation along with their

first_order representation have been discussed. Various types of distribution

transparencies, i.e., Fragmentation transparency, Location transparency and Local

mapping transparency have also been explained. The presented model also supports

triggers and temporal aspects in frame systems. The implementation on the Internet of

this distributed frame system has been included in the thesis.

Another contribution in the thesis is the addition of multimedia dimension to

frame systems. A Multimedia Knowledge Base Management System using frames has

been designed extending the current frame based system approach. In this system

structural and behavioral knowledge can be represented. The facets of slots can flexibly

represent constraints and triggers. Abstraction, generalization and classification of data

Page 157: UNIFIED APPROACH FOR DESIGNING FRAME BASED SYSTEMSpeople.du.ac.in/~pbedi/pb_thesis.pdf · unified approach for designing frame based systems by punam bedi a thesis submitted to the

168

are provided by the proposed multimedia frame based system. The basic structure and

operations of multimedia data are also supported. The system has the potential of

offering active video presentations and hyperlinks so that the user can navigate from one

medium to another.

Finally, a query language FSQL, i.e., Frame_oriented Structured Query

Language has been designed and developed for the enhanced frame systems having

temporal, distributed and multimedia capabilities. The syntax of FSQL has been

designed along with the semantics. Some of the statements of FSQL have been

implemented using LPA Prolog Professional Compiler and Quintus Prolog 2.3.

It may be mentioned here that some of the investigations carried out in this

thesis have been published /communicated for publication in the form of the following

papers.

1. A Frame System Shell (FS_SHELL), Information Technology in Everyday

Life, Proc. XXVl Annual Convention of Computer Society of India, pp.283-

297, 1991.

2. Time Dimension to Frame Systems, Journal of Information Science and

Technology, Vol.2, No.3, pp.212-228, April 1993.

3. Triggers in Frames, Artificial Intelligence Technology Applications and

Page 158: UNIFIED APPROACH FOR DESIGNING FRAME BASED SYSTEMSpeople.du.ac.in/~pbedi/pb_thesis.pdf · unified approach for designing frame based systems by punam bedi a thesis submitted to the

169

Management, Proc. 4th

International Computing Congress, pp.178-185,

Dec.1993.

4. FSQL- Frame_ oriented Structured Query language, Journal of Information

Science and Technology, Vol.4, No.2, pp.142-168, Jan.1995.

5. Distributed Frame Systems, Communicated For Publications.

6. Multimedia Dimension to Frame Systems, Communicated For Publications.

7.2 Applications of the Proposed System

7.2.1 Intelligent Systems

Temporal and trigger facilities in the proposed system can lead to intelligent and

dynamic systems. Two such systems where the proposed system can be applied are:

- Operating Systems

- Tutoring Systems

Operating Systems

The enhanced frame based systems can be used to develop intelligent Windows

based Operating Systems. In the existing Windows Operating Systems, a window is

nothing but a static object. Dynamic windows can be created using temporal feature of

Page 159: UNIFIED APPROACH FOR DESIGNING FRAME BASED SYSTEMSpeople.du.ac.in/~pbedi/pb_thesis.pdf · unified approach for designing frame based systems by punam bedi a thesis submitted to the

170

frames which means windows can grow or shrink w.r.t. its contents. Windows can be

made intelligent using trigger concepts of frames. Such operating system will be useful

for distributed environment having multimedia data.

Tutoring Systems

The proposed frame system can also be used to develop intelligent tutoring

systems where students and teachers can be modelled using such powerful frames and

can provide reasoning of various concepts in it by using FSQL.

7.2.2 Extension of DataBase Processing

Since database processing is a special case of frame based processing, all

database applications can be developed using the proposed frame based system, thereby

providing knowledge base processing and intelligence to the applications.

7.2.3 Secure access to a Decision Table

Access control mechanisms can be implemented at the field level in a more

secure fashion than in decision tables using RDBMS.

Page 160: UNIFIED APPROACH FOR DESIGNING FRAME BASED SYSTEMSpeople.du.ac.in/~pbedi/pb_thesis.pdf · unified approach for designing frame based systems by punam bedi a thesis submitted to the

171

Bibliography

[1] [Akscyn 84] Akscyn R., McCracken D., ZOG and the USS CARL VINSON:

Lessons in System Development, in Proceedings of the First IFIP Conference

on Human-Computer Interaction (Interact'84), Washington D.C., 1984.

[2] [Akscyn 88] Akscyn R., Yoder E., McCracken D., The Data Model is the

Heart of Interface Design, CHI'88.

[3] [Allen 83] Allen J.F., Maintaining knowledge about temporal intervals,

Communications of the ACM, Vol.26, No.11, pp.832-843, Nov.1983.

[4] [Allen 84] Allen J.F., Towards a general theory of action and time, Artificial

Intelligence, Vol.24, No.2, pp.123-154, July 1984.

[5] [Anger 88] Anger Frank D., Morris Robert A., Rodriguez Rita V., Mata- Toledo

Ramon A., A Temporal Relational Calculus, Proc.2nd

Australian Joint AI

Conf., Lecture notes in AI, No.406, Springer Verlag, Nov. 1988.

[6] [Anger 89] Anger Frank D., Morris A.Robert, Rodriguez Rita V., Mata- Toledo

Ramon A., Integrating Semantic Nets and the Relational data model for

Temporal Knowledge Bases, Advances in Artificial Intelligence Research,

Vol.1, pp.49-64, 1989.

[7] [Bedi 91] Bedi Punam, Sharma K.D., Kaushik Saroj, A Frame System Shell

(FS-SHELL), Information Technology in Everyday Life, Proc. XXVl Annual

Convention of Computer Society of India, pp.283-297, 1991.

[8] [Bedi 93a] Bedi Punam, Sharma K.D., Kaushik Saroj, Time Dimension to

Frame Systems, Journal of Information Science and Technology, Vol.2, No.3,

Page 161: UNIFIED APPROACH FOR DESIGNING FRAME BASED SYSTEMSpeople.du.ac.in/~pbedi/pb_thesis.pdf · unified approach for designing frame based systems by punam bedi a thesis submitted to the

172

pp.212-228, April 1993.

[9] [Bedi 93b] Bedi Punam, Sharma K.D., Kaushik Saroj, Triggers in Frames,

Artificial Intelligence Technology Applications and Management, Proc. 4th

International Computing Congress, pp.178-185, Dec.1993.

[10] [Bedi 95] Bedi Punam, Sharma K.D., Kaushik Saroj, Distributed Frame

Systems, Communicated For Publications.

[11] [Bedi 96] Bedi Punam, Sharma K.D., Kaushik Saroj, Multimedia Dimension to

Frame Systems, Communicated For Publications.

[12] [Bell 92] Bell D. and Grimson J., Distributed Database Systems,

Addison_Wesley, 1992.

[13] [Berra 93] Berra P.B., Golshani F., Mehrotra R., Sheng O.R.Liu, Guest Editors'

Introduction Multimedia Information Systems, IEEE Transactions on

Knowledge and Data Engineering, Vol.5, No.4, August 1993.

[14] [Blair 90] Blair G., Gallagher J., Hutchinson D. and Shepherd D.(University of

Lancaster), Object-Oriented Languages, Systems and Applications, 1990.

[15] [Bobrow 77] Bobrow D.G., Winograd T., An Overview of KRL, a Knowledge

Representation Language, Cognitive Science, Vol.1, No.1, 1977.

[16] [Bobrowki 94] Bobrowki S. M. Mastering Oracle 7 and Client/Server

Computing, BPB Publications, 1994.

[17] [Bodorik 92] Bodorik P., Riordon J.S., Pyra J.S., Deciding to Correct

Distributed Query Processing, IEEE Trans. on Knowledge and Data Engg.,

Vol.4, No.3, June 1992.

[18] [Boudnik 95] Boudnik T.M., Effelsberg W., MHEG Explained, IEEE

Page 162: UNIFIED APPROACH FOR DESIGNING FRAME BASED SYSTEMSpeople.du.ac.in/~pbedi/pb_thesis.pdf · unified approach for designing frame based systems by punam bedi a thesis submitted to the

173

Multimedia, Spring 1995.

[19] [Botto 93] Botto F., Multimedia, CD-ROM and Compact Disc-a guide for

users and developers, Galgotia Publications, 1993.

[20] [Brachman 85] Brachman R.J., Schmolze J.G., An Overview of the KL-ONE

Knowledge Representation System, Cognitive Science, Vol.9, pp.171-216,

1985.

[21] [Brewka 87] Brewka G., The Logic of Inheritance in Frame Systems,

Proceedings IJCAI-87, pp.483-488, 1987.

[22] [Cabodi 91] Cabodi G., Camurati P., Prinetto P. & Reorda M. Sonza, TPDL*:

Extended Temporal Profile Description Language, Software Practice and

Experience, Vol.22, No.4, pp.355-374, April 1991.

[23] [Cardenas 93] Cardenas A.F., Ieong I.T., Taira R.K., Barker R., Breant C., The

Knowledge-Based Object-Oriented PICQUERY+ Language, IEEE

Transactions on Knowledge and Data Engineering, Vol.5, No.4, August 1993.

[24] [Ceri 84] Ceri Stefeno, Pelagatti Giusippe, Distributed Databases Principles

and systems, McGraw_Hill, 1984.

[25] [Chen 86] Chen Hsin-Hsi, Lin I-Peng, Wu Chien-Ping, A Logic

Programming approach to Frame-based Language Design, Proc. Fall Joint

Computer Conference, INFOMART, Nov 2 - 6, 1986.

[26] [Chen 88] Chen Fu-an, Zhu Yi-fen, PORKS : A Prolog-Based Object-

Oriented Knowledge Representation System, Proc. of the IEEE Int. Conf. on

Systems, Man and Cybernetics, Vol.1, 1988.

[27] [Clifford 83] Clifford J.,Warren D., Formal Semantics of Time in Database

Page 163: UNIFIED APPROACH FOR DESIGNING FRAME BASED SYSTEMSpeople.du.ac.in/~pbedi/pb_thesis.pdf · unified approach for designing frame based systems by punam bedi a thesis submitted to the

174

Systems, ACM Transactions on Database Systems, Vol.8, No.2, pp.214-264,

1983.

[28] [Clocksin] Clocksin W.F, Mellish C.S., Programming in Prolog, Springer

International Student Edition.

[29] [Dario] Dario Giuse; Efficient Frame Systems; ?

[30] [Date 87] Date C.J., A Guide to THE SQL STANDARD, Addison- Wesley

Publishing Company, 1987.

[31] [Dayal 95] Dayal U., Hanson E., Widom J., Active Database Systems, in [Kim

95].

[32] [Davis 95] Davis R.S., Atlas: A Nested Relational Database System for Text

Applications, IEEE Transactions on Knowledge and Data Engineering, Vol.7,

No.3, June 1995.

[33] [Dean 87] Dean T.L. and McDermott D.V.,Temporal Data Base Management,

Artificial Intelligence, Vol.32, No.1, pp.1-55, 1987.

[34] [Delisle 86] Delisle N. and Schwartz M., Neptune: A Hypertext system for

CAD applications, in Proceedings of the ACM SIGMOD Conference, pp.132-

142, 1986.

[35] [Dubois 86] Dubois E., Hagelstein J., Lahou E.,Ponsaert F., Rifaut A. and

Williams F., The ERAE model: A case study, in T.W.Olle, H.g.Sol,

A.A.Verrijn Sruart (eds.), Information System Design Methodologies:

Improving the Practice , North-Holland, pp.87-106, 1986.

[36] [Egenhofer 94] Spacial SQL: A Query and Presentation Language, IEEE

Transaction on Knowledge and Data Engineering, Vol.6, No.1, Feb.1994.

Page 164: UNIFIED APPROACH FOR DESIGNING FRAME BASED SYSTEMSpeople.du.ac.in/~pbedi/pb_thesis.pdf · unified approach for designing frame based systems by punam bedi a thesis submitted to the

175

[37] [Elnasri 90] Elnasri Ramez, Wuu Gene T.J., A Temporal Model & Query

Language for ER databases, Proc. 6th

Int. Conf. on Data Engg., IEEE

Computer Society Press, 1990.

[38] [Fikes 85] Fikes Richard, Kehlar Tom, The Role of Frame-based

Representation in Reasoning, Communications of the ACM, Vol.28, No.9,

pp.904-920, Sept.1985.

[39] [Gadia 86] Gadia S.K., Towards a multihomogeneous model for a temporal

database, Proc. Int. Conf. on Data Engineering, IEEE Computer Society,

pp.390-397, 1986.

[40] [Gevarter 87] Gevarter W.B., The Nature and Evaluation of Commercial

Expert System building tools, IEEE Computer, Vol.20, No.5, pp.24-41, 1987.

[41] [Goldstein 79] Goldstein I.P., Roberts R.B., Using Frames in Scheduling, in

Winston P.H., Brown R. (eds.), Artificial Intelligence: An MIT Perspective, Vol.

1, MIT Press, pp.253-284, 1979.

[42] [Goodman 87] Goodman D., The Complete Hypercard Handbook, Bantam

Books, New York, 1987.

[43] [Graham 91] Graham H. Seibert, Working with Oracle Developing Tools,

Windcrest Books, An imprint of TAB Books, 1991.

[44] [Gray 88] Gray P.M.D., Lucas R.J., Prolog and Databases: Implementations

and New Directions, Ellis Harwood series in Artificial Intelligence, 1988.

[45] [Fox 86] Fox M.S., Wright J.M., Adam D., Experiences with SRL: An

Analysis of a Frame-based Knowledge Representation, in [Kerschberg 86].

[46] [Halasz 88] Halasz F. G., Reflections on Notecards: Seven Issues for the Next

Page 165: UNIFIED APPROACH FOR DESIGNING FRAME BASED SYSTEMSpeople.du.ac.in/~pbedi/pb_thesis.pdf · unified approach for designing frame based systems by punam bedi a thesis submitted to the

176

generation of Hypermedia Systems, Communications of ACM, Vol.31, No.7,

pp.836-852, July 1988.

[47] [Hayes 81] Hayes P., The Logic of Frames, in B.L. Webber and N.J. Nilson

(eds.), Readings in Artificial Intelligence, pp.451-458, 1981.

[48] [Hutchinson 89] Hutchinson A., Inheritance and kinds of slots, The Computer

Journal, Vol.32, No.1, pp.63-67, 1989.

[49] [Ilsoo 86] Ilsoo, Towards An Implementation of Database Management

Systems with Temporal Support, Proc. Int. Conf. on Data Engg., IEEE

Computer Society, 1986.

[50] [Ishikawa 90] Ishikawa H., An Object-Oriented Knowledge Base Approach

to a Next Generation of Hypermedia System, Digest of Papers, Comcon 90,

San Francisco, 35th

IEEE Computer Society International Conference, Feb.26-

March 2, 1990.

[51] [Ishikawa 93] Ishikawa H., Suzuki F., Kozakura F., Makinouchi A.,

Miyagishima M., Izumida Y., Aoshima M., Yamane Y., The Model, Language,

and Implementation of an Object-Oriented Multimedia Knowledge Base

Management System, ACM Transactions on Database Systems, Vol.18, No.1,

pp.1-50, March 1993.

[52] [Ito 85] Ito H., Urno H., ZERO: Frame + Prolog, Logic Programming, Proc. of

the 4th

Conference, Tokyo, Japan, July 1985.

[53] [Joseph 88] Joseph T., Cardenas A,F., PICQUERY: A High Level Query

Language for Pictorial Database Management, IEEE Trans. on Software

Engineering, Vol.14, No.1, 1988.

Page 166: UNIFIED APPROACH FOR DESIGNING FRAME BASED SYSTEMSpeople.du.ac.in/~pbedi/pb_thesis.pdf · unified approach for designing frame based systems by punam bedi a thesis submitted to the

177

[54] [Kahn 75] Kahn K. & Gorry G.A., Mechanizing Temporal Knowledge,

Artificial Intelligence, Vol.9, pp 87-108, Sept.1975.

[55] [Kerschberg 86] Kerschberg L.(ed.) Expert Database Systems, The

Benjamin/Cummings Publishing Company, Inc., 1986.

[56] [Khoshafian 90] Khoshafian Setrag, Abnous Razmik, OBJECT

ORIENTATION Concepts, Languages, Databases, User Interfaces, John

Wiley and Sons,Inc., 1990.

[57] [Kim 89] Kim Won, Lochovsky Frederick H.(Eds.), Object-Oriented

Concepts, Databases, and Applications, ACM press, Addison-Wesley

Publishing Company, 1989.

[58] [Kim 95] Kim W.(Ed.) Modern Database Systems - The Object Model,

Interoperability, and Beyond, ACM Press, Addison-Wesley Publishing

Company, 1995.

[59] [Kowalski 86] Kowalski R.A. & Sergot M.J., A Logic_based Calculus of

Events, New Generation Computing, Vol.4, No.1, pp.67-95, 1986.

[60] [Kramer 91], Kramer B.M., Metalevel and Temporal Reasoning in

KNOWBEL: Features and Implementations, Proceedings of the IEEE Conf.

on Tools for AI, pp.542-543, 1991.

[61] [Kumar Vijay] Kumar Vijay, Distributed Database Management Systems, A

Tutorial, CSI Indore Chapter.

[62] [Liebowitz 89] Liebowitz Jay, Salvo Daniel A.De (Eds.), STRUCTURING

EXPERT SYSTEMS , Domain, Design and Development, Prentice-Hall Inc.,

1989.

Page 167: UNIFIED APPROACH FOR DESIGNING FRAME BASED SYSTEMSpeople.du.ac.in/~pbedi/pb_thesis.pdf · unified approach for designing frame based systems by punam bedi a thesis submitted to the

178

[63] [Maiocchi 86] Maiocchi R. and Pernicci B., Time Reasoning in the Office

Environment, in Bracchi G. and Tsichritzis D.(eds.), Methods and Tools for

Office Systems, Amsterdam, The Netherlands: North-Holland, 1986.

[64] [Maiocchi 91] Maiocchi R. and Pernici B., Temporal Data Management

Systems: A Comparative View, IEEE Trans. on Knowledge & Data Engg.,

Vol.3, No.4, Dec.1991.

[65] [Malpas 87] Malpas John, Prolog : A Relational Language and its

Applications, Prentice-Hall Inc., 1987.

[66] [Meghini 92] Meghini Carlo and Thanos Costantino, Multimedia Document

Handling, in [Seshagiri 92].

[67] [Merritt 89] Merritt Dennis, Building Expert Systems in Prolog,

Springer-Verlag, 1989.

[68] [Minsky 75] Minsky M., A Framework for Representing Knowledge in

Winston P.H.(ed.), The Psychology of Computer Vision, McGraw-Hill Book

Company, 1975.

[69] [Mockler 87] Mockler R.J., Knowledge-Based Systems: What They Are and

How They Work, in Mockler R.J., Knowledge-Based Systems for Strategic

Planning, Prentice-Hall, 1987.

[70] [Molina 95] Molina H.G., Hsu M., Distributed Databases, in [Kim 95].

[71] [Mylopoulos 84] Mylopoulos J., Levesque H.J., An Overview of Knowledge

Representation in Topics in Brodie M.L., Mylopoulos J., Schmidt J.W.(eds.),

Information Systems, On Conceptual Modelling, Perspective from AI,

Databases and Programming Languages, Springer-verlag, 1984.

Page 168: UNIFIED APPROACH FOR DESIGNING FRAME BASED SYSTEMSpeople.du.ac.in/~pbedi/pb_thesis.pdf · unified approach for designing frame based systems by punam bedi a thesis submitted to the

179

[72] [Mylopoulos 90] Mylopoulos J., Borgida A., Jarke M.and Koubarakis M.,

Telos: Representing Knowledge about Information Systems, ACM Trans.

on Information Systems, Vol.8, No.4, pp.325-362, Oct.1990.

[73] [Nelson 88] Nelson T., Managing immense storage, Byte, McGraw Hill,

pp.225-238, January 1988.

[74] [Niwa 84] Niwa K., Sasaki K., Ihara H., An Experimental Comparison of

Knowledge Representation Schemes, AI MAg., pp.29-36, Summer 1984.

[75] [Oomoto 93] Oomoto E., Tanaka K., OVID: Design and Implementation of a

Video-Object Database System, IEEE Transactions on Knowledge and Data

Engineering, Vol.5, No.4, August 1993.

[76] [Oracle] SQL Forms Designer's Reference Manual of Oracle.

[77] [Ozsu 91] Ozsu Tamer M., Valdduriez Patrick, Principles of Distributed

Database Systems, Prentice_Hall, 1991.

[78] [Parsaye 88] Parsaye Kamran, Chignell Mark, Expert Systems for Experts,

John Wiley and Sons, Inc., 1988.

[79] [Parsaye 89] Parsaye K., Chignell M., Khoshafian S., Wong H.,

INTELLIGENT DATABASES Object-Oriented, Deductive Hypermedia

Technologies, John Wiley and Sons,Inc. ,1989.

[80] [Perry 88] Perry James T. and Lateer Joseph G., Understanding ORACLE,

BPB Publications, 1988.

[81] [Pimentel 89] Pimentel S.G. and Cuadrado J.L., A Horn Clause Theory of

Inheritance and Temporal Reasoning, EPIA89, Lecture notes in AI, No.390,

Springer_Verlag, 1989.

Page 169: UNIFIED APPROACH FOR DESIGNING FRAME BASED SYSTEMSpeople.du.ac.in/~pbedi/pb_thesis.pdf · unified approach for designing frame based systems by punam bedi a thesis submitted to the

180

[82] [Rosenberg 79] Rosenberg S., Roberts B., Coreference in a Frame Database,

Proceedings of the Sixth International Joint Conference on Artificial

Intelligence, Tokyo, Vol.2, pp.729-734, August 1979.

[83] [Rowe 89] Rowe Neil C, Artificial Intelligence through Prolog, Prentice_Hall,

1989.

[84] [Russinoff 89] Russinoff D.M., Proteus: A Frame-Based Nonmonotonic

Inference System, in [Kim 89].

[85] [Saiya 92] Saiya C., Shah A., Jain R., Venkatraman, Media DB: An Object-

Oriented Multimedia DBMS and Application Development Kit, in

[Seshagiri 92].

[86] [Saxena 91] Saxena M.K., DISPROS-A Distributed Blackboard

Architecture, Ph.D. Thesis, Dept. of Computer Science and Engineering,

I.I.T.Delhi, June 1991.

[87] [Seshagiri 92] Seshagiri N., Akapov A., MULTIMEDIA COMPUTER AND

COMMUNICATIONS Technology and Applications, Papers presented at

the International Conference on Multimedia Computer and

Communications: Technology, Applications and Enterprise

(INFOCOM'92), Tata McGraw-Hill Publishing Company Limited, 1992.

[88] [Sharma 95] Sharma K.D., Bedi Punam, Kaushik Saroj, FSQL-Frame_

oriented Structured Query Language, Journal of Information Science and

Technology, Vol.4, No.2, pp.142-168, Jan.1995.

[89] [Snodgrass 86] Snodgrass Richard, Ahn I., Temporal Databases, Computer,

Vol.19, No.9, pp.35-42, Sept.1986.

Page 170: UNIFIED APPROACH FOR DESIGNING FRAME BASED SYSTEMSpeople.du.ac.in/~pbedi/pb_thesis.pdf · unified approach for designing frame based systems by punam bedi a thesis submitted to the

181

[90] [Snodgrass 87] Snodgrass Richard, The Temporal Query Language TQUEL,

ACM Transactions on Database Systems, Vol.1, No.3, pp.247-298, 1987.

[91] [Swanberg 92] Swanberg D., Weymouth T., Jain R., Content-based Modelling

in Multimedia Information Systems, in [Seshagiri 92].

[92] [Trigg 86] Trigg R. & Weiser M., TEXTNET: a network-based approach to

text handling, ACM Transactions on Office Information Systems, pp.1-23,

January 1986.

[93] [Trigg 88] Trigg. R.,Guided tours and tabletops: tools for communicating in

a hypertext environment, ACM Transactions on Office Information Systems,

pp.398-414, October 1988.

[94] [Tsichritzis 82] Tsichritzis Dionysios C., Lochovsky Frederick H., DATA

MODELS, Prentice-Hall Inc., 1982.

[95] [Turban 90] Turban Efrain, Decision Support and Expert Systems,

Management Support Systems, Second Edition, McMillan Publishing

Company, 1990.

[96] [Yau 91] Yau Chuk and Chat Grau S.W., TempSQL- A Language Interface to

a Temporal Relational Model, Journal of Information Science and

Technology, Vol.1, No.1, Oct.1991.

[97] [Walters 88] Walters John R., Nielsen Norman R., CRAFTING

KNOWLEDGE-BASED SYSTEMS Expert Systems Made realistic, John

Wiley & Sons, 1988.

[98] [Waterman 86] Waterman Donald A., A Guide to Expert Systems, Addison-

Wesley Publishing Company, 1986.

Page 171: UNIFIED APPROACH FOR DESIGNING FRAME BASED SYSTEMSpeople.du.ac.in/~pbedi/pb_thesis.pdf · unified approach for designing frame based systems by punam bedi a thesis submitted to the

182

[99] [Weiderhold 86] Weiderhold G., Knowledge verses Data, in Brodie M.L. and

Mylopoulos J.(eds.), On Knowledge Base Management Systems, Springer

Verlag, Berlin, West Germany, pp.77-82, 1986.

[100] [Weiskamp 88] Weiskamp Keith, Hengl Terry, Artificial Intelligence

Programming with Turbo Prolog, John Wiley and Sons, 1988.

[101] [Widman 89] Widman Lawrence E., Loparo Kenneth A., Nielsen Norman

R.(eds.), Artificial Intelligence Simulation and Modelling, John Wiley and Sons,

1989.

[102] [Woelk 87] Woelk D., Kim W., Multimedia Information Management in an

Object-Oriented Database System in Proceedings Very Large Data Bases,

Brighton, England, Sept.1987.

[103] [Wong 77] Wong Harry K.T., Mylopoulos J., Two views of Data Semantics:

Data Models in Artificial Intelligence and Database Management, INFOR,

Vol.15, No.3, pp.344-383, 1977.

[104] [Woods 83] Woods W.A., What's Important About Knowledge

Representation?, IEEE Computer, pp.22-27, Oct.1983.

[105] [Yankelovich 88] Yankelovich N. et.al. Intermedia: The Concept and

Construction of a Seamless Information Environment, IEEE Computer,

Vol.21, No.1, pp.81-96, Jan.1988.

[106] [Zaniolo 86] Zaniolo C., Ait-Kaci H., Beech D., Cammarata S., Kerschberg L.,

Maier D., Object-Oriented Database Systems and Knowledge Systems, in

[Kerschberg 86], pp.49-65.

Page 172: UNIFIED APPROACH FOR DESIGNING FRAME BASED SYSTEMSpeople.du.ac.in/~pbedi/pb_thesis.pdf · unified approach for designing frame based systems by punam bedi a thesis submitted to the

183

Glossary

Abstract class : A class that can not have direct instances but whose descendants can

have instances is known as an abstract class.

Active database system : A database system that monitors situations of interest, and

when they occur, triggers an appropriate response in a timely manner.

Aggregation : It is a special form of association, between a whole and its parts, in

which the whole is composed into parts. Between the component objects and their

aggregate object there exists a 'consists-of' relationship.

Ancestor class : A class that is a direct or indirect superclass of a given class is known

as an ancestor class of the given class.

Association : It is a kind of abstraction in which a relationship between elements is

considered at a higher level object known as set object. Between the elements and its set

object there exists a member-of relationship.

Classification : It is a concept in which objects with common properties (attributes) are

collected to form object types. Between an object and an object type there exists an

'instance-of' relationship.

Context of a Trigger : Context of a trigger determines which objects are affected by its

actions. Context of a slot level trigger is the slot, of the instance level trigger is all slots

of that instance, of a class level trigger is all instances of that class and of a root level

trigger is the network of frames. Context of a key trigger is slot, instance, class or root

frame in which a function key is pressed. The context of a user_named trigger is same as

the context of trigger calling it.

Distributed Knowledge Based System : A knowledge based system (KBS) is said to

Page 173: UNIFIED APPROACH FOR DESIGNING FRAME BASED SYSTEMSpeople.du.ac.in/~pbedi/pb_thesis.pdf · unified approach for designing frame based systems by punam bedi a thesis submitted to the

184

be distributed if the knowledge is distributed over different computers connected via a

computer network. Each of these computers has autonomous processing capabilities for

performing local applications. These computers at various sites also participate in at

least one global application, which requires accessing knowledge at other sites using a

communication system.

Distribution Transparency : Transparency is the separation of lower level components

from the higher level components. The implementation details of lower level

components are hidden from user and from the higher level components.

Dynamic Slots : Slots which contain time/lifespan facet are called dynamic slots.

Encapsulation : It is defined as the grouping together of various properties associated

with an identifiable entity in the system in a lexical and logical unit, i.e., the object.

Furthermore, access to the object is restricted to a well-defined interface [Blair 90].

Facet : Each slot contains one or more facets (sometimes called subslots) which

describe some knowledge or procedures about the attributes in the slot.

Frame : A frame is a data structure that includes all the knowledge about a particular

object. This knowledge is organized in a special hierarchical structure that permits a

diagnosis of knowledge independence.

Frame Versioning : Associating time at frame level is known as frame versioning.

Function Overloading : Function overloading allows the same function name to be

applied with different types and quantities of arguments [Khoshafian 90]. The same

function name can be used to perform operations on different data types. Several

functions can share a name but completely different implementations.

Page 174: UNIFIED APPROACH FOR DESIGNING FRAME BASED SYSTEMSpeople.du.ac.in/~pbedi/pb_thesis.pdf · unified approach for designing frame based systems by punam bedi a thesis submitted to the

185

Generalization : It is the relationship between a class and one or more refined or

specialized versions of it. There is an "ako" relationship between the specialized and

generalized object types.

Heterogenous KBS : A distributed knowledge based system with at least two

knowledge representation techniques are used at various sites is known as a

heterogenous knowledge based system.

Homogenous KBS : It refers to a distributed system with the same knowledge

representation technique used at each site.

Hypermedia : It represent extensions of the hypertext concepts where text is combined

with images, i.e., hypermedia is interlinking media components.

Hypertext : It is the term coined in the sixties by Ted Nelson to describe the concept of

linking textual information and presenting it in a non-linear fashion

Inheritance : The mechanism for passing knowledge from frame to frame down

through the taxonomy from general to specific is known as inheritance. Inheritance is a

good way to find information that is not stored in the place where we first look. It leads

to what is known as cognitive economy [Parsaye 88], where information is only stored

in one place but can still be retrieved from different parts of the network or hierarchy.

Instance Fragmentation : In this case, all instances of a particular class frame of the

instance NOF after network fragmentation are not at the same place, but are contained at

the site of the complete network fragment (or instance NOF).

Instantiation : The process of creating instances from classes is known as instantiation.

Page 175: UNIFIED APPROACH FOR DESIGNING FRAME BASED SYSTEMSpeople.du.ac.in/~pbedi/pb_thesis.pdf · unified approach for designing frame based systems by punam bedi a thesis submitted to the

186

Join class : In multiple inheritance, a class with more than one superclass is known as a

join class.

Multimedia : It is a broad, sometimes vague, and often misunderstood term which can

be applied to a system or process which embodies and combines various kinds of

conventional media. Modern multimedia can be assumed as comprising motion video.

Multiple inheritance : It is a type of inheritance that permits a class to have more than

one superclass and to inherit features from all ancestors.

Network Fragmentation : In case of Network fragmentation, NOF is fragmented at the

root level, i.e., different instances of the root give rise to different fragments. Hence

corresponding to each instance of the root, one instance NOF is created.In general, if R

corresponds to the root of NOF and R1, R2, ...,Rn are instances of R, then after

fragmentation R1, R2, ...,Rn will be located at different sites.

Polymorphism : It implies that objects can belong to more than one classification.

Classification can therefore overlap and intersect. Thus it is possible for two different

classifications to share the common behavior.

Scope of a trigger : It is defined as the domain in which a trigger operates and is

determined by the level at which it is defined.

Slot Fragmentation : In case of slot fragmentation, all slots of instances of a class

frame are not stored at one place, i.e., few slots of the instance frames are located at one

place and other slots at other place within the site of instance NOF.

Slots : This is a set of attributes that describe the object represented by the frame. For

example, for a hospital frame, phone no. or address will be in the slots.

Page 176: UNIFIED APPROACH FOR DESIGNING FRAME BASED SYSTEMSpeople.du.ac.in/~pbedi/pb_thesis.pdf · unified approach for designing frame based systems by punam bedi a thesis submitted to the

187

Slot Versioning : Associating time at slot level is known as slot versioning.

Static Slots : Slots which do not contain time/lifespan facet are called static slots

because they do not change with time. The lifespan of static slot is same as lifespan of

corresponding frame.

Subtyping : A type T1 is a subtype of type T2 if every instance of T1 is an instance of

T2 [Khoshafian 90]. For example, child hospital is a subtype of hospital because every

instance of child instance is an instance of hospital. So subtypes form a layer between

class & it's instances.

Temporal Frame Model : It is an extension of the frame model which includes the

temporal information. Time/Lifespan can be added with a frame or a slot. Lifespan for

the root node of the network of frames denotes the period for which the problem is to be

solved. For rest of the frames of network, time may or may not be present.

Trigger : The procedural attachments are viewed as triggers which implies the

activation of some other mechanism(s). A trigger recognizes the occurrence of an event

and conditionally performs certain action(s).

Page 177: UNIFIED APPROACH FOR DESIGNING FRAME BASED SYSTEMSpeople.du.ac.in/~pbedi/pb_thesis.pdf · unified approach for designing frame based systems by punam bedi a thesis submitted to the

188

Abbreviations

AI Artificial Intelligence

CC Communication Controller

CCITT International Telegraphy and Telephony Consultative Committee

CLM Communication Level Manager

DKBS Distributed Knowledge Based System

DFS Distributed Frame System

FKDL Frame Knowledge Definition Language

FKML Frame Knowledge Manipulation Language

FSQL Frame_oriented Structured Query Language

FS-Shell Frame System Shell

ISO International Standards Organization

JPEG Joint Photographic Experts Group

KB Knowledge Base

KBS Knowledge Based System

KR Knowledge Representation

KS Knowledge Source

LC Local Controller

LM Level Manager

MHEG Multimedia Hypermedia Expert group

Page 178: UNIFIED APPROACH FOR DESIGNING FRAME BASED SYSTEMSpeople.du.ac.in/~pbedi/pb_thesis.pdf · unified approach for designing frame based systems by punam bedi a thesis submitted to the

189

MPEG Moving Pictures Expert Group

NOF Network Of Frames

OAV Object-Attribute-Value

OO Object-Oriented

PCLM Primary Communication Level Manager

RDBMS Relational Data Base Management Systems

RM Recovery Manager

Tframe Temporal frame