University of Calgary Logo
Department of Electrical and Computer Engineering
 

Agent Based Software Engineering
(SENG 697)
Course Outline

()

Instructor: B. H. Far (Professor, Schulish School of Engineering)
   
Course/Year: Software Engineering Program (SENG) / Graduate level
   
Department: Electrical and Computer Engineering
   
School Year: 2014 (Fall, 1st quarter)
   
Timetable: Tue. (17:30-20:20)
   
Room: ICT 518 (located on the 5th Floor, ICT Building)
   
Background Courses: This is the list of recommended background courses / knowledge that is necessary to fully understand the contents:
  • Principles of Software Engineering
  • Object-Oriented analysis and design with UML
  • Introduction to knowledge-based systems
   
Lecture Format: Lecture (1x3 hours sessions per week)
   
Contact: Office: ICT 543
Tel. (403) 210-5411
   
E-Mail: _far@ucalgary.ca
   
Course Outline: Course Outline (PDF format)


Announcements

  1. The first lecture will be delivered on 8/September/2014 (Mon).


Course Description and Outline

The course begins with an overview of the agent systems and software agents. Then we focus on agent system architecture and infrastructure from a software engineering viewpoint, including:

  • Requirements for agent-based systems
  • Modeling and design of agent-based systems
  • Development process for agent-based systems
Topics such as agent architecture, communication, knowledge sharing, computing and uncertainty management are discussed. Studying society of agents and models of agency follows. Finally, a perspective on a methodology for agent-oriented software engineering and standards are presented.
Course Outline

Course Objectives

Agent-based systems are software products that not only do things as specified but also have knowledge to do their job and can do it in a cooperative, coordinative and competitive way.
  • What are myths and realities of the agent-based systems?
  • How to develop an agent-based system for a particular task?
  • How to evolve from object-oriented development to agent-based systems?
  • How to incorporate and share knowledge among software agents?
These are only a few questions that can be answered by agent-based systems. After taking this course, the participants
  • will have an understanding of the agent system terminology and development process of agent-based systems.
  • will have learned techniques to design agent-based system.
  • will know how to modify architecture of the current software systems and re-structure them to be agent-based.

Course Web Site

The SENG 697 course home page contains links to up-to-date course information, problem assignments announcements, as well as laboratory and examination scheduling. The SENG 697 course home page is available through the B.H. Far's home page at the URL:
( http://people.ucalgary.ca/~far/Lectures/SENG697)

Projects and Laboratories

During the course the students are asked to design a moderately realistic software agent. A list of projects that the students can select among them will be posted on the course WWW page. The reports (design documents) of various phases of the assigned project should be handed in for check and marking. The reports are reviewed and a group discussion will be held towards the end of the course. Also the students are supposed to prepare a tutorial report on various topics related to software agents and present it to the class. A typical list of topics for tutorial report about will be posted on the course WWW site.

Allocation of Marks

Evaluation is based on evaluation test, tutorial and project reports.

Criteria Total mark Comments
Tutorial Report 40% The assignment is composed of two parts:
  • a tutorial report on agent-based development methodology; and
  • an evaluation report of the methodology.
Assignment (PDF format)
Questionaire for assignment (PDF)
Questionaire for assignment (MS Word)
Deadline: 27/Oct/2014 (Mon)
Laboratories (project) 50% A number of sample projects have been posted at the bottom of this page. A document explaining a sample project is given here: PDF format and PowerPoint format.
List of suggested projects
Deadline: 27/Oct/2014 (Mon)
Group Discussion 10% The students are asked to have the project and the tutorials be reviewed by the instructor.

Regular Sessions
1st week 8/Sept/2014:
Overview of agent-based software engineering.

In this Overview basic concepts and a method for agent-based software engineering is presented.

Slides are available: slide show version.
Prints are available: PDF (1 page per sheet) and PDF (6 pages per sheet).

2nd week 15/Sept/2014:
Methodologies for agent-based modeling, analysis and design.

Slides are available: slide show version.
Prints are available: PDF (1 page per sheet) and PDF (6 pages per sheet).
3rd week 22/Sept/2014:
Agent communication and knowledge sharing.

The following topics will be reviewed:

  1. A review on knowledge level communication among software agents will be presented. First, KQML (Knowledge Query and Manipulation Language) is presented. KQML is a language and protocol for exchanging information and knowledge. It is part of a larger effort, the ARPA Knowledge Sharing Effort which is aimed at developing techniques and methodology for building large-scale knowledge bases which are sharable and reusable. The following Paper will be reviewed:
  2. Knowledge Interchange Format (KIF), a computer-oriented language for the interchange of knowledge among disparate programs is presented. KIF has declarative semantics (i.e. the meaning of expressions in the representation can be understood without appeal to an interpreter for manipulating those expressions); it is logically comprehensive (i.e. it provides for the expression of arbitrary sentences in the first-order predicate calculus); it provides for the representation of knowledge about the representation of knowledge; it provides for the representation of nonmonotonic reasoning rules; and it provides for the definition of objects, functions, and relations.
  3. In Ontology Engineering review, the concept of ontology and the ways of constructing ontologies is presented. Also look at the ontology tutorial paper by N.F. Noy and D.L. McGuinness (Stanford University) about building ontologies.


Slides are available: slide show version.
Prints are available: PDF (1 page per sheet) and PDF (6 pages per sheet).
4th week 29/Sept/2014:
Agent-based System Architecture and Organization.

In this session we will review a number of theories related to agent organization and architecture including the followings:

  • D.L. Martin, A.J. Cheyer, D.B. Moran, The Open Agent Architecture: A Framework for building Distributed Software Systems, Applied Artificial Intelligence: An International Journal. Volume 13, Number 1-2, January-March 1999. pp 91-128.
  • FIPA-OS Agent platform an implementation of the FIPA agent platform. We will explain how FIPA-OS can be used to develop agent-based systems.
  • JADE is an enabling technology, a middleware for the development and run-time execution of peer-to-peer applications which can seamless work and interoperate both in wired and wireless environment. We will briefly review Jade.
  • Behrouz H. Far, et al., Formalization of Organizational Intelligence for Multiagent System Design Transactions of IEICE, vol. E83-D, no. 4, pp. 599-607, 2000.
  • K.M. Carley and L. Gasser, Computational Organization Theory, in Multiagent Systems: A Modern Approach to Distributed Artificial Intelligence, G. Weiss, edt., pp.299-330, MIT Press, 1999.
  • R. Unland, Organizational Intelligence and Negotiation Based DAI Systems Working Papers of the Institute of Business Informatics, University of Munster, Germany, 1994.

Slides are available: slide show version.
Prints are available: PDF (1 page per sheet) and PDF (6 pages per sheet).
5th week 6/Oct/2014:
FIPA: Foundation for Intelligent Physical Agents.

In this session we will review the FIPA specification and study the application, abstract architecture, agent communication, agent management and agent message transport standards and guidelines. We will review the FIPA Abstract Architecture Specification and Domains and Policies Specification in detail.

Slides are available: slide show version.
Prints are available: PDF (1 page per sheet) and PDF (6 pages per sheet).

6th week 20/Oct/2014:
Students presentation: presenting the progress report of the assigned project.
Group Projects Students' Group Projects.
The students are asked to divide into 2-3 members teams and design a moderately realistic multiagent system.

In Fall 2006 the following projects were completed:

  1. P1: Designing U2-MPS Using Tropos
  2. P2: Online Adaptive Testing System
  3. P3: An Agent Approach to Securing and Optimizing Oil and Gas Rig
  4. P4: Movie Ticket Dispenser
  5. P5: Human Immune System Using GAIA
  6. P6: Multi-agent System for Collaborative Software Design Assistant
  7. P7: Agent Based Online Bookstore System

In Fall 2005 the following projects were completed:

  1. P01: MASE System
  2. P02: Portal Server
  3. P03: Professional Search Assistant
  4. P04: Global Parts Production System
  5. P05: Online Event Ticket System
  6. P06: Online Electronic Library Reservation System
  7. P07: Police Patrol Assistant System

In Fall 2004 the following projects were completed:

  1. P01: Job Finding System
  2. P02: Contract Negotiation System
  3. P03: University Library System
  4. P04: Search Interest System
  5. P05: Retrieving Index Information
  6. P06: MAS Dispatch System
  7. P07: Trouble Ticketing System

In Fall 2003 the following projects were completed:

  1. P01: Agent-based Student Timetabling System
  2. P02: MAS for Digital Data Warehouse
  3. P03: Multiagent Inter Network Handover
  4. P04: An Agent-based System for Job Finding
  5. P05: Ranching Agent Assistant System
  6. P06: Agent-Based Electronic Realtor System
  7. P07: Agent-based Personal Electronic Commerce System

In Fall 2002 the following projects were completed:

  1. P01: Agent-based E-Marketplace
  2. P02: Job Finding Agency System
  3. P03: Multi-agent System for Electronic Marketplace
  4. P04: Multiagent System for Tutoring and Learning
  5. P05: Multiagent System for Electronic Realtor
  6. P06: Online Examination Assistant System
  7. P07: A Mmultiagent System for ARES Simulation
  8. P08: Auction Agency System
  9. P09: Remote Monitoring System
  10. P10: Agent-Based System for Electronic Realtor
  11. P11: Internet Broker Agent Based System

Presentation week (Web based presentation)
Students' Presentations.

Students are asked to prepare a tutorial on a topic related to agent-based systems and prepare for a 7-10 minutes talk to the audience about their selected topic.

In Fall 2003 the following topics were presented:

  1. Agent Based Software Analysis and Design
  2. Agent Based Software Engineering (1)
  3. Agent Based Software Engineering (2)
  4. Agent Based System Architecture and Organization
  5. Agent Communication and Knowledge Sharing (1)
  6. Agent Communication and Knowledge Sharing (2)
  7. Agent Communication and Knowledge Sharing (3)
  8. Agent-mediated Electronic Commerce
  9. Agent Messaging
  10. Agents and Web Services (1)
  11. Agents and Web Services (2)
  12. Agents and Web Services (3)
  13. Agents and Web Services (4)
  14. Agents and Web Services (5)
  15. Computational Complexity and Agent-based Software Engineering
  16. Conversational Agents
  17. Examining Performance Issues of Multiagent Systems
  18. Examining the Multiagent Systems Engineering Methodology
  19. Infrastructure, APIs, and Software Tools for Agent-Based Systems
  20. Methodologies for Agent-Based Analysis and Design (1)
  21. Methodologies for Agent-Based Analysis and Design (2)
  22. Middle Agents
  23. Mobile Agents (1)
  24. Mobile Agents (2)
  25. Multiagent Architecture Standards
  26. Multi-Agent Simulation Using SWARM
  27. Simulation for Agent-Based Software Engineering
  28. Standards for Agents and Agent-Based Systems
  29. Conversational Agents
  30. Web Hunting Agents

In Fall 2002 the following topics were presented:

  1. Application of Agent-Based Technology in Pervasive Computing
  2. A Tutorial on Agent Based Software Engineering
  3. Agent-Based System Architecture and Organization
  4. Agent-Mediated e-Commerce1
  5. Agent-Mediated e-Commerce2
  6. Agent-based Simulation for Social Issues
  7. Agent-based System Architecture
  8. Agent Communication Languages and Protocols
  9. Agent Communication and Knowledge Sharing
  10. Agent Oriented Engineering
  11. Comparison of Objects and Agents
  12. Conversational Agents1
  13. Conversational Agents2
  14. Coordination in Multi-Agent Systems
  15. Data Integration Using Agent-based Mediator-Wrapper Architecture
  16. ebXML and Agent-Mediated e-commerce
  17. Evaluation of Modeling Techniques for Agent-Based Systems
  18. Methodologies for Agent-Based System Analysis and Design
  19. Middle Agents1
  20. Middle Agents2
  21. Mobile Agents1
  22. Mobile Agents2
  23. Mobile Agents3
  24. Multiple Agent Simulation System in a Virtual Environment
  25. Performance Metrics For Intelligent Systems
  26. Role Model Analysis Method in Agent-Based System
  27. Security Concerns for Mobile Agents
  28. Unleashing The Jini
  29. Using Intelligent Agents to Manage Fuzzy Business Processes
  30. XML and Agent Communication

In Fall 2001 the following topics were presented:

  1. A Tutorial on The Jini Technology
  2. Agent Based Simulation
  3. Agent Security for Web Applications
  4. An Introduction to Jini
  5. Interface Agent
  6. Mobile Agents1
  7. Mobile Agents2
  8. Mobile Agents3
  9. Ontology Development
  10. Semantic Web
  11. Using Jini for Agent Development
  12. Virus Agent
  13. XML Toturial

Other agent-based system research topics:

  • Agent communication and knowledge sharing
  • Agent-based ecosystems
  • Agent-based simulation for socio-biological, social, economic, and environmental issues
  • Agent-based System architecture and organization
  • Agent-based software engineering
  • Agent-mediated ecommerce
  • Agencies; holonic, complex, collective agents
  • Agent architectures as cognitive models and models of mind
  • Agent-based workflow management and process control
  • Agent communication languages and protocols
  • Agent programming languages and environments
  • Computational complexity and agent systems
  • Conflicts, conflict resolution, and negotiation
  • Conversational agents
  • Coordination, cooperation and competition problems
  • Methodologies and tools for specification, design, implementation, testing, validation, and benchmarking
  • Infrastructure, APIs, and software tools for agent-based systems
  • Interface agents and conversational agents
  • Methodologies for agent-based analysis and design
  • Middle-agents (e.g., matchmakers, brokers, routers)
  • Mobile agents
  • Motivation, goal selection and theories of rational agency
  • Negotiation in agent-based systems
  • Ontologies for agents and social modeling; ontologies in agent-based information systems and knowledge management
  • Performance metrics for intelligent systems
  • Philosophical foundations of agents
  • Privacy, security and agents; conceptual, technical, and legal issues
  • Robustness, fault tolerance, performance, dependability, etc.
  • Scalability and complexity issues
  • Self-organizing systems and emergent organization
  • Scalability issues in agent-based systems
  • Standards for agents and agent-based systems (FIPA: Foundation for Intelligent Physical Agents)
  • etc.

Textbooks: Course materials are selected from a number of books, research documents and journal papers and will be delivered on each session.
   
Recommended Textbooks: Multiagent Systems : A Modern Approach to Distributed Artificial Intelligence, Gerhard Weiss, Edt., 1st edition, (648 pages) MIT Press, (July, 2000).
ISBN: 0262731312.
   
  Readings in Agents, M.N. Huhns and M.P. Singh, Edts., (523 p.) Morgan Kaufmann Publishers, (January 1998).
ISBN: 1-558-60495-2.
   
  Heterogeneous Agent Systems, V. S. Subrahmanian, Piero Bonatti, Jurgen Dix, Thomas Eiter and Fatma Ozcan, (640 p.) 1st edition, MIT Press, (June, 2000).
ISBN: 0-262-19436-8.
   
  Constructing Intelligent Agents Using Java: Professional Developer's Guide, (432 pages) Joseph P. Bigus, Jennifer Bigus, (2nd Edition) John Wiley and Sons, (March, 2001).
ISBN: 0-471-39601-X.
   
  Agent-Oriented Methodologies, (413 pages) Brian Henderson-Sellers, Paolo Giorgini; University of Technology, Sydney, Australia; University of Trento, Italy, idea Group Publishing, (2005).
ISBN: 1-59140-581-5.
   

Other Recommended Books:
  • Idea Groip Publishing - Intelligent Agent Software Engineering (2003)
  • John Wiley and Sons - Agent Technology for Communication Infrastructures (2001)
  • John Wiley and Sons - An Intoduction to Multiagent Systems (2002)
  • Kluwer Publishing - Autonomy Oriented Computing From Problem Solving to Complex Systems Modeling (2005)
  • Kogan Page - Mobile Agents for Telecommunication Applications (2002)
  • Springer Verlog - LNCS 2585 - Agent-Oriented Software Engineering III (2002)
Related Links:


Copies of the slides in Portable Document Format (PDF), and PowerPoint Slide format are available for on-line download. Note that the files are password protected and are provided solely for the internal use for the registered students of this course.
All Unix, PC and MAC users can download, view and print the PDF version of the documents using Adobe's Acrobat Reader version 5.x or later.


This page was created by B.H. Far.If you may find omissions, glitches, have suggestions for improvement of the material presented here, please contact me.
  Copyright Terms. THIS DOCUMENT AND ITS ENTIRE CONTENTS ARE COPYRIGHT 2001 BY B.H. FAR. COPYING, REPUBLISHING AND DISTRIBUTING THIS DOCUMENT IN WHOLE OR IN PART IS PROHIBITED BY LAW. IF YOU DESIRE TO REPUBLISH PARTS OF THIS DOCUMENT IN ELECTRONIC FORM, PLEASE CONTACT THE AUTHOR.