elc2009, jenova meta-circularity and mop in common lisp for owl full seiji koide the graduate univ....

42
ELC2009, Jenova Meta-Circularity and MOP in Common Lisp for OWL Full Seiji Koide The Graduate Univ. Advanced Studies (SOKENDAI) Hideaki Takeda National Institute of Informatics and SOKENDAI

Upload: eugene-morrison

Post on 13-Jan-2016

213 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: ELC2009, Jenova Meta-Circularity and MOP in Common Lisp for OWL Full Seiji Koide The Graduate Univ. Advanced Studies (SOKENDAI) Hideaki Takeda National

ELC2009, Jenova

Meta-Circularity and MOP in Common Lisp for OWL Full

Seiji KoideThe Graduate Univ. Advanced Studies (SOKENDAI)

Hideaki TakedaNational Institute of Informatics and SOKENDAI

Page 2: ELC2009, Jenova Meta-Circularity and MOP in Common Lisp for OWL Full Seiji Koide The Graduate Univ. Advanced Studies (SOKENDAI) Hideaki Takeda National

ELC2009, Jenova

Computer Language Semantics

Procedural Semantics Denotational Semantics Axiomatic Semantics

Page 3: ELC2009, Jenova Meta-Circularity and MOP in Common Lisp for OWL Full Seiji Koide The Graduate Univ. Advanced Studies (SOKENDAI) Hideaki Takeda National

ELC2009, Jenova

Denotational Semantics in CLOS

(defpackage :a (:export "Dog" "Brian" "Species"))(defparameter a:Species (defclass a:Species (cl:standard-class) () (:metaclass cl:standard-class)))(defparameter a:Dog (defclass a:Dog () () (:metaclass a:Species)))(defparameter a:Brian (make-instance 'a:Dog))

#<Species Dog>

a dog

#<standard-class Species>

a species

#<a:Dog @ #x20ff6742>

SpeciesDogBrian

BrianWorld

Page 4: ELC2009, Jenova Meta-Circularity and MOP in Common Lisp for OWL Full Seiji Koide The Graduate Univ. Advanced Studies (SOKENDAI) Hideaki Takeda National

ELC2009, Jenova

Denotational Semantics in CLOS

(defpackage :a (:export "Dog" "Brian" "Species"))(defparameter a:Species (defclass a:Species (cl:standard-class) () (:metaclass cl:standard-class)))(defparameter a:Dog (defclass a:Dog () () (:metaclass a:Species)))(defparameter a:Brian (make-instance 'a:Dog))

#<Species Dog>

DogI

#<standard-class Species>

SpeciesI

#<a:Dog @ #x20ff6742>

SpeciesDogBrian

BrianIWorld

Page 5: ELC2009, Jenova Meta-Circularity and MOP in Common Lisp for OWL Full Seiji Koide The Graduate Univ. Advanced Studies (SOKENDAI) Hideaki Takeda National

ELC2009, Jenova

Extensional Semantics in CLOS

#<Species Dog>

DogI

#<standard-class Species>

SpeciesI

#<a:Dog @ #x20ff6742>

Species

Dog

Brian

BrianIWorld

#<standard-class standard-object>

#<standard-class standard-class>

BrianI ∈ CEXTI (DogI)DogI ∈ CEXTI (SpeciesI)SpeciesI ∈ CEXTI (standard-classI)

standard-classI ∈ CEXTI (standard-classI)standard-classI ∈ standard-classI

Page 6: ELC2009, Jenova Meta-Circularity and MOP in Common Lisp for OWL Full Seiji Koide The Graduate Univ. Advanced Studies (SOKENDAI) Hideaki Takeda National

ELC2009, Jenova

Meta-Circularity of rdfs:Class

Axiom1: Every class that is an instance of rdfs:ClassI is a subclass of rdfs:ResourceI. x∈CI = CEXTI(rdfs:ClassI) ⇒ x ⊑ rdfs:ResourceI

Axiom 2: Any class in super-subclass relation is an instance of rdfs:ClassI. x ⊑ y ⇒ x ∈CI ⋀ y ∈CI

Axiom 3: rdfs:ClassI is a subclass of rdfs:ResourceI . rdfs:ClassI ⊑ rdfs:ResourceI ⇒ rdfs:ClassI ∈CI

⇒ rdfs:ResourceI ∈CI

Page 7: ELC2009, Jenova Meta-Circularity and MOP in Common Lisp for OWL Full Seiji Koide The Graduate Univ. Advanced Studies (SOKENDAI) Hideaki Takeda National

ELC2009, Jenova

Meta-Circularity of rdfs:Class

Axiom1: Every class that is an instance of rdfs:ClassI is a subclass of rdfs:ResourceI. x∈CI = CEXTI(rdfs:ClassI) ⇒ x ⊑ rdfs:ResourceI

Axiom 2: Any class in super-subclass relation is an instance of rdfs:ClassI. x ⊑ y ⇒ x ∈CI ⋀ y ∈CI

Axiom 3: rdfs:ClassI is a subclass of rdfs:ResourceI . rdfs:ClassI ⊑ rdfs:ResourceI ⇒ rdfs:ClassI ∈CEXTI(rdfs:Class

⇒ rdfs:ResourceI ∈CEXTI(rdf ⇒ rdfs:ResourceI ⊑ rdfs:ResourceI

Meta-Circularity

Page 8: ELC2009, Jenova Meta-Circularity and MOP in Common Lisp for OWL Full Seiji Koide The Graduate Univ. Advanced Studies (SOKENDAI) Hideaki Takeda National

ELC2009, Jenova

Meta-Circularity of rdfs:Class

Axiom1: Every class that is an instance of rdfs:ClassI is a subclass of rdfs:ResourceI. x∈CI = CEXTI(rdfs:ClassI) ⇒ x ⊑ rdfs:ResourceI

Axiom 2: Any class in super-subclass relation is an instance of rdfs:ClassI. x ⊑ y ⇒ x ∈CI ⋀ y ∈CI

Axiom 3: rdfs:ClassI is a subclass of rdfs:ResourceI . rdfs:ClassI ⊑ rdfs:ResourceI ⇒ rdfs:ClassI ∈CEXTI(rdfs:Class

⇒ rdfs:ResourceI ∈CEXTI(rdf ⇒ rdfs:ResourceI ⊑ rdfs:ResourceI

Page 9: ELC2009, Jenova Meta-Circularity and MOP in Common Lisp for OWL Full Seiji Koide The Graduate Univ. Advanced Studies (SOKENDAI) Hideaki Takeda National

ELC2009, Jenova

Twist Relation of rdfs:Resource and rdfs:Class rdfs:ClassI ⊑ rdfs:ResourceI ⋀

rdfs:ResourceI ∈CEXTI(rdfs:ClassI)

rdfs:Resource

rdfs:Class

Page 10: ELC2009, Jenova Meta-Circularity and MOP in Common Lisp for OWL Full Seiji Koide The Graduate Univ. Advanced Studies (SOKENDAI) Hideaki Takeda National

ELC2009, Jenova

Twist Relation of cl:standard-object and cl:standard-class cl:standard-classI ⊑ cl:standard-objectI ⋀

cl:standard-objectI ∈CEXTI(cl:standard-classI)

cl:standard-object

cl:standard-class

Page 11: ELC2009, Jenova Meta-Circularity and MOP in Common Lisp for OWL Full Seiji Koide The Graduate Univ. Advanced Studies (SOKENDAI) Hideaki Takeda National

ELC2009, Jenova

Twist Relation of rdfs:Resource and rdfs:Class cl:standard-classI ⊑ cl:standard-objectI ⋀

cl:standard-objectI ∈CEXTI(cl:standard-classI) rdfs:ClassI ⊑ rdfs:ResourceI ⋀

rdfs:ResourceI ∈CEXTI(rdfs:ClassI)

cl:standard-object

cl:standard-class

rdfs:Resource

rdfs:Class

Page 12: ELC2009, Jenova Meta-Circularity and MOP in Common Lisp for OWL Full Seiji Koide The Graduate Univ. Advanced Studies (SOKENDAI) Hideaki Takeda National

ELC2009, Jenova

Twist Relation of rdfs:Resource and rdfs:Class cl:standard-classI ⊑ cl:standard-objectI ⋀

cl:standard-objectI ∈CEXTI(cl:standard-classI) rdfs:ClassI ⊑ rdfs:ResourceI ⋀

rdfs:ResourceI ∈CEXTI(rdfs:ClassI)

cl:standard-object

cl:standard-class

rdfs:Resource

rdfs:Class

Page 13: ELC2009, Jenova Meta-Circularity and MOP in Common Lisp for OWL Full Seiji Koide The Graduate Univ. Advanced Studies (SOKENDAI) Hideaki Takeda National

ELC2009, Jenova

Twist Relation of rdfs:Resource and rdfs:Class cl:standard-classI ⊑ cl:standard-objectI ⋀

cl:standard-objectI ∈CEXTI(cl:standard-classI)

cl:standard-object

cl:standard-class

rdfs:Resource

rdfs:Class

RDFSclass

metaRDFSclass

Page 14: ELC2009, Jenova Meta-Circularity and MOP in Common Lisp for OWL Full Seiji Koide The Graduate Univ. Advanced Studies (SOKENDAI) Hideaki Takeda National

ELC2009, Jenova

Twist Relation of rdfs:Resource and rdfs:Class cl:standard-classI ⊑ cl:standard-objectI ⋀

cl:standard-objectI ∈CEXTI(cl:standard-classI)

cl:standard-object

cl:standard-class

rdfs:Resource

rdfs:Class

RDFSclass

metaRDFSclass

ICEXT(IS(cl:standard-object))

ICEXT(IS(rdfs:Resource))

Page 15: ELC2009, Jenova Meta-Circularity and MOP in Common Lisp for OWL Full Seiji Koide The Graduate Univ. Advanced Studies (SOKENDAI) Hideaki Takeda National

ELC2009, Jenova

Twist Relation of rdfs:Resource and rdfs:Class cl:standard-classI ⊑ cl:standard-objectI ⋀

cl:standard-objectI ∈CEXTI(cl:standard-classI)

cl:standard-object

cl:standard-class

rdfs:Resource

rdfs:Class

RDFSclass

metaRDFSclass

ICEXT(IS(cl:standard-object))

ICEXT(IS(rdfs:Resource))

IS(cl:standard-class)

Page 16: ELC2009, Jenova Meta-Circularity and MOP in Common Lisp for OWL Full Seiji Koide The Graduate Univ. Advanced Studies (SOKENDAI) Hideaki Takeda National

ELC2009, Jenova

Twist Relation of rdfs:Resource and rdfs:Class cl:standard-classI ⊑ cl:standard-objectI ⋀

cl:standard-objectI ∈CEXTI(cl:standard-classI)

cl:standard-object

cl:standard-class

rdfs:Resource

rdfs:Class

RDFSclass

metaRDFSclass

ICEXT(IS(cl:standard-object))

ICEXT(IS(rdfs:Resource))

IS(rdfs:Class)

IS(cl:standard-class)

Page 17: ELC2009, Jenova Meta-Circularity and MOP in Common Lisp for OWL Full Seiji Koide The Graduate Univ. Advanced Studies (SOKENDAI) Hideaki Takeda National

ELC2009, Jenova

Twist Relation of rdfs:Resource and rdfs:Class cl:standard-classI ⊑ cl:standard-objectI ⋀

cl:standard-objectI ∈CEXTI(cl:standard-classI)

cl:standard-object

cl:standard-class

rdfs:Resource

rdfs:Class

RDFSclass

metaRDFSclass

ICEXT(IS(cl:standard-object))

ICEXT(IS(rdfs:Resource))

IS(rdfs:Class)

IS(cl:standard-class)

Page 18: ELC2009, Jenova Meta-Circularity and MOP in Common Lisp for OWL Full Seiji Koide The Graduate Univ. Advanced Studies (SOKENDAI) Hideaki Takeda National

ELC2009, Jenova

Cyc Ontology

2,.3,4,5,6, *

SetOrCollection

SetOrCollectionType

VariedOrderCollection

Collection

FixedOrderCollection

FirstOrderCollection

SecondOrderCollection

ThirdOrderCollection

FourthOrderCollection

CollectionTypeType

1

2

3

4

6, *

1,2,3,4,5

2,.3,4,5,6, *2,.3,4,5,6, *

1,2,3,4,5,6, * 1,2,3,4,5,6, *

CollectionType

Page 19: ELC2009, Jenova Meta-Circularity and MOP in Common Lisp for OWL Full Seiji Koide The Graduate Univ. Advanced Studies (SOKENDAI) Hideaki Takeda National

ELC2009, Jenova

CLOS-Clean Ontology

No class can have any direct and indirect cyclic loop in subclass relation.

No class can have any direct and indirect membership loop but the direct loop of cl:standard-class.

A parallel relation of subclass and membership can exist anywhere among metaclasses.

A twist relation of subclass and membership can exist anywhere among classes and metaclasses.

Page 20: ELC2009, Jenova Meta-Circularity and MOP in Common Lisp for OWL Full Seiji Koide The Graduate Univ. Advanced Studies (SOKENDAI) Hideaki Takeda National

CLOS Clean Ontology Pattern

ELC2009, Jenova

o c1 c2 c3

c m1 m2 m3

k1

Page 21: ELC2009, Jenova Meta-Circularity and MOP in Common Lisp for OWL Full Seiji Koide The Graduate Univ. Advanced Studies (SOKENDAI) Hideaki Takeda National

CLOS Clean Ontology Pattern

ELC2009, Jenova

o c1 c2 c3

c m1 m2 m3

k1

O = ICEXT(o)

C C2M2

Page 22: ELC2009, Jenova Meta-Circularity and MOP in Common Lisp for OWL Full Seiji Koide The Graduate Univ. Advanced Studies (SOKENDAI) Hideaki Takeda National

CLOS Clean Ontology Pattern

ELC2009, Jenova

o c1 c2 c3

c m1 m2 m3

k1

O

C M2

M1

Page 23: ELC2009, Jenova Meta-Circularity and MOP in Common Lisp for OWL Full Seiji Koide The Graduate Univ. Advanced Studies (SOKENDAI) Hideaki Takeda National

ELC2009, Jenova

Naive Hierarchical Structure of SUMO

rdfs:Resource

sumo:LengthMeasure

sumo:Meter

sumo:PhysicalQuantity

sumo:ConstantQuantity

rdfs:Class

sumo:SystemeInternationalUnit

sumo:Quantity

sumo:Abstract

sumo:Entity

sumo:UnitOfMeasure

Page 24: ELC2009, Jenova Meta-Circularity and MOP in Common Lisp for OWL Full Seiji Koide The Graduate Univ. Advanced Studies (SOKENDAI) Hideaki Takeda National

ELC2009, Jenova

Naive Hierarchical Structure of SUMO

rdfs:Resource

sumo:LengthMeasure

sumo:Meter

sumo:PhysicalQuantity

sumo:ConstantQuantity

rdfs:Class

sumo:SystemeInternationalUnit

sumo:Quantity

sumo:Abstract

sumo:Entity

sumo:UnitOfMeasure

Page 25: ELC2009, Jenova Meta-Circularity and MOP in Common Lisp for OWL Full Seiji Koide The Graduate Univ. Advanced Studies (SOKENDAI) Hideaki Takeda National

ELC2009, Jenova

Naive Hierarchical Structure of SUMO

rdfs:Resource

sumo:LengthMeasure

sumo:Meter

sumo:PhysicalQuantity

sumo:ConstantQuantity

rdfs:Class

sumo:SystemeInternationalUnit

sumo:Quantity

sumo:Abstract

sumo:Entity

sumo:UnitOfMeasure

Page 26: ELC2009, Jenova Meta-Circularity and MOP in Common Lisp for OWL Full Seiji Koide The Graduate Univ. Advanced Studies (SOKENDAI) Hideaki Takeda National

ELC2009, Jenova

Naive Hierarchical Structure of SUMO

rdfs:Resource

sumo:LengthMeasure

sumo:Meter

sumo:PhysicalQuantity

sumo:ConstantQuantity

rdfs:Class

sumo:SystemeInternationalUnit

sumo:Quantity

sumo:Abstract

sumo:Entity

sumo:UnitOfMeasure

Page 27: ELC2009, Jenova Meta-Circularity and MOP in Common Lisp for OWL Full Seiji Koide The Graduate Univ. Advanced Studies (SOKENDAI) Hideaki Takeda National

ELC2009, Jenova

Hierarchical Structure of SUMO

rdfs:Resource

sumo:LengthMeasure

sumo:Meter

sumo:PhysicalQuantity

sumo:ConstantQuantity

rdfs:Class

sumo:SystemeInternationalUnit

sumo:Quantity

sumo:Abstract

sumo:Entity

sumo:UnitOfMeasure

Page 28: ELC2009, Jenova Meta-Circularity and MOP in Common Lisp for OWL Full Seiji Koide The Graduate Univ. Advanced Studies (SOKENDAI) Hideaki Takeda National

ELC2009, Jenova

Domain Inclusiveness of CLOS

t standard-object metaobject

method standard-method

method-combination

slot-definition

specializer

eql-specializer

class

built-in-class

forward-referenced-class

standard-class

funcallable-standard-class

ICEXT(IS(cl:standard-object))

ICEXT(IS(cl:meta-object))

ICEXT(IS(cl:specializer))

ICEXT(IS(cl:class))

ICEXT(IS(cl:standard-class))

Page 29: ELC2009, Jenova Meta-Circularity and MOP in Common Lisp for OWL Full Seiji Koide The Graduate Univ. Advanced Studies (SOKENDAI) Hideaki Takeda National

Compound Type Specifieres

And denotes the set of all objects of the type determined by

the intersection of the type specs Or

denotes the set of all objects of the type determined by the union of the type specs

Not denotes the set of all objects that are not of the type

specs

ELC2009, Jenova

ANSI Common Lisp specifies the compound type specifieres;

Page 30: ELC2009, Jenova Meta-Circularity and MOP in Common Lisp for OWL Full Seiji Koide The Graduate Univ. Advanced Studies (SOKENDAI) Hideaki Takeda National

Compound Type Specifieres

And denotes the set of all objects of the type determined by

the intersection of the type specs Or

denotes the set of all objects of the type determined by the union of the type specs

Not denotes the set of all objects that are not of the type

specs

ELC2009, Jenova

ANSI Common Lisp specifies the compound type specifieres;

class extensions

class extensions

class extensions

determin?

determin?

Page 31: ELC2009, Jenova Meta-Circularity and MOP in Common Lisp for OWL Full Seiji Koide The Graduate Univ. Advanced Studies (SOKENDAI) Hideaki Takeda National

Ternary Truth Table

cl:subtypep In ANSI Common Lisp returns two values. Then,

〈 t, t 〉 or 〈 nil, t 〉 when it is determined but 〈 nil, nil 〉 when it is not determined.

ELC2009, Jenova

value1 value2 meaning

t t Type1 is definitely a subtype of type2.

nil t Type1 is definitely not a subtype of type2.

nil nil Subtypep could not dtermin the relationship, so type1 might or might not be a subtype of type2

True

False

Unknown

Page 32: ELC2009, Jenova Meta-Circularity and MOP in Common Lisp for OWL Full Seiji Koide The Graduate Univ. Advanced Studies (SOKENDAI) Hideaki Takeda National

Ternary Truth Table

ELC2009, Jenova

True Unknown False

True True Unknown False

Unknown Unknown Unknown False

False False False False

Conjunction

True Unknown False

True True True True

Unknown True Unknown Unknown

False True Unknown False

Disjunction

Negation

x True Unknown False

(not x) False Unknown False

Page 33: ELC2009, Jenova Meta-Circularity and MOP in Common Lisp for OWL Full Seiji Koide The Graduate Univ. Advanced Studies (SOKENDAI) Hideaki Takeda National

Ternary Truth Table

ELC2009, Jenova

If E then E’

C (A B)⊆ ∧ (C A) (C A)⊆ ∧ ⊆

C (A B)⊆ ∨ (C A) (C B)⊆ ∨ ⊆

(A B) C∧ ⊆ (A C) (B C)⊆ ∨ ⊆

(A B) C∨ ⊆ (A C) (B C)⊆ ∧ ⊆

(A B) (C D)∨ ⊆ ∧ (A C) (A D) (B C) (B D)⊆ ∧ ⊆ ∧ ⊆ ∧ ⊆

(A B) (C D)∧ ⊆ ∨ (A C) (A D) (B C) (B D)⊆ ∨ ⊆ ∨ ⊆ ∨ ⊆

(A B) (C D)∧ ⊆ ∧ ((A C) (A D)) ((B C) (B D))⊆ ∧ ⊆ ∨ ⊆ ∧ ⊆

(A B) (C D)∨ ⊆ ∨ ((A D) (A D)) ((B C) (B D))⊆ ∨ ⊆ ∧ ⊆ ∨ ⊆

¬ A ⊆ ¬ B B A⊆

Rewriting Rules for Inclusiveness

Page 34: ELC2009, Jenova Meta-Circularity and MOP in Common Lisp for OWL Full Seiji Koide The Graduate Univ. Advanced Studies (SOKENDAI) Hideaki Takeda National

Simple Query for Compound Types

ELC2009, Jenova

(defparameter a (defclass a () ()))(defparameter b (defclass b () ()))

Query 1: (subtypep ' (and a b) a)Query 2: (subtypep a ' (and a b))Query 3: (subtypep ' (or a b) a)Query 4: (subtypep a ' (or a b))Query 5: (subtypep ' (not a) a)Query 6: (subtypep a ' (not a))

system Q1 Q2 Q3 Q4 Q5 Q6

A True False False True Unknown Unknown

B False False False True False False

C True False False True False False

D True False False True False False

Page 35: ELC2009, Jenova Meta-Circularity and MOP in Common Lisp for OWL Full Seiji Koide The Graduate Univ. Advanced Studies (SOKENDAI) Hideaki Takeda National

Simple Query for Compound Types And

CEXTI(x ⋀ y) ≡ CEXTI(x) ⋂ CEXTI(y)

Or CEXTI(x ⋁ y) ≡ CEXTI(x) ⋃ CEXTI(y)

Not ¬ CEXTI(x) ≡ CEXTI(cl:standard-object) ∖ CEXTI(y)

ELC2009, Jenova

ICEXT(IS(cl:standard-object))

ICEXT(IS(y))

Page 36: ELC2009, Jenova Meta-Circularity and MOP in Common Lisp for OWL Full Seiji Koide The Graduate Univ. Advanced Studies (SOKENDAI) Hideaki Takeda National

Meta-modeling and Reflection

Meta-modeling in SWCLOS

rdfs:Class

sumo:SystemeInternationalUnit

sumo:UnitOfMeasure

UnitOfMeasureClass

Page 37: ELC2009, Jenova Meta-Circularity and MOP in Common Lisp for OWL Full Seiji Koide The Graduate Univ. Advanced Studies (SOKENDAI) Hideaki Takeda National

Meta-modeling and Reflection

Meta-modeling in SWCLOS

ELC2009, Jenova

(defConcept UnitOfMeasureClass (rdfs:type rdfs:Class) (rdfs:subClassOf rdfs:Class))(defProperty p1 (rdfs:domain UnitofMeasureClass))

Page 38: ELC2009, Jenova Meta-Circularity and MOP in Common Lisp for OWL Full Seiji Koide The Graduate Univ. Advanced Studies (SOKENDAI) Hideaki Takeda National

Conclusion

Explained meta-circularity and meta-modeling in CLOS in terms of denotational and extensional semantics, which are obtained from the W3C document of RDF Semantics Recommendation.

The membership loop of the cl:standard-class and the twist relation between cl:standard-class and cl:standard-object are similar to those of the rdfs:Class and rdfs:Resource.

Addressed the CLOS clean meta-modeling for ontology construction.

ELC2009, Jenova

Page 39: ELC2009, Jenova Meta-Circularity and MOP in Common Lisp for OWL Full Seiji Koide The Graduate Univ. Advanced Studies (SOKENDAI) Hideaki Takeda National

ELC2009, Jenova

T SB-PCL::SLOT-OBJECT STANDRD-OBJECT

STRUCTURE-OBJECT

CONDITION

FUNDAMENTAL-STREAM

SB-PCL::PLIST-MIXIN

SB-PCL::DEFINITION-SOURCE-MIXIN

SB-MOP::METAOBJECT

SB-MOP:FUNCALLABLE-STANDARD-OBJECT

SB-MOP:SPECIALIZER

SB-MOP:SLOT-DEFINITION

METHOD-COMBINATION

METHOD

GENERIC-FUNCTION

SB-PCL::EXACT-CLASS-SPECIALIZER

SB-PCL::SPECIALIZER-WITH-OBJECT

SB-PCL::STANDARD-SPECIALIZER

Steel-Bank-Common-Lisp

Page 40: ELC2009, Jenova Meta-Circularity and MOP in Common Lisp for OWL Full Seiji Koide The Graduate Univ. Advanced Studies (SOKENDAI) Hideaki Takeda National

ELC2009, Jenova

SB-PCL::STANDARD-SPECIALIZER CLASS

SB-MOP:EQL-SPECIALIZER

SB-PCL::CLASS-PROTOTYPE-SPECIALIZER

SB-PCL::CLASS-EQ-SPECIALIZER

SB-PCL::PCL-CLASS

BUILT-IN-CLASS

SB-MOP::FORWARD-REFERENCED-CLASS

SB-PCL::SLOT-CLASS

STRUCTURE-CLASS

SB-PCL::CONDITION-CLASS

SB-PCL::STD-CLASS STANDARD-CLASS

SB-MOP:FUNCALLABLE-STANDARD-CLASS

Steel-Bank-Common-Lisp

Page 41: ELC2009, Jenova Meta-Circularity and MOP in Common Lisp for OWL Full Seiji Koide The Graduate Univ. Advanced Studies (SOKENDAI) Hideaki Takeda National

ELC2009, Jenova

T STANDRD-OBJECT

METAOBJECT

LISPWORKS-TOOLS::APPLICATION

CAPI:GRAPH-OBJECT

CAPI::DROP-OBJECT

LispWorks

:

CLASS

SLOT-DEFINITION

METHOD-COMBINATION

METHOD

GENERIC-FUNCTION

STRUCTURE-CLASS

STANDARD-CLASS

FORWARD-REFERENCED-CLASS

BUILT-IN-CLASS

Page 42: ELC2009, Jenova Meta-Circularity and MOP in Common Lisp for OWL Full Seiji Koide The Graduate Univ. Advanced Studies (SOKENDAI) Hideaki Takeda National

ELC2009, Jenova

t standard-object

aclmop:metaobject

excl::plist-mixin

aclmop:funcallable-standard-object

condition

Allegro

:

aclmop:specializer

aclmop:slot-definition

method-combination

method

generic-function

class

aclmop:eql-specializer

excl::clos-class

foreign-functions::foreign-structure

excl::std-class

structure-class

excl::nonstd-class

standard-class

aclmop:funcallable-standard-class