My research falls in the areas of Artificial Intelligence which are closely related to the problem of practical reasoning (the general task of resolving, through reflection, the question of what to do), such as knowledge representation and reasoning for reasoning about action and change, automated planning, agent-oriented programming, and reactive synthesis. In particular I am interested in the following topics:
  • automatic behavior composition synthesis; 
  • reasoning about action and change;
  • automated planning & planning within agent programming languages;
  • goal recognition in navigation and path-planning;
  • agent ability and knowledge precondition for agent programs;
  • formal models of deliberation/planning;
  • procedural & declarative specification of goals;
  • models of rationality, BDI-style logics.
I am always happy and looking for good students who want to work under some project, usually in some type of programming task related to research. Below you can find the broad research project/topics/problems I am currently interested and working on, but this is by not means an exhaustive list.  If you are a 2nd or 3rd year student with very good marks and programming skills, and are interested, do not hesitate contacting me. There are lots of advantages for top students to participate in a research project! A more detailed list of potential projects can be found here.

IMPORTANT: Please be aware that I generally do not have funds for paid work, so the project should either be part of your coursework (e.g., capstone, Honours, minor thesis, programming project) or volunteer because you just want to do it and learn. When I do have funds to pay for this type of work, I seek proactively myself for the particular need, and I almost always give priority to RMIT students.

If you are interested in applying for PhD at RMIT under my supervision, pleaseread this.

Below I list some of the main areas that I work on, together with relevant papers and software systems/tools I have developed together with students and/or research assistants.

Beahavior Composition for Complex Systems

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. Thus a complex surveillance system for a smart house can be “realised” (i.e., implemented) by suitably coordinating the behaviours (i.e., the operational logic) of hundreds (or thousands) of simple devices and artifacts—lights, phones, blinds, a microwave, a vacuum cleaner, video cameras, a floor cleaning robot, etc.—installed in the house.  The problem then is how to automatically build an embedded controller-coordinator to bring about a desired target complex system by suitably coordinating the available components. 

short overview paper and a long in-depth papers on the topic are:
  • Giuseppe De Giacomo, Fabio Patrizi, and Sebastian Sardina. Building virtual behaviors from partially controllable available behaviors in nondeterministic environments. In Proceedings of the International Conference on Automated Planning and Scheduling (ICAPS), pages 523-526, Portsmouth, NH, USA, 2014. AAAI Press. [ bib | paper | slides ]
  • Giuseppe De Giacomo, Fabio Patrizi, and Sebastian Sardina. Automatic behavior composition synthesis. Artificial Intelligence Journal, 196:106-142, 2013. [ bib | DOI | paper ]
A tutorial on the topic delivered at IJCAI'15 can be found here.

behavior composition system and benchmarking platform can be found at ALLEGRO Composer repository

A follow up generalization is Agent Planning Programs, a mixture between planning and programming:
  • Giuseppe De Giacomo, Alfonso Gerevini, Fabio Patrizi, Alessandro Saetti, and Sebastian Sardina. Agent planning programs. Artificial Intelligence, 231:64--106, 2016. [ DOI ]

High-level Agent-oriented Programming & Cognitive Robotics

I am interested high-level programming languages for complex systems and intelligent agents. High-level agent-oriented programming can be seen as a middle ground between automated planning and full standard programming (e.g., Java). The idea is to write programs in a loose language so that programs will contain "gaps" that need to be filled out at execution time. These programs can typically be useful to program robotic or software agents with higher level cognitive functions that involve reasoning, for example, about goals, perception, actions, the mental states of other agents, collaborative task execution, etc. 

I am interested in mainly two type of agent systems, namely, Belief-Desire-Intention (BDI) systems (like JACK or JASON) and GOLOG-type systems built on top of the famous situation calculus logical framework (like IndiGolog, a high-level programming language where programs are executed incrementally to allow for interleaved action, planning, sensing, and exogenous events).

Some relevant papers are:
  • Max Waters, Lin Padgham, and Sebastian Sardina. Evaluating coverage based intention selection. In Proceedings of Autonomous Agents and Multi-Agent Systems (AAMAS), pages 957-964, Paris, France, May 2014. IFAAMAS. Nominated for Jodi Best Student Paper award. [ bib | paper |slides | poster ]
  • Dhirendra Singh, Sebastian Sardina, and Lin Padgham. Extending BDI plan selection to incorporate learning from experience. Journal of Robotics and Autonomous Systems, 58:1067-1075, 2010. [ bib | DOI | paper ]
  • Sebastian Sardina and Lin Padgham. A BDI agent programming language with failure recovery, declarative goals, and planning. Autonomous Agents and Multi-Agent Systems, 23(1):18-70, 2011. [ bib | DOI | paper ]
  • Giuseppe De Giacomo, Yves Lespérance, Hector J. Levesque, and Sebastian Sardina. IndiGolog: A high-level programming language for embedded reasoning agents. In Rafael H. Bordini, Mehdi Dastani, Jürgen Dix, and Amal El Fallah-Seghrouchni, editors, Multi-Agent Programming: Languages, Platforms and Applications, chapter 2, pages 31-72. Springer, New York, USA, 2009. ISBN: 978-0-387-89298-6. [ bib | paper ]
  • Andrea Marrella, Massimo Mecella, and Sebastian Sardina. SmartPM: An adaptive process management system through situation calculus, indigolog, and classical planning. In Chitta Baral and Giuseppe De Giacomo, editors, Proceedings of Principles of Knowledge Representation and Reasoning (KR), pages 518-527, Vienna, Austria, 2014. [ bib ]
Some systems/tools developed in this area (for research and/or teaching purposes) are:
  • BLAK Project (BDI Learning Agent Kit): learning kit for BDI agents. Kit used in papers co-authored with Dhirendra Singh on incorporating learning (in context conditions) into BDI programming languages.
  • IndiGolog: An agent-programming high-level language for cognitive robotics, part of the Golog-like family of high-level languages.
  • An Elevator Simulator project: an multi-elevator simulator and infrastructure to develop agent-based controllers. 
  • SARL MASSIM 2017 Interface/Middleware: A core infrastructure to connect SARL agents with the Agents in City 2017 Multi Agent Contest domain. Uses Mochalog project to use SWI Prolog as belief structure for the SARL agents.
  • Mochalog: A high-level connectivity between SWI Prolog and Java to allow integration of SWI Prolog into agent platforms.
    • System is used in SARL controllers in the Elevator Simulator and Agents in City MAC 2017 contest. 

Automated Planning & Reactive Synthesis

APPARATE Path Planner Simulator

Automated planning is the problem of automatically producing a plan (i.e., a course of actions) in order to achieve a certain goal (e.g., have all the packages delivered in a logistic domain). Those plans are generally meant to be executed by intelligent agents, autonomous robots, unmanned vehicles, or complex embedded systems. 

I am particularly interested in advanced forms of planning (e.g., such as planning under non-determinism), the link with controller synthesis for adversarial planning, and path-planning (or pathfinding) in an AI context.

Some papers on this are are:
  • Giuseppe De Giacomo, Alfonso Gerevini, Fabio Patrizi, Alessandro Saetti, and Sebastian Sardina. Agent planning programs. Artificial Intelligence, 231:64--106, 2016. [ DOI ]
  • Sebastian Sardina and Nicolas D'Ippolito. Towards fully observable non-deterministic planning as assumption-based reactive synthesis. In Proceedings of the International Joint Conference on Artificial Intelligence (IJCAI), pages 3200-3206, 2015. [ bib | .pdf | slides]
  • Sarah Hickmott and Sebastian Sardina. Optimality properties of planning via Petri net unfolding: A formal analysis. In Alfonso Gerevini and Adele Howe, editors, Proceedings of the International Conference on Automated Planning and Scheduling (ICAPS), pages 170-177, Thessaloniki, Greece, September 2009. AAAI Press. [ bib | paper | slides ]
  • Davide Aversa, Sebastian Sardina, and Stavros Vassos. Path planning with inventory-driven jump-point-search. In Proceedings of the AAAI-AIIDE, 2015.

Some systems/tools developed in this area (for research and/or teaching purposes) are:
  • Multi-Player NuGAT Game Solver: A multi-player version of NuGAT game solver that is compatible with the latest NuSMV 2.6 version. A plain (2-player) NuGAT compatible with NuSMV 2.6 can be found here.
  • pddl2smv: A tool to convert PDDL planning files to SMV format (for TLV, JTLV and NuGAT solvers).
  • Path Planning Frameworks and Simulators:

Reasoning about Action and Change

This area is concerned with how to specify and verify dynamic systems. Different approaches to representing and reasoning about systems that change include temporal logic, model checking, dynamic logic, and modelling change in Artificial Intelligence. Some problems that I am interested include:
  1. Progression of knowledge bases.
  2. Incomplete knowledge and relation with (incomplete) databases.
  3. Knowledge precondition for plans: what knowledge does an agent need to be able to successfully execute a plan to completion?
  4. Verification of properties in dynamic systems.
  5. many others!
Some relevant papers that I have produced in the area are:
  • Nitin Yadav and Sebastian Sardina. Using strategic logics to reason about agent programs. In Francesca Rossi, editor, Proceedings of the International Joint Conference on Artificial Intelligence (IJCAI), pages 3101-3105, Beijing, China, August 2013. AAAI Press.  In Best Papers Sister Conferences track (Best Paper Award at JELIA'12). bib | paper | poster ]
  • Stavros Vassos and Sebastian Sardina. A database-type approach for progressing action theories with bounded effects. In Gerhard Lakemeyer and Sheila A. McIlraith, editors, Knowing, Reasoning, and Acting: Essays in Honour of Hector J. Levesque, chapter 29, pages 467-486. College Publications, July 2011. 
  • Sebastian Sardina, Giuseppe De Giacomo, Yves Lespérance, and Hector J. Levesque. On the limits of planning over belief states under strict uncertainty. In Proceedings of Principles of Knowledge Representation and Reasoning (KR), pages 463-471, Lake District, UK, June 2006. [ bib |paper | slides ]

Obs: picture above was produced by (friend) Diego Martinez.