La Sintassi di Trasformazione di Grafi (STG) è un linguaggio formale utilizzato per specificare le trasformazioni di grafi. Serve a descrivere in modo preciso come i grafi devono essere modificati, creando una corrispondenza tra un pattern (grafo di ricerca) e il grafo su cui opera la trasformazione, e poi sostituendo o modificando la parte corrispondente del grafo in base a regole definite.
Ecco alcuni aspetti importanti della STG:
Grafo di Pattern (grafo%20di%20Pattern): Definisce la struttura che la trasformazione deve cercare nel grafo di input. Include nodi, archi e condizioni che devono essere soddisfatte.
Grafo di Sostituzione (grafo%20di%20Sostituzione): Specifica come la parte del grafo che corrisponde al grafo di pattern deve essere modificata. Può includere la creazione di nuovi nodi e archi, la rimozione di elementi esistenti o la modifica delle proprietà dei nodi e degli archi.
Condizioni Applicative Negative (NAC) (Condizioni%20Applicative%20Negative): Restrizioni aggiuntive che devono essere soddisfatte prima che la trasformazione possa essere applicata. Permettono di evitare di applicare la trasformazione in situazioni indesiderate. Le NAC specificano i grafi che NON devono esistere nelle vicinanze della corrispondenza del grafo di pattern.
Regole di Trasformazione (Regole%20di%20Trasformazione): Combinano il grafo di pattern, il grafo di sostituzione e le eventuali NAC per definire una singola trasformazione.
Applicazione di Regole (Applicazione%20di%20Regole): Il processo di ricerca di corrispondenze per il grafo di pattern nel grafo di input, e quindi l'esecuzione della trasformazione definita nel grafo di sostituzione (se le NAC sono soddisfatte).
Strategie di Trasformazione (Strategie%20di%20Trasformazione): Definiscono l'ordine in cui le regole di trasformazione devono essere applicate. Possono essere sequenziali, iterative, o basate su priorità.
La STG è utilizzata in una varietà di campi, tra cui:
L'uso della STG permette una descrizione concisa e formalmente precisa delle trasformazioni di grafi, facilitando l'analisi, la verifica e l'implementazione automatica di tali trasformazioni.