Lido

  • Aumenta dimensione caratteri
  • Dimensione caratteri predefinita
  • Diminuisci dimensione caratteri
Home Ricerca APX - Agent Programming eXtensions

APX - Agent Programming eXtensions

Che Cosa Sono?
Le Agent Programming eXtensions sono delle estensioni al linguaggio di programmazione C# che introducono i concetti chiave per il modello ad agenti adottato da AgentService nella sintassi e nella semantica del linguaggio.
L'utilizzo di APX semplifica e rende più rapido lo sviluppo di applicazioni ad agenti per AgentService.
Le APX applicano in maniera automatica molti dei pattern di programmazione richiesti dal fraemwork offrendo una sintassi più semplice.
Molti degli errori che senza l'impiego delle estensioni verrebbero rilevati della piattaforma a tempo di esecuzione sono rilevate come errori semantici a tempo di compilazione.
Le estensioni introducono all'interno della sintassi e della semantica del linguaggio i seguenti elementi:

  • il concetto di agente rappresento dal costrutto agent
  • il concetto di base di conoscenza rappresentato dal costrutto knowledge
  • il concetto di comportamento rappresentato dal costrutto behaviour
Le estensioni permettono di concentrare l'attenzione dello sviluppatore sugli aspetti specifici degli agenti che si definiscono nascondendo gli aspetti architetturali del framework che sono automaticamente implementati.
Un ulteriore vantaggio delle estensioni è quello di effettuare controlli semantici aggiuntivi che permettono la produzione di applicazioni ad agenti limitando gli errori di programmazione.

Archietttura del Compilatore

Per rendere effettivo l'utilizzo delle estensioni è stata implementata una versione prototipale del compilatore.
Il compilatore è stato implementato estendendo le funzionalità del compilatore C# disponibile con l'implementazione shared source della CLI: Rotor.
Il compilatore è in grado di compilare sia sorgenti C# che sorgenti che presentano le estensioni.
La figura alla destra mostra una visione di insieme del compilatore: per introdurre le estensioni è sono state effettuate delle modifiche al parser ed al lexer.
Un analizzatore semantico aggiuntivo è stato aggiunto a valle dell'analisi semantica del compilatore C#.
Questo componente si occupa di effettuare i controlli semantici aggiuntivi richiesti dal framework come ad esempio la verifica della consistenza degli accessi alle knowledge.
 

RIcerca