Proposals
Questa lista è fortemente dinamica. Progetti vengono tolti quando assegnati, e aggiunti quando concepiti. Al momento attuale mancano ovviamente indicazioni su progetti relativi alla parte finale del corso.
- 2p-ide - Assigned to DiGiacomo: Consolidate current tuprolog IDE, and develop new features related to debugging and checking the correctness of a theory
- 2p-p@j - Assigned to Zoffoli: Design a suitable inclusion of P@J into tuProlog release, possibly also re-designing current alice.tuprolog APIs
- 2p-libs: (this is actually a project template) porting existing libraries of other Prologs (SWI, GNU, SICSTUS) into tuProlog; generally, even libraries for Java couldbe used
- semantics-lib - (no longer assigned, it is available!): a notable example of lib for tuprolog is based on encapsulating a reasoner for description logic (many exist in the Web), to be used by Prolog, possibly in the form of a semantic unification mechanism
- advanced-dcg: creating a new DCG library, with advanced features such as EBNF support, AST flexible generation, LOOKAHEAD, tokenization
- pj-tokens: develop a Java-Prolog solution for fast and flexible tokenization in Prolog, parhaps using JavaCC of Jlex
- 2p-dcgxml - Assigned to Bruschi: in the spirit of DCGs, develop a library for parsing XML documents that works using a grammar-based approach, featuring automatic Tree generation, and possibly re-assessing an XML document after modifications
- 2p-metacut: Design a Prolog metainterpreter that also supports the cut predicate
- imp-opsem - Assigned to Gramellini and Magnani: using the operational semantics meta-interpreter, develop and implement an interpreter for a complete imperative language
- fj-opsem: using the operational semantics meta-interpreter, develop and implement an interpreter for featherweight java
- javac-dcg - Assigned to Dusi, Amaducci and Garattoni: building a declarative parser for Java Compiler, using Prolog
- speed-2p: profile the performance of tuProlog engine, and evaluate improvements
- 2p-maude: Prolog and Maude can interact with each other, e.g. by sockets; this project should develop flexible libraries for both sides of the integration
- fast-match: Study and possibly develop faster matching mechanisms for Prolog, considering e.g. the red-black tree implementation of Maude
- petri-maude: Build in Maude an engine and property checker for some advanced Petri net model (e.g. colored Nets)
- rt-maude: Analyse the RealTime Maude system, and experiment on its use to model and check Stochastic Petri Nets
- pmaude - Assigned to Grandi: Analyse the Probabilistic Maude system (PMaude), and experiment on its use to model and check Stochastic Petri Nets
- meta-maude: 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.
- biosim - Assigned to Moretti: Consolidate an existing simulator for biochemical networks using a Prolog interpreter for chemical laws and a C++ engine implementing Gillespie algorithm
- alg-net: Realise in Prolog algorithms for the creation and growth of topological networks, to be used for simulation of morphogenesis processes
- art-chem: Using a chemical simulator, and starting from the Oregonator chemical system, design patterns of artificial chemical systems with usefulness for various problems in computer science
- prism-stopetri - Assigned to Domeniconi and Fabbri : Build a Java/Prolog tool for specifying stochastic Petri Nets, and for verification/simulation through translation in PRISM.
- prism-net - Assigned to Maggiulli and Vichi : Define an extension of PRISM in which a network of modules can be defined, with goal of modelling and simulating self-organisation of spatial systems: this is to be supported by a translation to standard PRISM.
- prism-dynanet : Use PRISM to simulate and verify properties of dynamic topological networks.
Note: some projects based on Sara Montagna's and Matteo Casadei's work will be added before Christmas vacations