(Imperative and) Declarative Programming Languages for Multi-Agent Systems João Alexandre Leite CENTRIA - New University of Lisbon

Slides:



Advertisements
Similar presentations
Artificial Intelligence and Multi-Agent Systems Ana García-Serrano PROMAS, AL3 TF2 Ljubljana, 28 Feb FACULTAD DE INFORMATICA ___________________.
Advertisements

06/01/101 Functional Programming GC16 / 3011 Chris Clack.
Mehdi Dastani Jorge J. Gomez-Sanz PROMAS PROgramming Multi-Agent Systems.
Adding Organizations and Roles as Primitives to the JADE Framework NORMAS’08 Normative Multi Agent Systems, Matteo Baldoni 1, Valerio Genovese 1, Roberto.
Jigar Gaglani.  A Programming language is a notational system for describing computations in a machine and human readable form.
C. Varela; Adapted w/permission from S. Haridi and P. Van Roy1 Declarative Computation Model Defining practical programming languages Carlos Varela RPI.
Copyright © 2006 The McGraw-Hill Companies, Inc. Programming Languages 2nd edition Tucker and Noonan Chapter 1 Overview A good programming language is.
PZ07B Programming Language design and Implementation -4th Edition Copyright©Prentice Hall, PZ07B - Basic statements Programming Language Design.
Implementation of MAS issues M. Birna van Riemsdijk ProMAS TFG 2005.
Overview of Programming Paradigms
Reasons to study concepts of PL
ISBN Chapter 1 Preliminaries. Copyright © 2004 Pearson Addison-Wesley. All rights reserved.1-2 Chapter 1 Topics Motivation Programming Domains.
CS 101 Course Summary December 5, Big Ideas Abstraction Problem solving Fundamentals of programming.
Programming Languages Structure
ISBN Lecture 01 Preliminaries. Copyright © 2004 Pearson Addison-Wesley. All rights reserved.1-2 Lecture 01 Topics Motivation Programming.
João Alexandre Leite Luís Moniz Pereira Centro de Inteligência Artificial - CENTRIA Universidade Nova de Lisboa { jleite, lmp Pierangelo.
Summer 02-03Programming Language Concepts1 Programming Language Concepts (CS 360) Lecture 1: Overview, Grammars, and Little Languages Jeremy R. Johnson.
ISBN Chapter 1 Topics Motivation Programming Domains Language Evaluation Criteria Influences on Language Design Language Categories Language.
Perception between Regular and Sped teachers in Handling Children with Intellectual Disability: Basis for a Specialized Training Program for Teachers by.
UNIT 21 Software Engineering.
CS 415: Programming Languages Chapter 1 Aaron Bloomfield Fall 2005.
Computer Science and Software Engineering behind Blogging platforms and software Team ASU 101 for CS/CSE students.
PZ01A Programming Language design and Implementation -4th Edition Copyright©Prentice Hall, PZ01A -- Introduction Programming Language Design and.
CS 355 – Programming Languages
Computer Architecture Computational Models Ola Flygt V ä xj ö University
Chapter 8 High-Level Programming Languages (modified by Erin Chambers)
G Programming Languages T he main themes of programming language design and use: –Model of computation –Expressiveness types and their operations.
(1.1) COEN 171 Programming Languages Winter 2000 Ron Danielson.
1 UNIT 20 Software Engineering Lecturer: Ghadah Aldehim.
CS 363 Comparative Programming Languages
Programming Languages Summer
Software Life-Cycle Models Somnuk Keretho, Assistant Professor Department of Computer Engineering Faculty of Engineering, Kasetsart University
1 Programming Language History and Evolution In Text: Chapter 2.
1 Introduction Programming Language Design and Implementation (4th Edition) by T. Pratt and M. Zelkowitz Prentice Hall, 2001 Sections
Copyright © 2006 Addison-Wesley. All rights reserved.1-1 ICS 410: Programming Languages.
Multi-agent organizations in software engineering Jorge J. Gómez Sanz Grasia! Research group Universidad Complutense de Madrid,
CS 345: Programming Language Paradigms Chris Brooks HR 510 MWF 11:00-12:05.
MINERVA A Dynamic Logic Programming Agent Architecture João Alexandre Leite José Júlio Alferes Luís Moniz Pereira ATAL’01 CENTRIA – New University of Lisbon.
Agents, Multi-Agent Systems and Declarative Programming: What, When, Where, Why, Who, How? Andrew Diniz da Costa –
A Quantitative Trust Model for Negotiating Agents A Quantitative Trust Model for Negotiating Agents Jamal Bentahar, John Jules Ch. Meyer Concordia University.
Analysis of Programming Languages (2). 2 LANGUAGE DESIGN CONSTRAINTS  Computer architecture  Technical setting  Standards  Legacy systems.
Programming Languages
Copyright © 2006 The McGraw-Hill Companies, Inc. Programming Languages 2nd edition Tucker and Noonan Chapter 1 Overview A good programming language is.
Programming Models/ Paradigms Chapter 5: Programming Languages.
C H A P T E R T H R E E Type Systems and Semantics Programming Languages – Principles and Paradigms by Allen Tucker, Robert Noonan.
1-1 1 Introduction  Programming linguistics: concepts and paradigms syntax, semantics, and pragmatics language processors.  Historical development of.
Fast Transmission to Remote Cooperative Groups: A New Key Management Paradigm.
Multi Agent System Programming languages Mahmoud El Razzaz Mostafa M. Ameen Mai M. M. Farag.
서울대한양대 ( 안 산 ) 충남대 1년1년 컴퓨터기초 (C) 컴퓨터프로그래밍 (C, Java) 컴퓨터프로그래밍 (C) 2. 봄 프로그래밍 원리 (Scheme, ML) Structure & Interpretation of Computer Programs 프로그래밍 방법론.
Basic statements Programming Language Design and Implementation (4th Edition) by T. Pratt and M. Zelkowitz Prentice Hall, 2001 Section
Programming Language Paradigms ITSK2314 Lecture 3.
CPS120 Introduction to Computer Science High Level Language: Paradigms.
Programming Paradigms, Software Architectural Patterns, and MVC CS 378 – Mobile Computing for iOS Dr. William C. Bulko.
Programming Language History and Evolution
Programming Languages 2nd edition Tucker and Noonan
Concepts of Programming Languages
PROGRAMMING LANGUAGES
TroposPL: Tropos for Prolog Implementations
Research topics: Mira Balaban
1.1 Reasons to study concepts of PLs
Chapter 1 Preliminaries.
Programming Language History and Evolution
Programming Languages 2nd edition Tucker and Noonan
Overview of Programming Paradigms
강의 내용 및 방법 접근방법 리포트 시험 Lambda Calculus, Proof of Correctness
Programming Languages, Preliminaries, History & Evolution
Basic statements Programming Language Design and Implementation (4th Edition) by T. Pratt and M. Zelkowitz Prentice Hall, 2001 Section
Basic statements Programming Language Design and Implementation (4th Edition) by T. Pratt and M. Zelkowitz Prentice Hall, 2001 Section
PZ07B - Basic statements Programming Language Design and Implementation (4th Edition) by T. Pratt and M. Zelkowitz Prentice Hall, 2001 Section
Basic statements Programming Language Design and Implementation (4th Edition) by T. Pratt and M. Zelkowitz Prentice Hall, 2001 Section
Presentation transcript:

(Imperative and) Declarative Programming Languages for Multi-Agent Systems João Alexandre Leite CENTRIA - New University of Lisbon Ljubljana, March 1st, 2005

Ljubljana, March 1st, Declarative vs Imperative ► Declarative description A grandchild to x is a child of one of x’s children. ► Imperative description I To find a grandchild of x, first find a child of x. Then find a child of that child. ► Imperative description II To find a grandchild of x, first find a parent-child pair and then check if the parent is a child of x. ► Imperative description III To find a grandchild of x, compute the factorial of 123, then find a child of x. Then find a child of that child. Imperative implementation read(person); for i := 1 to maxp do if p[i;1] = person then for j := 1 to maxp do if p[j;1] = p[i;2] then write(p[j;2]); fi od fi od Declarative implementation gc(X,Z) :- c(X,Y), c(Y,Z).

March 1st, Declarative vs Imperative ImperativeDeclarative Paradigm Describe HOW to solve the problem Describe WHAT the problem is Program A sequence of commands A set of statements Examples C, Fortran, Ada, JAVA PROLOG, LISP, OZ HASKELL, ASP Advantages Fast, Specialized programs General, Readable, Correct (?) programs

March 1st, Logic Based MAS ► ConGolog [De Giacomo et al.] ► 3APL [Dastani et al.] ► IMPACT [Subrahmanian et al.] ► Conc. MetateM [Fisher et al.] ► AgentSpeak(L) [Rao et al.] ► DyLog [Baldoni et al.] ►  hhf [Delzanno et al.] ► AGENT 0 [Shoham] ► FLUX [Thielscher et al.] ► JASON [Bordini et al.] ► DALI [Costantini et al.] ► KARO [van Linder et al.] ► PROSOCS [Stathis et al.] ► MINERVA [Leite et al.] ► ALIAS [Ciampolini et al.] ►...

March 1st, CLIMA & DALT ► Constantly increasing number of submitted papers (35 papers each in last editions) ► Covering most topics seen in current MAS research:  Negotiaton  Planning  Protocols  Learning  Adaptation  Cooperation  Communication  Verification  Reasoning  Institutions  Social Norms  Architectures and Environments  Trust  Belief Revision and Update  Programming Languages  Software Engineering

March 1st, Implementations PROLOG ► ConGolog ► Conc. MetateM ► DyLog ►  hhf ► FLUX ► DALI ► MINERVA ► ALIAS JAVA & PROLOG ► 3APL ► PROSOCS How are these systems implemented? JAVA ► IMPACT ► JASON Common LISP ► AGENT 0

March 1st, Some thoughts... ► On the opportunities MAS provides to DLs...  The high (and increasing) complexity of MAS calls for DLs Declarative Languages are guilty until proven innocent!! ► On speed of DLs...  Drop the “it’s only for prototyping” excuse  Tackle “proper” implementations  Work together with major DL implementation groups (e.g. XSB...) ► On ease of programming DLs and training costs...  Train students at undergraduate level

March 1st, Proposed Questions... ► Generic DLs (not developed ad-hoc for MAS development) such as PROLOG, Oz, Haskell, Scheme,... could be used to develop such systems, but is it really more helpful? ► Pure declarative implementations or hybrid? ► How can DLs be used together with imperative ones? ► How can DLs facilitate the MAS development? ► It seems that DLs can be applied to define the high-level behavior of an agent. Where else?