University of Calgary
Rob Kremer
Course Description

CPSC 601.68/599.68: Agent Communication
Fall 2008
Department of Computer Science


Rob Kremer, ICT 748 or ICT 602, email:;
Tues/Thurs 14:00-15:15 at SS 541
Office hours:
Tues/Thurs 13:00-13:45 and by appointment.
Course web site:
Mail list server:
?? (also see how to subscribe by email, or just subscribe directly with SYMPA)

Course Description

An examination of communication paradigms in multi-agent systems. A number of paradigms will be covered including simple protocols, BDI (Believe, Desire, Intension), and social commitments.

This version of the course will involve tasks for multiple robots (we plan to use iRobot Create robots -- similar to the Roomba vacuum cleaners). I have developed a CASA agent class, iRobotCreate, to get you started with controlling the robots, and a simulator, so that you can debug your control software at your leasure -- without having to be in the lab with the robots.


CPSC 433 or permission from the department.

Misuse of Computer Facilities, Plagiarism, and Cheating

Academic misconduct (cheating, plagiarism, or any other form) is a very serious offence that will be dealt with rigorously in all cases. A single offence may lead to disciplinary probation or suspension or expulsion. The Faculty of Science follows a zero tolerance policy regarding dishonesty. Please read the sections under the heading "Student Misconduct" in the Admission and Registration section of the University Calendar.

These serious offences will carry sanctions. Copying of assignments from anywhere without appropriate references, cheating on exams, or misusing facilities will result in punishment ranging from course failure to criminal prosecution. If you are unsure about these issues do not hesitate to consult with the course instructor.

This course requires group work, which dictates that students must work together to solve assignments. Generally individual contributions from people within the group do not need to be cited, but major contributions should be. Note that it is the responsibility of each member of the group to ensure that plagiarism (or other forms of cheating) does not occur in the work: the entire group will be assessed based on any incident of academic misconduct in group assignments.

Each member of a group is expected to do their fair share of the group work. A peer assessment mechanism will be used to monitor this. If group work is unequally distributed among group members, group members may achieve differing marks for the assessment. This may range from and A to a failing grade, with corresponding consequences for the overall course mark.

Reading list

Pitt, J. and Mamdani, A. 2000. Communication Protocols in Multi-agent Systems: A Development Method and Reference Architecture. In Issues in Agent Communication F. Dignum and M. Greaves, Eds. Lecture Notes In Computer Science, vol. 1916. Springer-Verlag, London, 160-177.

Foundation for Intelligent Physicl Agents. FIPA ACL Message Structure Specification. FIPA, Document number SC00061G, Document source FIPA TC Communication. Dec. 3, 2002. Available:

Foundation for Intelligent Physicl Agents. FIPA Communicative Act Library Specification. FIPA, Document number SC00037J, Document source FIPA TC Communication. Dec. 3, 2002. Available:

Flores, R.A. and Kremer, R.C. (2001). To Commit or not to Commit: Modelling Agent Conversations for Action. Computational Intelligence, Special Issue on Agent Communication Languages, B. Chaib-draa and F. Dignum (Eds.), Blackwell Publishers, Volume 18, Number 2. Available: http://kremer.cpsc.ucalgary/papers/ci.pdf.

iRobot Corp. iRobot Create Owner's Guide. iRobot Corp. 2006. Available:

iRobot Corp. iRobot Create Open Interface. iRobot Corp. 2006. Available:

Kremer, R. & Flores, R. (2005) Using a Performative Subsumption Lattice to Support Commitment-based Conversations. Full paper in Proceedings of the Forth International Joint Conference on Autonomou Agents and MuliAgent Systems (AAMAS'2005), Utrecht, The Netherlands, July 25-29, 2005. ACM Press. Available: http://kremer.cpsc.ucalgary/papers/AAMAS2005/p778-kremer.pdf.

<more to come>


The University policy on grading and related matters is described in the university calendar.

The course will have a Registrar's scheduled final examination and a midterm exam. These exams together constitute the exam component of the course and there is also an assignment component and a peer evaluation component. All three components have to be passed in order to pass the course, and both parts of the peer evaluation must be passed in order to pass that component. Even though the peer evaluation component has only a nominal mark associated with it, you may fail the entire course for failing to complete these tasks adequately.

The final grade will be calculated using the grade point equivalents of the individual grades achieved weighted by the percentages given later on this page. To get the final letter grade for the course, the weighted sum is converted back using the official University grade point equivalents. In order to deal with the grade A+ that unfortunately does not scale in the grade point equivalents, the following rule will apply: an A+ as final letter grade will be awarded to every student who has an A in both exams and in both components of the assignment component and in both components of the peer evaluation component.

The exam component

As already described, we follow the usual midterm-final-scheme for exams. The weighting of the grades you achieve in these two exams is as follows:

testundergrad   grad
Midterm   20%  20%
Final exam  20% (Registrar sceduled)  

Remember, you have to pass this component to pass the course. For example, this means that a D in the midterm and an F in the final is not sufficient!

The individual assignment component

For a detailed description of what you have to do, please refer to the links below. The following table describes the percentage with which the individual task grades will be weighted in the final grade for the course.

Individual assignment - protocols   

Individual assignment - FIPA/BDI (Also see the word template)


This is strickly individual. All work must be done on your own, although discussion with others is encouraged, of course. However, any ideas arrising from such discussions must be cited in your work.

The group assignment component

For a detailed description of what you have to do, please refer to the links below. The following table describes the percentage with which the individual task grades will be weighted in the final grade for the course.

Group assignment: Basic agent   
Group assignment: Multi agent interaction  

Please note that both grades above are achieved by your team (subject to differentials in individual contribution; see the peer evaluation component)!

These assignments are based on CASA. See the CASA Javadoc for details. A very useful part to this documentation is the HowTo page for programming specific agent tasks.

Research Paper/presentation (grad only)

For a detailed description of what you have to do, please refer to the assignment page. The following table describes the percentage with which the individual task grades will be weighted in the final grade for the course.

grad only
Research paper proposal  
Research paper 
Research paper presentation 

So, the assignment component accounts for 35 percent of your mark. Please note that both grades above are achieved by your team!

The peer evaluation component

The peer evaluations are relatively simple to do compared with the other course components. You must submit a report to your TA and instructor (by email) containing a letter grade assessment of each (including yourself) of your group members' contributions to the current assignment together with a 1/3 page description of that person's contribution justifying your assessment. It is not acceptable to give everyone in your group an A or to give everyone in your group an F. A report that does not reflect the dynamics of the group will be considered a failure, which could cause you to fail the course. It is your responsibility to get to know your group members and know their contributions to the project.

The weighting in the final grade for the course is

Peer evaluation 1 (to be handed in just after the paper assignment)  
Peer evaluation 2 (to be handed in just after the implementation and demonstration assignment) 

So, the peer evaluation component accounts for only 2 percent of your mark, but you have to do both of them adequately in order to pass the course.

Why the peer evaluation? The peer evaluation is set up to prevent freeriding (a group member doing little or nothing and getting a good mark by taking advantage of the efforts of the rest of the group). It will be used as follows: The TA and instructor will use their own judgment and experience with the group as well as the input from the peer evaluations to assess a "delta mark", which will be applied to the group assignment. The delta mark will be a positive or negative letter-grade value between -4 and +1, which will be added to the group mark for each individual member.

Therefore, if you are the group leader, make a huge contribution to the project, your group thinks you can walk on water, and your group project is assessed as a "B", you may be assessed a delta mark of +1 -- your mark for the project will be "A". On the other hand, if you could had done better on the project, your delta mark may be -0.7, and you'd get a group mark of "C+". Furthermore, if you really didn't help much at all on the project, you'd get a delta mark of -4, you'd get a "F" for the project and you'd automatically fail the entire course. Don't let that happen. :)

Lecture Schedule (subject to change)

Tuesday 12:30-13:45
Thursday 12:30-13:45

Introduction: Agents & Communication Paradigms [PPT]

Static Protocols [PPT]

Sep16/18 Robot interface: command language [PPT] (See also the manual) CASA: building a basic agent
Individual Assn (Protocols) due

CASA: agent types, command interface, run-time commands, idle processing

Robot controller agents and simulator
Sep30/Oct02 The BDI Model [PPT]

BDI Communication [PPT]


BDI logic [PPT]

Assignment (BDI) description
Oct14/16 FIPA Performative Semantics [PPT]
Group Assn (basic agent) due
Social Commitments [PPT] & Formal Specs: Z [PPT]
1st Peer evaluation due
Research paper proposals due (Grad only)

Social Commitments: Formal Theory (PPT, paper)

Social Commitments: Formal Theory (cont.)
Oct28/30 CASA: CASA Messages & Ontology, Message Sending; Queueing; Run Loop
Individual Assn (BDI) due
Midterm Test
Nov04/06 CASA Policies & Processing CASA Protocols & Callbacks: Inform, Request; Offer
Nov11/13 Rememberance Day - no lecture CASA Deferring execution; GUIs; Option Panels
Nov18/20Issues; Discussion; Project Work Issues; Discussion; Project Work

Nov25/27 Issues; Discussion; Project Work;
Research presentations (Grad only)
Issues; Discussion; Project Work
Research presentations (Grad only)
Demos this week (before Thurs PM)
Group Assn (CASA Muli-agent) due
Final exam review, Discussion, Debriefing, Results
Research papers due (Grad only)
2nd Peer evaluation due (Saturday, Apr 19)

CPSC 601.68/599.68: Agent Communication
Department of Computer Science

Last updated 2008-09-30 11:04
Rob Kremer