Επικοινωνία πρακτόρων σε MAS
1 Επικοινωνία μεταξύ αντικειμένων •Στον αντικειμενοστραφή προγραμματισμό πώς επικοινωνούν τα αντικείμενα μεταξύ τους; •Έστω ότι έχουμε δύο αντικείμενα JAVA, ο1 και ο2, και έστω ότι το ο1 έχει μια δημόσια μέθοδο μ1. Το αντικείμενο ο2 επικοινωνεί με το αντικείμενο ο1 ενεργοποιώντας τη μέθοδο μ1. Δηλαδή το ο2 εκτελεί μια εντολή που μοιάζει με ο1.μ1(...) όπου «...» είναι το περιεχόμενο (οι παράμετροι) που θέλει το ο2 να επικοινωνήσει στο ο1. •Στον αντικειμενοστραφή προγραμματισμό το ο1 δεν ελέγχει την εκτέλεση της μεθόδου του μ1. Η απόφαση για το αν αυτή η μέθοδος του ο1 θα εκτελεστεί ή όχι εναπόκειται στο αντικείμενο 02.
2 Επικοινωνία μεταξύ πρακτόρων •Έστω ότι έχουμε δύο πράκτορες π1 και π2 και ο π1 έχει την ικανότητα (έχει στο ρεπερτόριό του) να εκτελέσει την ενέργεια α (αυτή χαλαρά αντιστοιχεί σε μέθοδο με αντικειμενοστραφείς όρους). •Δεν μπορεί ο πράκτορας π2 να ενεργοποιήσει την πράξη α του πράκτορα π1 γιατί ο π1 είναι αυτόνομος: εκείνος ελέγχει τόσο την κατάσταση όσο και τη συμπεριφορά του. •Το πολύ-πολύ ο π2 να ζητήσει από τον π1 να εκτελέσει την ενέργεια α. Δεν είναι βέβαια σίγουρο ότι ο π1 θα ανταποκριθεί θετικά σε τέτοια αίτηση: μπορεί η εκτέλεση της α να μην εξυπηρετεί τα δικά του συμφέροντα. •Γενικά οι πράκτορες δεν μπορούν να εξαναγκάσουν άλλους πράκτορες να εκτελέσουν ενέργειες ή να γράψουν δεδομένα στην εσωτερική τους κατάσταση. Μπορούν όμως να εκτελέσουν ενέργειες επικοινωνιακές, με την ελπίδα ότι θα επηρεάσουν άλλους πράκτορες να κάνουν αυτό που τους ζητούν.
3 Επικοινωνιακές ενέργειες: Speech Acts •Η θεωρία πράξεων λόγου (speech act theory) βλέπει την επικοινωνία σαν δράση: ό,τι λέει ένας πράκτορας θεωρείται πως είναι μία επικοινωνιακή ενέργεια κάποιου τύπου. •Τα θεμέλια της θεωρίας πράξεων λόγου τέθηκαν από το φιλόσοφο John Austin (1962). Αυτός πρώτος παρατήρησε ότι μερικές εκφράσεις λόγου μπορούν να θεωρηθούν ενέργειες, γιατί αλλάζουν την κατάσταση του κόσμου, κατά τρόπο ανάλογο με τις φυσικές ενέργειες. •Πώς μπορεί μία έκφραση να αλλάξει τον κόσμο; –Η έκφραση «και τώρα σας ονομάζω συζύγους» όταν ειπωθεί από τον κατάλληλο άνθρωπο στις κατάλληλες περιστάσεις αλλάζει τον κόσμο (πώς;) –Η έκφραση «αποβάλλεσαι» όταν ειπωθεί από το διαιτητή στη διάρκεια ενός αγώνα ποδοσφαίρου αλλάζει τον κόσμο (πώς;) –Η έκφραση «σήμερα είναι Τρίτη» όταν ειπωθεί σε κάποιον ο οποίος δεν γνωρίζει τι μέρα είναι του αλλάζει την κατάσταση.
4 Θεωρία πράξεων λόγου (Austin 1962) •Υπάρχει μία σειρά από τελεστικά ρήματα (performative verbs), που αντιστοιχούν σε διαφορετικά είδη πράξεων λόγου (speech acts), π.χ. αιτούμαι, πληροφορώ, υπόσχομαι, κλπ. •Κάθε έκφραση έχει τρεις όψεις. Π.χ. η έκφραση «φέρε μου σε παρακαλώ έναν καφέ» περιλαμβάνει: –Την λεκτική ενέργεια του να λέει κανείς την έκφραση «φέρε μου σε παρακαλώ έναν καφέ». –Την πράξη λόγου στην οποία αντιστοιχεί αυτή η έκφραση: πρόκειται για μια αίτηση για καφέ. –Το αποτέλεσμα της πράξης λόγου (φέρνω καφέ σ’αυτόν που μου το ζήτησε). •Κάθε έκφραση έχει μοναδική πράξη λόγου στην οποία αντιστοιχεί αλλά πολλές πιθανές λεκτικές ενέργειες.
5 Θεωρία πράξεων λόγου: Searle (1969) •O John Searle επέκτεινε και συστηματοποίησε τη δουλειά του Austin και πρότεινε μια κατηγοριοποίηση των δυνατών τύπων πράξεων λόγου: 1.Αντιπροσωπευτικές (representatives): οι πράξεις λόγου που δεσμεύουν τον ομιλητή στην αλήθεια του περιεχομένου τους. Εκφράζονται με τελεστικό ρήμα inform. Π.χ. «σήμερα είναι Τρίτη», «βρέχει στο Βόλο τώρα». 2.Εντολές (directives): οι πράξεις λόγου με τις οποίες ο ομιλητής προσπαθεί να πείσει τον ακροατή να κάνει κάτι. Εκφράζονται με τελεστικό ρήμα request. Π.χ «φέρε μου έναν καφέ», «δώσε μου χρήματα», «κάνε την εργασία αυτή». 3.Δεσμευτικές (commissives): οι πράξεις λόγου που δεσμεύουν τον ομιλητή σε συγκεκριμένες ενέργειες. Εκφράζονται με τελεστικό ρήμα promise. Π.χ. «θα σου φέρω έναν καφέ», «θα φροντίσω εγώ τα παιδιά», «θα καθαρίσω εγώ το γραφείο». 4.Εκφραστικές (expressives): οι πράξεις λόγου που εκφράζουν την ψυχολογική κατάσταση του ομιλητή. Π.χ. «ευχαριστώ!», «σου είμαι ευγνώμων», «με στενοχώρησες». 5.Δηλωτικές (declarations): οι πράξεις λόγου που δημιουργούν ή αλλάζουν θεσμικές καταστάσεις. Εκφράζονται με τελεστικό ρήμα declare. Π.χ. «κηρύσσω πόλεμο», «αποβάλλεσαι από το παιχνίδι».
6 Η βασισμένη σε σχέδια δράσης θεωρία πράξεων λόγου •Στα τέλη της δεκαετίας του ’60, και αρχές του ’70, διάφοροι ερευνητές προσπάθησαν να κατασκευάσουν συστήματα που θα κατασκεύαζαν σχέδια δράσης αυτόνομα, προκειμένου να πετύχουν τους στόχους τους. •Οι Cohen & Perrault (1979) αναπαρέστησαν τις πράξεις λόγου σαν τελεστές όπως αναπαρίστανται και οι υπόλοιπες ενέργειες που έχει διαθέσιμες στο ρεπερτόριό του ένας πράκτορας, δηλαδή μέσω των προϋποθέσεων και των αποτελεσμάτων τους. •Χρησιμοποίησαν το συμβολισμό του STRIPS μαζί με πρόσθετους τελεστές για να εκφράσουν τις πεποιθήσεις, τις ικανότητες και τις επιθυμίες των πρακτόρων.
7 Cohen & Perrault (1979)
8 Γλώσσες επικοινωνίας πρακτόρων (Agent Communication Languages (ACLs)) •Από τις αρχές της δεκαετίας του ’90 –KQML (Knowledge, Query and Manipulation Language): ορίζει συγκεκριμένη μορφή για κάθε τύπο μηνύματος που μπορεί να χρησιμοποιήσει ένας πράκτορας για να επικοινωνήσει με άλλον. Ορίζει ουσιαστικά τα τελεστικά ρήματα, τις προϋποθέσεις και τα αποτελέσματά τους χωρίς να ασχολείται με το περιεχόμενο των μηνυμάτων. –KIF (Knowledge Interchange Format): επιτρέπει την αναπαράσταση εννοιών για συγκεκριμένους τομείς εφαρμογής. Το περιεχόμενο μηνυμάτων KQML αναπαρίσταται συχνά σε KIF.
9 KIF (Genesereth & Fikes 1992) •Αναπτύχθηκε με σκοπό να αποτελέσει την κοινή γλώσσα στην οποία θα μπορούσαν να εκφραστούν ιδιότητες ενός τομέα εφαρμογής. Σκοπός δηλαδή ήταν να αναπαρίσταται το περιεχόμενο μηνυμάτων, όχι τα ίδια τα μηνύματα. •Είναι βασισμένη στην κατηγορηματική λογική πρώτης τάξης και σημειογραφικά μοιάζει πολύ με τη γλώσσα προγραμματισμού LISP. •Οι πράκτορες μπορούν να εκφράσουν σε αυτή: –Ιδιότητες οντοτήτων ενός τομέα π.χ. ο Γιώργος είναι χορτοφάγος, ο Βαγγέλης είναι ψηλός. –Σχέσεις μεταξύ οντοτήτων ενός τομέα π.χ. ο Γιώργος και η Μαρία είναι παντρεμένοι, η απόσταση από την Αθήνα στην Πάτρα είναι 200 χλμ. –Γενικές ιδιότητες ενός τομέα π.χ. όλοι έχουν μία μητέρα, όποιος έχει παιδί είναι γονιός.
10 KIF •Το λεξιλόγιο είναι βασισμένο σε αυτό της κατηγορηματικής λογικής πρώτης τάξης: –Λογικά συνδετικά and,or,not κλπ. –Ποσοδείκτες forall, exists –Βασικό λεξιλόγιο αντικειμένων: αριθμοί, χαρακτήρες και strings –Βασικές σχέσεις μεταξύ αντικειμένων: < μεταξύ αριθμών, +, * κλπ •Παράδειγμα: «η θερμοκρασία του m1 είναι 83 βαθμοί κελσίου» (= (temperature m1) (scalar 83 Celsius)) •Παράδειγμα: ορισμός της νέας ιδιότητας «εργένης» με βάση υπάρχουσες ιδιότητες (defrelation bachelor(?x):= (and (man ?x) (not (married ?x)))) •Παράδειγμα: κάθε αντικείμενο με την ιδιότητα person έχει την ιδιότητα mammal (defrelation person(?x):=> (mammal ?x))
11 KQML •Γλώσσα επικοινωνίας πρακτόρων, βασισμένη σε μηνύματα. •Κάθε KQML μήνυμα μπορεί να ειδωθεί σαν αντικείμενο (σε όρους αντικειμενοστραφούς προγραμματισμού) που έχει: –Ένα τελεστικό ρήμα (performative) που προσδιορίζει τον τύπο του (την κλάση του) –Ένα σύνολο από παραμέτρους που παίρνουν τιμές. •Παράδειγμα μηνύματος στο οποίο ο αποστολέας ρωτά την τιμή της μετοχής της IBM. Κάθε τύπος μηνύματος έχει διαφορετικές παραμέτρους, εδώ φαίνονται οι παράμετροι για τον τύπο μηνύματος ask-one. (ask-one :content(PRICE IBM ?price) :receiver stock-server :language LPROLOG :ontology NYSE-TICKS )
12 KQML S: αποστολέας, R: παραλήπτης, C: περιεχόμενο.
13 KQML •Η ιδέα είναι ότι οι πράκτορες που χρησιμοποιούν KQML για να επικοινωνήσουν μπορεί να έχουν υλοποιηθεί με διαφορετικές γλώσσες και μοντέλα προγραμματισμού. •Όποια πληροφορία έχουν εσωτερικά στη διάθεσή τους οι πράκτορες μπορεί να αναπαρασταθεί με οποιοδήποτε τρόπο για τον καθένα. •Η ιδεατή βάση γνώσης (virtual knowledge base) κάθε πράκτορα είναι ένας τρόπος για να αναφέρεται ένας πράκτορας στη γνώση που θεωρεί ότι έχει κάποιος άλλος, χωρίς να ξέρει τον τρόπο αναπαράστασής της.
14 Διάλογοι KQML •Άμεση επικοινωνία (ask): •Άμεση επικοινωνία (stream): Agent 1 Agent 2 tell(x) ask-about(x) Agent 1 Agent 2 ακολουθία από tell(x) stream-about(x) eos
15 Διάλογοι KQML
16 Διάλογοι KQML
17 Διάλογοι KQML •Έμμεση επικοινωνία μέσω facilitator/broker: Agent 1 Agent 2 4. tell(x) Facilitator 3. ask(x) 2. broker(ask(x)) 5. tell(x) 1. advertise(ask(x))
18 Διάλογοι KQML •Αναζήτηση πράκτορα μέσω facilitator/matchmaker: Agent 1 Agent 2 5. tell(x) Facilitator 4. ask(x) 2. recommend(ask(x)) 3. reply(x) 1. advertise(ask(x))
19 Διάλογοι KQML •Έμμεση επικοινωνία μέσω facilitator/feeder: Agent 1 Agent 2 Facilitator 1. subscribe(ask(x)) 3. tell(x) 2. tell(x)
20 Μειονεκτήματα της KQML •Το σύνολο των τελεστικών ρημάτων (τύπων μηνυμάτων) δεν ορίστηκε ποτέ αυστηρά με αποτέλεσμα πράκτορες με διαφορετικές υλοποιήσεις της γλώσσας να μην μπορούν να λειτουργήσουν μεταξύ τους. •Η σημασιολογία των KQML μηνυμάτων δεν ορίστηκε ποτέ αυστηρά, έτσι ώστε να είναι αδύνατον να εξετάσουμε αν δυο πράκτορες που επικοινωνούν με την KQML χρησιμοποιούν ‘σωστά’ τη γλώσσα. Η έννοια ενός KQML τελεστικού ρήματος αποδίδεται με τη χρήση φυσικής γλώσσας. Συνεπώς υπάρχει κίνδυνος διαφορετικοί πράκτορες να ερμηνεύσουν ένα τελεστικό ρήμα με διαφορετικό τρόπο. •Η γλώσσα δεν περιλάμβανε μηνύματα τύπου δέσμευσης (commissives), που είναι απαραίτητα για να σχηματίζουν πράκτορες συμβόλαια με βάση τα οποία να συντονίζουν τη δράση τους.
21 Οι ACLs της FIPA •Το 1995 η FIPA (Foundation for Intelligent Physical Agents) άρχισε να αναπτύσσει πρότυπα για γλώσσες επικοινωνίας πρακτόρων και κατέληξε με μία γλώσσα το 1999, την FIPA ACL, που μοιάζει πολύ στην KQML. •Παράδειγμα: (inform :sender agent1 :receiver agent2 :content(price good2 150) :languagesl :ontology hpl-auction ) •Η βασική διαφορά μεταξύ της KQML και της FIPA ACL είναι ότι στην τελευταία τα τελεστικά ρήματα είναι κατηγοριοποιημένα και έχουν καλά ορισμένη σημασιολογία.
22 FIPA ACL
23 Σημασιολογία FIPA ACL •Δεδομένου ότι το πιο βασικό μειονέκτημα της KQML είναι η έλλειψη επαρκούς σημασιολογίας, οι ερευνητές που ανέπτυξαν την FIPA ACL διατύπωσαν ένα αυστηρό (μαθηματικό) ορισμό της σημασιολογίας των FIPA ACL μηνυμάτων. •Η σημασιολογία της FIPA ACL εκφράζεται με τη χρήση της γλώσσας SL, η οποία αναπαριστά τις πεποιθήσεις (beliefs), επιθυμίες (desires), και αβέβαιες πεποιθήσεις (uncertain beliefs) των πρακτόρων, καθώς και τις πράξεις που κάνουν οι πράκτορες. •Σύμφωνα με τη σημασιολογία της FIPA ACL κάθε μήνυμα αντιστοιχεί σε μία πρόταση της γλώσσας SL. Αυτή η πρόταση ορίζει μία συνθήκη σκοπιμότητας (feasibility condition) που πρέπει να ικανοποιήσει ο αποστολέας του μηνύματος για να θεωρηθεί ότι το μήνυμα είναι σύμφωνο με τους κανόνες της FIPA ACL. •Κάθε FIPA ACL μήνυμα επιπλέον αντιστοιχεί σε μία πρόταση SL η οποία ορίζει το ορθολογικό αποτέλεσμα (rational effect) του μηνύματος: σε τι αποβλέπει ο αποστολέας του μηνύματος. •Σε μία κοινωνία αυτόνομων πρακτόρων το ορθολογικό αποτέλεσμα ενός μηνύματος δεν είναι βέβαιο ότι θα πραγματοποιηθεί. (Γιατί;) Συνεπώς δεν λαμβάνεται υπόψη το ορθολογικό αποτέλεσμα όταν εξετάζουμε αν ένα μήνυμα είναι σύμφωνο με τους κανόνες της FIPA ACL.
24 Σημασιολογία FIPA ACL
25 Μειονέκτημα της FIPA ACL •Δοθέντων μίας γλώσσας επικοινωνίας πρακτόρων και ενός πράκτορα, θέλουμε να ελέγχουμε αν ο πράκτορας σέβεται τη σημασιολογία της γλώσσας όταν επικοινωνεί (semantic conformance testing). •Για να ελέγξουμε αν ένας πράκτορας σέβεται τη σημασιολογία της FIPA ACL πρέπει να ελέγξουμε τις πεποιθήσεις, επιθυμίες, στόχους κλπ. του πράκτορα. •Όμως: –Δοθέντος του κώδικα ενός πράκτορα δεν είναι πάντα ξεκάθαρο ποιες είναι οι επιθυμίες, στόχοι του κλπ. –Δεν έχουμε πάντα πρόσβαση στον κώδικα ενός πράκτορα. •Συνεπώς ο έλεγχος συμμόρφωσης με τη σημασιολογία της FIPA ACL δεν πάντα εφικτός.
26 Γλώσσες Επικοινωνίας Πρακτόρων με «Κοινωνική» Σημασιολογία •Τα τελευταία χρόνια έχει δοθεί έμφαση σε γλώσσες επικοινωνίας για «ανοικτά πολυπρακτορικά συστήματα», δηλαδή για συστήματα όπου οι πράκτορες έχουν αναπτυχθεί από οργανισμούς με αντικρουόμενα (οικονομικά) συμφέροντα, και όπου δεν υπάρχει πρόσβαση στον κώδικα των πρακτόρων. •Η FIPA ACL δεν είναι η κατάλληλη γλώσσα γι’ αυτά τα συστήματα. (Γιατ ί ;) •Για επικοινωνία σε ανοιχτά πολυπρακτορικά συστήματα έχουν αναπτυχθεί γλώσσες με «κοινωνική» σημασιολογία (social semantics), δηλαδή γλώσσες που δεν κάνουν υποθέσεις για την εσωτερική δομή ενός πράκτορα (πεποιθήσεις, επιθυμίες, κλπ.), και οι οποίες συνεπώς επιτρέπουν τον έλεγχο συμμόρφωσης ενός πράκτορα με τη σημασιολογία της γλώσσας. •Η σημασιολογία αυτών των γλωσσών εκφράζεται με έννοιες σχετικές με μία κοινωνία πρακτόρων καθοδηγούμενη από νόμους (norms), όπως θεσμοθετημένη δύναμη (institutional power), δικαίωμα (permission, right) και υποχρέωση (obligation, commitment).
27 Πρωτόκολλα Δέσμευσης •Ένα πλαίσιο επικοινωνίας με «κοινωνική» σημασιολογία είναι τα πρωτόκολλα δέσμευσης (commitment protocols). •Αυτά τα πρωτόκολλα εκφράζουν τις δεσμεύσεις/υποχρεώσεις (commitments) των πρακτόρων. •c(X, Y, P) εκφράζει ότι ο πράκτορας Χ έχει δέσμευση ως προς τον πράκτορα Υ να πραγματοποιήσει την ενέργεια P. •Ένας πράκτορας σέβεται/συμμορφώνεται με τη σημασιολογία ενός πρωτοκόλλου δέσμευσης αν ικανοποιήσει όλες τις δεσμεύσεις του. •Συνήθως τα πρωτόκολλα δέσμευσης αναπαρίστανται με τη χρήση του Λογισμού Πράξης (Event Calculus). •Ο Λογισμός Πράξης είναι μία υλοποίηση σε λογικό προγραμματισμό μίας λογικής πρώτης τάξης, η οποία εκφράζει τις ενέργειες των πρακτόρων και τα αποτελέσματα αυτών των ενεργειών.
28 Λογισμός Πράξης •Κατηγορήματα Λογισμού Πράξης –initiates ( Act, F=V, T ) σημαίνει ότι αν η πράξη Act λάβει χώρα τη χρονική στιγμή Τ τότε τη χρονική στιγμή T+1 θα ισχύει F=V –terminates ( Act, F=V, T ) σημαίνει ότι αν η πράξη Act λάβει χώρα τη χρονική στιγμή Τ τότε τη χρονική στιγμή T+1 δεν θα ισχύει F=V –holdsAt ( F=V, T ) σημαίνει ότι τη χρονική στιγμή T ισχύει F=V –initially ( F=V ) σημαίνει ότι τη χρονική στιγμή 0 ισχύει F=V –happens ( Act, T ) σημαίνει ότι η πράξη Act έλάβε χώρα τη χρονική στιγμή Τ •Ορισμοί Κατηγορημάτων Λογισμού Πράξης holdsAt ( F=V, T ) :- broken ( F=V, T1, T3 ) :- initially ( F=V ), happens ( Act, T2 ), not broken ( F=V, 0, T ).T1 ≤ T2, T2 < T3, terminates ( Act, F=V, T2 ). holdsAt ( F=V, T ) :- terminates ( Act, F=V, T ) :- happens ( Act, T' ), T' < T, initiates ( Act, F=V', T ), initiates ( Act, F=V, T' ), V ≠ V'. not broken ( F=V, T', T ).
29 Πρωτόκολλα Δέσμευσης: Παράδειγμα •Το πρωτόκολλο ηλεκτρονικού εμπορίου NetBill:
30 Το Πρωτόκολλο Δέσμευσης NetBill % C είναι ο πελάτης (consumer) και Μ είναι ο έμπορος (merchant) initiates ( sendRequest(C, M), request(C, M)= true, T ). initiates ( sendQuote(M, C), quote(M, C)= true, T ). initiates ( sendAccept(C, M), c(M, C, sendGoods)= true, T ) :- holdsAt ( quote(M, C)= true, T ). initiates ( sendAccept(C, M), quote(M, C)= false, T ) :- holdsAt ( quote(M, C)= true, T ). initiates ( sendGoods(M, C), c(C, M, sendEPO)= true, T ). initiates ( sendGoods(M, C), c(M, C, sendGoods)= false, T ). initiates ( sendEPO(C, M), c(C, M, sendEPO)= false, T ).
31 Το Πρωτόκολλο Δέσμευσης NetBill % Μία εκτέλεση του πρωτοκόλλου δέσμευσης NetBill happens ( sendQuote(M, C), 4 ). happens ( sendAccept(C, M), 11 ). happens ( sendGoods(M, C), 12 ). happens ( sendEPO(C, M), 19 ). % Ποιες είναι οι δεσμεύσεις κάθε πράκτορα σε κάθε χρονική στιγμή; % Μία άλλη εκτέλεση του πρωτοκόλλου δέσμευσης NetBill happens ( sendRequest(C, M), 3 ). happens ( sendAccept(C, M), 14 ). happens ( sendGoods(M, C), 22 ). happens ( sendEPO(C, M), 190 ). % Υπάρχει κάποιος πράκτορας που δεν σέβεται την σημασιολογία του πρωτοκόλλου;
32 Οντολογίες για επικοινωνία μεταξύ πρακτόρων •Όταν δύο πράκτορες επικοινωνούν στα πλαίσια κάποιας συγκεκριμένης εφαρμογής θα πρέπει και οι δύο να συμφωνήσουν για την ορολογία που θα χρησιμοποιήσουν όταν θα περιγράφουν πλευρές του τομέα εφαρμογής. •Παράδειγμα: δύο πράκτορες θα επικοινωνήσουν για την αγοραπωλησία κάποιων μηχανικών εξαρτημάτων π.χ. βίδες. Πρέπει και οι δύο να μπορούν να συζητούν χωρίς ασάφεια για ιδιότητες όπως «μέγεθος» και για μονάδες μέτρησής τους, όπως «εκατοστά» ή «ίντσες». •Μια οντολογία είναι ουσιαστικά μία ορολογία για ένα τομέα εφαρμογής: είναι η τυπική αναπαράσταση κάποιας γνώσης που γίνεται ορίζοντας μία ιεραρχία από κλάσεις/υποκλάσεις και σχέσεις μεταξύ τους. •Οντολογίες μπορούν να ορίζονται σε διάφορες γλώσσες, π.χ KIF. H Ontolingua είναι μία γνωστή πλατφόρμα ανάπτυξης οντολογιών και λειτουργεί με αναπαραστάσεις σε KIF. Άλλες γλώσσες έκφρασης οντολογιών είναι οι XML, DAML και OWL.
Βιβλιογραφία •Κεφάλαιο 8 ο από το βιβλίο του Wooldridge. •Θεωρία πράξεων λόγου J. L. Austin, How to Do Things with Words, Oxford University Press, J. R. Searle, Speech Acts: an Essay in the Philosophy of Language, Cambridge University Press, •Θεωρία πράξεων λόγου βασισμένη σε σχέδια δράσης P. R. Cohen & C. R. Perrault, Elements of a Plan Based Theory of Speech Acts, Cognitive Science, vol.3, 177—212, •KIF •KQML •FIPA •Γλώσσες επικοινωνίας πρακτόρων με κοινωνική σημασιολογία Singh, M.P., Agent communication languages: rethinking the principles, Computer, vol.31, no.12, 40-47, Singh, M.P., A social semantics for Agent communication languages, Issues in Agent Communication, 31—45, Springer, Artikis A., Pitt J. and Sergot M. Animated Specifications of Computational Societies, in the Proceedings of Autonomous Agents and Multi-Agent Systems (AAMAS), pp , 2002.