Introducere• Un limbaj de programare vizuală bazat pe agenți,
destinat pentru utilizatorii obişnuiţi, fără cunoştinţe speciale de programare
• Combină foi de calcul tabelar, agenți și tehnologii Java patentate (Ristreto) într-un mediu de programare care este intuitiv și transparent
• Tehnologia Ristreto permite partajarea aplicațiilor realizate în AgentSheets, sub formă de applet, pe un sit web
Introducere• Un agent:
o este un obiect programabil
o poate avea diverse aspecte (numite depictions)
o are un comportament determinat de reacția la un click de maus sau la apăsarea unei taste (mișcare în spațiul de lucru, schimbarea aspectului, emiterea unui sunet, calcularea unor formule etc.)
o poate interacționa cu alți agenți în spațiul de lucru organizat sub forma unei foi de calcul tabelar
• Limbajul de programare este bazat pe reguli (Visual AgenTalk)
• Condițiile, acțiunile și regulile sunt obiecte complete care pot fi explorate în orice moment al programării
Introducere• Programarea conversațională (paradigmă de
programare patentată) oferă feedback vizual imediat:o Este această condiție adevărată în acest moment, în contextul unui
agent particular?
o Poate fi executată această condiție în acest moment?
• Prin această metodă sistemul poate scoate în evidență (înainte de finalizarea programului) potențialele probleme sau oportunitățile
Exemple• Construiește podul:
o http://www.agentsheets.com/Applets/bridge-builder/index.html
• Simulare de procese:o http://www.agentsheets.com/Applets/pascals-adding-
machine/index.html
• Generarea și analiza datelor:o http://www.agentsheets.com/Applets/predators-and-prey/index.html
Mod de lucru• Realizarea unei aplicații pornește cu crearea unui
nou proiect
• Va apărea o casetă de dialog pentru specificarea dimensiunii unui agent, în pixeli
Definirea agenților• Toate obiectele din aplicație sunt agenți
Definirea agenților• Toți agenții vor apărea în galerie ca pătrățele
etichetate cu numele stabilit în pasul anterior
• Agentul poate avea mai multe aparențe, stabilind modul în care apare pe ecran
• Editarea unei aparențe se face cu ajutorul unui editor (dublu clic pe imaginea implicită atribuită unui agent în galerie sau butonul Edit depiction)
Definirea agenților
Crearea lumii simulării (a foii de calcul)
• Crearea unei foi de calcul se realizează cu opțiunea File/New Worksheet
• Pentru a pune un agent, se selectează agentul din galerie și se plasează în celula dorită. Pentru a plasa mai mulți agenți simultan (pentru fundal, de exemplu) se selectează mai multe celule
• După plasarea tuturor agenților, se va salva foaia de lucru
Crearea lumii simulării (a foii de calcul)
Comportamentul agenților
• Descrie ce știe să facă un agent
• Este exprimat prin reguli de tip dacă-atunci (if-then)care conțin condiții și acțiuni
• Mai multe reguli se pot grupa într-o metodă
• Descrierea comportamentului se face într-un editor care se pornește prin dublu clic pe zona albastră a unui agent în galerie sau clic pe butonul Edit behaviour
Comportamentul agenților
Comportamentul agenților
• Un editor de comportament poate conține un număr nelimitat de metode, compuse din reguli și un trigger (definește momentul când sunt verificate regulile)
• Ex: while running va determina metoda să verifice regulile la fiecare ciclu de rulare
Definirea regulilor• Se face combinând condiții și acțiuni pe editorul de
comportament
• Condițiile se preiau de pe paleta de condiții (Conditions Palette) iar acțiuniile de pe paleta de acțiuni (Actions Palette) accesibile fie via Tools/Conditions (Actions) Palette, fie via Conditions(Actions) Palette din parte de jos a editorului
Definirea regulilor
Acțiunile• Sunt operații pe care agenții le pot realiza:
mișcarea pe spațiul de lucru, modificarea aspectului, deschiderea unei pagini web, sunet
• Pot conține doi parametri:o Direcția în care se va executa acțiunea
o Aparența pe care o va avea agentul
• Acțiunile pot fi testate oricând și determină agentul să execute o dată comanda asociată
• Acțiunile pot fi explicate prin apăsarea butonului Explain
Condițiile• Sunt folosite pentru testarea circumstanțelor unui
agent
• Pot fi adevărate sau false
• Un agent poate folosi condiții pentru:o A testa prezența unor alți agenți în jurul lor
o A testa valorile atributelor
o Detectarea apăsării tastelor
o Detectarea mișcării mausului
• Pot fi testate în orice moment
• Pot fi explicate
Exemplu de reguli
Acționarea unei reguli• Verifică lista de reguli de sus în jos, în ordinea în care
sunt scrise
• Acționează prima regulă ale cărei condiții sunt adevărate. Toate acțiunile asociate regulii vor fi executate
• Regulile aflate sub regula executată în listă nu mai sunt verificate
• Schimbarea ordinii regulilor: se trage regula, ținând de eticheta then și se eliberează în locul dorit
Acționarea unei reguli
Rularea simulării• Regulile pot fi testate după crearea lor în editor
(butonul Apply)
• Pentru pornirea simulării se apasă butonul Run de pe foaia de lucru
• La baza editorului există un slider care poate varia viteza de simulare
Adăugarea de proprietăți• Sunt variabile accesibile tuturor agenților într-o
simulare
• Pot fi inspectate și editate de către utilizator prin editorul Simulation Properties
• Pot fi reprezentate grafic
Adăugarea de proprietăți• Exemplu: numărul total de persoane infectate
• Variabila trebuie incrementată de fiecare dată când o persoană este infectată
Regula finală
Vizualizarea grafică• Se lansează prin apăsarea butonului Plot de pe
editorul Simulation Property