Course delivered within the ERASMUS+ KA107 Mobility Exchange Program - 2019
1 page flyer here and a pack of overview slides.
Dates and time schedule: Thursday March 28 - Wednesday April 3 (11am to 1pm)
Location: IIIA-CSIC, http://iiia.csic.es/en/location
Language: English
Instructor: A/Prof. Sebastian Sardina, RMIT University, Melbourne, AUSTRALIA
This course will survey some of the main developments in agent behavior synthesis and composition, the problem of automatically synthesizing a coordinator controller that implements a given desired but non-existing target complex behavior (e.g., a home system) by using a set of available existing behavior modules (e.g., cameras, TVs, lights, blinds, music system, phone). A behaviour here refers to the operational logic of a system and is general represented as a transition system. The composition problem is relevant and important in that with computers now present in everyday devices like mobile phones, credit cards, cars and planes or places like homes, offices and factories, the trend is to build embedded complex systems from a collection of simple components. Also, the problem can be recast in a variety of forms within several sub-areas of Artificial Intelligence and Computer Science, including verification, automated planning, intelligent spaces, agent programming, web-services, and business processes. The course will mix technical presentation with small exercises, and a final small project.
(image from pixabay)
This is the tentative schedule for the course. As the course progresses, the schedule may be adjusted to fit how the students are learning the material.
Material
Students interested in the ambitious “automatic programming” or “program synthesis” problem (the “Church Problem”): automatically building an executable piece of code given (high-level) user intent. Behavior Composition is a “nice” special case. It is easy to understand for the non-expert in synthesis, and is complex enough (hard to do it manually), intuitive (can be grounded in many domains); complete (includes all the main synthesis components/features); has full output (synthesis is a finite program); and is feasible (can be done computationally!)
What would be good to know before?