PORTALE DELLA DIDATTICA

Ricerca CERCA
  KEYWORD

DAUIN - GR-24 - SMILIES - reSilient coMputer archItectures and LIfE Sci

A new language for designing synthetic life

Parole chiave COMPILATORI, LINGUAGGI DI PROGRAMMAZIONE, PROGRAMMAZIONE, SYNTHETIC BIOLOGY, SYSTEMS BIOLOGY

Riferimenti STEFANO DI CARLO, ALESSANDRO SAVINO

Riferimenti esterni Leonardo Giannantoni (leonardo.giannantoni@polito.it)

Gruppi di ricerca DAUIN - GR-24 - SMILIES - reSilient coMputer archItectures and LIfE Sci

Tipo tesi APPLICATIVA, SPERIMENTALE, SPERIMENTALE - PROGETTAZIONE, SPERIMENTALE E MODELLAZIONE, SVILUPPO SOFTWARE

Descrizione  La biologia sintetica è un'area di studi interdisciplinare che ha come obiettivo la creazione di nuove parti e sistemi biologici, o la riprogettazione di sistemi già esistenti in natura, con lo scopo di dotarli di nuove abilità. La biologia sintetica è strettamente connessa alla biologia dei sistemi, cioè, all'analisi e modellazione computazionale di sistemi biologici complessi.

La modellazione di sistemi biologici richiede il funzionamento congiunto di molti sotto-domini diversi in un stesso modello, e la comunicazione tra essi. Tuttavia per ogni specifico sotto-dominio esiste un diverso linguaggio di specifica.

Il nostro gruppo di ricerca lavora alla creazione di un linguaggio unico in grado di modellare sistemi biologici complessi. Mentre la maggior parte dei linguaggi esistenti si ispira alla sintassi dell'XML, noi abbiamo scelto un formato più umano e che potesse conformarsi anche alle abilità dei biologi. È un linguaggio progettato per nascondere completamente il formalismo (Nets-within-Nets), spostando il focus su accessibilità e standardizzazione.

Il prossimo passo è rendere il nostro linguaggio
1. automodificante
2. in grado di descrivere sistemi (virtualmente) infinitamente annidati

A tal fine lo scopo di questa tesi è la riprogettazione del nostro linguaggio in modo che sia omoiconico.
Un linguaggio omoiconico presenta varie proprietà interessanti
* supporto semplice e diretto di strutture dati ad albero
* programmi costituiti da istanze composte e annidate di tali strutture dati
* programmi e strutture dati esplicitamente rappresentati "a schermo" con una sintassi human-friendly
In sintesi, la manipolazione di programmi (anche da parte di altri programmi) diventa triviale.
Un esempio di linguaggio omoiconico è il Lisp, la cui semantica è direttamente deifinita tramite S-expressions, strutture dati ad albaero semplici e componibili. I programmi scritti in Lisp sono essi stessi S-expressions e possono essere composti con/come dati.

Conoscenze richieste * Linguaggi formali e compilatori
* Programmazione a oggetti


Scadenza validita proposta 30/10/2023      PROPONI LA TUA CANDIDATURA