University of Calgary
Rob Kremer
Course Description

CPSC 662/568: Agent Communication
(Formerly CPSC 601.68/599.68)
Winter 2015

Department of Computer Science

Class Announcements:
  • The iRobotCreate3 distribution has been updated as at 2015/02/20.  See
  • All files in the CASA distribution are updated as at 2015/01/24 10:30.  This means that the .jars, the Mac distribution, and the Windows .exe files all should work properly.  The CASAlogViewer tool is also available for all supported platforms.  See and click "Downloads".  Please let me know of any problems you have with the downloads.

Website under construction! Details, such as assignment specifications, subject to change.


Rob Kremer, ICT 748, email:;
Monday/Wednesday 14:00-15:15 at SS 006
Office hours:
Monday/Wednesday 12:45-13:45
Course web site:
Official Course outline:
Mail list server:


Course Description

An examination of communication paradigms in multi-agent systems. A number of paradigms will be covered including simple protocols, BDI (Believe, Desire, Intention), 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 leisure -- without having to be in the lab with the robots.

You can see a video of the class of Fall 2012's attempt at robot soccer.


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 offenses 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

Steele, G. L. (1990). Common Lisp the Language. Number ISBN 1-55558-041-6. Digital Press, 2nd edition edition. Available:

Kremer, R. (2012). CASA User Manual (Draft). Technical report, University of Calgary, Calgary, Alberta, Canada. Available:

Additional resources:

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:

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:


CASA Java doc.

iRobotCreate3 web page.


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

There will only be a midterm test for this course (no final exam):

undergrad    grad
Midterm    30%   20%

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 - ontology   

Individual assignment - tab interface

Individual assignment - policy



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. The CASA software, along with robot controller extensions is available as a JAR file (iRobotCreate.jar [no source] and iRobotCreate_src.jar [includes source]). 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)

Week of
Monday 14:00-15:15
Wednesday 14:00-15:15
Jan 12

Introduction: Agents & Communication Paradigms.
CASA: Getting Started

Jan 19 Introduction to Lisp,
resource: Steele, G. L. (1990). Common Lisp the Language.
Ontology, resource: CASA's ontology, reading: CASA User Manual §5.
Jan 26 Knowledge bases / belief bases
Ontology assignment (individual)
Agent Structure, reading: CASA User Manual §2.
Agent Types, reading: CASA User Manual §3.
Agent activity, reading: CASA User Manual §4.

Message/KB assignment (individual)

Feb 2 Building a basic agent: Dr. Evil.
Ontology assignment (individual) due

Messages; CASA Messages (Class MLMessage, Field descriptions); Message Sending (How To §3.5, AbstractProcess.sendMessage).
User Interfaces.

1st Robot asssignment (group)

Feb 9 Robot interface: command language (See also the manual) Robot controller agents and simulator
Feb 16 -- Reading Week --
Tab assignment (individual) due (Feb 20)
Research paper proposals due (Grad only)
Feb 23
Events; Social Commitments; Policies; Conversations. Conversation GUI demo.
Mar 2 Social Commitments & Implementing CASA Conversations in the Social Commitment Paradigm using Lisp
Policy assignment (individual)
2nd Robot assignment (group)
The BDI Model; BDI Communication BDI logic

1st Robot assignment (group) due (Mar 6)

1st Peer evaluation due (Mar 8)

Mar 9 FIPA Performative Semantics See also FIPA Communicative Act Library Specification Option Panels and Persistence.
Discussion about group assignment 1 (Wall measuring)
Conversations: class exercise;
Mar 16

Mar 23 Test preview
Static Protocols
Midterm Test

Static protocols exercise

Mar 30


Apr 6
Research presentations (Grad only)

Apr 13 (
Demos for 2nd Robot assignment (group) this week (time TBD); code due before Thurs PM
Policy (Request-when) assignment (individual) due (Apr 15)
Soccer assignment (group) demo (everyone) (Monday, Apr 27, 10:00(AM))
2nd Peer evaluation due (Monday, Apr 27)
Research papers due (Grad only)

CPSC 662/568: Agent Communication
Department of Computer Science

Last updated 2015-02-09
Rob Kremer