Agent-Based Software and Practical Case of Agent-Based Software Development Course 2008/2009 SUBJECTS: AGENT-BASED SOFTWARE and PRACTICAL CASE OF AGENT-BASED SOFTWARE DEVELOPMENT EUROPEAN MASTER on SOFTWARE ENGINEERING (Course 2008/09) PROFESSORS: Dr. Ricardo Imbert. Office 5112 Dr. Angélica de Antonio. Office 5108 SUBJECT COORDINATOR: Dr. Ricardo Imbert. Office 5112 1 Subject Information 1.1 Objectives The continuous search for more powerful and of a higher level new abstraction mechanisms has lead nowadays towards a new development paradigm, based on software agents. This approach, which has been so many times referred as the final solution for all the previously unaffordable problems, far from being a silver bullet, must be considered as another software development paradigm and, as such, subject to the Software Engineering discipline. This subjects will introduce the students into this new paradigm, settling the basic concepts of the technology, offering them a wide perspective of the current Software Engineering efforts in this area. 1.2 Program These subjects consist, practically, on three main parts: 1. INTRODUCTION to the AGENTS Basic concepts. Agent architectures. Interaction and communication among agents. 2. AGENT-ORIENTED SOFTWARE ENGINEERING Pitfalls of agent based solutions. Methodologies for agents development. Study case of a methodology for agents development. 3. PRACTICAL CASE of a MULTIAGENT SYSTEM DEVELOPMENT
2 1 SUBJECT INFORMATION 1.3 Bibliography RECOMMENDED BOOKS Bellifemine, F., Caire, G. and Greenwood, D. (2007) Developing Multi-Agent Systems with JADE. John Wiley & Sons Ltd. Russell, S. and Norvig, P. (2004) Inteligencia Artificial. Un Enfoque Moderno. Pearson- Prentice Hall. Wooldridge, M. (2000) Reasoning about Rational Agents. The MIT Press, Cambridge, Massachusetts. Wooldridge, M. (2002) An Introduction to MultiAgent Systems. John Wiley and Sons, Chichester, England. INTERESTING ARTICLES Agents in General Bratman, M. E., Israel, D. and Pollack, M. (1988) Plans and Resource-Bounded Practical Reasoning. Computational Intelligence, 4(4): pp. 349 355. Brooks, R. A. (1991) Intelligence without Representation. Artificial Intelligence, 47: pp. 139 159. Franklin, S. and Graesser, A. (1996) Is It an Agent, or Just a Program?: A Taxonomy for Autonomous Agents. In Intelligent Agents III. Agent Theories, Architectures and Languages (ATAL 96), vol 1193. Springer-Verlag, Berlin, Germany. Genesereth, M. R. and Ketchpel, S. P. (1994) Software Agents. Communications of the ACM, 37(7). Jennings, N. R., Sycara, K. and Wooldridge, M. (1998) A Roadmap of Agent Research and Development. Journal of Autonomous Agents and Multi-Agent Systems, 1(1): pp. 7 38. Maes, P. (1994) Modeling Adaptive Autonomous Agents. Artificial Life, I, 1&2(9): pp. 135 162. Nwana, H. S. (1996) Software Agents: An Overview. Knowledge Engineering Review, 11(2): pp. 205 244. Rao, A. S. and Georgeff, M. P. (1995) BDI Agents: From Theory to Practice. In V. Lesser (ed.), Proceedings of the First International Conference on Multi-Agent Systems, ICMAS-95, pp. 312 319. The MIT Press, San Francisco. Sycara, K. (1998) Multiagent Systems. AI Magazine, 19(2): pp. 79 92. Wooldridge, M. and Jennings, N. (1994) Agent Theories, Architectures, and Languages: A Survey. In M. Wooldridge and N. R. Jennings (eds.), Intelligent Agents - Theories, Architectures, and Languages, Proceedings of ECAI 94 Workshop on Agent Theories, Architectures & Languages, vol 890, pp. 1 32. Lecture Notes in Artificial Intelligence, Springer-Verlag, Amsterdam. Wooldridge, M. and Jennings, N. R. (1995) Intelligent Agents: Theory and Practice. The Knowledge Engineering Review, 10(2): pp. 115 152.
1.3 Bibliography 3 Agent Engineering de Antonio, A. and Imbert, R. (2005) Requirements Engineering for Sociotechnical Systems, chap. Combining Requirements Engineering and Agents, pp. 68 83. Idea Group Publishing, Hersey, PA, Estados Unidos. Iglesias, C. Á., Garijo, M. and González, J. C. (1999) A Survey of Agent-Oriented Methodologies. In J. Müller, M. P. Singh and A. S. Rao (eds.), Proceedings of the 5th International Workshop on Intelligent Agents V : Agent Theories, Architectures, and Languages (ATAL-98), pp. 317 330. Springer-Verlag, Heidelberg, Germany. Iglesias, C. Á., Garijo, M., González, J. C. and Velasco, J. R. (1996) A Methodological Proposal for Multiagent Systems Development Extending CommonKADS. In B. Gaines and M. Musen (eds.), Proceedings of the 10th Banff Knowledge Acquisition for Knowledge-Based Systems Workshop (KAW96). Banoe, Canada. Luck, M., Griffiths, N. and d Inverno, M. (1997) From Agent Theory to Agent Construction: A Case Study. In J. P. Müller, M. J. Wooldridge and N. R. Jennings (eds.), Proceedings of the ECAI 96 Workshop on Agent Theories, Architectures, and Languages: Intelligent Agents III, vol 1193, pp. 49 64. Springer-Verlag, Heidelberg, Germany. Müller, H. J. (1997) Towards Agent Systems Engineering. Data & Knowledge Engineering, 23: pp. 217 245. Petrie, C. J. (2000) Agent-Based Software Engineering. In J. Bradshaw and G. Arnold (eds.), Proceedings of the 5th International Conference on the Practical Application of Intelligent Agents and Multi-Agent Technology (PAAM 2000), pp. 59 76. The Practical Application Company Ltd., Manchester, UK. Shoham, Y. (1990) Agent-Oriented Programming. Tech. Rep. STAN-CS-90-1335, Computer Science Department, Stanford University. Wooldridge, M. (1997) Agent-Based Software Engineering. Engineering, 144(1): pp. 26 37. IEE Proceedings Software Wooldridge, M. and Ciancarini, P. (2000) Agent-Oriented Software Engineering: The State of the Art. In P. Ciancarini and M. Wooldridge (eds.), First International Workshop on Agent-Oriented Software Engineering, vol 1957, pp. 1 28. Springer- Verlag, Berlin, Alemania. Wooldridge, M. and Jennings, N. R. (1998) Pitfalls of Agent-Oriented Development. In K. P. Sycara and M. Wooldridge (eds.), Proceedings of the 2nd International Conference on Autonomous Agents (Agents 98), pp. 385 391. ACM Press, New York. Wooldridge, M., Jennings, N. R. and Kinny, D. (2000) The Gaia Methodology for Agent- Oriented Analysis and Design. Autonomous Agents and Multi-Agent Systems, 3(3): pp. 285 312. Zambonelli, F., Jennings, N. R. and Wooldridge, M. (2003) Developing Multiagent Systems: The Gaia Methodology. ACM Transactions on Software Engineering and Methodology, 12(3): pp. 317 370. Any necessary additional documentation would be left in the subject documentation website, available through the password the subject coordinator will provide to the students.
4 2 INFORMATION ABOUT STUDENTS EVALUATION 1.4 Office Hours PROFESSOR OFFICE TIMETABLE Dr. Angélica de Antonio 5108 Monday: 9:30 14:00 Tuesday: 15:45 17:15 Dr. Ricardo Imbert 5112 Monday: 11:00 14:00 Wednesday: 11:00 14:00 NOTE: Consults out of the indicated timetable must be previously arranged. 1.5 Prerequisites To be simultaneously enrolled to the subject Agent-Based Software is indispensable to take the subject Practical Case of Agent-Based Software Development. It is likewise recommendable to be enrolled to both subjects, not only to the theoretical one. As far as these subjects combine concepts and techniques of both Software Engineering and Artificial Intelligence, it is highly recommended for the student to have some background in these disciplines. It is also advisable to be familiarized to the java programming language or, at least, with similar ones, given that the implementation of the practical exercises will be developed in this language. 1.6 Notifications Any announcement related to these subjects will be published in the bulletin board no. 15 (1st floor, Building 5). A virtual bulletin board service will be also available through the subjects website http://www.ls.fi.upm.es/udis/docencia/abs/ 1.7 In Case of Problems Any comment, suggestion, complain or problem of the students, both particular or collective, may be freely posed to the Coordinator of the subjects: Dr. Ricardo Imbert. If any problem could not be solved by the Coordinator of the subjects, and the students need higher authority level assistance, they should address the EMSE Students Coordinator: Dr. Óscar Dieste. 2 Information about Students Evaluation 2.1 Cards Delivery It is neccessary and indispensable to pass the subject to deliver a personal card with a color picture before March 9th, 2009.
2.2 Subjects Evaluation 5 2.2 Subjects Evaluation Students enrolled in these subjects will be evaluated from the development of several practical projects. It is necessary to pass the whole subject to pass every single practical project. In any case, the subjects evaluation mechanisms may be modify under consideration of the Coordinator of the subjects. Any student with a failed qualification in any of the practical projects will be considered as failed in the whole subject. Any student with no practical project presented during the current course will obtain a not presented qualification in the whole subject. 2.3 Reviews If the student has any doubt about its practical projects qualification, the review process to be followed should be: 1. After the publication of the qualifications, the students may ask a review in the Coordinator of the subjects office, in his office hours scheduled, and in a maximum period of one week from the publication date. 2. The student must attend the review session in person, without having the possibility of being represented. The only addressable problems in this session will be those related to the qualification process. 3. After the review session, the possible modifications will be published in the subjects bulletin board. 4. At the end of the course, the final qualifications will be published in the same bulletin board. Every student should check them, and any discrepancy should be notified to the Coordinator of the subjects as soon as possible.