BBT Rules Engine V2.0

Nuova architettura

Con questa versione si è raggiunto un obiettivo estremamente importante: fornire all' esperto un tool che gli consenta di crearsi in totale autonomia un prototipo di fatto assimilabile ad un prodotto finito se le informazioni da gestire sono completamente contenute sul modello.

Di seguito lo schema che rappresenta la nuova architettura della BBT:

 

 

Model Data: definisce la Knowledge Base. In dettaglio:

  • Elementi o oggetti a cui si applicano regole;
  • Regole di decisione;
  • Regole di validità;

Application Page Layout: template C# che consente di definire la struttura della pagina Web dell' applicazione;
Model Page: definizione della pagina in termini di campi, command button, ...;
Web Page Generator: modulo che, in base alle info contenute in , genera in automatico la pagina Web;
Rules Engine: motore che, in base alle regole definite, consente di ritornare risposte alle domande ricevute;
User Methods: libreria di metodi creati dall' utente, da interpretarsi come comandi aggiuntivi creati dall' utente;

Già nella fase di costruzione del Modello si può definire il layout della pagina WEB (una sola pagina, più TAB in orizzontale, più TAB in varticale) e costruire quella sezione di modello utile al Rule Engine per crearla in automatico: la pagina che si ottiene potrebbe non essere quella finale nell' ipotesi in cui la si voglia estendere al mondo esterno, ma sarà sicuramente di medio/alto livello per l' uso interno ai fini di testare l' applicazione.

 

Quali sono le novità

 

Creazione automatica della pagina WEB

Creazione automatica della pagina WEB. Questa può essere definita sul modello (vedasi il manuale) associando ad ogni elemento il controllo più adatto:

  • Select: è un controllo drop down list. Si può scegliere quale informazione visualizzare (nome della colonna), inclusa l' immagine;
  • Grid: è un controllo griglia. Si definiscono le colonne che si vogliono visualizzare;
  • Number: è un controllo numerico editabile;
  • Text Box: è un controllo stringa editabile;
  • Text Area: è un controllo stringa editabile utile per editare o visualizzare testi di una certa dimensione;
  • Label: è un controllo che consente di visualizzare una label o un breve testo;
  • Carousel: è un controllo che consente di visualizzare una galleria di immagini associate ai valori di un elemento. L' immagine è selezionabile come il corrispondente valore dell' elemento;
  • Image: è un controllo immagine che consente di visualizzare l' immagine associata ad un valore dell' elemento;
  • Button: è un controllo command button che può attivare regole di decisione;
  • Proprietà Required: identifica l' elemento come obbligatorio (deve essere valorizzato al fine di rendere congruente o accettabile una soluzione proposta come potrebbe essere una configurazione). Se Required, sulla sinistra della label dell' elemento viene riportato un '*';
  • Proprietà ReadOnly: consente di rendere un controllo non editabile ma solo visualizzabile;
  • Proprietà Empty & Span: consentono una formattazione della pagina;

 

 

Nuovi Metodi STD

La libreria dei Metodi STD include da nuovi metodi per:

  • Valorizzazione della soluzione (ad esempio valorizzazione di una configurazione);
  • Verifica della congruenza della soluzione (ad esempio verifica della congruenza di una configurazione);
  • Gestione della messagistica: sono presenti le tipologie di messaggio Generico (segnalazioni), Warning (avvisi di errore), Vocali (segnalazioni, avvisi, help, ...);
  • Composizione di testi: sfruttando le regole (sia di decizione che di selezione) è possibile comporre dei testi variabili in funzione del contesto. Ad esempio nel caso di una configurazione si può generare una descrizione tecnica automatica, nel caso di un WorkFlow si può descrivere il percorso e così via;

 

Implementazione delle regole (entrambe le tipologie)

Queste le novità sulle regole:

  • Proprietà IsActive: consente di disattivare una regola. Questo è molto utile in fase di test del prototipo quando si hanno molte regole (sopratutto regole di selezione) ed il risultato non coincide con le aspettative;
  • Filtro sulle caratteristiche: possibilità di inserire nelle regole le caratteristiche degli elementi e non più solo la loro chiave. Se gli elementi vengono organizzati e strutturati bene, l' effetto è la riduzione di regole necessarie alla soluzione e, sopratutto, la drastica riduzione di righe necessarie o dimensione delle regole stesse;
  • Attivazione dei metodi: l' uscita di una regola può essere sia la selezione di un elemento che l' attivazione di un metodo. Ovviamente questa possibilità è vera solo per le regole di decisione;

 

Road Map: verso la V3.0

 

  • Regole che contemplino i numerici: attualmente si può sopperire utilizzando i metodi;
  • Possibilità di attivare una regola da una regola: attualmente da una regola si possono attivare solo i metodi;
  • Creazione di una interfaccia 'user friendly' per la gestione del modello: ad oggi si utilizza XLS. Excel, pur essendo quasi sicuramente lo strumento più utilizzato, presenta limitazioni sopratutto nella fase di controllo della congruenza delle attività;

 

Road Map: verso la V4.0

 

  • Implementazione della sintesi vocale: di interesse sostanzialmente per le APP;
  • Rendere dinamico il motore Rule Engine: questo significa renderlo capace di creare regole in autonomia durante la sua sessione di lavoro, di gestirle e memorizzarle per utilizzarle nelle successive sessioni;