Proposte

There are several possible projects on disparate topics, categorised below. Roughly, each first-level dot corresponds to a project.

MAS programming and simulation

Making programming frameworks simulable

MakeAgentSpeak(L) systems simulable through discrete event simulators:

  • Make Jason-based systems simulable over Alchemist

Designing a simulable framework for agent programming

  • Design and prototyping a simulable framework for behavioural (JADE-like) agent programming as a Kotlin DSL

tuProlog in Kotlin (2P-Kt)

General references

Clauses storage

  • Design and prototyping of efficient data structures for clause storaging, optimised for either retrieval and modification of clauses

(Bechmarks should be defined for each implementation)

Support for other platforms

References

JS-Browser support

  • Make 2P-Kt compilable and testable over JS via the new Kotlin/JS IR transpiler

Native support

  • Make 2P-Kt compilable and testable over Native Platforms (Win, Linux, MacOS), through Kotlin/Native compiler

Python support

General references:

Projects:

.NET support

  • Make 2P-Kt interoperable with .NET (ad means should be studied)

Design and implementation of libraries

  • Complete support for Standard library
    • some prior work is available (cf. module solve of 2P-Kt)
  • Design, and prototype the Standard IO library
    • some prior work is available (cf. module io-lib of 2P-Kt)
  • Design, and prototype a novel OO library
    • some prior work is available (cf. module oop-lib of 2P-Kt)
  • Design, and prototype a list manipulation library
  • Design, and prototype a set manipulation library
  • Design, and prototype a DFG manipulation library
    • some prior work is available (cf. old tuProlog-Java codebase)
  • Propose, design, and prototype your own library

Design and implementation of tools/features

Language-oriented features

  • Design, and prototype integration of 2P-Kt with the IntelliJ IDE
  • Design, and prototype integration of 2P-Kt with the Eclipse IDE
  • Design, and prototype integration of 2P-Kt with the Atom IDE
  • Design, and prototype integration of 2P-Kt with the Visual Studio Code IDE

All such projects may take advantage from the Language Server Protocol

Utility features or optimizations

  • Design, and prototype a novel Web-based IDE for 2P-Kt
  • Design, and prototype an extension for the 2P-Kt solver supporting tail-recursion optimisation
  • Design, and prototype a multi-platform module for 2P-Kt supporting JSON/YAML (de)serialization
  • Design, and prototype a Web Service for accessing 2P-Kt facilities remotely

Tabled Prolog

  • SLR on Tableb tesolution in Prolog
    • theoretical background
    • main approaches (+ similarities and differences)
    • main technologies (+ comparisons)
  • Design, and prototype an extension for the 2P-Kt solver supporting tabled resolution

Labelled Variables in Logic Programming (LVLP)

References

Projects

  • Extend 2P-Kt to support LVLP

Concurrent Resolution

  • Design, and prototype an extension for the 2P-Kt ecosystem supporting OR-concurrent resolution

Logic Programming, and Automatic Reasoning

References:

Inductive Logic Programming (ILP)

  • SLR on Inductive Logic Programming
    • theoretical background
    • main approaches (+ similarities and differences)
    • main technologies (+ comparisons)
  • Design, and prototype an implementation for the resolution inversion approach
    • Consider integration in 2P-Kt
  • Design, and prototype an implementation for the "construction of relative least general generalisations" approach
    • Consider integration in 2P-Kt
  • Design, and prototype an implementation for the "inverting entailment" approach
    • Consider integration in 2P-Kt

Abductive Logic Program

  • SLR on Abduction in Logic Programming
    • theoretical background
    • main approaches (+ similarities and differences)
    • main technologies (+ comparisons)

Answer Set Programming (ASP)

  • SLR on Answer Set Programming in Logic Programming
    • theoretical background
    • main approaches (+ similarities and differences)
    • main technologies (+ comparisons)
  • Design and implementation of a 2P-Kt library for ASP

Constraint Logic Programming (CLP)

  • SLR on Constraint Logic Programming
    • theoretical background
    • main approaches (+ similarities and differences)
    • main technologies (+ comparisons)
  • Design and implementation of a 2P-Kt library for CLP (possibly wrapping some pre-existing CP tool)

Constraint Handling Rules (CHR)

  • SLR on Constraint Handling Rules
    • theoretical background
    • main approaches (+ similarities and differences)
    • main technologies (+ comparisons)
  • Design and implementation of a 2P-Kt library for CHR

Defeasible Reasoning (DR)

  • SLR on Defeasible Resoning
    • theoretical background
    • main approaches (+ similarities and differences)
    • main technologies (+ comparisons)

  @Roberta fill this please

Argumentation

  @Roberta, @Giuseppe add / remove this section accordingly

  • SLR on argumentation algorithms
    • theoretical background
    • main approaches (+ similarities and differences)
    • main technologies (+ comparisons)
  • Design, and prototype an argumentation algorithm of choice
  • Arg-2P from meta-solver to solver in 2P-Kt

(Arg-2P è un meta-interprete che poggia su 2P e data una teoria costruisce grafo di argomentazione e labelling associato)

  • Arg-2P implement other argumentation semantics (other than the grounded one)
Modularity in Argumentation
  • SLR on Modularity in Argumentation
    • theoretical background
    • main approaches (+ similarities and differences)
    • main technologies (+ comparisons)
  • Design, and prototype a technological reification for the "Modularity in Argumentation" theory
Dialogical Argumentation
  • SLR on dialogical argumentation protocols
    • theoretical background
    • main approaches (+ similarities and differences)
    • main technologies (+ comparisons)
  • Design, and prototype an argumentation protocol of choice in Jason

Coordination

Referecens:

Parallel and Distributed Algorithrms in TuSoW

Projects:

References:

Tuple centres in TuSoW

  • Extend TuSoW model and technology to support Tuple Centres
    • done by ???

  @Giovanni find reference

Uniform primitives in TuSoW

Probability and Uncertainty

  • Design, and prototype a JVM-based framework for filtering problems
    • may support either (Extended) Kalman Filters or Particle Filters, or both
  • Design, and prototype a JVM-based framework simulating systems based on distributed particle filtering
    • possibly based on Alchemist

Machine Learning and Software Engineering

References:

AutoML

  • SLR on the state of the art in AutoML
    • theoretical background
    • main approaches (+ similarities and differences)
    • main technologies (+ comparisons)

PMML, PFA

  • SLR on the state of the art of predictive model interchange formats
    • theoretical background
    • main approaches (+ similarities and differences)
    • main technologies (+ comparisons)

Explainable AI

Symbolic knowledge extraction

Activities

  • SLR on the symbolic knowledge extraction techniques
    • theoretical background
    • main approaches (+ similarities and differences)
    • main technologies (+ comparisons)
  • Design, prototype, and assess a Symbolic knowledge extraction algorithms from the literature 
  • Explore the exploitation of abductive reasoning for explaining ML-trained predictors by reproducing the study in [Ignatiev2018]

References

[Ignatiev2018] Alexey Ignatiev, Nina Narodytska, Joao Marques-Silva. "Abduction-Based Explanations for Machine Learning Models"

Symbolic knowledge injection

  • SLR on the symbolic knowledge injection techniques
    • theoretical background
    • main approaches (+ similarities and differences)
    • main technologies (+ comparisons)
  • Design, prototype, and assess a Symbolic knowledge injection approach from the literature 

Neural symbolic computation

  • TODO

Planning

  • SLR on the state of the art of Planning
    • theoretical background
    • main approaches (+ similarities and differences)
    • main technologies (+ comparisons)
  • Design, and prototype a planning library leveraging on some approach of choice from the literature 

Blockchain and Logic Contracts

  • TODO