Skip to content

EcaRules4Kitchen

Inserimento delle regole nel RuleEngine

Per raggiungere i nodi foglia terminali bisogna prima visitare l’albero in profondità, ma gestendo opportunamente le casistiche dei vari tipi di nodo. Per questo scopo è stato creato un metodo chiamato AddTreeRules che prende come parametro il nodo radice dell’albero. Il metodo scorre tutti i figli presenti in quel nodo e, per ogni nodo, compie diversi controlli. Prima bisogna controllare che il nodo in questione non sia completato e che sia di tipo Leaf (se è Leaf contiene per forza delle regole), altrimenti viene chiamata la funzione ricorsivamente. Se si giunge ad un nodo che non è stato completato ed è Leaf allora la regola al suo interno viene analizzata e, se non era già presente, inserita nell’EcaRuleEngine. Se il nodo è di tipo Sequence esce dal ciclo, in maniera tale da inserire nelle regole attive soltanto il suo primo figlio.
Entrando più nel dettaglio è possibile analizzare come il metodo ParseRule funziona. Tale funzione prende come parametro una JsonEcaRule e da questa iniziare ad analizzarne le parti in maniera separata. Vengono chiamati i metodi ParseAction sia per l’event che l’actions e il metodo ParseCondition per le condizioni. Alla fine viene ritornata una nuova EcaRule.
Andando a vedere il metodo ParseAction, questo prende una JsonEcaAction e restituisce una EcaAction. Prima di tutto prende il tipo del Subj e il riferimento al suo game object contenente tutte le informazioni; subito dopo viene chiamato il metodo ByVerb che prende il game object precedente e il verbo della regola analizzata (sia il verbo dell’event o delle actions), questa funzione cerca in ogni componente del game object se è definito il verbo della regola, se lo trova restituisce una lista di duple EcaActionAttribute, MethodInfo, che viene assegnata ad una variabile temporanea. Per ogni dupla nella lista vengono presi i diversi valori dei game object e poi, prima di restituire la EcaRule, gli vengono settati gli attributi con i parametri trovati.
Il metodo ParseAction viene chiamato sia per l’event che per le actions perché posseggono gli stessi attributi (Subj, Verb, DirObj, Val, SpecVal).
Una volta fatto ottenuta, la regola viene inserita all’interno dell’EcaRuleEngine e viene sottoscritto un ascoltatore per la regola in questione, controllando eventuali duplicati. Alla fine, non appena avviato il gioco si avranno otto regole attive nel RuleEngine, le prime quattro verdi e le prime quattro viola dell’albero concettuale.

Questo brano è tratto dalla tesi:

EcaRules4Kitchen

CONSULTA INTEGRALMENTE QUESTA TESI

La consultazione è esclusivamente in formato digitale .PDF

Acquista

Informazioni tesi

  Autore: Andrea Dore
  Tipo: Laurea I ciclo (triennale)
  Anno: 2021-22
  Università: Università degli Studi di Cagliari
  Facoltà: Scienze e Tecnologie Informatiche
  Corso: Informatica
  Relatore: Lucio Davide Spano
  Lingua: Italiano
  Num. pagine: 48

FAQ

Per consultare la tesi è necessario essere registrati e acquistare la consultazione integrale del file, al costo di 29,89€.
Il pagamento può essere effettuato tramite carta di credito/carta prepagata, PayPal, bonifico bancario.
Confermato il pagamento si potrà consultare i file esclusivamente in formato .PDF accedendo alla propria Home Personale. Si potrà quindi procedere a salvare o stampare il file.
Maggiori informazioni
Ingiustamente snobbata durante le ricerche bibliografiche, una tesi di laurea si rivela decisamente utile:
  • perché affronta un singolo argomento in modo sintetico e specifico come altri testi non fanno;
  • perché è un lavoro originale che si basa su una ricerca bibliografica accurata;
  • perché, a differenza di altri materiali che puoi reperire online, una tesi di laurea è stata verificata da un docente universitario e dalla commissione in sede d'esame. La nostra redazione inoltre controlla prima della pubblicazione la completezza dei materiali e, dal 2009, anche l'originalità della tesi attraverso il software antiplagio Compilatio.net.
  • L'utilizzo della consultazione integrale della tesi da parte dell'Utente che ne acquista il diritto è da considerarsi esclusivamente privato.
  • Nel caso in cui l’utente che consulta la tesi volesse citarne alcune parti, dovrà inserire correttamente la fonte, come si cita un qualsiasi altro testo di riferimento bibliografico.
  • L'Utente è l'unico ed esclusivo responsabile del materiale di cui acquista il diritto alla consultazione. Si impegna a non divulgare a mezzo stampa, editoria in genere, televisione, radio, Internet e/o qualsiasi altro mezzo divulgativo esistente o che venisse inventato, il contenuto della tesi che consulta o stralci della medesima. Verrà perseguito legalmente nel caso di riproduzione totale e/o parziale su qualsiasi mezzo e/o su qualsiasi supporto, nel caso di divulgazione nonché nel caso di ricavo economico derivante dallo sfruttamento del diritto acquisito.
L'obiettivo di Tesionline è quello di rendere accessibile a una platea il più possibile vasta il patrimonio di cultura e conoscenza contenuto nelle tesi.
Per raggiungerlo, è fondamentale superare la barriera rappresentata dalla lingua. Ecco perché cerchiamo persone disponibili ad effettuare la traduzione delle tesi pubblicate nel nostro sito.
Per tradurre questa tesi clicca qui »
Scopri come funziona »

DUBBI? Contattaci

Contatta la redazione a
[email protected]

Ci trovi su Skype (redazione_tesi)
dalle 9:00 alle 13:00

Oppure vieni a trovarci su

Parole chiave

c++
albero
regole
combinazioni
ingredienti
json
unity
ecarules4kithcen
operatori temporali
github

Tesi correlate


Non hai trovato quello che cercavi?


Abbiamo più di 45.000 Tesi di Laurea: cerca nel nostro database

Oppure consulta la sezione dedicata ad appunti universitari selezionati e pubblicati dalla nostra redazione

Ottimizza la tua ricerca:

  • individua con precisione le parole chiave specifiche della tua ricerca
  • elimina i termini non significativi (aggettivi, articoli, avverbi...)
  • se non hai risultati amplia la ricerca con termini via via più generici (ad esempio da "anziano oncologico" a "paziente oncologico")
  • utilizza la ricerca avanzata
  • utilizza gli operatori booleani (and, or, "")

Idee per la tesi?

Scopri le migliori tesi scelte da noi sugli argomenti recenti


Come si scrive una tesi di laurea?


A quale cattedra chiedere la tesi? Quale sarà il docente più disponibile? Quale l'argomento più interessante per me? ...e quale quello più interessante per il mondo del lavoro?

Scarica gratuitamente la nostra guida "Come si scrive una tesi di laurea" e iscriviti alla newsletter per ricevere consigli e materiale utile.


La tesi l'ho già scritta,
ora cosa ne faccio?


La tua tesi ti ha aiutato ad ottenere quel sudato titolo di studio, ma può darti molto di più: ti differenzia dai tuoi colleghi universitari, mostra i tuoi interessi ed è un lavoro di ricerca unico, che può essere utile anche ad altri.

Il nostro consiglio è di non sprecare tutto questo lavoro:

È ora di pubblicare la tesi