Ontologies Reasoning Components Agents Simulations Ontologies and Agent Oriented Knowledge Representation Jacques Robin.

Slides:



Advertisements
Similar presentations
Three-Step Database Design
Advertisements

First-Order Logic Chapter 8.
Profiles Construction Eclipse ECESIS Project Construction of Complex UML Profiles UPM ETSI Telecomunicación Ciudad Universitaria s/n Madrid 28040,
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 2, Modeling with UML, Part 4 UML 2 Metamodel.
CS570 Artificial Intelligence Semantic Web & Ontology 2
So What Does it All Mean? Geospatial Semantics and Ontologies Dr Kristin Stock.
Ontologies Reasoning Components Agents Simulations Object and Agent Oriented Knowledge Representation Jacques Robin.
Irina Rychkova. 9/20061 Systemic approach towards model definition Model transformation semantics.
Knowledge Acquisitioning. Definition The transfer and transformation of potential problem solving expertise from some knowledge source to a program.
UML CASE Tool. ABSTRACT Domain analysis enables identifying families of applications and capturing their terminology in order to assist and guide system.
Ontologies Reasoning Components Agents Simulations An Overview of Model-Driven Engineering and Architecture Jacques Robin.
Semantics For the Semantic Web: The Implicit, the Formal and The Powerful Amit Sheth, Cartic Ramakrishnan, Christopher Thomas CS751 Spring 2005 Presenter:
Ontologies Reasoning Components Agents Simulations Agent-Oriented Knowledge Representation Jacques Robin.
Protégé An Environment for Knowledge- Based Systems Development Haishan Liu.
Ontologies Reasoning Components Agents Simulations Agent Modeling Language: An Overview Wendell Véras Vinícius Remígio Jacques Robin.
® Eurostep.ESUKPC v0.1©Copyright Eurostep Limited An Introduction to ISO STEP Part 25 David Price.
Semantic Web Technologies Lecture # 2 Faculty of Computer Science, IBA.
Ontologies Reasoning Components Agents Simulations Agent Modeling Language: Behavioral Models Rafael Oliveira Ricson Santana Vinícius Remigo Jacques Robin.
OOPSLA 2003 DSM Workshop Diagram Definition Facilities Based on Metamodel Mappings Edgars Celms, Audris Kalnins, Lelde Lace University of Latvia, IMCS,
SEG4110 – Advanced Software Design and Reengineering
Ontology Development Kenneth Baclawski Northeastern University Harvard Medical School.
Ontologies Reasoning Components Agents Simulations Belief Update, Planning and the Fluent Calculus Jacques Robin.
Extending UML to Support Ontology Engineering Kenneth Baclawski and Mieczylaw K. Kokar Northeastern University Paul A. Kogut, William S. Holmes III and.
EXCS Sept Knowledge Engineering Meets Software Engineering Hele-Mai Haav Institute of Cybernetics at TUT Software department.
Knowledge representation
Of 39 lecture 2: ontology - basics. of 39 ontology a branch of metaphysics relating to the nature and relations of being a particular theory about the.
MDE Model Driven Engineering Xavier Blanc Université Pierre et Marie Curie
Knowledge Model Basics Challenges in knowledge modeling Basic knowledge-modeling constructs Comparison to general software analysis.
Ontologies Reasoning Components Agents Simulations Structural Modeling with UML2 Jacques Robin.
SaveUML System design. System overview Possible...
Metadata. Generally speaking, metadata are data and information that describe and model data and information For example, a database schema is the metadata.
Pattern-directed inference systems
Modeling Component-based Software Systems with UML 2.0 George T. Edwards Jaiganesh Balasubramanian Arvind S. Krishna Vanderbilt University Nashville, TN.
Chapter 16 Applying UML and Patterns Craig Larman
A MOF Metamodel & UML Profile for the Web Ontology Language (OWL) January 30, 2003 Elisa F. Kendall CEO & Founder (650)
1 Advanced Software Architecture Muhammad Bilal Bashir PhD Scholar (Computer Science) Mohammad Ali Jinnah University.
Semantic web course – Computer Engineering Department – Sharif Univ. of Technology – Fall Knowledge Representation Semantic Web - Fall 2005 Computer.
A Context Model based on Ontological Languages: a Proposal for Information Visualization School of Informatics Castilla-La Mancha University Ramón Hervás.
Ontology-Based Computing Kenneth Baclawski Northeastern University and Jarg.
Week III  Recap from Last Week Review Classes Review Domain Model for EU-Bid & EU-Lease Aggregation Example (Reservation) Attribute Properties.
MOF Meta-Models and UML Profiles
1 Class Diagrams. 2 Overview Class diagrams are the most commonly used diagrams in UML. Class diagrams are for visualizing, specifying and documenting.
Metadata Common Vocabulary a journey from a glossary to an ontology of statistical metadata, and back Sérgio Bacelar
Knowledge Representation
The Model-Driven DDI Approach Arofan Gregory, Jon Johnson, Flavio Rizzolo, Marcel Hebing.
1 Technical & Business Writing (ENG-715) Muhammad Bilal Bashir UIIT, Rawalpindi.
MOF Meta-Models and UML Profiles
UML Profile BY RAEF MOUSHEIMISH. Background Model is a description of system or part of a system using well- defined language. Model is a description.
WonderWeb. Ontology Infrastructure for the Semantic Web. IST Project Review Meeting, 11 th March, WP2: Tools Raphael Volz Universität.
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 2, Modeling with UML: UML 2 Metamodel Note to Instructor: The material in this.
OWL Web Ontology Language Summary IHan HSIAO (Sharon)
Ontologies Reasoning Components Agents Simulations An Overview of Model-Driven Engineering and Architecture Jacques Robin.
Presented by Kyumars Sheykh Esmaili Description Logics for Data Bases (DLHB,Chapter 16) Semantic Web Seminar.
Sheet 1MDAFA2004 Linköping, June 2004 A Language for Model Transformations in the MOF Architecture Ivan Kurtev, Klaas van den Berg University of Twente,
Definition and Technologies Knowledge Representation.
UML (Unified Modeling Language)
Knowledge Representation Part I Ontology Jan Pettersen Nytun Knowledge Representation Part I, JPN, UiA1.
Language = Syntax + Semantics + Vocabulary
Object Management Group Information Management Metamodel
Business Process Measures
Chapter 12 Outline Overview of Object Database Concepts
Agent-Oriented Knowledge Representation
Agent Internal Structural Modeling with UML2 and OCL2
MOF Meta-Models and UML Profiles
Extending UML to Support Ontology Engineering
Object-Oriented Knowledge Representation
Analysis models and design models
Software Components Jacques Robin.
Deniz Beser A Fundamental Tradeoff in Knowledge Representation and Reasoning Hector J. Levesque and Ronald J. Brachman.
Software Architecture & Design
Presentation transcript:

Ontologies Reasoning Components Agents Simulations Ontologies and Agent Oriented Knowledge Representation Jacques Robin

Outline  History of object-oriented languages  UML2 as a domain knowledge representation language  Ontologies and object-oriented knowledge reuse  A UML2 profile for agent-oriented knowledge representation

Software EngineeringDistributed Systems History of Object-Oriented Languages ProgrammingKnowledge Representation Databases Simula Sketchpad Java C# Semantic Networks Description Logics Frame Logics SQL’99 Frames Smalltalk C++ OQL UML1 OCL1 MOF1 OCL2 UML2 MOF2 Semantic Web OWL SWSL CHORD

UML as KR Language  Class diagram:  Modern, well-founded version of semantic networks  Activity diagram  Modern, well-founded version of flow charts  Graphical syntax for procedures  Class diagrams + Activity diagrams :  Graphical syntax of expressive power approximately equivalent to that of Frames  Strengths:  Universal standard, well-thought, well-known and well-tooled (CASE)  Facilitates convergence between software and knowledge engineering  Limitations:  Lack of full UML compilers to executable languages  Lack of inference engine to automatically reasoning with knowlege represented only as UML models  No mathematically defined formal semantics yet  Thus:  Only useful at the knowledge level  Need to be used in conjunction with other language(s) that provide the formalization and/or implementation level

What is an Ontology?  Explicit, formal (or semi-formal) specification of a shared conceptualization  Conceptualization:  Conceptualization: model of entities, relations, constraints and rules of a given domain or field;  Formal:  Formal: machine-processable, allowing automated reasoning, with declarative semantics;  Shared:  Shared: by a knowledge community, allowing common understanding and effective communication of largely implicitly specified content, completed by inference based on the shared explicit knowledge in the ontology  Knowledge base reusable across AI applications  Independent from any specific application requirement  Linguistic ontology  Linguistic ontology: based on vocabulary and deep syntactic roles of one or several natural languages (ex,  Domain conceptual ontology  Domain conceptual ontology: common core of KB from application family in a given domain  Common-sense conceptual ontology  Common-sense conceptual ontology: domain-independent, high-level concepts from one or several common sense knowledge aspects

Elements of an Ontology: Concept Generalization Hierarchy  Entity Classes:  Each entity class defined by a set of slot-facet-value triple  Correspond to:  Classes of OO models  Entities of relational models  Terms of logical models  Property slots x relational slots  Filled by atomic values (primitive data types) x by other concepts  Epistemological status of the value (defined by the facet)  Precisely known, default, possibilistic, plausibilistic, probabilistic  Generic Relations:  With or without generalization hierarchy running parallel to concept generalization hierarchy  Correspond to:  Associations, aggregations, compositions and complex object filled attributes of OO models  Relations of relational model  Predicates of logical models

Elements of an Ontology: Constraints and Derivation Rules  Constraints:  On the domain values of attributes from  One concept (type constraints)  Several related concepts (integrity constraints)  To prohibit semantically invalid concepts instances or semantically inconsistent concept instance set  Correspond to:  Class signatures and invariants in OO models  Typing predicates, sorts (partition of constant symbol alphabet) and integrity constraints in logical models  Typing and integrity constraints in database schemas  Rules to derive:  The value of attribute concepts from set of other such values  The existence of concept instances from the existence of other such instances  Correspond to:  Declarative methods in OO models  Implicative clauses of logical models  Database views

Elements of an Ontology: Constraints x Derivation Rules  As a constraint, the formula:   C, person(C)   ! M, person(M)  mother(M,C)  prohibits the creation of person concept instances with zero or multiple mothers;  As a derivation rule, this same formula allows inferring: - From the existence of each instance C of the person concept the existence of another instance M of that concept, related to C by an instance of the mother relation; - From the existence of two instances M and M’ of the person concept, both related to the same third instance C of that concept by the mother relation, that M = M’  Concept instances generally not part of an ontology  Exception: special values that correspond to constant value declaration in programming language as opposed to variable binding

Cross-Disciplinary History of Ontologies Organization Knowledge Management since 1990 Data Integration since 1995 Multi-Agent Systems since 1995 Web Information Retrieval since 2000 Cognitive Psychology since 1960 Linguistics since 1960 Expert Systems since 1980 Natural Language Processing since 1980 Ontologies Philosophy since 350 A.C. Software Engineering (Business Modeling) since 1990

Top-Level Common Sense Conceptual Ontology Domain or Task Specific Ontology Domain or Task Specific Ontology

MAS Simulation Specification Class Diagram > SimStateKind running stopped > Simulation +run() +stop() > Simulation +state:SimStateKind

MAS Simulation Specification Composite Structure Diagram > : Simulation Sim Simulation

> Simulation MAS Simulation Realization Class Diagram > AgStateKind empty initialized perceptReceived actionSent > EnvPubStateKind empty initialized perceptsSent actionsReceived > SimEnv +create() +terminate() > SimAg +create() +terminate() > Agent +state:AgStateKind > Environment +state: EnvStateKind > EnvEffectors +send1(p:Percept1, ag:Agent) +send2(p:Percept2, ag:Agent) > AgEffectors +send1(ac:Action1) +send2(ac:Action2) > CommunicationChannel +send1(ac:Action1) +send2(ac:Action2) +receive1():Percept1 +receive2():Percept2 +send1(p:Percept1, ag:Agent) +send2(p:Percept2, ag:Agent) +receive1(ag:Agent):Action1 +receive2(ag:Agent):Action2 > EnvSensors +receive1(ag:Agent):Action1 +receive2(ag:Agent):Action2 > AgSensors +receive1():Percept1 +receive2():Percept2 Percept Percept1Percept2 Action Action1Action2 >

MAS Simulation Realization Class Diagram > AgStateKind empty initialized perceptReceived actionSent > EnvPubStateKind empty initialized perceptsSent actionsReceived > SimEnv +create() +terminate() > SimAg +create() +terminate() > Agent +state:AgStateKind > Environment +state: EnvStateKind > EnvEffectors +send1(p:Percept1, ag:Agent) +send2(p:Percept2, ag:Agent) > AgEffectors +send1(ac:Action1) +send2(ac:Action2) > CommunicationChannel +send1(ac:Action1) +send2(ac:Action2) +receive1():Percept1 +receive2():Percept2 +send1(p:Percept1, ag:Agent) +send2(p:Percept2, ag:Agent) +receive1(ag:Agent):Action1 +receive2(ag:Agent):Action2 > EnvSensors +receive1(ag:Agent):Action1 +receive2(ag:Agent):Action2 > AgSensors +receive1():Percept1 +receive2():Percept2 Percept Percept1Percept2 Action Action1 Action2 > Simulation > [2..*]

> : Simulation MAS Simulation Realization Composite Structure Diagram > : Agent [2..*] > : Environment : CommunicationChannel AgSensors AgEffectors EnvSensors EnvEffectors AgSensors [2..*]AgEffectors [2..¨¨]EnvEffectorsEnvSensors SimAg [2..*] SimEnv SimAgSimEnv

Agent Specification Class Diagram > AgStateKind empty initialized perceptReceived actionSent > SimAg +create() +terminate() > Agent +state:AgStateKind > AgEffectors +send1(ac:Action1) +send2(ac:Action2) > AgSensors +receive1():Percept1 +receive2():Percept2 Percept Percept1Percept2 Action Action1Action2

Agent Specification Composite Structure Diagram > : Agent AgSensors AgEffectors SimAg

Environment Specification Class Diagram > EnvPubStateKind empty initialized perceptsSent actionsReceived > SimEnv +create() +terminate() > Environment +state: EnvStateKind > EnvEffectors +send1(p:Percept1, ag:Agent) +send2(p:Percept2, ag:Agent) > EnvSensors +receive1(ag:Agent):Action1 +receive2(ag:Agent):Action2 Percept Percept1Percept2 Action Action1Action2 > Agent +state:AgStateKind > AgStateKind empty initialized perceptReceived actionSent

Environment Specification Composite Structure Diagram > : Environment EnvSensors EnvEffectors EnvAg

> Agent Agent Realization Class Diagram AgSimModel SimModel > updateModelFromPercept +updateAgSimModel(p:Percept) > PerceptInterpretation > updateModelFromPredictedActionEffect +update(a:Action) > ActionEffectPredictor > updateModelFromDirectChangeLaws +updateAgSimModel() > ModelUpdate Goal > ModelUpdateRamification > ramifyDirectChanges +RamifyAgSimModel() > updateGoal +updateGoal() > GoalUpdate > ActionChooser > chooseAction +choose():Action >

: Agent Agent Realization Composite Structure Diagram : AgSimModel : Goal > : PerceptInterpretation updateModelFromPercept > : ModelUpdate updateModelFromDirectChangeLaws > : ModelUpdateRamification ramifyDirectChanges > : GoalUpdate goalUpdate > : ActionChooser chooseAction > : ActionEffectPredictor updateModelFromPredictedActionEffect AgSensors > AgEffectors > SimAg

> Environment Environment Realization Class Diagram EnvSimModel SimModel > updateModelFromAgentActions +updateEnvSimModel(p:Percept) > UpdateFromActions > deriveAgentPercepts +percept(ag:Agent):Percept > DeriveNewPercepts > updateModelFromDirectChangeLaws +updateAgSimModel() > EnvSelfUpdate > ModelUpdateRamification > ramifyDirectChanges +RamifyAgSimModel() >

: Agent Environment Realization Composite Structure Diagram : EnvSimModel > : UpdateFromActions updateModelFromAgentActions > : EnvSelfUpdate updateModelFromDirectChangeLaws > : ModelUpdateRamification ramifyDirectChanges > : DeriveAgentPercepts DeriveNewPercepts EnvSensors > EnvEffectors > SimEnv

UML2 Profiles  Self-extension mechanism to customize UML2 towards:  Specific application families (i.e., multi-agent simulations)  Specific implementation platforms (i.e., EJB,.net, web services)  A profile is a set of stereotypes  Concrete syntax: > and/or icon  Stereotypes are specializations of meta-classes from the UML2 meta-model PackageClass PropertyAssociation Profile ProfileApplication * * * meta-class Extension Stereotype * Image icon ExtensionEnd * UML2 Superstructure Meta-Model UML2 Extension/Customization Language Meta-Model

MOF Meta-Model of a Simple Multi-Agent Simulations Modeling Language (MASML) MAS 2..* EnvironmentAgent SensorActuator 1..* Percept 1..* AgentAction 1..* MAS ReasoningComponent 1..* Agent ReflexAgentReflexComponent ReflexAgent ReasoningComponent Sensor Actuator 1..* AutomataAgentGoalBasedAgent Goal GoalInitializationComponent GoalUpdateComponent GoalBasedBehaviorStrategyComponent ReasoningComponent GoalBasedAgent 3..* EnvironmentStateModel ModelBasedBehaviorStrategyComponent AgentAutomataAgent EnvironmentStateModel ModelInitializationComponent PerceptInterpretationComponent RamificationComponent ModelBasedBehaviorStrategyComponent ReasoningComponent AutomataAgent Actuator Sensor 4..* 1..*

MOF Meta-Model of a Simple Multi-Agent Simulations Modeling Language (MASML) Agent KBAgentKBComponent KBAgent ReasoningComponent 1..* KnowledgeBase PersistentKB VolatileKB 0..* KBSentence 1..* ReflexAgent ReflexKBAgentReflexKBComponent ReflexKBAgent ReflexComponent KBAgentKBComponent PersistentKB ReflexKB context ReflexKBComponent inv VolatileKB.isEmpty() AutomataKBAgent AutomataAgent AutomataKBAgent KBComponent KBAgent EnvironmentStateModelKB 4..* VolatileKB EnvironmentStateModel 4..* GoalBasedKBAgent GoalBasedAgent GoalBasedKBAgent KBComponent KBAgentGoalKB EnvironmentStateModelKB 6..* VolatileKBGoal EnvironmentStateModel 4..*3..*

UML2 Profile for MAS  MASML Meta-Model  UML2 Meta-Model MAS Environment Agent Sensor Actuator Percept AgentAction ReasoningComponent EnvironmentStateModel KnowledgeBase KBSentence Component isActive = true ComponentPort Signal Model Package PackagableElement TypedElement *