Semantic Web Services and OOP toward Unified Services

Similar documents
FOUNDATIONS OF SEMANTIC WEB TECHNOLOGIES

FOUNDATIONS OF SEMANTIC WEB TECHNOLOGIES

RDF AND SPARQL. Part III: Semantics of RDF(S) Dresden, August Sebastian Rudolph ICCL Summer School

Logic and Reasoning in the Semantic Web (part I RDF/RDFS)

Seman&cs)of)RDF) )S) RDF)seman&cs)1)Goals)

RDF Semantics A graph-based approach

Today: RDF syntax. + conjunctive queries for OWL. KR4SW Winter 2010 Pascal Hitzler 3

Web Science & Technologies University of Koblenz Landau, Germany. RDF Schema. Steffen Staab. Semantic Web

Open Geospatial Consortium Inc.

Knowledge Representation for the Semantic Web

Semantic Web Technologies: RDF + RDFS

An RDF-based Distributed Expert System

The ISO D approach

Semantic Web OWL. Dieter Fensel and Federico Facca

RDF Semantics by Patrick Hayes W3C Recommendation

Semantic Technologies

CS Knowledge Representation and Reasoning (for the Semantic Web)

Main topics: Presenter: Introduction to OWL Protégé, an ontology editor OWL 2 Semantic reasoner Summary TDT OWL

JOURNAL OF OBJECT TECHNOLOGY

The Semantic Web RDF, RDF Schema, and OWL (Part 2)

Semantic Web Technologies: Web Ontology Language

FOUNDATIONS OF SEMANTIC WEB TECHNOLOGIES

Resource Description Framework (RDF)

Short notes about OWL 1

Semantic Web In Depth: Resource Description Framework. Dr Nicholas Gibbins 32/4037

Meta-Circularity and MOP in Common Lisp for OWL Full

RDF Schema. Mario Arrigoni Neri

OWL a glimpse. OWL a glimpse (2) requirements for ontology languages. requirements for ontology languages

RDF Schema Sebastian Rudolph

Introduction to the Semantic Web. Alberto Fernández University Rey Juan Carlos

RDF Schema. Philippe Genoud, UFR IM2AG, UGA Manuel Atencia Arcas, UFR SHS, UGA

XML and Semantic Web Technologies. III. Semantic Web / 1. Ressource Description Framework (RDF)

An Introduction to the Semantic Web. Jeff Heflin Lehigh University

Chapter 3 Research Method

KDI OWL. Fausto Giunchiglia and Mattia Fumagallli. University of Trento

Web Ontology Language: OWL

RDF Schema Sebastian Rudolph

Integration of the Semantic Web with Meta Object Facilities

The Resource Description Framework and its Schema

Web Ontology Language (OWL)

TMCL and OWL. Lars Marius Garshol. Bouvet, Oslo, Norway

SEMANTIC WEB 05 RDF SCHEMA MODELLING SEMANTICS IMRAN IHSAN ASSISTANT PROFESSOR, AIR UNIVERSITY, ISLAMABAD

Extracting Ontologies from Standards: Experiences and Issues

Outline RDF. RDF Schema (RDFS) RDF Storing. Semantic Web and Metadata What is RDF and what is not? Why use RDF? RDF Elements

Semantic Web. Ontology and OWL. Morteza Amini. Sharif University of Technology Fall 95-96

INF3580/4580 Semantic Technologies Spring 2017

RDF(S) Resource Description Framework (Schema)

Chapter 3. RDF Schema

INF3580 Semantic Technologies Spring 2012

F. Farazi Department of Information Engineering and Computer Science, University of Trento, Trento, Italy

Table of Contents. iii

LECTURE 09 RDF: SCHEMA - AN INTRODUCTION

Deep integration of Python with Semantic Web technologies

Lecture 8 OWL: Web Ontology Language

Contents. G52IWS: The Semantic Web. The Semantic Web. Semantic web elements. Semantic Web technologies. Semantic Web Services

Adding formal semantics to the Web

Publishing Data Using Semantic Web Technologies

Metamodels for RDF Schema and OWL

A Fuzzy Semantics for the Resource Description Framework

Web Ontology Language: OWL

Chapter 2 AN INTRODUCTION TO THE OWL WEB ONTOLOGY LANGUAGE 1. INTRODUCTION. Jeff Heflin Lehigh University

Intelligent Agents. Pınar Yolum Utrecht University. Spring 2018 Pınar Yolum

Modelling in Enterprise Architecture. MSc Business Information Systems

RDF and RDF Schema. Resource Description Framework

MDA-based Ontology Infrastructure

Ontological Modeling: Part 7

OWLET: An Object-Oriented Environment for OWL Ontology Management

Web Ontology Language: OWL by Grigoris Antoniou Frank van Harmelen

Mustafa Jarrar: Lecture Notes on RDF Schema Birzeit University, Version 3. RDFS RDF Schema. Mustafa Jarrar. Birzeit University

Genea: Schema-Aware Mapping of Ontologies into Relational Databases

9 The Ontology UML Profile

11 The Semantic Web. Knowledge-Based Systems and Deductive Databases Knowledge Representation Knowledge Representation

FHIR RDF Sample side by side comparisons

LINKING BACKGROUND INFORMATION

Semantic Web Technologies

Automatic Transformation of Relational Database Schema into OWL Ontologies

Goals. Introduction to Ontologybased. Service Semantics. Functional Semantics. Need more than XML Schema. Non-functional Semantics

Semantic Web Fundamentals

Web Science & Technologies University of Koblenz Landau, Germany RDF. Steffen Staab. Semantic Web

Reasoning with the Web Ontology Language (OWL)

The Model-Driven Semantic Web Emerging Standards & Technologies

Web Ontology Language: OWL

SADI Semantic Web Services

Metamodeling with Metamodels. Using. UML/MOF including OCL

Computation Independent Model (CIM): Platform Independent Model (PIM): Platform Specific Model (PSM): Implementation Specific Model (ISM):

Chapter 2 Technical Background. Materializing the Web of Linked Data

Formalising the Semantic Web. (These slides have been written by Axel Polleres, WU Vienna)

Applications and Technologies on top of XML. Semantic Web - RDF. Extensible Markup Language (XML) Revisited. Outline

Automation of Semantic Web based Digital Library using Unified Modeling Language Minal Bhise 1 1

2 nd International Semantic Web Conference (ISWC2003)

For return on 19 January 2018 (late submission: 2 February 2018)

OWL-based reasoning with retractable inference

Ingegneria del Software Corso di Laurea in Informatica per il Management. Introduction to UML

SWAD-Europe Deliverable 8.1 Core RDF Vocabularies for Thesauri

BLU AGE 2009 Edition Agile Model Transformation

Chapter 4 Web Ontology Language: OWL

The National Cancer Institute's Thésaurus and Ontology

Description Logic. Eva Mráková,

Ontological Modeling: Part 11

Forward Chaining Reasoning Tool for Rya

Transcription:

Semantic Web Services and OOP toward Unified Services Seiji Koide Galaxy Express Corporation OMG Model Driven Architecture Automatic Code Generation And Reverse Engineering Platform Independent Model (PIM) And Platform Specific Model (PSM) MetaObject Facility (MOF) XML Metadata Interchange (XMI) Common Warehouse Metamodel (CWM) Object Constraint Language (OCL)

OMG Model Driven Architecture Motivation of Code to Model (Mellor, Scott, Uhl, and Weise; MDA Distilled) Desire to Higher Abstraction Level Higher Reusability Level of Software Component Interoperability of Model in Design Costs to Assets Model Driven Architecture to Ontology Driven Architecture in W3C A Lot of Benefits Unambiguous domain models Consistency checking Validated models Automatic code generation enabling Object Class Modeling to A Object Couple Behavior of Problems Modeling Semantic Web Services + Method Unified Service Semantic gaps between UML and OWL, especially MOF and OWL Metamodel How to generate executable code, procedures, and behaviors of objects

Early Work in SWCLOS, A Semantic Web Processor on CLOS What is SWCLOS? An integration of SW and CLOS Toward integration of OWL and OOP Class-instance concept in RDFS An OWL entity like object OWL semantics is realized on top of CLOS.

Common Lisp Object System (CLOS) Allegro Common Lisp is a powerful dynamic object-oriented development system, suited to enterprise-wide, complex application development. Allegro CL's true dynamic object technology allows developers to generate leadingedge, mission-critical applications that are robust, extensible, and easy to evolve and deploy. What is CLOS? A class is not a schema but an object. A class is an instance of a meta-class. A meta-class is also an object and instance of a meta-class. cl:standard-class is a native metaclass of every class. cl:standard-object is a native superclass of every class.

Hierarchical Structure of RDFS metaclass rdfs:class rdfs:datatype rdfs:subclassof rdfs:subpropertyof rdf:type class rdf:litst rdfs:resource rdf:xmlliteral rdfs:literal rdfs:container rdf:statement rdf:bag rdf:seq rdf:alt rdf:property rdfs:containermembershipproperty rdf:nil instances rdfs:seealso rdfs:isdefinedby rdf:value rdf:subject rdfs:member rdfs:domain rdfs:range rdfs:label rdf:object rdfs:comment rdf:_1 rdf:_2 rdf:_3 rdfs:subclassof rdfs:subpropertyof rdf:type rdf:predicate rdf:first rdf:rest Why CLOS for Semantic Webs? rdfs:class & owl:class are meta-classes. rdfs:resource & owl:thing are supers CLOS allows to change a class of instance. Meta-Object Exploited Protocol to realize (MOP) SWCLOS allows to customize class and meta-class behaviors. OO reflection conveys great flexibility into system.

Entailment Rules http://www.w3.org/tr/rdf-mt/ Rule Name rdfs9 rdfs10 rdfs11 rdfs12 If E contains: uuu rdfs:subclassof xxx. vvv rdf:type uuu. uuu rdf:type rdfs:class. uuu rdfs:subclassof vvv. vvv rdfs:subclassof xxx. uuu rdf:type rdfs:containermembershipprop erty. then add: vvv rdf:type xxx. Subsumption Rule uuu rdfs:subclassof uuu. uuu rdfs:subclassof xxx. uuu rdfs:subpropertyof rdfs:member. rdfs13 uuu rdf:type rdfs:datatype. uuu rdfs:subclassof rdfs:literal. Transitivity Rule (defclass xxx ( ) ( ) ) (setq vvv (make-instance (defclass uuu (xxx) ( )))) (typep vvv xxx) true (defclass xxx ( ) ( )) (defclass vvv (xxx) ( )) (defclass uuu (vvv) ( )) (subtypep 'uuu 'xxx) true The Comparison of OWL/RDF and Object-Oriented Languages (from SETF) Object-Oriented Languages Domain models consist of classes, properties and instances (individuals). Classes can be arranged in a subclass hierarchy with inheritance. Properties can take objects or primitive values (literals) as values. Classes are regarded as types for instances. Each instance has one class as its type. Classes cannot share instances. Instances can not change their type at runtime. The list of classes is fully known at compile-time and cannot change after that. Compilers are used at build-time. Compile-time errors indicate problems. Classes and Instances From http://www.w3.org/2001/sw/bestpractices/se/odsd/ OWL and RDF Classes are regarded as sets of individuals. Each individual can belong to multiple classes. Class membership may change at runtime. Classes can be created and changed at runtime. Reasoners can be used for classification and consistency checking at runtime or build-time.

The Comparison of OWL/RDF and Object-Oriented Languages CLOS Language Domain models consist of classes, properties and instances (individuals). Classes can be arranged in a subclass hierarchy with inheritance. Properties can take objects or primitive values (literals) as values. Classes are regarded as types for instances. Each instance has one class as its type. Classes cannot share instances. change-class is applicable to instances at runtime. Classes can be created and changed at runtime, because classes are also instances of meta-classes. Dynamic compiling and linking in runtime is available. Classes and Instances Modified from http://www.w3.org/2001/sw/bestpractices/se/odsd/ OWL and RDF Classes are regarded as sets of individuals. Each individual can belong to multiple classes. Class membership may change at runtime. Classes can be created and changed at runtime. Reasoners can be used for classification and consistency checking at runtime or build-time. The Comparison of OWL/RDF and Object-Oriented Languages SWCLOS Language OWL/RDF semantics & entailments are implemented. Multiple classing is implemented. Classes and Instances OWL and RDF Domain models consist of classes, properties and instances (individuals). Classes can be arranged in a subclass hierarchy with inheritance. Properties can take objects or primitive values (literals) as values. Classes are regarded as sets of individuals. Each individual can belong to multiple classes. change-class is applicable to instances at runtime. Classes can be created and changed at runtime, because classes are also instances of meta-classes. Consistency checking and proactive entaiments in runtime are implemented. Class membership may change at runtime. Classes can be created and changed at runtime. Reasoners can be used for classification and consistency checking at runtime or build-time. Modified from http://www.w3.org/2001/sw/bestpractices/se/odsd/

The Comparison of OWL/RDF and Object-Oriented Languages Object-Oriented Languages OWL and RDF Properties, Attributes and Values Properties are defined locally to a class (and its subclasses through inheritance). Instances can have values only for the attached properties. Values must be correctly typed. Range constraints are used for type checking. Classes encode much of their meaning and behavior through imperative functions and methods. Classes can encapsulate their members to private access. Closed world: If there is not enough information to prove a statement true, then it is assumed to be false. From http://www.w3.org/2001/sw/bestpractices/se/odsd/ Properties are stand-alone entities that can exist without specific classes. Instances can have arbitrary values for any property. Range and domain constraints can be used for type checking and type inference. Classes make their meaning explicit in terms of OWL statements. No imperative code can be attached. All parts of an OWL/RDF file are public and can be linked to from anywhere else. Open world: If there is not enough information to prove a statement true, then it may be true or false. The Comparison of OWL/RDF and Object-Oriented Languages CLOS Language OWL and RDF Properties, Attributes and Values CLOS slots are defined locally to a class (and its subclasses through inheritance). Instances can have values only for the attached properties. Values must be correctly typed. Range constraints may be used for type checking. Classes may encode much of their meaning and behavior through imperative functions and methods. Classes can encapsulate their members to private access. Closed world: If there is not enough information to prove a statement true, then it is assumed to be false. Modified from http://www.w3.org/2001/sw/bestpractices/se/odsd/ Properties are stand-alone entities that can exist without specific classes. Instances can have arbitrary values for any property. Range and domain constraints can be used for type checking and type inference. Classes make their meaning explicit in terms of OWL statements. No imperative code can be attached. All parts of an OWL/RDF file are public and can be linked to from anywhere else. Open world: If there is not enough information to prove a statement true, then it may be true or false.

The Comparison of OWL/RDF and Object-Oriented Languages SWCLOS Language OWL and RDF Properties, Attributes and Values Property definitions are class objects, the extensions of property are object slots. Flexible slot attachment is implemented. Range and domain constraints are also realized, and the entailments are implemented. A number of OWL entailments are implemented. Variables may be public or private, depending on programming. t means Boolean true, but nil is regarded unknown. Modified from http://www.w3.org/2001/sw/bestpractices/se/odsd/ Properties are stand-alone entities that can exist without specific classes. Instances can have arbitrary values for any property. Range and domain constraints can be used for type checking and type inference. Classes make their meaning explicit in terms of OWL statements. No imperative code can be attached. All parts of an OWL/RDF file are public and can be linked to from anywhere else. Open world: If there is not enough information to prove a statement true, then it may be true or false. Straight-forward Mapping RDFS and OWL Class to CLOS Class Instance and Individual to CLOS Instance rdfs:class & owl:class to CLOS meta-class Gain: Lisp native cl:typep and cl:subtypep is available for RDFS Linear search in the class precedence list Reflective programming by meta-class

Questions on Implementation of OWL Unknown Complete Set of Entailments in OWL How to Implement Proactive Entailment Lisp is interactive. One by one satisfiable check and entailment Tableau algorithm looks like for Query. What query should we make? Proactive Entailment needs Entailment Rules to make a proper query in context. OWL object by MOP Satisfiability Checking (defresource TheSpecialCourse (rdf:type owl:class) (owl:intersectionof food:redmeatcourse (owl:restriction (owl:onproperty food:hasfood) (owl:allvaluesfrom food:fruit)))) (defindividual No1SpecialCourse (rdf:type TheSpecialCourse) (food:hasfood food:meat food:bananas)) Error: Unsatisfiable by disjont pair in (#<owl:class food:fruit> #<owl:class food:redmeat>) for TheSpecialCourse food:hasfood food:meat rdfs:subclassof food:redmeat food:fruit disjointwith If a class is disjoint with a superclass, then the class is also disjoint with the subclasses.

Cardinality Checking (setf (slot-value vin:elysezinfandel 'vin:hasmaker) vin:bancroft) CARDINALITY CHECK ERROR: THE OPERATION IS NOT EFFECTIVE: #<vin:zinfandel vin:elysezinfandel> vin:hasmaker <- #<vin:winery vin:bancroft> (get-form vin:wine) (owl:class vin:wine (rdfs:label (rdf:en "wine") (rdf:fr "vin")) (rdfs:subclassof food:potableliquid (owl:restriction (owl:onproperty vin:hasmaker) (owl:cardinality 1)) (owl:restriction (owl:onproperty vin:hasmaker) (owl:allvaluesfrom vin:winery)) (owl:restriction (owl:onproperty vin:madefromgrape) (owl:mincardinality 1)) (owl:restriction (owl:onproperty vin:hassugar) (owl:cardinality 1)) (owl:restriction (owl:onproperty vin:hasflavor) (owl:cardinality 1)) (owl:restriction (owl:onproperty vin:hasbody) (owl:cardinality 1)) (owl:restriction (owl:onproperty vin:hascolor) (owl:cardinality 1)) (owl:restriction (owl:onproperty vin:locatedin) (owl:somevaluesfrom vin:region)))) Already (vin:hasmaker vin:elyse) Attempt to set a new value Not overwrite, just add monotonically Cardinality Unsatisfiability (defresource BlendedWine (rdf:type owl:class) (rdfs:subclassof vin:wine (owl:restriction (owl:onproperty vin:madefromgrape) (owl:mincardinality 2)) (owl:restriction (owl:onproperty vin:hascolor) (owl:mincardinality 2)))) (defindividual MyBlendedWine (rdf:type BlendedWine) (vin:hascolor vin:red vin:white)) Error: Unsatisfiability by cardinality:blendedwine vin:hascolor The minimum maxcardinality and the maximum mincardinality so far are effective. mincardinality maxcardinality

owl:allvaluesfrom Constraint (defresource House (rdf:type owl:class)) (defindividual MyHouse (rdf:type House)) (defindividual MyHomeMadeWine (rdf:type vin:wine) (vin:hasmaker MyHouse)) Warning: Range entail4:change class of #<House MyHouse> to #<owl:class vin:winery>. Warning: #<House MyHouse> is additionally classified to (owl:class vin:winery). MyHouse #<House.17 MyHouse> (type-of MyHouse) (vin:winery House) (get-form vin:wine) (owl:class vin:wine (rdfs:label (rdf:en "wine") (rdf:fr "vin")) (rdfs:subclassof food:potableliquid (owl:restriction (owl:onproperty vin:hasmaker) (owl:cardinality 1)) (owl:restriction (owl:onproperty vin:hasmaker) (owl:allvaluesfrom vin:winery)) (owl:restriction (owl:onproperty vin:madefromgrape) (owl:mincardinality 1)) (owl:restriction (owl:onproperty vin:hassugar) (owl:cardinality 1)) (owl:restriction (owl:onproperty vin:hasflavor) (owl:cardinality 1)) (owl:restriction (owl:onproperty vin:hasbody) (owl:cardinality 1)) multiple classes Family Ontology (defindividual Female (rdf:type Gender) (owl:differentfrom Male)) Warning: Special Entailing with domain: Gender is a owl:class. Warning: Entail by range: Male rdf:type owl:thing. (defresource Person (rdf:type owl:class) (owl:intersectionof Human (owl:restriction (owl:onproperty hasgender) (owl:cardinality 1)))) Warning: Entail by range: hasgender rdf:type rdf:property. Warning: Change class by intersectionof:human rdf:type owl:class (defresource Woman (rdf:type owl:class) (owl:intersectionof Person (owl:restriction (owl:onproperty hasgender) (owl:hasvalue Female))))

Family Ontology Person onproperty hasvalue hasgender Female intersection Woman (defindividual QueenElizabethII (rdf:type Person) (hasgender Female)) Warning: Entailed in refining: #<Person QueenElizabethII> to Woman. Family Ontology Person onproperty intersection hasvalue Woman hasgender Female rdf:type hasgender QueenElizabethII

Family Ontology Person onproperty intersection hasvalue Woman hasgender Female rdf:type hasgender QueenElizabethII Early Work in SWCLOS, A Semantic Web Processor on CLOS OWL Entities and CLOS objects are unified. SWCLOS can enjoy satisfiability checking and diverse constraints of OWL in OOP. So, How about UML Modeling? Please imagine, if program specification is defined by OWL like OWL-S.

A Simple Domain Model in UML Syntax to SWCLOS (http://www.w3.org/2001/sw/bestpractices/se/odsd/) gx-user(2): (defproperty price (rdf:type owl:datatypeproperty) (rdfs:domain Product) (rdfs:range xsd:float)) Warning: Entail by range: Product rdf:type rdfs:class. #<owl:datatypeproperty price> gx-user(3): (defresource Product (rdf:type owl:class)) #<owl:class Product> gx-user(4): (defresource PurchaseOrder (rdf:type owl:class) (rdfs:subclassof (owl:restriction (owl:onproperty dat (owl:allvaluesfrom A Simple Domain Model in UML Syntax to SWCLOS (http://www.w3.org/2001/sw/bestpractices/se/odsd/) gx-user(4): (defresource PurchaseOrder (rdf:type owl:class) (rdfs:subclassof (owl:restriction (owl:onproperty date) (owl:allvaluesfrom Date))) (rdfs:subclassof (owl:restriction (owl:onproperty products) (owl:mincardinality 1))) (rdfs:subclassof (owl:restriction (owl:onproperty products) (owl:allvaluesfrom Product))) (rdfs:subclassof (owl:restriction (owl:onproperty customer) (owl:allvaluesfrom Customer))) (rdfs:subclassof (owl:restriction (owl:onproperty customer) (owl:cardinality 1))) (rdfs:comment "Orders from countries with a free trade agreement are dut Warning: Entail by range: date rdf:type rdf:property.

A Simple Domain Model in UML Syntax to SWCLOS (http://www.w3.org/2001/sw/bestpractices/se/odsd/) gx-user(5): (defresource Customer (rdf:type owl:class) (rdfs:subclassof (owl:restriction (owl:onproperty orders) (owl:allvaluesfrom PurchaseOrder))) (rdfs:subclassof (owl:restriction (owl:onproperty orders) (owl:mincardinality 0))) (rdfs:subclassof (owl:restriction (owl:onproperty email) (owl:allvaluesfrom xsd:string))) (rdfs:subclassof (owl:restriction (owl:onproperty country) (owl:allvaluesfrom Country)))) Warning: Entail by range: orders rdf:type rdf:property. Warning: Entail by range: email rdf:type rdf:property. Warning: Entail by range: country rdf:type rdf:property. Warning: Entail by range: Country rdf:type rdfs:class. # Domain Model as Meta-program that Specifies Programs OWL & DL provides a firm ground for programming. The OWL realization enables to share program specification between human and machine. Machine can support programming and (semi-)automatic code generation. Really?

A Simple Domain Model in UML Syntax to SWCLOS (http://www.w3.org/2001/sw/bestpractices/se/odsd/) getpurchasessum (Customer) gx-user(6): (defmethod getpurchasessum ((customer-individual Customer)) (loop for order in (-> customer-individual orders) sum (loop for product in (-> order products) sum (coerce (-> product price) 'float)))) #<standard-method getpurchasessum (Customer)> But, machines must know code patterns and simple task ontology for automatic code generation, i.e., what sum is! The Comparison of SWS and OOP Object-Oriented Languages Procedures are locally executed. The execution of procedures are statically controlled by code. Procedures are coded as methods by hands. MDA aims automatic code generation. Methods are defined in class definition and cannot exist independently. Semantic Web Services Services are remotely executed across networks. The services are dynamically controlled by agents. Services are discovered, composed, and decomposed. Services independently exist and are chosen by IOPE parameters.

The Comparison of SWS and OOP CLOS Procedures are locally executed. The methods are chosen by the name and the parameter classes. Procedures are coded as methods by hands. MDA aims automatic code generation. The CLOS Method is a generalized function and exists independently apart from classes. Semantic Web Services Services are remotely executed across networks. The services are dynamically controlled by agents. Services are discovered, composed, and decomposed. Services independently exist and are chosen by IOPE parameters. The Comparison of SWS and OOP Unified Services in SWCLOS Seamless between procedures and services The execution of procedures are dynamically controlled by instantiation and dispatch rules. Procedures are automatically coded by ontology. ODA aims automatic code generation. CLOS Method Protocol may be modified and unified with SWS by Meta-Object Protocol. Semantic Web Services Services are remotely executed across networks. The services are dynamically controlled by agents. Services are discovered, composed, and decomposed. Services independently exist and are chosen by IOPE parameters.

Web Service Taxonomy PlantTask GetOperationMode GetSensorData PlantOperationSupportTask GetSensorNames Precondition: Operation Mode Input: Sensor Name List Output: Sensor QValue List MonitorPlant PlantCounterAction GetQValues GetSensorNamesforMonitoringGetSensorNamesforDiagnosing Precondition: Pipe Cool Down Mode CBR1:MonitorPlant CBR2:MonitorPlant CBR3:MonitorPlant RetrieveQualitativeVs RetrieveSensorNames ModelDiag CBR1:GetQValues CBR2:GetQValues CBR3:GetQValues RetrieveCase Precondition: MBR:GetSensorNames Tank Cool Down Mode CBR1:GetSensorNames Precondition: Tank Tanking Mode CBR2:GetSensorNames CBR3:GetSensorNames RetrieveSensorData RetrieveCauses RetrieveHazardList RetrieveCounterActions IdentifyCauses ForcastHazards DeriveCounterAction CBR1:RetrieveCase CBR2:RetrieveCase CBR3:RetrieveCase RetrieveCauseCase Method Definition in CLOS (defmethod GetQValues ((precondition gxdomain:operationmode) (input gxdomain:sensornamelist) (output QValueList)) (error This method cannot be invoked. )) (defmethod GetQValues ((precondition gxdomain:pipecooldownmode)) (input gxdomain:sensornamelist) Same name (output QValueList)) <Web Service invoking body for CBR1> ) (defmethod GetQValues ((precondition gxdomain:pipecooldownmode)) (input gxdomain:sensornamelist) (output QValueList)) <Web Service invoking body for CBR2> ) (defmethod GetQValues ((precondition gxdomain:pipecooldownmode)) (input gxdomain:sensornamelist) (output QValueList)) <Web Service invoking body for CBR3> )

Service Definition in SWCLOS (defservice GetQValues ((precondition gxdomain:operationmode) (input gxdomain:sensornamelist) (output QValueList)) (error This method cannot be invoked. )) (defservice CBR1:GetQValues ((precondition gxdomain:pipecooldownmo (input gxdomain:sensornamelist) Different Same name name (output QValueList)) <Web Service invoking body for CBR1> ) Can We implement it? (defservice CBR2:GetQValues ((precondition gxdomain:pipecooldownmo (input gxdomain:sensornamelist) (output QValueList)) <Web Service invoking body for CBR2> ) (defservice CBR3:GetQValues ((precondition gxdomain:pipecooldownmo (input gxdomain:sensornamelist) (output QValueList)) <Web Service invoking body for CBR3> ) Can We Get New Dispatching? Generic functions are instances with meta class funcallable-standardclass. Instances with this meta class are called funcallable-instances (FINs for short). They behave something like lexical closures in that they have data associated with them (which is used to store the slots) and are funcallable. When a funcallable instance is funcalled, the function that is invoked is called the funcallable-instance-function. The funcallable-instance-function of a funcallable instance can be changed. Associated with each generic function is its discriminating function. Each time the generic function is called, the discriminating function is called to provide the behavior of the generic function. The discriminating function receives the full set of arguments received by the generic function. It must lookup and execute the appropriate methods, and return the appropriate values.

Can We Get New Dispatching? Unified services are instances with meta class funcallable-standardclass. Instances with this meta class are called funcallable-instances (FINs for short). They behave something like lexical closures in that they have data associated with them (which is used to store the slots) and are funcallable. When a funcallable instance is funcalled, the function that is invoked is I called believe the funcallable-instance-function. YES! The funcallable-instance-function of a funcallable instance can be changed. It deserves the challenge. Associated with each unified services is its discriminating function. Each time the unified services is called, the discriminating function is called to provide the behavior of the generic function. The discriminating function receives the full set of arguments received by the unified services. It must lookup and execute the appropriate services, and return the appropriate values. Summary Model Driven Architecture in OMG is introduced. Emerging Activity on Ontology Driven Architecture in SETF in W3C is introduced. Early Work by SWCLOS is demonstrated. An example of mapping from UML class diagram to domain model is demonstrated. Automatic code generation requires task ontology or code pattern ontology. Unified Services of Web Services and OOP are proposed.