Proposte

Questa lista è fortemente dinamica. Progetti vengono tolti quando assegnati, aggiunti quando concepiti. Le indicazioni relative ad ogni proposta sono molto sintetiche: si contatti il docente per descrizioni più dettagliate.

  • 2p-ide: Consolidate current tuprolog IDE, and develop new features related to debugging and checking the correctness of a theory
  • 2p-p@j: Analyse, extend and find some suitable killer application for the P@J framework for Java-Prolog integration.
  • 2p-libs: (this is actually a project template) porting existing libraries of other Prologs (SWI, GNU, SICSTUS) into tuProlog; generally, even libraries for Java could be used
  • 2p-wam: The Warren Abstract Machine is an engine interpreting a bytecode version of Prolog, produced out of a compilation process. This projects aims at implementing engine and/or compiler directly using tuProlog as an implementation language.
  • 2p-meta-interpretation: Design a full Prolog metainterpreter, extending vanilla with the abilities of tracking substitutions, tracking resolution tree, supporting control predicates like cut, call, not, and so on.
  • 2p-imperative-language: The various step of a full interpreter (tokenization, parsing, checking and interpretation) can be specified declaratively, using BNF grammars and deductions. This projects will implement in tuProlog suitable meta-interpreters for those specifications, by adding proper (infix/prefix) operators and syntactic sugar.
  • 2p-advanced-dcg: creating a new DCG library, with advanced features such as AST flexible generation, LOOKAHEAD, tokenization
  • 2p-tokenizing: extend the DCG library with a full and efficient support to tokenization, reaching the same expressiveness of analogous frameworks like JavaCC or Jlex
  • 2p-fj-operational-semantics: using the operational semantics meta-interpreter, develop and implement an interpreter for Featherweight java
  • maude-2p: Prolog and Maude can interact with each other, e.g. by sockets; this project should develop flexible libraries for both sides of the integration
  • maude-metalevel: Maude is a reflective language, in that it can be used to parse and meta-execute other Maude specifications: this can be used to define slight extensions of Maude language for various purposes. This project analyse this feature and creates toy examples.
  • models-coloredpetri: Build an engine for colored Petri Nets, in which coloring is realised in a logic fashion by means of tuProlog integration.
  • models-mc-prolog: Implement a model-checker for LTL or CTL in Prolog.
  • models-msr-nets: MSR(C) is a tool to model-check infinite state systems, extending Petri Nets ideas. The goal of this project is to verify properties of given algorithms for self-organising networks.
  • models-respect++: ReSpecT is a declarative language (on top of tuProlog) for programming tuple centres in the TuCSoN coordination infarstructure. This projects aims at analysing how ReSpecT interacts with tuProlog, and designing some extensions/modifications that improve the ReSpecT language.
  • semantics-pellet: Develop a tuProlog library to access the main Pellet API, e.g. to load an OWL ontology, assert prolog terms as Fuzzy TBox axioms and Fuzzy ABox individuals, check ABox consistency, check subsumption between two concepts and perform instance checking and retrieval.
  • semantics-fuzzydl: Develop a tuProlog library to access the main fuzzyDL API, e.g. to load a fuzzy ontology, assert prolog terms as Fuzzy TBox axioms and Fuzzy ABox individuals and query the Fuzzy Knowledge base.
  • semantics-general-lib: Develop a tuProlog library to access a provided semantic module, that is, independently from a particular semantic reasoner (to load an ontology, assert prolog terms as ABox individuals, check ABox consistency, check subsumption between two concepts and perform instance checking and retrieval). Optionally, the project may study application of semantic matching instead of syntactic unification.
  • selforg-spatial: Starting from existing studies about chemical reactions creating spatial structures, simulate their behaviour using tools, and possibly propose new realted mechanisms.