Seven Layers of Knowledge Representation

Embed Size (px)

Citation preview

  • 8/2/2019 Seven Layers of Knowledge Representation

    1/23

    MITSUBISHI ELECTRIC RESEARCH LABORATORIES

    http://www.merl.com

    Seven Layers of Knowledge Representation

    and Reasoning in Support of Software

    Development

    Charles Rich, Yishai A. Feldman

    TR92-01 February 1992

    Abstract

    This paper summarizes our experience in the Programmers Apprentice project in applying knowl-

    edge representation and automated reasoning to support software development. We describe a

    system, called Cake, that comprises seven layers of knowledge representation and reasoning

    facilities: truth maintenance, boolean constraint propagation, equality, types, algebra, frames,and Plan Calculus. We also include sessions with two experimental software development tools

    implemented using Cake: the Requirements Apprentice and the Debugging Assistant.

    IEEE Transactions on Software Engineering, Vol. 18, No. 6, June 1992, pp. 451-469. Special

    Issue on Knowledge Representation and Reasoning in Software Development

    This work may not be copied or reproduced in whole or in part for any commercial purpose. Permission to copy in whole or in part

    without payment of fee is granted for nonprofit educational and research purposes provided that all such whole or partial copies include

    the following: a notice that such copying is by permission of Mitsubishi Electric Research Laboratories, Inc.; an acknowledgment of

    the authors and individual contributions to the work; and all applicable portions of the copyright notice. Copying, reproduction, or

    republishing for any other purpose shall require a license with payment of fee to Mitsubishi Electric Research Laboratories, Inc. All

    rights reserved.

    Copyright cMitsubishi Electric Research Laboratories, Inc., 1992

    201 Broadway, Cambridge, Massachusetts 02139

  • 8/2/2019 Seven Layers of Knowledge Representation

    2/23

    MERLCoverPageSide2

  • 8/2/2019 Seven Layers of Knowledge Representation

    3/23

    T e c h n i c a l R e p o r t 9 2 - 0 1 F e b r u a r y 1 9 9 2

    C h a r l e s R i c h Y i s h a i A . F e l d m a n

    3

    A b s t r a c t

    T h i s p a p e r s u m m a r i z e s o u r e x p e r i e n c e i n t h e P r o g r a m m e r ' s A p p r e n t i c e p r o j e c t i n

    a p p l y i n g k n o w l e d g e r e p r e s e n t a t i o n a n d a u t o m a t e d r e a s o n i n g t o s u p p o r t s o f t w a r e

    d e v e l o p m e n t . W e d e s c r i b e a s y s t e m , c a l l e d C a k e , t h a t c o m p r i s e s s e v e n l a y e r s o f

    k n o w l e d g e r e p r e s e n t a t i o n a n d r e a s o n i n g f a c i l i t i e s : t r u t h m a i n t e n a n c e , b o o l e a n

    c o n s t r a i n t p r o p a g a t i o n , e q u a l i t y , t y p e s , a l g e b r a , f r a m e s , a n d P l a n C a l c u l u s . W e

    a l s o i n c l u d e s e s s i o n s w i t h t w o e x p e r i m e n t a l s o f t w a r e d e v e l o p m e n t t o o l s i m p l e -

    m e n t e d u s i n g C a k e : t h e R e q u i r e m e n t s A p p r e n t i c e a n d t h e D e b u g g i n g A s s i s t a n t .

    T o a p p e a r i n I E E E T r a n s a c t i o n s o n S o f t w a r e E n g i n e e r i n g , S p e c i a l I s s u e o n K n o w l e d g e

    R e p r e s e n t a t i o n a n d R e a s o n i n g i n S o f t w a r e D e v e l o p m e n t

    T h i s w o r k m a y n o t b e c o p i e d o r r e p r o d u c e d i n w h o l e o r i n p a r t f o r a n y c o m m e r c i a l p u r p o s e . P e r m i s s i o n

    t o c o p y i n w h o l e o r i n p a r t w i t h o u t p a y m e n t o f f e e i s g r a n t e d f o r n o n p r o t e d u c a t i o n a l a n d r e s e a r c h p u r -

    p o s e s p r o v i d e d t h a t a l l s u c h w h o l e o r p a r t i a l c o p i e s i n c l u d e t h e f o l l o w i n g : a n o t i c e t h a t s u c h c o p y i n g i s b y

    p e r m i s s i o n o f M i t s u b i s h i E l e c t r i c R e s e a r c h L a b o r a t o r i e s o f C a m b r i d g e , M a s s a c h u s e t t s ; a n a c k n o w l e d g m e n t

    o f t h e a u t h o r s a n d i n d i v i d u a l c o n t r i b u t i o n s t o t h e w o r k ; a n d a l l a p p l i c a b l e p o r t i o n s o f t h e c o p y r i g h t n o t i c e .

    C o p y i n g , r e p r o d u c t i o n , o r r e p u b l i s h i n g f o r a n y o t h e r p u r p o s e s h a l l r e q u i r e a l i c e n s e w i t h p a y m e n t o f f e e t o

    M i t s u b i s h i E l e c t r i c R e s e a r c h L a b o r a t o r i e s . A l l r i g h t s r e s e r v e d .

    C o p y r i g h t

    c

    M i t s u b i s h i E l e c t r i c R e s e a r c h L a b o r a t o r i e s , 1 9 9 2

    2 0 1 B r o a d w a y ; C a m b r i d g e , M a s s a c h u s e t t s 0 2 1 3 9

    3

    D e p a r t m e n t o f C o m p u t e r S c i e n c e , T e l A v i v U n i v e r s i t y , I s r a e l .

  • 8/2/2019 Seven Layers of Knowledge Representation

    4/23

    P u b l i c a t i o n H i s t o r y : {

    1 . F i r s t p r i n t i n g , T R 9 2 - 0 1 , F e b r u a r y 1 9 9 2 .

    2 . I E E E T r a n s . S o f t w a r e E n g i n e e r i n g , V o l . 1 8 , N o . 6 , J u n e 1 9 9 2 , p p . 4 5 1 { 4 6 9 .

  • 8/2/2019 Seven Layers of Knowledge Representation

    5/23

    T h i s p a p e r s u m m a r i z e s o u r e x p e r i e n c e i n t h e P r o g r a m -

    m e r ' s A p p r e n t i c e p r o j e c t [ 1 , 2 ] i n a p p l y i n g k n o w l e d g e r e p -

    r e s e n t a t i o n a n d a u t o m a t e d r e a s o n i n g t o s u p p o r t s o f t w a r e

    d e v e l o p m e n t . O u r b a s i c c o n c l u s i o n i s t h a t t h e r e c u r r e n t l y

    e x i s t s a c o l l e c t i o n o f k n o w l e d g e r e p r e s e n t a t i o n a n d a u t o -

    m a t e d r e a s o n i n g f a c i l i t i e s t h a t a r e b o t h f e a s i b l e a n d u s e f u l

    t o s u p p o r t t h e n e x t g e n e r a t i o n o f s o f t w a r e d e v e l o p m e n t

    t o o l s .

    W e s u p p o r t t h e c l a i m t h a t t h e f a c i l i t i e s p r e s e n t e d h e r e

    a r e f e a s i b l e b y d e s c r i b i n g t h e i r i m p l e m e n t a t i o n i n a p r o -

    t o t y p e k n o w l e d g e r e p r e s e n t a t i o n a n d r e a s o n i n g s y s t e m

    c a l l e d C a k e . W e s u p p o r t t h e c l a i m t h a t t h e f a c i l i t i e s a r e

    u s e f u l b y d e s c r i b i n g h o w C a k e h a s b e e n u s e d i n t h e c o n -

    s t r u c t i o n o f t w o d e m o n s t r a t i o n s o f t h e n e x t g e n e r a t i o n o f

    s o f t w a r e t o o l s : t h e R e q u i r e m e n t s A p p r e n t i c e a n d t h e D e -

    b u g g i n g A s s i s t a n t . W e d o n o t b e l i e v e t h a t t h e f a c i l i t i e s

    p r e s e n t e d h e r e a r e t h e o n l y o n e s t h a t w i l l b e n e e d e d ; h o w -

    e v e r , t h e y a r e a g o o d s t a r t i n g p o i n t .

    T h e o r g a n i z a t i o n o f t h i s p a p e r i s a s f o l l o w s . T h e r e s t

    o f t h e i n t r o d u c t i o n d i s c u s s e s g e n e r a l c h a r a c t e r i s t i c s o f f u -

    t u r e s o f t w a r e d e v e l o p m e n t t o o l s t h a t m o t i v a t e C a k e , f o l -

    l o w e d b y a n o v e r v i e w o f t h e s y s t e m a n d t h e k e y i s s u e s i n

    i t s a r c h i t e c t u r e . S e c t i o n I I p r e s e n t s s e s s i o n s w i t h t w o e x -

    p e r i m e n t a l t o o l s i m p l e m e n t e d o n t o p o f C a k e , i l l u s t r a t i n g

    t h e n e e d f o r p a r t i c u l a r k n o w l e d g e r e p r e s e n t a t i o n a n d a u -

    t o m a t e d r e a s o n i n g c a p a b i l i t i e s . S e c t i o n s I I I t h r o u g h I X ,

    w h i c h c o m p r i s e t h e b u l k o f t h e p a p e r , d e s c r i b e e a c h o f t h e

    s e v e n l a y e r s o f C a k e i n d e t a i l . S e c t i o n X c o n c l u d e s w i t h a

    d i s c u s s i o n o f f u t u r e d i r e c t i o n s .

    A . S o f t w a r e D e v e l o p m e n t T o o l s

    C a k e w a s d e v e l o p e d t o s u p p o r t r e s e a r c h t o w a r d a n i n -

    t e l l i g e n t , i n t e r a c t i v e s o f t w a r e d e v e l o p m e n t t o o l , c a l l e d t h e

    P r o g r a m m e r ' s A p p r e n t i c e , w h i c h w i l l a s s i s t s o f t w a r e e n -

    g i n e e r s i n a l l p h a s e s o f t h e p r o g r a m m i n g p r o c e s s . T h e

    f o l l o w i n g a r e t h r e e k e y c h a r a c t e r i s t i c s o f s u c h a t o o l a n d

    t h e i r i m p l i c a t i o n s f o r k n o w l e d g e r e p r e s e n t a t i o n a n d r e a -

    s o n i n g .

    K n o w l e d g e - I n t e n s i v e : S o f t w a r e e n g i n e e r s , l i k e e n g i -

    n e e r s i n o t h e r d i s c i p l i n e s , s e l d o m r e a s o n f r o m r s t

    p r i n c i p l e s . R a t h e r , t h e y r e l y w h e n e v e r p o s s i b l e o n

    t h e i r e x p e r i e n c e w i t h s i m i l a r p r o b l e m s . I n p a r t i c u l a r ,

    g o o d s o f t w a r e e n g i n e e r s t r y t o r e u s e p a r t s o f s o l u t i o n s

    w i t h w h i c h t h e y a r e a l r e a d y f a m i l i a r ( e i t h e r r s t h a n d

    o r l e a r n e d i n s c h o o l ) . T h u s a s y s t e m s a n a l y s i s t o o l

    t h a t i s n o t h i n g m o r e t h a n a n e l e c t r o n i c \ b l a n k s l a t e "

    f o r b o x - a n d - a r r o w d i a g r a m s i s n o t a s g o o d a s o n e t h a t

    c o m e s w i t h a w e l l - t h o u g h t - o u t l i b r a r y o f g e n e r i c d i -

    a g r a m s f o r v a r i o u s a p p l i c a t i o n s a t v a r i o u s l e v e l s o f

    a b s t r a c t i o n p l u s k n o w l e d g e a b o u t h o w t o c h o o s e t h e

    a p p r o p r i a t e d i a g r a m a n d a d a p t i t t o t h e p r o b l e m a t

    h a n d .

    S u p p o r t i n g k n o w l e d g e - i n t e n s i v e t o o l s w i l l r e q u i r e

    p o w e r f u l f a c i l i t i e s f o r r e p r e s e n t i n g s t r u c t u r e d a r t i -

    f a c t s , s u c h a s p r o g r a m s , s p e c i c a t i o n s , a n d r e q u i r e -

    m e n t s , a t v a r i o u s l e v e l s o f a b s t r a c t i o n

    I n t e l l i g e n t A s s i s t a n c e : R a t h e r t h a n s i m p l y a c c e p t -

    i n g a n d e x e c u t i n g c o m m a n d s , a n i n t e l l i g e n t a s s i s t a n t

    c h e c k s t h e r e a s o n a b l e n e s s o f d e c i s i o n s , l l s i n m i s s i n g

    d e t a i l s , a n d r e q u e s t s a d v i c e a b o u t h o w t o c a r r y o u t

    c o m p l e x o p e r a t i o n s . T h e s e a b i l i t i e s c a n c o n t r i b u t e t o

    b o t h a s o f t w a r e e n g i n e e r ' s p r o d u c t i v i t y a n d t h e r e l i -

    a b i l i t y o f t h e n a l p r o d u c t . A n o t h e r h a l l m a r k o f a n

    i n t e l l i g e n t a s s i s t a n t i s t h e a b i l i t y t o e x p l a i n i t s a c t i o n s

    a n d d e c i s i o n s i n t e r m s t h a t t h e u s e r c a n u n d e r s t a n d .

    T h i s a l l o w s t h e u s e r t o c h e c k w h a t t h e t o o l h a s d o n e .

    I t a l s o a l l o w s t h e t o o l t o d e s c r i b e t h e p r o b l e m s i t h a s

    e n c o u n t e r e d w h e n i t r e q u i r e s a d v i c e .

    S u p p o r t i n g i n t e l l i g e n t a s s i s t a n c e r e q u i r e s e x i b l e a n d

    p o w e r f u l a u t o m a t e d r e a s o n i n g o v e r a w i d e r a n g e o f

    m a t h e m a t i c a l d o m a i n s t h a t a r i s e i n s o f t w a r e d e v e l o p -

    m e n t , s u c h a s b o o l e a n l o g i c , t y p e s , a n d a l g e b r a . H o w -

    e v e r , m a n y a p p a r e n t l y s i m p l e r e a s o n i n g p r o b l e m s ,

    s u c h a s c h e c k i n g w h e t h e r a s e t o f b o o l e a n p r o p o s i t i o n s

    i s c o n s i s t e n t , a r e c o m p l e t e l y s o l v e d o n l y b y e x p o n e n -

    t i a l a l g o r i t h m s . W h a t t h i s m e a n s , i n o u r v i e w , i s

    t h a t t h e a p p r o p r i a t e r o l e f o r a u t o m a t e d d e d u c t i o n i s

    n o t a s t h e \ m a i n e n g i n e " o f s o f t w a r e t o o l s ( a s f o r e x -

    a m p l e , i n t h e p r o g r a m s - a s - p r o o f s / d e d u c t i v e s y n t h e -

    s i s a p p r o a c h [ 3 ] ) , b u t r a t h e r a s a s u p p o r t i n g f u n c t i o n

    t h a t i n c r e a s e s p r o d u c t i v i t y a n d r e l i a b i l i t y .

    E v o l u t i o n a r y : E v e r y a s p e c t o f s o f t w a r e d e v e l o p m e n t

    i s c o l o r e d b y t h e n e e d f o r c o n t i n u a l e v o l u t i o n . R e -

    q u i r e m e n t s c h a n g e b e c a u s e t h e w o r l d c h a n g e s a n d b e -

    c a u s e i t i s n o t p o s s i b l e f o r r e q u i r e m e n t s a n a l y s t s o r

    e n d u s e r s t o f o r e s e e a l l o f t h e o p p o r t u n i t i e s f o r a s y s -

    t e m ' s u s e . D e s i g n s c h a n g e b e c a u s e r e q u i r e m e n t s a n d

    t e c h n o l o g y c h a n g e . I m p l e m e n t a t i o n s c h a n g e b e c a u s e

    d e s i g n s c h a n g e a n d b u g s h a v e t o b e x e d .

    T h e r e p r e s e n t a t i o n s r e q u i r e d f o r k n o w l e d g e - i n t e n s i v e

    t o o l s a r e l a r g e a n d t h e a u t o m a t e d r e a s o n i n g r e q u i r e d

    f o r i n t e l l i g e n t a s s i s t a n c e i s e x p e n s i v e . S u p p o r t i n g e v o -

    l u t i o n t h e r e f o r e r e q u i r e s s p e c i a l a t t e n t i o n t o i s s u e s o f

    i n c r e m e n t a l c o m p u t a t i o n .

    B . O v e r v i e w o f C a k e

    T h e a r c h i t e c t u r e o f C a k e c o m p r i s e s t h e s e v e n l a y e r s

    s h o w n i n F i g . 1 . T h e b o t t o m s i x l a y e r s p r o v i d e t h e f o l -

    l o w i n g \ g e n e r i c " k n o w l e d g e r e p r e s e n t a t i o n a n d a u t o m a t e d

    r e a s o n i n g f a c i l i t i e s :

    T h e t r u t h m a i n t e n a n c e l a y e r s t o r e s a n d m a i n t a i n s d e -

    p e n d e n c i e s b e t w e e n f a c t s t h e s y s t e m h a s b e e n t o l d o r

    h a s d e d u c e d . I t s u p p o r t s i n c r e m e n t a l r e c o m p u t a t i o n

    o f r e s u l t s a n d s i m p l e e x p l a n a t i o n ( u s i n g t h e d e p e n -

    d e n c i e s a s a t r a c e o f t h e s y s t e m ' s r e a s o n i n g ) .

    T h e b o o l e a n c o n s t r a i n t p r o p a g a t i o n l a y e r p e r f o r m s a n

    e c i e n t b u t i n c o m p l e t e f o r m o f g e n e r a l - p u r p o s e l o g -

    i c a l d e d u c t i o n . I t a l s o d e t e c t s \ s h a l l o w " c o n t r a d i c -

    t i o n s .

    1

  • 8/2/2019 Seven Layers of Knowledge Representation

    6/23

    P l a n C a l c u l u s 6 %

    F r a m e s

    1 6 %

    A l g e b r a 2 2 %

    T y p e s

    2 0 %

    E q u a l i t y 6 %

    B o o l e a n C o n s t r a i n t P r o p a g a t i o n 1 9 %

    T r u t h M a i n t e n a n c e

    1 1 %

    F i g . 1 . S e v e n l a y e r a r c h i t e c t u r e o f C a k e s h o w i n g t h e a p p r o x i m a t e p e r -

    c e n t a g e o f t h e t o t a l 1 7 , 0 0 0 l i n e s o f c o d e i n e a c h l a y e r .

    T h e e q u a l i t y l a y e r p r o v i d e s a c o m p l e t e r e a s o n e r

    1

    f o r

    e q u a l i t y . F u l l d e p e n d e n c y i n f o r m a t i o n i s r e c o r d e d s o

    t h a t e q u a l i t i e s c a n b e a s s e r t e d a n d r e t r a c t e d .

    T h e t y p e s l a y e r i m p l e m e n t s a v e r y e x i b l e v e r s i o n o f

    t y p e d l o g i c . N e w t y p e s c a n b e d e n e d b y s p e c i a l i z a -

    t i o n , i n t e r s e c t i o n , u n i o n , a n d c o m p l e m e n t .

    T h e a l g e b r a l a y e r c o n t a i n s s p e c i a l - p u r p o s e d e c i s i o n

    p r o c e d u r e s f o r c o m m o n a l g e b r a i c p r o p e r t i e s o f o p e r a -

    t o r s , s u c h a s c o m m u t a t i v i t y , a s s o c i a t i v i t y , a n d t r a n s i -

    t i v i t y . I t a l s o p r o v i d e s l i m i t e d r e a s o n i n g f a c i l i t i e s f o r

    s e t s a n d q u a n t i e r s .

    T h e f r a m e s l a y e r i m p l e m e n t s t h e s t a n d a r d f r a m e

    n o t i o n s o f i n h e r i t a n c e a n d s l o t r e t r i e v a l w i t h i n a

    d e p e n d e n c y - d i r e c t e d f r a m e w o r k . I t a l s o h a s t h e c a -

    p a b i l i t y o f r e a s o n i n g s y m b o l i c a l l y u s i n g f r a m e c o n -

    s t r a i n t s .

    T h e t o p l a y e r o f C a k e , t h e P l a n C a l c u l u s , i s a n e x a m -

    p l e o f t h e u s e o f t h e s e g e n e r i c f a c i l i t i e s t o i m p l e m e n t a

    s p e c i a l i z e d f o r m a l i s m f o r s o f t w a r e d e v e l o p m e n t . T h e P l a n

    C a l c u l u s s u p p o r t s r e p r e s e n t a t i o n a n d r e a s o n i n g a b o u t p r o -

    g r a m m i n g c o n c e p t s , s u c h a s i n p u t - o u t p u t s p e c i c a t i o n s ,

    d a t a o w , a n d c o n t r o l o w , i n a p r o g r a m m i n g - l a n g u a g e

    i n d e p e n d e n t f o r m .

    E a c h l a y e r i n C a k e i s i m p l e m e n t e d u s i n g o n l y f a c i l i t i e s i n

    t h e l a y e r s b e l o w . T h e o r d e r o f t h e l a y e r s i s a n o u t g r o w t h o f

    a t t e m p t i n g t o m a x i m i z e t h e r e u s e o f a l r e a d y i m p l e m e n t e d

    f a c i l i t i e s t o i m p l e m e n t t h e n e x t l a y e r .

    T h e o r i g i n a l k e r n e l o f C a k e w a s a t r u t h m a i n t e n a n c e s y s -

    t e m w i t h b o o l e a n c o n s t r a i n t p r o p a g a t i o n a n d e q u a l i t y ( t h e

    b o t t o m t h r e e l a y e r s i n F i g . 1 ) d e v e l o p e d b y M c A l l e s t e r [ 4 ]

    i n 1 9 8 2 . T h i s w a s m o d i e d a n d e x t e n d e d b y t h e a u t h o r s

    r e s u l t i n g i n a s y s t e m c a l l e d ( f o r \ a s i c s o n i n g

    e v i c e " ) c o m p l e t e d i n 1 9 8 4 . T h e n e x t t h r e e l a y e r s o f

    C a k e w e r e b u i l t o n t o p o f b e t w e e n 1 9 8 4 a n d 1 9 8 7

    t o p r o v i d e a n a d d i t i o n a l r a n g e o f b r o a d l y a p p l i c a b l e f a -

    c i l i t i e s , s u c h a s f r a m e s a n d a l g e b r a i c r e a s o n i n g . T h e s e

    s i x l a y e r s t o g e t h e r a r e c a l l e d ( f o r \ m e s i n a

    r o o s i t i o n a l n v i r o n m e n t " ) [ 5 , 6 ] .

    C a k e i s i m p l e m e n t e d i n C o m m o n L i s p . E a c h q u e s t i o n -

    r e s p o n s e i n t e r a c t i o n i n t h e v a r i o u s e x a m p l e s b e l o w t a k e s

    1

    A c o m p l e t e r e a s o n e r i s a p r o c e d u r e t h a t c a n p r o v e a n y t r u e t h e o r e m

    i n i t s l a n g u a g e . F o r a n i n c o m p l e t e r e a s o n e r , t h e r e a r e t r u e t h e o r e m s t h a t

    c a n n o t b e p r o v e d .

    f r o m a f r a c t i o n o f a s e c o n d t o s e v e r a l m i n u t e s o n a S u n - 4

    w o r k s t a t i o n .

    C . C o n t r o l o f R e a s o n i n g

    C a k e p r e s e n t s i t s e l f t o a s o f t w a r e t o o l d e v e l o p e r a s a n

    \ a c t i v e d a t a b a s e , " i . e . , a d a t a b a s e t h a t m o n i t o r s c e r t a i n

    i n t e g r i t y c o n s t r a i n t s a n d a u t o m a t i c a l l y i n v o k e s c e r t a i n

    r e a s o n i n g p r o c e s s e s w h e n e v e r r e l e v a n t d a t a a p p e a r s . A

    k e y a r c h i t e c t u r a l i s s u e t h r o u g h o u t C a k e , t h e r e f o r e , i s w h a t

    k i n d s o f r e a s o n i n g s h o u l d h a p p e n s p o n t a n e o u s l y ( i . e . , i n

    i m m e d i a t e r e s p o n s e t o t h e a p p e a r a n c e o f d a t a ) a s o p p o s e d

    t o b e i n g e x p l i c i t l y i n v o k e d a n d c o n t r o l l e d b y s o m e h i g h e r -

    l e v e l p r o c e s s . T h e n e e d f o r t h i s d i v i s i o n s t e m s f r o m t h e

    c o m b i n a t o r i a l l y e x p l o s i v e n a t u r e o f m a n y a u t o m a t e d r e a -

    s o n i n g a l g o r i t h m s c o u p l e d w i t h t h e f a c t t h a t a n i n t e l l i g e n t

    a s s i s t a n t m u s t n o t \ g o a w a y " f o r l o n g a n d u p r e d i c t a b l e p e -

    r i o d s o f t i m e .

    I n g e n e r a l , w e r e s t r i c t t h e s p o n t a n e o u s r e a s o n i n g i n

    C a k e t o a l g o r i t h m s t h a t h a v e l i n e a r o r c l o s e t o l i n e a r c o s t .

    E x a m p l e s o f s p o n t a n e o u s r e a s o n i n g i n C a k e i n c l u d e m a i n -

    t e n a n c e o f w e l l - f o u n d e d s u p p o r t i n t h e t r u t h m a i n t e n a n c e

    l a y e r ( l i n e a r t i m e ) a n d t h e c o n g r u e n c e c l o s u r e a l g o r i t h m

    ( n l o g n ) i n t h e e q u a l i t y l a y e r . T h e n a l t u n i n g o f w h a t

    i s d o n e s p o n t a n e o u s l y d e p e n d s o f c o u r s e o n t h e c o m p u t -

    i n g r e s o u r c e s a v a i l a b l e t o t h e s y s t e m a n d n e e d s t o b e r e -

    e v a l u a t e d w h e n e v e r n e w a l g o r i t h m s a r e d i s c o v e r e d . H o w -

    e v e r , w e e x p e c t t h e b a s i c n e e d f o r t h i s d i v i s i o n t o e x i s t f o r

    t h e f o r s e e a b l e f u t u r e .

    I t i s a l s o d e s i r a b l e f o r t h e s p o n t a n e o u s r e a s o n i n g a l g o -

    r i t h m s t o a l w a y s g i v e t h e s a m e a n s w e r i n d e p e n d e n t o f t h e

    o r d e r i n w h i c h i n f o r m a t i o n a p p e a r s . A l l o f t h e s p o n t a -

    n e o u s r e a s o n i n g i n C a k e h a s t h i s p r o p e r t y .

    S o m e t i m e s , i f t h e c o m p l e t e a l g o r i t h m f o r s o m e k i n d o f

    r e a s o n i n g i s t o o e x p e n s i v e t o b e d o n e s p o n t a n e o u s l y , i t

    m a k e s s e n s e t o b r e a k i t i n t o t w o p a r t s : o n e p a r t t h a t

    s o l v e s a l i m i t e d p a r t o f t h e p r o b l e m e c i e n t l y , a n d a n o t h e r

    p a r t t h a t c a n s o l v e t h e c o m p l e t e p r o b l e m u n d e r e x p l i c i t

    c o n t r o l . T h e i n t u i t i o n u n d e r l y i n g t h i s s t r a t e g y i s t h a t a n

    i n t e l l i g e n t a s s i s t a n t s h o u l d b e a b l e t o m a k e \ o b v i o u s " d e -

    d u c t i o n s s p o n t a n e o u s l y , w h e r e a s y o u a r e w i l l i n g t o w a i t

    f o r t h e a n s w e r t o m o r e a d i c u l t q u e s t i o n . ( T h e g e n e r a l

    q u e s t i o n o f w h a t d e d u c t i o n s a r e \ o b v i o u s " a n d h o w t o t a i -

    l o r a r e a s o n i n g p r o c e d u r e t o e c i e n t l y p r o d u c e o n l y t h o s e

    d e d u c t i o n s i s a d e e p a n d i n t e r e s t i n g o n e . )

    T h e b e s t e x a m p l e o f t h i s a p p r o a c h i n C a k e i s t h e w a y

    p r o p o s i t i o n a l r e a s o n i n g i s h a n d l e d . A c o m p l e t e d e c i s i o n

    p r o c e d u r e f o r p r o p o s i t i o n a l l o g i c i s e x p o n e n t i a l i n t h e

    w o r s t c a s e . T h e b o o l e a n c o n s t r a i n t p r o p a g a t i o n l a y e r p r o -

    v i d e s a n e c i e n t ( l i n e a r t i m e ) b u t i n c o m p l e t e k i n d o f s p o n -

    t a n e o u s p r o p o s i t i o n a l r e a s o n i n g , t o g e t h e r w i t h a s p e c i a l

    p r o c e d u r e ( A s k | s e e S e c t i o n I V . B ) t h a t c a n b e u s e d t o e x -

    p l i c i t l y r e q u e s t m o r e c o m p l e t e r e a s o n i n g w h e n d e s i r e d . A

    s i m i l a r a p p r o a c h i s t a k e n t o r e a s o n i n g a b o u t t y p e s .

    W h e n e x p l i c i t c o n t r o l o f r e a s o n i n g i s r e q u i r e d , i t c a n

    c o m e f r o m s e v e r a l s o u r c e s . S o m e t i m e s t h e r e i s e n o u g h

    c o n t e x t i n t h e a p p l i c a t i o n t a s k t h a t t h e t o o l d e v e l o p e r

    c a n f o r s e e w h e r e t o i n s e r t t h e a p p r o p r i a t e c a l l s t o c o n t r o l

    p r o c e d u r e s s u c h a s

    A s k

    ( t h i s i s t r u e i n a n u m b e r o f p l a c e s

    2

  • 8/2/2019 Seven Layers of Knowledge Representation

    7/23

  • 8/2/2019 Seven Layers of Knowledge Representation

    8/23

    F i g . 2 . A r c h i t e c t u r e o f t h e R e q u i r e m e n t s A p p r e n t i c e s h o w i n g t h e r o l e o f C a k e .

    c o n c e n t r a t e i n s t e a d o n t h e k n o w l e d g e r e p r e s e n t a t i o n a n d

    a u t o m a t e d r e a s o n i n g f a c i l i t i e s u p o n w h i c h i t r e l i e s . T o

    a v o i d d i s t r a c t i o n w i t h t h e s y n t a c t i c d e t a i l s o f t h e ' s i n -

    p u t l a n g u a g e , w h a t t h e u s e r t y p e s i n t h e s e s s i o n b e l o w h a s

    b e e n r e p l a c e d b y e d i t o r i a l p a r a p h r a s e s . T h e c o r r e s p o n d -

    i n g l i t e r a l t r a n s c r i p t c a n b e f o u n d i n [ 1 4 ] .

    F i g . 2 s h o w s t h e r o l e o f t h e i n r e l a t i o n t o o t h e r a g e n t s

    i n v o l v e d i n t h e r e q u i r e m e n t s p r o c e s s . N o t e t h a t t h e

    d o e s n o t i n t e r a c t d i r e c t l y w i t h a n e n d u s e r , b u t i s a n a s -

    s i s t a n t t o a r e q u i r e m e n t s a n a l y s t .

    T h e p r o d u c e s t h r e e k i n d s o f o u t p u t . I n t e r a c t i v e o u t -

    p u t n o t i e s t h e a n a l y s t o f c o n c l u s i o n s d r a w n a n d p r o b l e m s

    d e t e c t e d a s i n f o r m a t i o n i s b e i n g e n t e r e d . A r e q u i r e m e n t s

    k n o w l e d g e b a s e r e p r e s e n t s e v e r y t h i n g t h e k n o w s a b o u t

    t h e e v o l v i n g r e q u i r e m e n t . F i n a l l y , t h e c a n c r e a t e a

    m o r e o r l e s s t r a d i t i o n a l r e q u i r e m e n t s d o c u m e n t s u m m a -

    r i z i n g t h e c u r r e n t s t a t e o f t h e k n o w l e d g e b a s e .

    I n t e r n a l l y , t h e i s c o m p o s e d o f t h r e e p a r t s : C a k e p r o -

    v i d e s t h e b a s i c k n o w l e d g e r e p r e s e n t a t i o n a n d a u t o m a t e d

    r e a s o n i n g f a c i l i t i e s . T h e e x e c u t i v e ( E x e c ) c o n t a i n s a l g o -

    r i t h m s a n d d a t a s t r u c t u r e s t h a t a r e s p e c i c t o t h e a n d

    p r o v i d e s e x p l i c i t c o n t r o l o f r e a s o n i n g f o r C a k e . T h e c l i c h e

    l i b r a r y c o n t a i n s r e u s a b l e f r a g m e n t s o f r e q u i r e m e n t s a n d

    a s s o c i a t e d d o m a i n m o d e l s , r e p r e s e n t e d a s a f r a m e h i e r a r -

    c h y . T h i s d e m o n s t r a t i o n s y s t e m d o e s n o t e m p h a s i z e t h e

    u s e r i n t e r f a c e .

    T h e e x a m p l e s e s s i o n b e l o w i s b a s e d o n a r e q u i r e m e n t s

    b e n c h m a r k [ 1 5 ] d e a l i n g w i t h t h e s p e c i c a t i o n o f a u n i v e r -

    s i t y l i b r a r y d a t a b a s e . A l t h o u g h t h e ' s c l i c h e l i b r a r y c o n -

    t a i n s m a n y c o n c e p t s t h a t w i l l b e r e l e v a n t , t h e d o e s n ' t

    k n o w a n y t h i n g a b o u t l i b r a r i e s p e r s e a t t h e s t a r t o f t h e

    s e s s i o n .

    1 >

    ` ` U n i v e r s i t y L i b r a r y D a t a b a s e " i s a s y s t e m .

    2 >

    ` ` U n i v e r s i t y L i b r a r y " i s a n i n s t a n c e o f ` ` l i b r a r y " .

    i s p a r t o f t h e e n v i r o n m e n t .

    T h e d i s t i n c t i o n b e t w e e n t h e s y s t e m b e i n g s p e c i e d a n d

    t h e e n v i r o n m e n t ( w h i c h c a n n o t b e c h a n g e d ) i s p a r t o f t h e

    ' s b a s i c e p i s t e m o l o g y .

    T h e s i m p l e i n i t i a l s t a t e m e n t o f t h e r e q u i r e m e n t i s t h a t

    t h e d a t a b a s e \ t r a c k " t h e s t a t e o f t h e ( a c t u a l ) l i b r a r y .

    T h e r e a r e s e v e r a l d i e r e n t v e r s i o n s o f t r a c k i n g s p e c i c a -

    t i o n s i n t h e c l i c h e l i b r a r y . T h e t y p e o f t r a c k i n g s y s t e m

    b e i n g s p e c i e d w i l l b e r e n e d a s t h e s e s s i o n p r o g r e s s e s .

    3 >

    t r a c k s .

    U L D B I s - I n s t a n c e - O f T r a c k i n g - S y s t e m .

    A t t h i s p o i n t , a n u m b e r o f i s s u e s a r e p e n d i n g . T h e

    m u s t a c c e p t i n f o r m a t i o n i n a n y o r d e r p r e s e n t e d b y t h e

    a n a l y s t ( e . g . , u s e s o f w o r d s b e f o r e t h e i r d e n i t i o n ) a n d

    c o m e t o t h e s a m e c o n c l u s i o n s . T h e t h i r d p e n d i n g i s s u e

    b e l o w s a y s t h a t t h e n e e d s t o k n o w t h e p o s s i b l e s t a t e s

    o f t h e l i b r a r y .

    4 >

    S h o w p e n d i n g i s s u e s .

    1 - N e e d - F u r t h e r - D i s a m b i g u a t i o n o f T r a c k s .

    2 - N e e d - D e f i n i t i o n o f " L i b r a r y " .

    3 - N e e d - D e f i n i t i o n ( I t e m - S t a t e s U L ) .

    A c e n t r a l c o n c e p t i n t h e r e m a i n d e r o f t h i s s e s s i o n i s

    r e p o s i t o r y , r e p r e s e n t e d a s a f r a m e i n t h e ' s c l i c h e l i b r a r y

    w i t h t h e f o l l o w i n g s l o t s : t h e t y p e o f i t e m s s t o r e d i n i t , t h e

    p a t r o n s t h a t u t i l i z e i t , a n d t h e s t a t h a t m a n a g e s i t . T w o

    k e y o p e r a t i o n s o n a r e p o s i t o r y a r e a d d i n g a n d r e m o v i n g

    i t e m s .

    5 >

    ` ` L i b r a r y " i s a k i n d o f r e p o s i t o r y , w i t h i t e m s o f

    t y p e ` ` b o o k . "

    N o t i c e t h a t t h e n e w t y p e b o o k i s i n t r o d u c e d a b o v e . T h e

    a n a l y s t n o w s p e c i e s s o m e p r o p e r t i e s o f t h i s t y p e .

    6 >

    ` ` B o o k " i s a k i n d o f p h y s i c a l o b j e c t , w i t h s l o t s ` ` t i t l e , "

    ` ` a u t h o r , " a n d ` ` . "

    7 >

    ` ` " i s a k i n d o f i n t e g e r . u n i q u e l y i d e n t i e s

    a b o o k .

    T h e a n a l y s t n o w b e g i n s t o d e n e v a r i o u s t y p e s o f t r a n s -

    a c t i o n s o n t h e d a t a b a s e . A s m o r e i n f o r m a t i o n i s a c c u m u -

    l a t e d , t h e i s a b l e t o f u r t h e r r e n e t h e t y p e o f t o

    b e a t r a c k i n g i n f o r m a t i o n s y s t e m ( b e c a u s e i t r e c o r d s i n -

    f o r m a t i o n a b o u t t h e h i s t o r y o f t h e t r a c k e d o b j e c t , r a t h e r

    t h a n j u s t p r o v i d i n g t h e c u r r e n t s t a t e ) .

    8 >

    ` ` C h e c k o u t " i s a t r a n s a c t i o n t h a t r e c o r d s r e m o v i n g

    b o o k s f r o m t h e l i b r a r y .

    U L D B I s - I n s t a n c e - O f T r a c k i n g - I n f o r m a t i o n - S y s t e m .

    9 >

    ` ` C h e c k i n " i s t h e i n v e r s e o f c h e c k o u t .

    " C h e c k - I n " I s - I n s t a n c e - O f A c t i o n - T r a c k i n g - O p n .

    U s i n g s i m p l e a l g e b r a i c r e a s o n i n g , t h e i s a b l e t o d e -

    d u c e q u i t e a l o t o f i n f o r m a t i o n f r o m t h e s t a t e m e n t t h a t

    c h e c k i n i s t h e i n v e r s e o f c h e c k o u t ( i . e . , i t t r a c k s t h e i n -

    v e r s e s t a t e c h a n g e ) .

    T h e r s t s e r i o u s p r o b l e m d e t e c t e d b y t h e i n t h i s

    s e s s i o n a r i s e s w h e n t h e a n a l y s t d e n e s t w o f u r t h e r t r a n s -

    a c t i o n s b e l o w .

    1 0 >

    ` ` U n s h e l f " i s a t r a n s a c t i o n t h a t r e c o r d s r e m o v i n g

    b o o k s f r o m t h e l i b r a r y .

    1 1 >

    ` ` U n s h e l f a l l " i s a t r a n s a c t i o n t h a t r e c o r d s r e m o v i n g

    b o o k s f r o m t h e l i b r a r y . U n s h e l f a l l r e m o v e s t h e s e t o f

    a l l b o o k s w i t h a g i v e n .

    * * C o n f l i c t # 1

    * * C o l l i d i n g - D e f i n i t i o n s U n s h e l f A n d U n s h e l f - A l l

    B a s e d o n w h a t i t h a s b e e n t o l d s o f a r , t h e i s a b l e

    d e d u c e t h a t t h e u n s h e l f t r a n s a c t i o n a n d t h e u n s h e l f a l l

    4

  • 8/2/2019 Seven Layers of Knowledge Representation

    9/23

    t r a n s a c t i o n a r e i d e n t i c a l : S i n c e u n i q u e l y i d e n t i e s a

    b o o k , t h e r e c a n n e v e r b e t w o b o o k s w i t h t h e s a m e .

    T h e r e f o r e t h e s e t o f b o o k s r e m o v e d b y u n s h e l f a l l m u s t

    c o n t a i n e x a c t l y o n e b o o k . T h e h a s a b u i l t - i n e x p e c t a -

    t i o n t h a t t e r m s s h o u l d n o t b e s y n o n y m o u s u n l e s s t h e y a r e

    e x p l i c i t l y d e n e d t o b e s y n o n y m s .

    I n r e s p o n s e t o t h e a n a l y s t ' s r e q u e s t f o r a n e x p l a n a t i o n

    o f t h e p r o b l e m , t h e p r i n t s o u t a l i s t i n g ( m o s t l y e l i d e d

    b e l o w ) o f t h e d e p e n d e n c y t r e e u n d e r l y i n g t h e p r o b l e m a t i c

    c o n c l u s i o n . I n t h e p a r t o f t h e t r e e s h o w n , w e c a n s e e

    b o o l e a n l o g i c a n d e q u a l i t y r e a s o n i n g ; t h e f u l l t r e e i n c l u d e s

    d e d u c t i o n s f r o m a l l l a y e r s o f C a k e . U n f o r t u n a t e l y , t h e f u l l

    t r e e i s m u c h t o o l a r g e a n d h a r d t o u n d e r s t a n d t o b e u s e f u l

    t o t h e a n a l y s t i n r a w f o r m .

    1 2 >

    E x p l a i n .

    1 . ( E q u a l - D e f s U n s h e l f U n s h e l f - A l l ) i s T r u e

    b y I m p l i c a t i o n f r o m :

    1 . ( I m p l i e s

    ( A n d ( T r a c k i n g - O p e r a t i o n U n s h e l f )

    ( T r a c k i n g - O p e r a t i o n U n s h e l f - A l l )

    ( = F r a m e - I 4 F r a m e - I 5 ) )

    ( E q u a l - D e f s U n s h e l f U n s h e l f - A l l ) )

    2 . ( A n d ( T r a c k i n g - O p e r a t i o n U n s h e l f )

    ( T r a c k i n g - O p e r a t i o n U n s h e l f - A l l )

    ( = F r a m e - I 4 F r a m e - I 5 ) ) i s T r u e

    b y C o n j u n c t i o n f r o m :

    1 . ( = F r a m e - I 4 F r a m e - I 5 ) i s T r u e

    b y E q u a l i t y f r o m :

    : : :

    * * P r e m i s e s :

    1 . ( = ( R e c o r d s U n s h e l f - A l l ) R e m o v e )

    2 . ( = ( O b j e c t s U n s h e l f - A l l )

    ( ! T h e - S e t - O f - A l l ( ? B )

    S u c h - T h a t ( = ( I S B N ? B ) $ I n p u t ) ) )

    3 . ( = ( R e c o r d s U n s h e l f ) R e m o v e )

    4 . ( D e f a u l t 2 3

    ( = ( O b j e c t s U n s h e l f )

    ( ! T h e ( ? O ) S u c h - T h a t

    ( = ( I S B N ? O ) $ I n p u t ) ) )

    : : :

    A s l i g h t i m p r o v e m e n t o v e r t h e f u l l d e p e n d e n c y t r e e i s

    t h e l i s t o f p r e m i s e s s h o w n a b o v e . P r e m i s e s c o r r e s p o n d -

    i n g t o s t a t e m e n t s m a d e b y t h e a n a l y s t a r e p r i n t e d r s t ,

    f o l l o w e d b y a s s u m p t i o n s t h a t c o m e f r o m t h e c l i c h e l i -

    b r a r y . U n f o r t u n a t e l y , e v e n t h e p r e m i s e l i s t c a n b e c o m e

    q u i t e l o n g . ( I n t h i s e x a m p l e , t h e u n t r u n c a t e d l i s t h a s o v e r

    t w e n t y e n t r i e s . )

    I t i s o f t e n a g o o d i d e a t o i g n o r e a c o n i c t o r c o n t r a d i c -

    t i o n f o r a w h i l e u n t i l c l a r i f y i n g i n f o r m a t i o n c o m e s a l o n g . I f

    t h e a n a l y s t c h o o s e s t o i g n o r e t h i s c o n i c t , i t w i l l b e a d d e d

    t o t h e l i s t o f p e n d i n g i s s u e s .

    A t t h i s p o i n t , h o w e v e r , t h e a n a l y s t r e a l i z e s t h a t t h e r e -

    q u i r e m e n t t h u s f a r r e e c t s a t o k e n / t y p e c o n f u s i o n b e t w e e n

    t h e n o t i o n o f a p h y s i c a l c o p y o f a b o o k a n d t h e n o t i o n

    o f a b o o k a s a c l a s s | i . e . , a s e t o f c o p i e s w i t h t h e s a m e

    . ( T h i s c o n f u s i o n a c t u a l l y a p p e a r s i n t h e b e n c h m a r k

    o n w h i c h t h i s s e s s i o n i s b a s e d . ) T o x t h e p r o b l e m , a n e w

    t e r m d e n o t i n g \ c o p y o f b o o k " m u s t b e i n t r o d u c e d . I n a d -

    d i t i o n , s o m e t h i n g h a s t o b e d o n e a b o u t t h e f a c t t h a t s o m e

    u s e s o f \ b o o k " i n t h e s t a t e m e n t s a b o v e r e f e r t o t h e o l d

    c o n c e p t a n d s o m e r e f e r t o t h e n e w c o n c e p t .

    T h e p r o v i d e s t h e R e f o r m u l a t e c o m m a n d d e m o n -

    s t r a t e d b e l o w t o a s s i s t w i t h t h i s k i n d o f i n c r e m e n t a l

    c h a n g e . T h e c o m m a n d d i s p l a y s a l l t h e s t a t e m e n t s t h a t

    c o n t a i n e d t h e t e r m i n q u e s t i o n a n d a s k s t h e a n a l y s t t o

    c h o o s e w h e r e s u b s t i t u t i o n s h o u l d o c c u r . T h e t h e n r e -

    t r a c t s t h e o b s o l e t e s t a t e m e n t s a n d a s s e r t s t h e n e w o n e s ,

    r e l y i n g o n C a k e ' s t r u t h m a i n t e n a n c e f a c i l i t i e s t o p r e s e r v e

    a l l o f t h e a p p r o p r i a t e d e d u c t i o n s .

    1 3 >

    R e f o r m u l a t e u s i n g ` ` c o p y o f b o o k " i n p l a c e o f b o o k .

    5 .

    ` ` L i b r a r y " i s a k i n d o f r e p o s i t o r y , w i t h i t e m s o f

    t y p e ` ` b o o k . "

    * * R e f o r m u l a t e ? >

    Y e s

    6 .

    ` ` B o o k " i s a k i n d o f p h y s i c a l o b j e c t , w i t h s l o t s ` ` t i t l e , "

    ` ` a u t h o r , " a n d ` ` . "

    * * R e f o r m u l a t e ? >

    Y e s

    7 .

    ` ` " i s a k i n d o f i n t e g e r . u n i q u e l y i d e n t i e s

    a b o o k .

    * * R e f o r m u l a t e ? >

    N o

    I n t h e i n t e r e s t s o f b r e v i t y , t h e s e s s i o n i s t r u n c a t e d a t

    t h i s p o i n t .

    B . T h e D e b u g g i n g A s s i s t a n t

    T h e D e b u g g i n g A s s i s t a n t ( ) i s a n e x p e r i m e n t a l

    t o o l t h a t h e l p s a p r o g r a m m e r l o c a l i z e a b u g , i . e . , i d e n t i f y

    a p a r t i c u l a r p r o c e d u r e c a l l o r s e c t i o n o f c o d e t h a t n e e d s

    t o b e c h a n g e d .

    A s i n t h e p r e v i o u s s e c t i o n , t h e s e s s i o n p r e s e n t e d h e r e

    i s e x t r a c t e d f r o m a l o n g e r d o c u m e n t [ 1 6 ] , o m i t t i n g m o s t

    o f t h e m o t i v a t i o n a n d t e c h n i c a l d e t a i l s n o t r e l a t i n g s p e c i f -

    i c a l l y t o t h e u s e o f C a k e ' s f a c i l i t i e s . I n p a r t i c u l a r , t h e

    l o c a l i z a t i o n a l g o r i t h m , w h i c h i s t h e k e y c o n t r i b u t i o n o f

    f r o m t h e s t a n d p o i n t o f r e s e a r c h i n d e b u g g i n g , i s

    o n l y s u p e r c i a l l y d e s c r i b e d h e r e .

    F i g . 3 s h o w s ' s o v e r a l l a r c h i t e c t u r e . ' s

    m a i n i n p u t i s s o u r c e c o d e . A s s h o w n i n t h e l o w e r l e f t

    c o r n e r o f t h e g u r e , a p r o g r a m a n a l y z e r t r a n s l a t e s t h e

    s o u r c e c o d e i n t o t h e P l a n C a l c u l u s b y a n a l y z i n g t h e d a t a

    a n d c o n t r o l o w . I n a d d i t i o n , m a y h a v e a c c e s s

    t o s o m e i n c o m p l e t e s p e c i c a t i o n i n f o r m a t i o n , e i t h e r i n t h e

    f o r m o f e x p l i c i t l y p r o v i d e d t e s t c a s e s o r a s a b y p r o d u c t o f

    e a r l i e r r e q u i r e m e n t s a n d d e s i g n a c t i v i t i e s u s i n g t o o l s l i k e

    t h e R e q u i r e m e n t s A p p r e n t i c e a n d t h e D e s i g n A p p r e n t i c e .

    A p r o g r a m b u g m a n i f e s t s i t s e l f i n C a k e a s a c o n t r a d i c -

    t i o n b e t w e e n t h e b e h a v i o r o f t h e p r o g r a m a n d i t s s p e c i -

    c a t i o n s . c o m m e n c e s b u g l o c a l i z a t i o n w h e n s u c h

    a c o n t r a d i c t i o n a r i s e s . g e n e r a t e s a n i n i t i a l s e t o f

    s u s p e c t s ( p r o c e d u r e c a l l s ) b y r e t r i e v i n g t h e p r e m i s e s u n -

    d e r l y i n g t h e c o n t r a d i c t i o n i n C a k e ' s d e p e n d e n c y s t r u c t u r e .

    S o m e o f t h e s u s p e c t s w i l l t y p i c a l l y b e c o n d i t i o n a l s , o r

    \ s p l i t s " i n c o n t r o l o w . a t t e m p t s t o e x o n e r -

    a t e s p l i t s b y p e r f o r m i n g a s p e c i a l k i n d o f r e a s o n i n g - b y -

    c a s e s u s i n g C a k e ' s f a c i l i t i e s f o r a s s e r t i n g a n d r e t r a c t i n g

    p r e m i s e s . ( T h i s i s a n e x a m p l e o f e x p l i c i t l y c o n t r o l l e d r e a -

    s o n i n g . )

    D e p e n d e n c y a n a l y s i s a n d s p l i t a n a l y s i s w i l l u s u a l l y e x -

    o n e r a t e s o m e , b u t n o t a l l , o f t h e s u s p e c t s . A t t h i s

    p o i n t r e q u i r e s m o r e s p e c i c a t i o n i n f o r m a t i o n , s o

    i t q u e r i e s t h e u s e r a b o u t o n e o f t h e r e m a i n i n g s u s p e c t s

    ( h e u r i s t i c s a r e u s e d t o c h o o s e w h i c h o n e ) . T h e n e w i n f o r -

    m a t i o n o b t a i n e d i n t h e q u e r y w i l l t y p i c a l l y r e s u l t i n n e w

    d e d u c t i o n s i n C a k e a n d t h e r e f o r e a c h a n g e d d e p e n d e n c y

    s t r u c t u r e . A n a l y s i s o f t h e n e w d e p e n d e n c i e s m a y e x o n e r -

    5

  • 8/2/2019 Seven Layers of Knowledge Representation

    10/23

    F i g . 3 . A r c h i t e c t u r e o f t h e D e b u g g i n g A s s i s t a n t s h o w i n g t h e r o l e o f C a k e .

    a t e f u r t h e r s u s p e c t s .

    i t e r a t e s t h r o u g h t h e s t e p s o f d e p e n d e n c y a n a l -

    y s i s , s p l i t a n a l y s i s , a n d q u e r y i n g u n t i l i t n d s i t s e l f w i t h

    o n e s u s p e c t o r n o s u s p e c t s . I f o n e s u s p e c t r e m a i n s a n d

    i t r e p r e s e n t s a c a l l t o a s y s t e m p r i m i t i v e ( s u c h a s

    C a r

    i n

    L i s p ) , t h e n c o n c l u d e s t h a t t h e b u g i s d u e t o a n

    i n c o r r e c t u s e o f t h a t p r i m i t i v e .

    I f o n e s u s p e c t r e m a i n s a n d i t r e p r e s e n t s a c a l l t o a u s e r -

    d e n e d p r o c e d u r e , t h e n a t t e m p t s t o f u r t h e r l o -

    c a l i z e t h e b u g . \ z o o m s i n " o n t h e p r o c e d u r e c a l l

    b y e x p a n d i n g i t s d e n i t i o n , a n d c o n t i n u e s d e b u g g i n g t h e

    e x p a n d e d d e n i t i o n . I f i s u n a b l e t o l o c a l i z e t h e

    b u g a f t e r z o o m i n g i n ( i t e n d s h a v i n g n o s u s p e c t s ) , t h e n

    i t c o n c l u d e s t h a t t h e b u g i s a t s o m e u n d e t e r m i n e d p l a c e

    w i t h i n t h e e n c l o s i n g p r o c e d u r e c a l l .

    U n l i k e t h e R e q u i r e m e n t s A p p r e n t i c e , i s n o t

    a k n o w l e d g e - i n t e n s i v e t o o l | t h e r e i s n o r e u s a b l e l i b r a r y

    c o m p o n e n t i n . M u c h o t h e r w o r k i n t h i s a r e a ( e . g . ,

    [ 1 7 , 1 8 ] ) h a s e x p l o r e d t h e u s e o f p r e d e n e d b u g p a t t e r n s .

    i s a n a t t e m p t t o s u p p o r t t h e k i n d o f g e n e r a l -

    p u r p o s e b u g l o c a l i z a t i o n t h a t p e o p l e d o i n u n f a m i l i a r s i t -

    u a t i o n s .

    T h e f o l l o w i n g t r a n s c r i p t i l l u s t r a t e s t h e u s e o f

    t o n d t h e b u g i n t h e u n i c a t i o n p r o g r a m i n F i g . 4 . A

    m u c h b e t t e r u s e r i n t e r f a c e , w h i c h d i s p l a y s t h e c o d e b e i n g

    d e b u g g e d w i t h h e l p f u l h i g h l i g h t i n g a n d u n d e r l i n i n g w a s

    d e s i g n e d f o r ( s e e [ 1 6 ] ) , b u t i s o m i t t e d h e r e t o

    s a v e s p a c e .

    T h e t o p l e v e l p r o c e d u r e i n F i g . 4 i s

    U n i f y

    . I t s i n p u t s

    a r e t w o p a t t e r n s a n d a n e n v i r o n m e n t ( a n i n i t i a l l i s t o f

    b i n d i n g s ) . P a t t e r n s a r e r e p r e s e n t e d a s l i s t s . V a r i a b l e s i n

    ( D e f u n U n i f y ( P 1 P 2 E n v )

    ( C o n d ( ( E q E n v ' N o M a t c h ) ' N o M a t c h )

    ( ( V a r i a b l e P P 1 )

    ( I f ( V a r i a b l e P P 2 )

    ( V a r - V a r - M a t c h P 1 P 2 E n v )

    ( E x t e n d - I f - P o s s i b l e P 1 P 2 E n v ) ) )

    ( ( V a r i a b l e P P 2 )

    ( E x t e n d - I f - P o s s i b l e P 2 P 1 E n v ) )

    ( ( C o n s t a n t P P 1 )

    ( I f ( C o n s t a n t P P 2 )

    ( I f ( S a m e - C o n s t a n t P 1 P 2 )

    E n v

    ' N o M a t c h )

    ' N o M a t c h ) )

    ( ( C o n s t a n t P P 2 ) ' N o M a t c h )

    ( T ( U n i f y ( C d r P 1 )

    ( C d r P 2 )

    ( U n i f y ( C a r P 1 ) ( C a r P 2 ) E n v ) ) ) ) )

    ( D e f u n V a r - V a r - M a t c h ( V 1 V 2 E n v )

    ( I f ( E q V 1 V 2 )

    E n v

    ( L e t ( ( B 1 ( L o o k u p V 1 E n v ) )

    ( B 2 ( L o o k u p V 2 E n v ) ) )

    ( I f ( N u l l B 1 )

    ( I f ( N u l l B 2 )

    ( E x t e n d V 1 V 2 E n v )

    ( U n i f y V 1 ( B i n d i n g - V a l B 2 ) E n v ) )

    ( U n i f y ( B i n d i n g - V a l B 1 )

    ( I f ( N u l l B 2 )

    V 2

    ( B i n d i n g - V a l B 2 ) )

    E n v ) ) ) ) )

    ( D e f u n E x t e n d - I f - P o s s i b l e ( V a r V a l E n v )

    ( L e t ( ( V a l u e - C e l l ( L o o k u p V a r E n v ) ) )

    ( I f ( N u l l V a l u e - C e l l )

    ( I f ( F r e e o f V a r V a l E n v )

    ( E x t e n d V a r V a l E n v )

    ' N o M a t c h )

    ( U n i f y ( B i n d i n g - V a l V a l u e - C e l l ) V a l E n v ) ) ) )

    ( D e f u n F r e e o f ( V a r E E n v )

    ( C o n d ( ( C o n s t a n t P E ) T )

    ( ( V a r i a b l e P E )

    ( I f ( E q u a l V a r E )

    N i l

    ( L e t ( ( B ( L o o k u p E E n v ) ) )

    ( I f ( N u l l B )

    T

    ( F r e e o f V a r ( B i n d i n g - V a l B ) E n v ) ) ) ) )

    ( ( F r e e o f V a r ( C a r E ) E n v )

    ( F r e e o f V a r ( C d r E ) E n v ) ) ) )

    ( D e f u n L o o k u p ( V a r E n v )

    ( C o n d ( ( N u l l E n v ) N i l )

    ( ( E q u a l V a r

    ( B i n d i n g - V a r ( C a r E n v ) ) ) ( C a r V a r ) )

    ( T ( L o o k u p V a r ( C d r E n v ) ) ) ) )

    ( D e f u n E x t e n d ( V a r V a l E n v )

    ( C o n s ( N e w - B i n d i n g V a r V a l ) E n v ) )

    ( D e f u n C o n s t a n t P ( X ) ( A t o m X ) )

    ( D e f u n S a m e - C o n s t a n t ( X Y ) ( E q X Y ) )

    ( D e f u n V a r i a b l e P ( X )

    ( A n d ( C o n s P X ) ( E q ( C a r X ) ' ? ) ) )

    ( D e f u n N e w - B i n d i n g ( V a r V a l u e ) ( C o n s V a r V a l u e ) )

    ( D e f u n B i n d i n g - V a r ( C e l l ) ( C a r C e l l ) )

    ( D e f u n B i n d i n g - V a l ( C e l l ) ( C d r C e l l ) )

    F i g . 4 . C o m m o n L i s p s o u r c e c o d e f o r u n i c a t i o n p r o g r a m w i t h b u g .

    p a t t e r n s a r e r e p r e s e n t e d a s l i s t s w h o s e r s t e l e m e n t i s a

    q u e s t i o n m a r k .

    U n i f y

    i s s u p p o s e d t o r e t u r n e i t h e r a l i s t

    o f b i n d i n g s t h a t u n i f y t h e t w o g i v e n p a t t e r n s , o r t h e a t o m

    N o M a t c h i f t h e p a t t e r n s a r e i n c o m p a t i b l e . A b i n d i n g i s

    r e p r e s e n t e d a s a d o t t e d p a i r w h o s e

    C a r

    i s a v a r i a b l e . N o

    s p e c i c a t i o n i n f o r m a t i o n i s p r o v i d e d t o p r i o r t o

    t h e s e s s i o n b e l o w .

    6

  • 8/2/2019 Seven Layers of Knowledge Representation

    11/23

    T h e f o l l o w i n g a r e t h r e e e x a m p l e s o f c o r r e c t t e s t c a s e s

    f o r

    U n i f y

    .

    > ( U n i f y ' ( F ( ? X ) ( ? Y ) ) ' ( F 3 4 ) N i l )

    ( ( ( ? X ) . 3 ) ( ( ? Y ) . 4 ) )

    > ( U n i f y ' ( F ( ? X ) ) ' ( G 3 ) N i l )

    N o M a t c h

    > ( U n i f y ' ( F 1 ) ' ( F 1 ) N i l )

    N i l

    H o w e v e r , t h e f o l l o w i n g t e s t c a s e r e v e a l s t h e p r e s e n c e o f a

    b u g .

    > ( U n i f y ' ( ( ? X ) ) ' ( ( ? X ) ) N i l )

    ( ( ? X ) . ( ? X ) )

    T h e c o r r e c t o u t p u t h e r e i s

    N i l

    . T o a p p r e c i a t e t h e a s s i s -

    t a n c e p r o v i d e d b y i n t h e t r a n s c r i p t b e l o w , t h e

    r e a d e r a t t h i s p o i n t i s e n c o u r a g e d t o e x a m i n e t h e c o d e i n

    F i g . 4 t o t r y t o n d t h e c a u s e o f t h e i n c o r r e c t o u t p u t .

    i s i n v o k e d b y i n f o r m i n g i t o f t h e c o r r e c t o u t p u t

    f o r t h e p r e c e d i n g t e s t c a s e .

    1 > ( C o r r e c t - O u t p u t - I s N i l )

    t r a n s l a t e s t h e c o d e i n F i g . 4 i n t o t h e P l a n C a l -

    c u l u s a n d d i s c o v e r s t h a t t h e ( i n c o r r e c t ) o u t p u t v a l u e i n

    t h i s t e s t c a s e d e p e n d s ( a m o n g o t h e r t h i n g s ) o n t h e u n d e r -

    l i n e d r e c u r s i v e c a l l t o U n i f y . T o a l l o c a t e b l a m e , i t m u s t

    a s k i f t h e a r g u m e n t s t o t h i s c a l l t o

    U n i f y

    a r e c o r r e c t ( f o r

    t h i s t e s t c a s e ) . I f t h e a r g u m e n t s a r e c o r r e c t , t h e n t h i s p r o -

    c e d u r e i s t o b l a m e . I f t h e y a r e n o t , t h e n t h e p r o b l e m i s

    e a r l i e r i n t h e c o d e .

    * * W i t h i n U N I F Y ,

    p r o c e d u r e c a l l ( U n i f y N i l N i l ' ( ( ( ? X ) . ( ? X ) ) ) )

    r e t u r n e d i n c o r r e c t v a l u e : ( ( ( ? X ) . ( ? X ) ) )

    W a s U N I F Y c a l l e d c o r r e c t l y h e r e ?

    S i n c e t h e c o r r e c t e n v i r o n m e n t t o b e r e t u r n e d i n t h i s

    t e s t c a s e i s

    N i l

    , a n o n -

    N i l

    e n v i r o n m e n t l i s t , s u c h a s t h e

    t h i r d a r g u m e n t a b o v e , s h o u l d n e v e r b e c r e a t e d . T h e r e f o r e

    t h e p r o c e d u r e c a l l a b o v e i s i n c o r r e c t . T h e u s e r i n f o r m s

    o f t h i s f a c t a s s h o w n b e l o w .

    2 > N o

    E n t e r v i o l a t e d c o n d i t i o n :

    3 > ( N o t ( E q A r g 3 A c t u a l 3 ) )

    T h e i n c o r r e c t e n v i r o n m e n t l i s t a b o v e w a s p r o d u c e d b y

    t h e o t h e r ( n o n - u n d e r l i n e d ) r e c u r s i v e c a l l t o

    U n i f y

    .

    t h e r e f o r e q u e r i e s a b o u t w h e t h e r i t w a s c a l l e d c o r -

    r e c t l y .

    * * W i t h i n U N I F Y ,

    p r o c e d u r e c a l l ( U n i f y ' ( ? X ) ' ( ? X ) N i l )

    r e t u r n e d i n c o r r e c t v a l u e : ( ( ( ? X ) . ( ? X ) ) )

    W a s U N I F Y c a l l e d c o r r e c t l y h e r e ?

    4 > Y e s

    T h e a r g u m e n t s t o t h i s p r o c e d u r e c a l l a r e c o r r e c t , s o

    e x p a n d s

    U n i f y

    a g a i n ( t h i s t i m e w i t h d i e r e n t a r -

    g u m e n t s ) . I n t h i s e x p a n s i o n , i s a b l e t o e l i m i -

    n a t e ( u s i n g s p l i t a n a l y s i s ) a l l o f t h e s u s p e c t s e x c e p t f o r

    V a r - V a r - M a t c h

    .

    T h e r e i s a b u g w i t h i n U N I F Y .

    Z o o m i n g i n . . .

    T h e r e i s a b u g w i t h i n V A R - V A R - M A T C H .

    Z o o m i n g i n . . .

    t h e r e f o r e e x p a n d s t h e c a l l t o

    V a r - V a r - M a t c h

    a n d t h e n q u e r i e s a b o u t o n e o f t h e p r o c e d u r e c a l l s o n w h i c h

    i t s o u t p u t d e p e n d s i n t h i s t e s t c a s e , n a m e l y E x t e n d .

    * * W i t h i n V A R - V A R - M A T C H ,

    p r o c e d u r e c a l l ( E x t e n d ' ( ? X ) ' ( ? X ) N i l )

    r e t u r n e d i n c o r r e c t v a l u e : ( ( ( ? X ) . ( ? X ) ) )

    W a s E X T E N D c a l l e d c o r r e c t l y h e r e ?

    S i n c e E x t e n d i s t h e p r o c e d u r e t h a t b u i l d s a b i g g e r e n -

    v i r o n m e n t l i s t , i t s h o u l d n e v e r b e c a l l e d i n t h i s t e s t c a s e .

    T h e u s e r i n f o r m s o f t h i s f a c t a s s h o w n b e l o w .

    5 > N o

    E n t e r v i o l a t e d c o n d i t i o n :

    6 > ( N o t ( E x e c u t e d E x t e n d ) )

    W i t h o u t a n y f u r t h e r i n p u t f r o m t h e u s e r , l o -

    c a l i z e s t h e b u g t o t h e c a l l t o E q i n V a r - V a r - M a t c h .

    D e p e n d e n c y a n a l y s i s e x o n e r a t e s : E x t e n d .

    * * W i t h i n V A R - V A R - M A T C H ,

    p r o c e d u r e c a l l ( E q ' ( ? X ) ' ( ? X ) )

    r e t u r n e d i n c o r r e c t v a l u e : N i l

    E Q i s p r i m i t i v e ; l o c a l i z a t i o n c o m p l e t e .

    A n e x p e r i e n c e d L i s p p r o g r a m m e r w o u l d n o w i m m e d i -

    a t e l y r e c o g n i z e t h e p r o b l e m : S i n c e v a r i a b l e s a r e r e p r e -

    s e n t e d a s l i s t s , t w o v a r i a b l e s n e e d t o b e c o m p a r e d u s i n g

    E q u a l

    , n o t

    E q

    . N o t i c e t h a t r e q u i r e d o n l y s i x s m a l l

    p i e c e s o f i n f o r m a t i o n f r o m t h e u s e r t o h e l p n d t h i s b u g .

    B e c a u s e o f t h e w a y i s i m p l e m e n t e d o n t o p

    o f C a k e , t h e l o c a l i z a t i o n a l g o r i t h m d e m o n s t r a t e d a b o v e

    w o r k s e q u a l l y w e l l f o r d e b u g g i n g d e s i g n s ( m i x t u r e s o f i n -

    c o m p l e t e c o d e a n d p a r t i a l s p e c i c a t i o n s ) a s i t d o e s f o r

    d e b u g g i n g f u l l y c o m p l e t e d c o d e .

    A f t e r t h i s i n t r o d u c t o r y m a t e r i a l , w e n o w b e g i n t h e l a y e r -

    b y - l a y e r d e s c r i p t i o n o f C a k e .

    T h e b o t t o m m o s t l a y e r o f C a k e i s a s i m p l e , m o n o t o n i c

    t r u t h m a i n t e n a n c e s y s t e m [ 1 9 ] . T r u t h m a i n t e n a n c e i s t h e

    f o u n d a t i o n o f C a k e i n t h e s e n s e t h a t t h e r e a s o n i n g p r o c e -

    d u r e s i n a l l l a y e r s a r e r e q u i r e d t o r e c o r d t h e i r d e p e n d e n c i e s

    i n t h e s i n g l e u n i f o r m n e t w o r k p r o v i d e d b y t h i s l a y e r . F a -

    c i l i t i e s a r e a l s o p r o v i d e d s o t h a t f u r t h e r e x t e n s i o n s t o C a k e

    c a n o b e y t h i s d i s c i p l i n e . T h i s a r c h i t e c t u r e i s m o t i v a t e d b y

    t h e e v o l u t i o n a r y n a t u r e o f s o f t w a r e d e v e l o p m e n t a n d t h e

    n e e d t o s u p p o r t i n t e l l i g e n t a s s i s t a n c e .

    T h e f u n d a m e n t a l d a t a a b s t r a c t i o n i n t h e t r u t h m a i n t e -

    n a n c e l a y e r i s a f a c t ( a l s o c a l l e d a n o d e ) . E v e r y f a c t i s i n

    o n e o f t w o s t a t e s : i n ( b e l i e v e d ) o r o u t ( n o t b e l i e v e d ) .

    2

    E x a m p l e s o f f a c t s i n t h e R e q u i r e m e n t s A p p r e n t i c e a r e :

    \ c h e c k i n i s t h e i n v e r s e o f c h e c k o u t " ( a u s e r - p r o v i d e d

    f a c t | s e e S e c t i o n I I . A , l i n e 9 ) a n d \ c h e c k o u t t a k e s a n

    a s i n p u t " ( a d e d u c e d f a c t ) .

    D e p e n d e n c i e s f o r m a n e t w o r k w i t h t h e f a c t s a s n o d e s .

    E a c h d e p e n d e n c y s p e c i e s a s e t o f f a c t s ( t h e s u p p o r t s ) t h a t

    h a s b e e n u s e d t o d e d u c e s o m e o t h e r f a c t ( t h e c o n c l u s i o n ) .

    E a c h d e p e n d e n c y m a y a l s o i n c l u d e a n a r b i t r a r y d o c u m e n -

    t a t i o n s t r i n g .

    2

    T h i s i s a w h i t e l i e . I n o r d e r t o s u p p o r t t h e p r o p o s i t i o n a l i n f e r e n c e

    a l g o r i t h m m o r e e c i e n t l y , f a c t s i n C a k e h a v e t h r e e s t a t e s , a s d e s c r i b e d

    i n S e c t i o n I V .

    7

  • 8/2/2019 Seven Layers of Knowledge Representation

    12/23

    T h e t r u t h m a i n t e n a n c e s y s t e m e n s u r e s t h a t a l l ( a n d

    o n l y ) f a c t s w i t h w e l l - f o u n d e d s u p p o r t a r e i n . A f a c t h a s

    w e l l - f o u n d e d s u p p o r t i f i t i s e i t h e r a p r e m i s e ( a d i s t i n -

    g u i s h e d c l a s s o f f a c t s w h o s e b e l i e f s t a t e i s s e t e x t e r n a l l y )

    o r t h e c o n c l u s i o n o f a d e p e n d e n c y a l l o f w h o s e s u p p o r t s

    h a v e w e l l - f o u n d e d s u p p o r t .

    T h e t r u t h m a i n t e n a n c e s y s t e m m a i n t a i n s t h i s i n v a r i a n t

    i n c r e m e n t a l l y w h e n e v e r a p r e m i s e i s a s s e r t e d o r r e t r a c t e d

    ( s t a t e s e t t o i n o r o u t ) , o r w h e n a d e p e n d e n c y i s a d d e d

    ( d e p e n d e n c i e s m a y n o t b e r e m o v e d ) . T h e a l g o r i t h m v i s i t s

    e a c h n o d e i n t h e n e t w o r k a t m o s t o n c e ( d e p e n d e n c y c y c l e s

    a r e p r o h i b i t e d ) . T h i s i s t h e r e f o r e a n e x a m p l e o f a k i n d o f

    r e a s o n i n g t h a t i s i n e x p e n s i v e e n o u g h t o r u n s p o n t a n e o u s l y .

    A n o t h e r i m p o r t a n t s e r v i c e p r o v i d e d b y t h e t r u t h m a i n -

    t e n a n c e l a y e r i s t h e t r i g g e r i n g o f a t t a c h e d p r o c e d u r e s

    ( d e m o n s ) w h e n e v e r t h e s t a t e o f a f a c t c h a n g e s . T h i s f a -

    c i l i t y i s u s e d b y o t h e r l a y e r s t o i m p l e m e n t v a r i o u s k i n d s

    o f s p e c i a l i z e d p r o c e s s i n g , s u c h a s s e a r c h i n g f o r a n a l t e r -

    n a t i v e p r o o f w h e n a f a c t g o e s o u t . I t i s a l s o u s e d i n t h e

    R e q u i r e m e n t s A p p r e n t i c e t o m o n i t o r w h e n c e r t a i n i m p o r -

    t a n t f a c t s c o m e i n ( s u c h a s w h e n t w o d e n i t i o n s a r e p r o v e d

    e q u a l | s e e S e c t i o n I I . A , l i n e 1 1 ) .

    A . U s i n g D e p e n d e n c i e s

    I n a d d i t i o n t o s u p p o r t i n g t h e i n c r e m e n t a l p r o c e s s i n g d e -

    s c r i b e d a b o v e , d e p e n d e n c i e s a r e u s e f u l f o r t w o o t h e r p u r -

    p o s e s .

    F i r s t , d e p e n d e n c i e s h a v e b e e n a n i n v a l u a b l e a i d t o u s a s

    d e v e l o p e r s o f C a k e f o r d e b u g g i n g i t a n d t h e t o o l s b u i l t o n

    t o p o f i t . B e c a u s e C a k e i s a h i g h l y d a t a - d i r e c t e d s y s t e m ,

    t h e o w o f c o n t r o l t h r o u g h i t s p r o c e d u r e s i s n o t o b v i o u s .

    W h e n a n u n d e s i r a b l e c o n c l u s i o n i s r e a c h e d t h r o u g h a l o n g

    c h a i n o f d e d u c t i o n s , i t c a n t h e r e f o r e b e q u i t e d i c u l t t o

    n d t h e e r r o r . B y c o n v e n t i o n , w h e n e v e r a s p e c i a l i z e d r e a -

    s o n e r ( s u c h a s e q u a l i t y ) r e c o r d s a d e p e n d e n c y , i t i d e n t i e s

    i t s e l f i n t h e a s s o c i a t e d d o c u m e n t a t i o n s t r i n g . T h e p r o c e -

    d u r e f o r p r i n t i n g s u p p o r t t r e e s i n c l u d e s t h e s e d o c u m e n t a -

    t i o n s t r i n g s i n i t s o u t p u t , ( e . g . , \ : : :

    b y E q u a l i t y f r o m

    : : : "

    i n S e c t i o n I I . A , l i n e 1 2 ) . W e h a v e a l s o d e v e l o p e d a g r a p h -

    i c a l t o o l f o r i n s p e c t i n g s u p p o r t t r e e s .

    S e c o n d , d e p e n d e n c y i n f o r m a t i o n c a n b e u s e d t o p r o v i d e

    e x p l a n a t i o n s t o t h e e n d u s e r o f a s o f t w a r e t o o l b u i l t o n

    t o p o f C a k e . F r o m o u r e x p e r i e n c e w i t h R e q u i r e m e n t s A p -

    p r e n t i c e , h o w e v e r , t h e d e p e n d e n c y n e t w o r k i s b e s t v i e w e d

    a s o n l y t h e \ r a w m a t e r i a l " f o r s u c h e x p l a n a t i o n s . T h i s

    i s p a r t l y b e c a u s e o f t h e s h e e r s i z e o f t h e d e p e n d e n c y t r e e

    s u p p o r t i n g a t y p i c a l f a c t . A l s o , m o s t o f t h e i n t e r n a l s t e p s

    i n t h e s e m a c h i n e g e n e r a t e d p r o o f s r e f e r t o f o r m a l m a t h e -

    m a t i c a l t h e o r i e s r a t h e r t h a n t h e a p p l i c a t i o n d o m a i n .

    B . P r o b l e m s

    S i g n i c a n t r e s e a r c h i s s u e s r e m a i n r e g a r d i n g h o w t o a b -

    s t r a c t a n d p r e s e n t d e p e n d e n c y i n f o r m a t i o n i n a f o r m t h a t

    i s u s e f u l t o a n e n d u s e r ( f o r r e l a t e d r e s e a r c h , s e e [ 2 0 ] ) .

    A n o t h e r m a j o r p r o b l e m w i t h t h e t r u t h m a i n t e n a n c e

    l a y e r h a s b e e n t h e l a c k o f a m e t h o d o l o g y f o r \ g a r b a g e c o l -

    l e c t i o n . " I n t h e c u r r e n t i m p l e m e n t a t i o n , n o d e s c a n o n l y

    b e a d d e d t o t h e d e p e n d e n c y n e t w o r k , n e v e r r e m o v e d . I t

    i s c l e a r t h a t t h i s a p p r o a c h w i l l n o t s c a l e u p t o l a r g e a p p l i -

    c a t i o n s , s i n c e i t l e a d s t o t h e a c c u m u l a t i o n o f u s e l e s s d e -

    p e n d e n c y n e t w o r k , w h i c h t a k e s u p m e m o r y a n d e v e n t u a l l y

    s l o w s d o w n t h e s y s t e m d u e t o p a g i n g . ( U s e l e s s n e t w o r k

    d o e s n o t d i r e c t l y s l o w d o w n t h e t r u t h m a i n t e n a n c e a l g o -

    r i t h m , s i n c e i t i s n o t l o o k e d a t d u r i n g n o r m a l p r o c e s s i n g . )

    T h e l a c k o f g a r b a g e c o l l e c t i o n i s e s p e c i a l l y p r o b l e m a t i c a l

    w h e n a s o f t w a r e t o o l e x p l o r e s m a n y h y p o t h e t i c a l s ( s u c h a s

    w h e n t h e D e b u g g i n g A s s i s t a n t c o n s i d e r s a l t e r n a t i v e c o n -

    t r o l p a t h s t h r o u g h a p r o g r a m ) . R e c e n t r e s e a r c h o n c o m -

    b i n i n g e c i e n t c o n t e x t s w i t c h i n g m e c h a n i s m s w i t h t r u t h

    m a i n t e n a n c e m a y b e h e l p f u l i n a f u t u r e v e r s i o n o f t h e t h i s

    l a y e r .

    I n t h e n a l a n a l y s i s , t h e m o s t d r a m a t i c a r c h i t e c t u r a l i m -

    p a c t o f t h e t r u t h m a i n t e n a n c e l a y e r h a s b e e n i n d i r e c t . T h e

    n e c e s s i t y o f r e c o r d i n g c o r r e c t d e p e n d e n c i e s c a u s e d u s t o

    r e - i m p l e m e n t a n u m b e r o f s t a n d a r d r e a s o n i n g a l g o r i t h m s

    i n C a k e r a t h e r t h a n b e i n g a b l e t o u s e i m p l e m e n t a t i o n s

    a l r e a d y w r i t t e n b y o t h e r s . T r u t h m a i n t e n a n c e i s n o t a

    f e a t u r e t h a t i s e a s i l y a d d e d t o e x i s t i n g c o d e .

    T h e s e c o n d l a y e r o f C a k e p r o v i d e s l i m i t e d p r o p o s i t i o n a l

    r e a s o n i n g . P r o p o s i t i o n a l r e a s o n i n g m a k e s c o n c l u s i o n s c o n -

    c e r n i n g b o o l e a n c o m b i n a t i o n s o f f a c t s ( i . e . , u s i n g , _ ,

    a n d : ) , i n w h i c h t h e i n d i v i d u a l f a c t s a r e c o n s i d e r e d t o b e

    a t o m i c o b j e c t s . T h i s f o r m o f d e d u c t i o n u n d e r l i e s a l l o f t h e

    b e h a v i o r p r e s e n t e d i n S e c t i o n I I .

    U n f o r t u n a t e l y , a c o m p l e t e d e c i s i o n p r o c e d u r e f o r p r o p o -

    s i t i o n a l l o g i c r e q u i r e s t i m e i n t h e w o r s t c a s e e x p o n e n t i a l

    i n t h e n u m b e r o f p r o p o s i t i o n s ( f a c t s ) , w h i c h w o u l d b e u n -

    a c c e p t a b l e a s s p o n t a n e o u s r e a s o n i n g . I n s t e a d , C a k e s p o n -

    t a n e o u s l y p e r f o r m s o n l y u n i t p r o p o s i t i o n a l r e s o l u t i o n s , i n

    w h i c h o n e o f t h e i n p u t s i s a s i n g l e f a c t a n d t h e o t h e r i s a

    c l a u s e | a d i s j u n c t i o n o f f a c t s . F o r e x a m p l e , f r o m : A a n d

    A _ : B _ C , C a k e c a n c o n c l u d e : B _ C . T h i s i n c o m p l e t e

    i n f e r e n c e r u l e s e e m s t o c o r r e s p o n d r e a s o n a b l y w e l l w i t h

    w h a t u s e r s c o n s i d e r t o b e \ o b v i o u s " c o n c l u s i o n s w h e n u s -

    i n g a t o o l s u c h a s t h e R e q u i r e m e n t s A p p r e n t i c e .

    T h e f u n d a m e n t a l d a t a a b s t r a c t i o n i n t r o d u c e d b y t h e

    b o o l e a n c o n s t r a i n t p r o p a g a t i o n l a y e r i s t h e c l a u s e , r e p r e -

    s e n t e d a s a l i s t o f ( p o s s i b l y n e g a t e d ) n o d e s . C l a u s e s m a y

    b e a d d e d t o C a k e , b u t n o t r e m o v e d ( a n d a r e t h e r e f o r e s u b -

    j e c t t o t h e s a m e g a r b a g e c o l l e c t i o n p r o b l e m a s n o d e s a n d

    d e p e n d e n c i e s ) .

    T h e c o n c r e t e d a t a s t r u c t u r e s f o r t h e b o o l e a n c o n s t r a i n t

    p r o p a g a t i o n l a y e r a n d t h e t r u t h m a i n t e n a n c e l a y e r h a v e

    b e e n m e r g e d t o a c h i e v e i m p r o v e d e c i e n c y . N o d e s i n C a k e

    t h e r e f o r e h a v e t h r e e s t a t e s , c a l l e d t r u t h v a l u e s : t r u e , f a l s e ,

    a n d u n k n o w n , c o r r e s p o n d i n g r e s p e c t i v e l y t o a f a c t b e i n g

    b e l i e v e d , i t s n e g a t i o n b e i n g b e l i e v e d , o r n e i t h e r .

    T h e c o n s t r a i n t p r o p a g a t i o n a l g o r i t h m i m p l e m e n t s u n i t

    r e s o l u t i o n b y r e p e a t e d l y p e r f o r m i n g t h e f o l l o w i n g b a s i c

    s t e p : S u p p o s e e x a c t l y o n e o f t h e n o d e s i n a c l a u s e i s u n -

    k n o w n , t h e o t h e r s b e i n g e i t h e r t r u e o r f a l s e . F u r t h e r m o r e ,

    s u p p o s e t h a t e a c h t r u e n o d e i s n e g a t e d i n t h e c l a u s e a n d

    e a c h f a l s e n o d e i s n o t n e g a t e d . T h e s t a t e o f t h e u n k n o w n

    n o d e m a y t h e n b e s e t t o f a l s e ( i f t h e n o d e i s n e g a t e d i n

    8

  • 8/2/2019 Seven Layers of Knowledge Representation

    13/23

    t h e c l a u s e ) o r t r u e ( i f i t i s n o t n e g a t e d ) . T h i s a l g o r i t h m

    r e q u i r e s t i m e i n t h e w o r s t c a s e l i n e a r i n t h e n u m b e r o f

    c l a u s e s a n d r e q u i r e s n o a d d i t i o n a l s p a c e f o r n e w c l a u s e s .

    T h i s b a s i c a l g o r i t h m w a s d e v e l o p e d b y M c A l l e s t e r [ 2 1 ]

    a n d c a n b e t h o u g h t o f a s a k i n d o f c o n s t r a i n t p r o p a g a -

    t i o n n e t w o r k [ 2 2 ] ( h e n c e t h e n a m e o f t h e l a y e r : b o o l e a n

    c o n s t r a i n t p r o p a g a t i o n ) ; i t i s a l s o r e l a t e d t o a c h i e v i n g a r c

    c o n s i s t e n c y i n b o o l e a n c o n s t r a i n t s a t i s f a c t i o n [ 2 3 ] .

    A . C o n t r a d i c t i o n s

    T h e p r o p o s i t i o n a l i n f e r e n c e a l g o r i t h m d e s c r i b e d a b o v e

    a l s o d e t e c t s \ o b v i o u s " c o n t r a d i c t i o n s . A c o n t r a d i c t i o n h a s

    b e e n d e t e c t e d w h e n e v e r a l l t h e n o d e s i n a c l a u s e a r e s e t t o

    t h e w r o n g t r u t h v a l u e ( i . e . , a l l t h e n e g a t e d n o d e s a r e t r u e

    a n d a l l t h e n o n - n e g a t e d n o d e s a r e f a l s e ) . C o n t r a d i c t i o n s

    a r e h a n d l e d i n C a k e t h r o u g h t h e C o m m o n L i s p c o n d i t i o n

    s y s t e m [ 2 4 ] . I f t h e c o n t r a d i c t i o n c o n d i t i o n i s n o t t r a p p e d

    b y a h i g h e r - l e v e l c o n t r o l m e c h a n i s m ( a s , f o r e x a m p l e , i n

    r e a s o n i n g w i t h s i m p l i f y i n g a s s u m p t i o n s [ 2 5 ] o r i n r e f u t a -

    t i o n p r o o f s a s s h o w n i n t h e n e x t s e c t i o n ) , t h e u s e r i s a s k e d

    w h a t t o d o :

    > ( A s s e r t

    3

    P )

    ; m a k e p r e m i s e

    > ( A s s e r t ( I m p l i e s P Q ) )

    > ( A s s e r t ( N o t Q ) )

    * * C o n t r a d i c t i o n * *

    T h e r e i s a c o n f l i c t b e t w e e n t h e p r e m i s e s :

    1 . P i s T r u e .

    2 . ( I m p l i e s P Q ) i s T r u e .

    3 . ( N o t Q ) i s T r u e .

    1 : R e t r a c t o n e o f t h e p r e m i s e s

    2 : I g n o r e t h i s c o n t r a d i c t i o n

    3 : R e t u r n t o C o m m o n L i s p T o p L e v e l

    S e l e c t o p t i o n : > 1

    P r e m i s e t o r e t r a c t : > 3

    R e t r a c t i n g ( N o t Q ) b e i n g T r u e . . .

    I t i s i m p o r t a n t t o n o t e t h a t o n e o f t h e o p t i o n s a b o v e

    i s t o i g n o r e t h e c o n t r a d i c t i o n . ( T h e u s e r c a n c o m e b a c k

    t o d e a l w i t h i t l a t e r l a t e r ) . I n m a n y c o n v e n t i o n a l t h e o -

    r e m p r o v i n g s y s t e m s , i t i s n o t p o s s i b l e t o c o n t i n u e m a k i n g

    s o u n d d e d u c t i o n s w h e n t h e r e i s a c o n t r a d i c t i o n p r e s e n t .

    I n C a k e , h o w e v e r , ( d u e t o k e e p i n g t r a c k o f d e p e n d e n c i e s )

    r e a s o n i n g t h a t d o e s n o t i n v o l v e t h e c o n t r a d i c t i o n c a n c o n -

    t i n u e w i t h o u t d i c u l t y . T h i s i s p a r t i c u l a r l y i m p o r t a n t f o r

    t a s k s s u c h a s r e q u i r e m e n t s a c q u i s i t i o n w h e r e i t i s i m p r a c -

    t i c a l t o d e m a n d t h a t t h e u s e r r e s o l v e e a c h p r o b l e m a s s o o n

    i t i s d i s c o v e r e d .

    B . E x p l i c i t C o n t r o l

    C a k e c a n b e r e q u e s t e d t o \ t r y h a r d e r " t o d e d u c e t h a t

    a g i v e n u n k n o w n n o d e i s t r u e ( o r f a l s e ) b y t e m p o r a r i l y

    s e t t i n g t h e t r u t h v a l u e o f t h e n o d e t o f a l s e ( o r t r u e ) . I f

    t h e p r o p a g a t i o n o f t h i s t e m p o r a r y s t a t e l e a d s t o a c o n t r a -

    d i c t i o n , t h e n t h e o p p o s i t e t r u t h v a l u e i s d e d u c e d ( t h i s i s

    c a l l e d a r e f u t a t i o n p r o o f ) . I n t h e l i m i t , t h i s a p p r o a c h c a n

    b e u s e d t o a c h i e v e a c o m p l e t e ( a n d t h e r e f o r e e x p o n e n -

    t i a l ) d e c i s i o n p r o c e d u r e f o r p r o p o s i t i o n a l l o g i c b y t r y i n g

    a l l c o m b i n a t i o n s o f v a l u e s f o r a l l u n k n o w n n o d e s .

    3

    W e a s s u m e i n t h i s p a p e r t h a t p r o c e d u r e s s u c h a s

    A s s e r t

    a p p r o p r i -

    a t e l y q u o t e t h e i r a r g u m e n t s . I n f a c t , f o r b u i l d i n g t o o l s o n t o p o f C a k e ,

    t h e s e p r o c e d u r e s w i l l n o r m a l l y p a s s a r o u n d i n t e r n a l n o d e ( a n d o t h e r )

    d a t a s t r u c t u r e s .

    T h i s f e a t u r e i s m a d e a v a i l a b l e t o t h e i m p l e m e n t o r o f

    a s o f t w a r e t o o l o n t o p o f C a k e t h r o u g h u s e o f t h e

    A s k

    p r o c e d u r e i l l u s t r a t e d b e l o w .

    > ( A s s e r t ( I m p l i e s R S ) )

    > ( A s s e r t ( I m p l i e s ( N o t R ) S ) )

    > ( T r u t h S )

    ; r e t r i e v e t r u t h v a l u e

    : U n k n o w n

    ; c o n s t r a i n t p r o p a g a t i o n i s i n c o m p l e t e

    > ( A s k S )

    ; t r y r e f u t a t i o n i f n e c e s s a r y

    : T r u e

    > ( W h y S )

    ; s h o w i m m e d i a t e s u p p o r t

    S i s T r u e b y R e f u t a t i o n f r o m :

    1 . ( I m p l i e s R S ) I s T r u e a s a p r e m i s e .

    2 . ( I m p l i e s ( N o t R ) S ) i s T r u e a s a p r e m i s e .

    A s k

    i s u s e d t h r o u g h o u t t h e R e q u i r e m e n t s A p p r e n t i c e

    a n d t h e D e b u g g i n g A s s i s t a n t w h e n e v e r t h e t a s k c o n t e x t

    s u g g e s t s i t i s w o r t h t r y i n g h a r d e r f o r a p a r t i c u l a r c o n c l u -

    s i o n .

    R e a s o n i n g a b o u t e q u a l i t y i s p a r t i c u l a r l y i m p o r t a n t f o r

    t h e P r o g r a m m e r ' s A p p r e n t i c e , b e c a u s e t h e f o r m a l s e m a n -

    t i c s o f t h e P l a n C a l c u l u s ( S e c t i o n I X ) m a k e s h e a v y u s e

    o f e q u a l i t y ; f o r e x a m p l e , d a t a o w a r c s i n p l a n s d e n o t e

    e q u a l i t i e s b e t w e e n t e r m s r e p r e s e n t i n g t h e s o u r c e a n d d e s -

    t i n a t i o n p o i n t s . E q u a l i t y r e a s o n i n g i s a l s o a t t h e h e a r t

    o f t h e m a i n e r r o r - d e t e c t i o n h e u r i s t i c i l l u s t r a t e d i n t h e R e -

    q u i r e m e n t s A p p r e n t i c e s e s s i o n .

    I n t h e p r e c e d i n g t w o l a y e r s , a f a c t w a s a n a t o m i c

    o b j e c t w i t h n o i n t e r n a l s t r u c t u r e . T h e e q u a l i t y l a y e r

    i n t r o d u c e s t h e t e r m d a t a a b s t r a c t i o n . A t e r m i s

    a h i e r a c h i c a l e x p r e s s i o n o f o p e r a t o r s a n d a r g u m e n t s ,

    d o w n t o t h e p r i m i t i v e t e r m s a t t h e l e a v e s . E x -

    a m p l e s o f t e r m s a r e :

    5

    ,

    ( < X ( P l u s Y 5 ) )

    ,

    C h e c k - I n

    ,

    ( I n v e r s e C h e c k - O u t C h e c k - I n )

    , a n d s o o n ( t e r m s a r e w r i t -

    t e n h e r e i n t h e L i s p p r e x n o t a t i o n u s e d b y C a k e ) . S t a r t -

    i n g w i t h t h i s l a y e r , e v e r y n o d e i n C a k e h a s a c o r r e s p o n d i n g

    t e r m , b u t n o t v i c e v e r s a . O n l y t e r m s t h a t a r e \ b o o l e a n

    v a l u e d " , i . e . , t h a t e x p r e s s f a c t s , h a v e c o r r e s p o n d i n g n o d e s .

    O t h e r t e r m s , s u c h a s 5 a n d ( P l u s Y 5 ) a r e t h e b u i l d i n g

    b l o c k s o f f a c t s . ( C a k e ' s i n t e r n a l d a t a s t r u c t u r e f o r t e r m s

    p r i n t s o u t i n t h e f o r m # < T e r m : : : > . )

    T h e e q u a l i t y l a y e r a l s o i n t r o d u c e s t h e e q u a l i t y o p e r a -

    t o r , = . E q u a l i t y i s a n e q u i v a l e n c e ( t r a n s i t i v e , r e e x i v e ,

    a n t i s y m m e t r i c ) r e l a t i o n o n t e r m s s a t i s f y i n g t h e c o n g r u -

    e n c e c l o s u r e p r o p e r t y : I f t e r m t

    1

    e q u a l s t e r m t

    2

    , t h e n a n y

    t e r m T c o n t a i n i n g t

    1

    i s e q u a l t o t h e t e r m o b t a i n e d b y

    s u b s t i t u t i n g t

    2

    f o r t

    1

    i n T .

    A n e q u a l i t y i n C a k e i s a f a c t t h a t m a y b e a s s e r t e d , r e -

    t r a c t e d , a n d p r o v e d l i k e a n y o t h e r . F o r e x a m p l e :

    > ( A s s e r t ( = Y Z ) )

    > ( W h y ( = ( F Y ) ( F Z ) ) )

    ( = ( F Y ) ( F Z ) ) i s T r u e b y E q u a l i t y f r o m :

    1 . ( = Y Z ) i s T r u e a s a p r e m i s e .

    U s i n g a n u m b e r o f s p e c i a l l y d e s i g n e d i n t e r n a l d a t a

    s t r u c t u r e s , t h e e q u a l i t y l a y e r o f C a k e p r o v i d e s a c o m p l e t e

    g r o u n d r e a s o n e r f o r e q u a l i t y . W h a t t h i s m e a n s i s t h a t

    C a k e i s g u a r a n t e e d t o s p o n t a n e o u s l y a s s i g n t r u e t o a n

    e q u a l i t y n o d e ( a n o d e a s s o c i a t e d w i t h a t e r m o f t h e f o r m

    ( =

    : : :

    )

    ) i f t h e e q u a l i t y f o l l o w s f r o m o t h e r t r u e e q u a l i t y

    9

  • 8/2/2019 Seven Layers of Knowledge Representation

    14/23

    n o d e s i n t h e s y s t e m u s i n g ( o n l y ) t h e s e m a n t i c s o f e q u a l i t y

    s p e c i e d a b o v e .

    4

    C o n g r u e n c e c l o s u r e o f e q u i v a l e n c e r e l a t i o n s i s a w e l l

    s t u d i e d p r o b l e m ( s e e , f o r e x a m p l e , [ 2 6 ] ) , f o r w h i c h q u i t e

    e c i e n t ( n l o g n a v e r a g e t i m e c o m p l e x i t y ) a l g o r i t h m s h a v e

    b e e n d e v e l o p e d . T h e a l g o r i t h m u s e d i n C a k e i s s o m e w h a t

    l e s s t h a n o p t i m a l d u e t o s o m e t r a d e o s t h a t h a v e b e e n

    m a d e t o f a c i l i t a t e i n c r e m e n t a l a s s e r t i o n a n d r e t r a c t i o n o f

    e q u a l i t i e s a n d t h e r e c o r d i n g o f d e p e n d e n c i e s .

    A . H y b r i d R e a s o n i n g

    T h e i n t e r a c t i o n b e t w e e n p r o p o s i t i o n a l r e a s o n i n g ( a s i m -

    p l e m e n t e d b y b o o l e a n c o n s t r a i n t p r o p a g a t i o n ) a n d e q u a l -

    i t y r e a s o n i n g i s a g o o d e x a m p l e o f s o m e o f t h e d i c u l t i e s

    t h a t a r i s e i n b u i l d i n g a h y b r i d s y s t e m l i k e C a k e .

    W h e n y o u c o m b i n e a c o m p l e t e r e a s o n e r f o r t h e o r y T

    ( e . g . , e q u a l i t y ) w i t h a n i n c o m p l e t e r e a s o n e r f o r t h e o r y U

    ( e . g . , p r o p o s i t i o n a l l o g i c ) , y o u e n d u p w i t h a n i n c o m p l e t e

    r e a s o n e r f o r t h e u n i o n t h e o r y ( t h e s e t o f a l l t r u e f a c t s

    s t a t a b l e u s i n g t h e s y m b o l s o f T a n d / o r U ) . T h i s c a n b e

    i l l u s t r a t e d s i m p l y i n C a k e b y t h e f o l l o w i n g e x a m p l e :

    > ( A s s e r t ( = U V ) )

    > ( A s s e r t ( O r P ( = V W ) ) )

    > ( A s s e r t ( O r ( N o t P ) ( = V W ) ) )

    > ( T r u t h ( = ( F U ) ( F W ) ) )

    ; d e s i r e d c o n c l u s i o n

    : U n k n o w n

    > ( T r u t h ( = V W ) )

    ; t h e m i s s i n g l i n k

    : U n k n o w n

    T h e p r o b l e m h e r e i s t h a t t h e i n c o m p l e t e n e s s i n p r o p o -

    s i t i o n a l r e a s o n i n g h a s \ i n t e r r u p t e d " t h e o w o f e q u a l i t y

    r e a s o n i n g . U n f o r t u n a t e l y , a s k i n g t h e s y s t e m t o t r y h a r d e r

    ( u s i n g

    A s k

    ) t o p r o v e t h e d e s i r e d c o n c l u s i o n a b o v e d o e s n ' t

    h e l p , b e c a u s e t h e e q u a l i t y l a y e r d o e s n ' t h a v e a n y s p e c i a l

    a l g o r i t h m s f o r r e a s o n i n g w i t h d i s e q u a l i t i e s :

    > ( A s k ( = ( F U ) ( F W ) ) )

    : U n k n o w n

    T h e o n l y w a y t o g e t t h e d e s i r e d c o n c l u s i o n i s t o i d e n t i f y

    t h e m i s s i n g l i n k a n d t r y r e f u t a t i o n o n i t :

    > ( A s k ( = V W ) )

    : T r u e

    > ( T r u t h ( = ( F U ) ( F W ) ) )

    : T r u e

    A l t h o u g h t h e a p p r o p r i a t e n o d e o n w h i c h t o t r y h a r d e r

    i s o b v i o u s i n t h i s c o n t r i v e d e x a m p l e , i t c a n b e d i c u l t t o

    i d e n t i f y i n p r a c t i c e . T h i s i l l u s t r a t e s t h e g e n e r a l c o n c l u s i o n

    t h a t e v e n i f t h e b e h a v i o r s o f t w o r e a s o n e r s a r e r e l a t i v e l y

    e a s y t o u n d e r s t a n d i n d i v i d u a l l y , i t c a n b e h a r d t o u n d e r -

    s t a n d t h e n e t b e h a v i o r w h e n t h e y a r e c o m b i n e d .

    B . P a t t e r n - D i r e c t e d I n v o c a t i o n

    A n o t h e r i m p o r t a n t f a c i l i t y a s s o c i a t e d w i t h t h e i n t r o -

    d u c t i o n o f t e r m s i n t h e e q u a l i t y l a y e r i s p a t t e r n - d i r e c t e d

    i n v o c a t i o n : a p r o c e d u r e ( d e m o n ) i s a u t o m a t i c a l l y e x e -

    c u t e d w h e n e v e r a t e r m m a t c h i n g a g i v e n p a t t e r n i s c r e -

    a t e d . P a t t e r n - d i r e c t e d i n v o c a t i o n i s u s e d h e a v i l y t o i m -

    4

    N o t e t h a t a c o m p l e t e g r o u n d r e a s o n e r f o r t h e o r y T i s n o t t h e s a m e

    a s a c o m p l e t e d e c i s i o n p r o c e d u r e f o r t h e q u a n t i e r - f r e e t h e o r y o f T ,

    s i n c e t h e q u a n t i e r - f r e e t h e o r y o f T i n c l u d e s p r o p o s i t i o n a l l o g i c a s a

    s u b - t h e o r y . S e e t h e d i s c u s s i o n o f h y b r i d r e a s o n i n g b e l o w .

    p l e m e n t t h e a l g e b r a , t y p e s , a n d f r a m e s l a y e r s o f C a k e , a s

    w e l l a s b y t o o l s b u i l t o n t o p o f C a k e .

    P a t t e r n - d i r e c t e d i n v o c a t i o n a l s o i n t e r a c t s s t r o n g l y w i t h

    e q u a l i t y r e a s o n i n g . I n t h e p r e s e n c e o f e q u a l i t y , t h e p r o p e r

    c o n d i t i o n s f o r i n v o k i n g a d e m o n b e c o m e m o r e c o m p l i -

    c a t e d . H o w e v e r , i n t h i s i n s t a n c e , w e w e r e a b l e t o c o m e

    u p w i t h a v e r y s a t i s f a c t o r y h y b r i d s o l u t i o n .

    T h e f o l l o w i n g i s a s i m p l e e x a m p l e o f t h e i n c o m p l e t e n e s s

    p r o b l e m t h a t a r i s e s w h e n y o u n a i v e l y c o m b i n e p a t t e r n -

    d i r e c t e d i n v o c a t i o n w i t h e q u a l i t y . S u p p o s e t h e r e i s a d e -

    m o n w i t h t h e p a t t e r n

    ( G 0 * )

    , i . e . , i t i s w a i t i n g f o r t h e

    c r e a t i o n o f a t e r m w i t h o p e r a t o r

    G

    , r s t a r g u m e n t

    0

    , a n d

    a n y s e c o n d a r g u m e n t .

    5

    ( T h i s d e m o n m i g h t h a v e s o m e s p e -

    c i a l k n o w l e d g e a b o u t t h e b e h a v i o r o f t h e f u n c t i o n

    G

    w h e n

    i t s r s t a r g u m e n t i s z e r o . ) N o w s u p p o s e t h a t t h e t e r m

    ( G A B ) i s c r e a t e d a n d t h e n A i s a s s e r t e d e q u a l t o z e r o .

    T h e k n o w l e d g e e m b o d i e d i n t h e d e m o n a b o v e i s n o w r e l e -

    v a n t , b u t u n f o r t u n a t e l y t h e d e m o n i s n o t i n v o k e d b e c a u s e

    t h e t e r m

    ( G 0 B )

    h a s n o t b e e n c r e a t e d .

    A b r u t e - f o r c e a p p r o a c h t o t h i s p r o b l e m w o u l d b e t o

    a u t o m a t i c a l l y c l o s e t h e s e t o f t e r m s i n t h e s y s t e m u n -

    d e r s u b s t i t u t i o n o f e q u a l s ( i . e . , t o c r e a t e a l l t e r m s s u c h

    a s

    ( G 0 B )

    ) . T h i s a p p r o a c h i s n o t f e a s i b l e , h o w e v e r , b e -

    c a u s e t h e n u m b e r s o f t e r m s g e n e r a t e d g r o w s q u i c k l y w i t h

    t h e n u m b e r o f e q u a l i t i e s , a n d i s i n n i t e i n t h e c a s e o f r e -

    c u r s i v e l y d e n e d e q u a l i t i e s .

    W e h a v e d e v e l o p e d a n a l g o r i t h m [ 7 ] t h a t s o l v e s t h i s c o m -

    p l e t e n e s s p r o b l e m b y g e n e r a t i n g j u s t t h e s u b s e t o f a l l p o s -

    s i b l e s u b s t i t u t i o n s n e c e s s a r y t o i n v o k e a l l r e l e v a n t d e m o n s .

    F u r t h e r m o r e , t h e a l g o r i t h m i s i n c r e m e n t a l . N e w d e m o n s ,

    n e w t e r m s , a n d n e w e q u a l i t i e s c a n b e a d d e d i n a n y o r d e r .

    E q u a l i t i e s c a n a l s o b e r e t r a c t e d .

    T y p e s , t y p e h i e r a r c h i e s , a n d t y p e s i g n a t u r e s a r e a c o m -

    m o n f e a t u r e o f m o d e r n s o f t w a r e f r o m r e q u i r e m e n t s s p e c i -

    c a t i o n s d o w n t o p r o g r a m m i n g l a n g u a g e s . I t w a s t h e r e f o r e

    n a t u r a l t o p r o v i d e f a c i l i t i e s i n C a k e f o r r e a s o n i n g a b o u t

    t y p e s . A p o w e r f u l w a y o f d o i n g t h i s i s t o i n t r o d u c e t y p e s

    d i r e c t l y i n t o t h e s y n t a x o f t h e l o g i c a l l a n g u a g e i n w h i c h

    r e a s o n i n g t a k e s p l a c e .

    A t y p e