+ All Categories
Home > Documents > Programare Vizualăloredanau/teaching/PV/PV-C3.pdf · • Este exprimat prin reguli de tip...

Programare Vizualăloredanau/teaching/PV/PV-C3.pdf · • Este exprimat prin reguli de tip...

Date post: 19-Jan-2020
Category:
Upload: others
View: 16 times
Download: 1 times
Share this document with a friend
26
Programare Vizuală AgentSheets Dr.ing. Loredana STANCIU [email protected]
Transcript
Page 1: Programare Vizualăloredanau/teaching/PV/PV-C3.pdf · • Este exprimat prin reguli de tip dacă-atunci (if-then) care conțin condiții și acțiuni • Mai multe reguli se pot grupa

ProgramareVizuală

AgentSheetsDr.ing. Loredana STANCIU

[email protected]

Page 2: Programare Vizualăloredanau/teaching/PV/PV-C3.pdf · • Este exprimat prin reguli de tip dacă-atunci (if-then) care conțin condiții și acțiuni • Mai multe reguli se pot grupa

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

Page 3: Programare Vizualăloredanau/teaching/PV/PV-C3.pdf · • Este exprimat prin reguli de tip dacă-atunci (if-then) care conțin condiții și acțiuni • Mai multe reguli se pot grupa

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

Page 4: Programare Vizualăloredanau/teaching/PV/PV-C3.pdf · • Este exprimat prin reguli de tip dacă-atunci (if-then) care conțin condiții și acțiuni • Mai multe reguli se pot grupa

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

Page 5: Programare Vizualăloredanau/teaching/PV/PV-C3.pdf · • Este exprimat prin reguli de tip dacă-atunci (if-then) care conțin condiții și acțiuni • Mai multe reguli se pot grupa

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

Page 6: Programare Vizualăloredanau/teaching/PV/PV-C3.pdf · • Este exprimat prin reguli de tip dacă-atunci (if-then) care conțin condiții și acțiuni • Mai multe reguli se pot grupa

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

Page 7: Programare Vizualăloredanau/teaching/PV/PV-C3.pdf · • Este exprimat prin reguli de tip dacă-atunci (if-then) care conțin condiții și acțiuni • Mai multe reguli se pot grupa

Definirea agenților• Toate obiectele din aplicație sunt agenți

Page 8: Programare Vizualăloredanau/teaching/PV/PV-C3.pdf · • Este exprimat prin reguli de tip dacă-atunci (if-then) care conțin condiții și acțiuni • Mai multe reguli se pot grupa

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)

Page 9: Programare Vizualăloredanau/teaching/PV/PV-C3.pdf · • Este exprimat prin reguli de tip dacă-atunci (if-then) care conțin condiții și acțiuni • Mai multe reguli se pot grupa

Definirea agenților

Page 10: Programare Vizualăloredanau/teaching/PV/PV-C3.pdf · • Este exprimat prin reguli de tip dacă-atunci (if-then) care conțin condiții și acțiuni • Mai multe reguli se pot grupa

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

Page 11: Programare Vizualăloredanau/teaching/PV/PV-C3.pdf · • Este exprimat prin reguli de tip dacă-atunci (if-then) care conțin condiții și acțiuni • Mai multe reguli se pot grupa

Crearea lumii simulării (a foii de calcul)

Page 12: Programare Vizualăloredanau/teaching/PV/PV-C3.pdf · • Este exprimat prin reguli de tip dacă-atunci (if-then) care conțin condiții și acțiuni • Mai multe reguli se pot grupa

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

Page 13: Programare Vizualăloredanau/teaching/PV/PV-C3.pdf · • Este exprimat prin reguli de tip dacă-atunci (if-then) care conțin condiții și acțiuni • Mai multe reguli se pot grupa

Comportamentul agenților

Page 14: Programare Vizualăloredanau/teaching/PV/PV-C3.pdf · • Este exprimat prin reguli de tip dacă-atunci (if-then) care conțin condiții și acțiuni • Mai multe reguli se pot grupa

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

Page 15: Programare Vizualăloredanau/teaching/PV/PV-C3.pdf · • Este exprimat prin reguli de tip dacă-atunci (if-then) care conțin condiții și acțiuni • Mai multe reguli se pot grupa

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

Page 16: Programare Vizualăloredanau/teaching/PV/PV-C3.pdf · • Este exprimat prin reguli de tip dacă-atunci (if-then) care conțin condiții și acțiuni • Mai multe reguli se pot grupa

Definirea regulilor

Page 17: Programare Vizualăloredanau/teaching/PV/PV-C3.pdf · • Este exprimat prin reguli de tip dacă-atunci (if-then) care conțin condiții și acțiuni • Mai multe reguli se pot grupa

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

Page 18: Programare Vizualăloredanau/teaching/PV/PV-C3.pdf · • Este exprimat prin reguli de tip dacă-atunci (if-then) care conțin condiții și acțiuni • Mai multe reguli se pot grupa

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

Page 19: Programare Vizualăloredanau/teaching/PV/PV-C3.pdf · • Este exprimat prin reguli de tip dacă-atunci (if-then) care conțin condiții și acțiuni • Mai multe reguli se pot grupa

Exemplu de reguli

Page 20: Programare Vizualăloredanau/teaching/PV/PV-C3.pdf · • Este exprimat prin reguli de tip dacă-atunci (if-then) care conțin condiții și acțiuni • Mai multe reguli se pot grupa

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

Page 21: Programare Vizualăloredanau/teaching/PV/PV-C3.pdf · • Este exprimat prin reguli de tip dacă-atunci (if-then) care conțin condiții și acțiuni • Mai multe reguli se pot grupa

Acționarea unei reguli

Page 22: Programare Vizualăloredanau/teaching/PV/PV-C3.pdf · • Este exprimat prin reguli de tip dacă-atunci (if-then) care conțin condiții și acțiuni • Mai multe reguli se pot grupa

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

Page 23: Programare Vizualăloredanau/teaching/PV/PV-C3.pdf · • Este exprimat prin reguli de tip dacă-atunci (if-then) care conțin condiții și acțiuni • Mai multe reguli se pot grupa

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

Page 24: Programare Vizualăloredanau/teaching/PV/PV-C3.pdf · • Este exprimat prin reguli de tip dacă-atunci (if-then) care conțin condiții și acțiuni • Mai multe reguli se pot grupa

Adăugarea de proprietăți• Exemplu: numărul total de persoane infectate

• Variabila trebuie incrementată de fiecare dată când o persoană este infectată

Page 25: Programare Vizualăloredanau/teaching/PV/PV-C3.pdf · • Este exprimat prin reguli de tip dacă-atunci (if-then) care conțin condiții și acțiuni • Mai multe reguli se pot grupa

Regula finală

Page 26: Programare Vizualăloredanau/teaching/PV/PV-C3.pdf · • Este exprimat prin reguli de tip dacă-atunci (if-then) care conțin condiții și acțiuni • Mai multe reguli se pot grupa

Vizualizarea grafică• Se lansează prin apăsarea butonului Plot de pe

editorul Simulation Property


Recommended