UISH

Urban Intelligence Science Hub for City Network

Modello contrattuale di adesione al GDU

Si scorre con la rotella o trascinando il disegno; si ingrandisce con i pulsanti, con Ctrl e la rotella o con i tasti + e −. Il disegno in SVG · il modello in JSON, che si apre trascinandolo nell'editor dei diagrammi di flusso di PortLAB.

Come si legge

  • Rombo: una domanda, con la sua frase interrogativa accorciata; il testo intero è nella scheda Flusso.
  • Riquadro arrotondato: una risposta possibile; la freccia porta alla domanda che viene dopo o all'esito.
  • Terminale verde: un esito, con il suo titolo.

Che cosa fa chi usa la pagina

Nella scheda Flusso il percorso propone una domanda alla volta. Chi lo usa sceglie una risposta, e la risposta decide che cosa viene dopo: un'altra domanda o un esito, cioè una scheda con le indicazioni del Vademecum. Può tornare indietro di un passo o a un punto qualsiasi del percorso fatto, ricominciare, condividere con un collegamento il punto raggiunto e stamparlo. Il percorso non è uguale per tutti: lo costruiscono le risposte, e il grafo qui sopra li contiene tutti insieme.

Qui le domande sono 2 e gli esiti 11; per arrivare a un esito servono da una a 2 risposte.

Il grafo in numeri

Domande2
Risposte12
Esiti11
Nodi raggiunti da più di una domanda0
Formaalbero con radice
Cammini dalla prima domanda a un esito11
Risposte lungo un cammino1–2

Che oggetto matematico è

Dal punto di vista matematico il percorso è un grafo orientato. I nodi sono le domande e gli esiti, gli archi le risposte: ogni risposta va da una domanda alla domanda o all'esito che viene dopo. Il grafo ha una radice, la prima domanda, da cui si raggiunge ogni nodo, e gli esiti sono le foglie, i nodi da cui non esce niente. È aciclico: nessuna risposta riporta a una domanda già fatta. Un percorso fatto sulla pagina è un cammino dalla radice a una foglia. Nel disegno le risposte sono riquadri, per farne leggere il testo; per il grafo sono archi.

In questa pillola ogni nodo ha un genitore solo, quindi il grafo è un albero con radice (un'arborescenza): a ogni esito porta un solo cammino, e i cammini sono tanti quanti gli esiti, 11.

I cammini si contano senza elencarli: una foglia vale 1, e ogni domanda vale la somma dei nodi a cui portano le sue risposte. È programmazione dinamica su un grafo aciclico, e il conto parte dalle foglie.

Come lo gestisce il portale

I dati della pillola sono un file JSON per lingua (04-modjur/pillole/dati/08-modello_contrattuale.it.json) nel formato di flow-manager.ifac.cnr.it, dove gli autori hanno costruito il percorso: domande con le risposte e il nodo a cui porta ciascuna, esiti con titolo e testo in Markdown. Lo ha importato da lì, il 1° ottobre 2026, wsgi-scripts/importa_pillola.py; il 14 ottobre 2026 è stato corretto sui rilievi del 1° ottobre 2026, e da allora il file è la sorgente: reimportarlo cancellerebbe le correzioni. Ogni risposta deve portare a un nodo che esiste, ogni nodo deve essere raggiungibile dalla radice e non ci devono essere cicli (una visita in profondità che colora i nodi in tre stati: un arco verso un nodo ancora aperto chiude un ciclo): lo controlla il test node-tools/test/uish/pillole_test.js. Il server non espone il file: il PHP lo incorpora nella pagina, e il motore js/local/pillole.js rifà gli stessi controlli prima di presentare la prima domanda.

Il punto raggiunto sta nell'indirizzo, come sequenza degli indici delle risposte date (#percorso=1.0.2): in un grafo con radice è la descrizione più corta di un cammino, ed è per questo che un collegamento condiviso riapre lo stesso punto. La barra di avanzamento divide le risposte date per le risposte date più il cammino più lungo che resta da lì: dice quanto manca nel caso peggiore. Il test node-tools/test/uish/pillole_test.js ricontrolla il grafo di ogni JSON.

Il disegno

Il disegno lo genera node-tools/uish/grafi_decisioni.js dallo stesso JSON che usa la pagina, quindi non può divergere dal percorso vero: se il flusso cambia, si rigenera. Lo dispone js/common/flusso.js, il motore dell'editor dei diagrammi di flusso di PortLAB, con lo schema a livelli di Sugiyama, Tagawa e Toda (1981): ogni nodo sta sul livello del cammino più lungo che lo raggiunge, così nessuna freccia torna indietro; un arco che salta dei livelli passa per nodi fittizi, uno per livello; l'ordine dentro ogni livello segue il metodo del baricentro, che toglie gran parte degli incroci. Le risposte sono riquadri e non etichette sulle frecce perché le frecce che escono da un rombo si dividono i suoi lati, e con molte risposte le etichette finirebbero l'una sull'altra. Il flusso va da sinistra a destra: in questo verso i disegni di tutte le pagine occupano meno superficie.

K. Sugiyama, S. Tagawa, M. Toda, «Methods for visual understanding of hierarchical system structures», IEEE Transactions on Systems, Man, and Cybernetics 11(2), 109–125, 1981, doi:10.1109/TSMC.1981.4308636.

Keywords: contratto quadro modulare, contratto di adesione, adesione per relationem, clausole vessatorie, condizioni generali di contratto, gemello digitale urbano, proprietà intellettuale, banche dati, segreti commerciali, Data Act, AI Act, sandbox regolatoria, living lab, governance dei dati

Moreno Comelli, Ugo Cortesi, Valentina Colcelli & Alessandra Langella, CNR-IFAC, 2022-2026


Code & Design by CNR-IFAC - Core by PortLab