200 likes | 370 Views
The NOOS Representation Language. Josep Lluís Arcos IIIA - CSIC. General Overview. Development environment Project Ontologies Domain Knowledge Activities Protocols PSMs Episodic Memory Agent Classes Platform Runtime Environment Launching specific Noos agents n the platform
E N D
The NOOS Representation Language Josep Lluís Arcos IIIA - CSIC
General Overview • Development environment • Project • Ontologies • Domain Knowledge • Activities • Protocols • PSMs • Episodic Memory • Agent Classes • Platform • Runtime Environment • Launching specific Noos agents n the platform • Launching other entities
The Project • Specifies all the components of a given application (define-Project Wim (Ontologies "wim:IS-Ontology.noos" "wim:Agg-Ontology.noos") (Domain-Knowledge "wim:Mesh-DM.noos" "wim:Sources-DM.noos" "wim:EBM-DM.noos") (Activities "wim:Wim-Activities.noos") (Scenes "wim:Wim-Scenes.noos") (PSMs "wim:WIM-PSMs.noos" "wim:Elaboration-PSMs.noos" "wim:Aggregation-PSMs.noos") )
Ontologies • Defines the ontological elements • Sorts • Features of sorts • Ranges and default values (define-Ontology Aggregation-Ontology (creator ”IIIA-CSIC") (description ”Agg. Ontology for wim") (uses IS-Ontology)) (define-sort (Aggregation-Ontology Item-Info) (item item) (pairs Weighted-pair empty-set))
Domain Knowledge • Predefined Instances of ontologies (define (Category :id Good-Evidence) (name "Good Evidence Quality") (terms Empty-set) (filters (define (Filter-Weighting) (filter (define (Filter) (attribute "Publication Type") (value "Meta-Analysis"))) (weight 1)) (define (Filter-Weighting) (filter (define (Filter) (attribute "Publication Type") (value "Randomized Controlled Trial"))) (weight 0.9))))
!Pubmed.search-attributes (define (Person :id John) (name"John") (father (define (Person) (name"Peter") (wife ..mother) (likes .wife.likes) (children !..))) (mother (define (Person) (name”Susan") (husband ..father) (likes ice-cream)))) (define-method Foo ((item Person)) (if (identity? Item.name "John") "Hello John" "Hello Ghost")) Paths • Absolute paths • Relative paths • Variable paths
Activities • Defines the tasks an agent is able to manage • A Noos agent concurrently carries on several activities (def-Activity Information-Search :specializes IS-Activity :interfaces (Request IS)) (def-Activity Source-Query-Activity :specializes IS-Activity :selfinterfaceStart) (defmethod Launch ((is information-search) engine args) (IS-method engine (fifth args))) (defmethod Resume ….)
A[Request]->B B[Inform]->A S0 S1 S3 B[Request]->A A[Inform]->B (definterface Request :scene IS (sender symbol) (receiver symbol) (protocol symbol) (language symbol) (content domain-query))) S2 Protocols • Defines interactions among agents • Example: IS protocol
(define-method MethodName ((par1 sort1) …) &body) (let ((var sort) var-spec)) … var.slotName …) PSMs • Define the inference units for an activity • In the body it can be used: • Lisp without global variables • A collection of Noos methods • An extended definition for Lisp macros • Let, Let*, dolist, do, do*
Noos PSMs • Comparison methods • Identity?, Subsumes?, … • Filtering methods • Filter-by-subsumption, … • Methods on sets • Noos-union, noos-intersection, empty-set?, … • Logic Methods • Not, conjunction, disjunction • Retrieval Methods • Preferences • Input/Output
Noos PSMs (II) • Methods for activities • Communication (start-activity ActivityNname Performative params) (send-ACL Performative receiver content :protocol protocolName :scene protocolName :answers list)
A[Request]->B B[Inform]->A S0 S1 S3 B[Request]->A A[Inform]->B S2 Noos PSMs (III) (send-ACL Request IS-Agent (define (domain-query)…) :protocol IS :scene IS :answers ‘((Inform T1 state1) (Request T2 state2))
Noos PSMs (IV) • Synchronizers • Allows the synchronizations among activities • Uses predefined names or dynamically generated (define-sync SyncName InitialValue) (noos-signal SyncName SyncValue) (noos-wait SyncName SyncPattern tag state)
Agents • Defines the components used by a given agent (define-Agent IS-Agent (interface ((REQUEST IS) (sender) (receiver) (protocol) (language) (content)) ((INFORM INFO-RETRIEVAL) (sender) (receiver) (protocol)(language) (content))) (activities (Information-Search ((REQUEST IS)) nil) (Source-Retrieve-Activity nil START) (Source-Query-Activity nil START) (Single-Query-Activity nil START)) (ontologies IS-Ontology Aggregation-Ontology) (domain-knowledge "wim:Mesh-DM.noos" "wim:Sources-DM.noos" "wim:EBM-DM.noos"))
Platform • Defines the platform where the agent society will leave • Possible to connect with other platforms • Next course (define-Platform Wim-Platform (ontologies "wim:IS-ontology.noos” "wim:Agg-ontology.noos") (agents "wim:platform.noos”))
General Overview • Development Environment • Project • Ontologies • Domain Knowledge • Activities • Protocols • PSMs • Episodic Memory • Agent Classes • Platform • Runtime Environment • Launching specific Noos Agents in the platform • Launching other entities
Launching (launch-platform Wim-Platform1 :class Wim-platform) (launch-agent IS-1 :class IS-Agent)