Specificarea Sistemelor Software Prin Retele Petri
CUPRINS
SPECIFICAREA SISTEMELOR SOFTWARE PRIN REȚELE PETRI
ASPECTE METODICE
Argument
Cap.I Specificarea sistemelor software prin rețelele Petri
1 Dezvoltarea software-rului
2. Conceptul software și faza de initiere
3. Tehnici structurate de proiectare
4. Metode Formale
Cap. II. Descrierea Rețelelor Petri
1.Modele tranziționale
2. Caracteristici structurale ale Rețelelor Petri
3. Abordarea arhitecturală
4. Modele de tip rețea Petri ne temporizată
5. Modelarea cu rețele Petri ordinare
6. Rețele cu tranziții temporizate
7.Construirea rețelei Petri exemple
Cap.III. Elemente de Didactică și Metodică
1 Reforma învățământului românesc
2. Procesul de predare-învățare
3 Educația Permanentă. Componentele Educației. Autoeducația
4. Educația Impactul lumii contemporane asupra educației
Cap.IV Metodica predării informaticii
1.Metode, tehnici, procedee didactice
Proiecte didactice
Concluzii
Bibliografie
ARGUMENT
Creșterea în complexitate a sistemelor industriale moderne, precum producția, controlul procesului, sisteme de comunicații , a indus apariția a numeroase probleme privind dezvoltarea acestora. În faza de planificare apare confruntarea cu capabilitățile crescute ale acestor sisteme, datorită combinațiilor unice de hardware și software care operează sub un număr mare de constrângeri ce rezultă din resursele limitate ale sistemului. În condițiile naturii complexe și intensive a capitalului sistemelor moderne industriale, designul și operarea acestora necesită modelare și analiză pentru selectarea alternativei optime de design și a politicii de operare. Este binecunoscut faptul că fluxul în procesul de modelare poate contribui substanțial la timpul și costul de dezvoltare. Chiar și eficiența operațională poate fi afectată.
Din acest motiv, o atenție specială trebuie acordată corectitudinii modelor care sunt folosite la toate nivelurile de planificare.
Ca unelte grafice și matematice, rețelele Petri asigură un mediu uniform pentru modelare, analiză formală și design al sistemelor cu evenimente discrete. Unul dintre principalele avantaje al folosirii rețelelor Petri îl constituie faptul că același model este folosit atât pentru analiza proprietăților comportamentale și evaluarea performanțelor, cât și pentru construcția sistematică a simulatoarelor și controlerelor cu evenimente discrete. Rețelele Petri au fost numite după Carl A. Petri, care a creat în 1962 o unealtă matematică sub formă de rețea pentru studiul comunicării cu automatele. Dezvoltarea lor ulterioară a fost ușurată de faptul că rețelele Petri pot fi folosite pentru modelarea unor proprietăți precum sincronizarea proceselor, evenimente asincrone, operații concurente, rezolvarea conflictelor sau partajarea resurselor. Aceste proprietăți caracterizează sistemele cu evenimente discrete care includ sistemele automate industriale, sistemele de comunicare și sistemele bazate pe calculator. Toate acestea transformă rețelele Petri într-o unealtă promițătoare și o tehnologie pentru aplicații în automatizări industriale.
Ca unealtă grafică, rețelele Petri asigură un puternic mediu de comunicare între utilizator (de regulă, inginer) și client. Cerințele complexe din caietele de sarcini pot fi reprezentate grafic folosind rețele Petri în locul unor descrieri textuale ambigue sau al unor notații matematice dificil de înțeles de către client.
Acest aspect, combinat cu existența unor unelte computerizate care permit simularea grafică interactivă a rețelelor Petri, asigură inginerilor de dezvoltare o unealtă puternică ce să îi asiste în procesul de dezvoltare al sistemelor complexe.
CAPITOLUL I
SPECIFICAREA SISTEMELOR SOFTWARE PRIN REȚELE PETRI
1. DEZVOLTAREA SOFTWARE-ULUI
Preferințele pentru a dezvolta un sistem software dependent de siguranța critică este de a dezvolta un mediu structurat și o organizație care să utilizeze metode definite pentru această abordare.
Următoarele cerințe au intenția de a aduce în atenție regulile cardinale pentru siguranța, faptul că nu un eveniment singur sau o singură acțiune poate iniția un eveniment potențial de hazard și că sistemul, după detectarea unei condiții sau comenzi care nu prezintă siguranța va inhiba o potențială secvență de evenimente și va demara proceduri și funcții pentru a aduce sistemul la o stare sigură.
Scopul pentru aceasta secțiune este de a descrie activitățile software care vor fi încorporate în fazele de dezvoltare software ale unui proiect dat.
Termenul de componente software este utilizat în sens general pentru a reprezenta produsele de dezvoltare software ca cerințelor software, proiectarea software, codul software sau mulțimea de programe, testele software.
1.1 CONCEPTUL SOFTWARE ȘI FAZA DE INIȚIERE
Pentru cele mai multe proiecte, aceasta fază din ciclul de viață implică cerințe la nivel de sistem și dezvoltarea proiectării. În consecință, activitatea acelor proiecte pe parcursul acestei faze este concentrată pe nivelul subsisteme; de zvoltarea software având mai multe sarcini care trebuie inițializate. Acestea includ crearea unor importante documente software și planificarea, care va determina cum, când, ce produse importante software vor fi produse sau care sunt activitățile care trebuie realizate pentru un Software de siguranță.
1.2 FAZA CERINȚELOR DE SIGURANȚA
Costul corectării erorilor și defectelor software creste dramatic odată cu progresarea în ciclul de viață al acestuia. Este important deci, ca implementările să fie făcute corect și corectarea erorilor să se producă cât mai repede în acest ciclu de viață, chiar din prima fază. Din nefericire, este practic imposibil să poată avea loc o eliminare completă a erorilor sau a defectelor care apar pe diferitele nivele ale implementărilor produsului.
Dezvoltarea software trebuie să-și propună două scopuri importante:
(1) Dezvoltarea completă și corectă a cerințelor și un cod corect;
(2) Proiectare tolerantă la defecte, care detectează și compensează defectele software “on the fly”;
Cerințele de siguranță ale software-ului pot fi top-down (extrase din cerințele sistemului) și /sau bottom–up (derivate din analiza hazardului). În anumite organizații, fluxul top-down este singurul permis pentru satisfacerea cerințelor de către software, caz în care cerințele de securitate derivate bottom-up trebuie să se întoarcă în specificația sistemului.
Cerințele componentelor software sunt exprimate, tipic ca funcții cu intrări, procesări și ieșiri corespunzătoare, la care se adaugă cerințele de interfață, limite, domenii, precizie, acuratețe și performanță. Acestea pot fi, de asemenea, cerute și de la setul de programe – atributeți relații, printre altele.
Cerințele de siguranță software sunt derivate din cerințele de siguranță ale sistemului și ale subsistemelor pentru a atenua hazardurile identificate în faza Preliminară, a Analizelor Hazardului în Subsisteme și Sistem.
În consecință, sistemul de siguranța direcționează cerințele spre ingineria SISTEMELOR. Grupul ingineriei SISTEMELOR și grupul de dezvoltare software au responsabilitatea de a coordona și negocia cerințele, care trebuie sa fie consistente cu cerințele de siguranța.
Organizarea cerințelor de securitate impune crearea următoarelor documente:
Documentul Cerințelor Software (SRD); în acest document trebuire identificate clar toate cerințele legate de siguranța;
– Specificația Interfețelor Software (SIS) sau Documentul Controlului Interfețelor (ICD);
Activitățile SIS identifica, definesc și documentează cerințele interne ale interfețelor pentru șistemele în care rezida software-ul și între șisteme (incluzând interfețele operator și hardware) subșistemele, componentele program și operațiile procedurale.
Sunt cazuri în care SIS este conținut efectiv în SRD sau este definit împreuna cu ICD care definește toate interfețele sistem, care include hardware la hardware, hardware la software și software la software.
Dezvoltarea cerințelor de siguranța software
Cerințele de siguranța software sunt obținute din mai multe surse și în principiu sunt de doua tipuri: generice și specifice.
Categoria generica a cerințelor de siguranța software este derivata din mulțimea cerințelor care pot fi utilizate în diferite programe și medii pentru a rezolva problemele comune de siguranța.
Cerințele specifice sunt limitări sau capabilități funcționale definite numai pentru sistemul în cauza și care sunt definite în trei moduri:
1) printr-o analiza top-down a proiectării cerințelor (din specificatie). Cerințele sistem pot identifica capacitatea sistemului de a face fața la hazard și specifica funcțiile sistemului, care sunt critice din punct de vedere al siguranței. Organizația care proiectează siguranța sistemului participa, în aceasta faza, prin activități legate de reprezentarea acestor cerințe în software.
2) Din faza de Analiza Preliminara a Hazardului (PHA): faza care are o introspecție a sistemului din punct de vedere al hazardului. Cauzele preliminare sunt reprezentate în software sau interacționează cu acesta. Caracteristicile de control al hazardului sunt identificate și specificate ca cerințe pentru software.
3) Din analiza bottom-up a proiectării datelor (diagrame de flux, arbori de eroare etc.)
Implementările proiectului permise, dar nu anticipate de cerințele sistemului, sunt analizate și va rezulta identificarea unor noi potențiale cauze de hazard. Software-ul de control al hazardului este specificat atunci când cauzele acestuia se reprezintă în software sau interacționează cu acesta.
1.3 Cerințele de siguranță
Cerințele generice de siguranță sunt stabilite apriori și sunt plasate în specificațiile sistem și /sau pretutindeni în specificațiile de proiectare. De aici sunt deplasate pe unitatea nivelului celui mai de jos și în specificațiile modulului.
Cerințele de siguranța derivate din analiza bottom -up sunt deplasate din subșisteme și componente la nivelul cerințelor sistemului. Acest nou nivel sistem urmează apoi parcursul invers prin toate subșistemele afectate. Pe parcursul Fazei de Cerințe sistem, subșistemele și componentele pot fi încă aproximativ definite, caz în care, analiza bottom -up poate sa nu fie posibilă pe parcursul Fazei de Proiectare a Arhitecturii sau chiar nici mai târziu.
Analiza fluxului cerințelor de siguranța a software-ului verifica tocmai daca cerințele de siguranța au fost plasate corect în specificații.
1.3.1Cerințele generice de siguranța ale software
Categoria de cerințe generice de siguranța ale software sunt derivate din mulțimea de cerințe și din cele mai bune practici utilizate în diferite programe și medii pentru a soluționa problemele uzuale, comune ale siguranței software. Șimilar, platformele /procesoarele și /sau software pot suferi probele de proiectare șimilare sau chiar identice. Cerințele generice ale siguranței software preia aceste cunoștințe deja obținute și furnizează resurse semnificative pentru proiectanți.
Cerințele generice previn duplicarea costurilor prin utilizarea avantajului tehnicilor de probare și al cunoștințelor învățate, mai degrabă decât reinventarea tehnicilor și repetarea erorilor.
Cele mai multe programe de dezvoltare trebuie sa fie capabile sa livreze un set de cerințe generice, dar acestea trebuie manevrate cu mare atenție.
Odată cu evoluția tehnologiei sau a implementărilor de tipuri noi de aplicații, apar noi cerințe generice, și devin disponibile alte surse de astfel de cerințe.
Este data o lista parțială pentru sursele de cerințe generice:
– NSTS 199943 Command Requirements and Guidelines for NSTS Customers
– STANAG 4404(draft) NATO Standardization Agreement (STANAG) Safety Deșign Requiremens and Guidelines for Munition Related Safety Critical Computing Systems
– WSMCR 127-1 Range Safety Requirements – Western Space and Misșile Center, Attachement-Software System Deșign Requiremenguranței software preia aceste cunoștințe deja obținute și furnizează resurse semnificative pentru proiectanți.
Cerințele generice previn duplicarea costurilor prin utilizarea avantajului tehnicilor de probare și al cunoștințelor învățate, mai degrabă decât reinventarea tehnicilor și repetarea erorilor.
Cele mai multe programe de dezvoltare trebuie sa fie capabile sa livreze un set de cerințe generice, dar acestea trebuie manevrate cu mare atenție.
Odată cu evoluția tehnologiei sau a implementărilor de tipuri noi de aplicații, apar noi cerințe generice, și devin disponibile alte surse de astfel de cerințe.
Este data o lista parțială pentru sursele de cerințe generice:
– NSTS 199943 Command Requirements and Guidelines for NSTS Customers
– STANAG 4404(draft) NATO Standardization Agreement (STANAG) Safety Deșign Requiremens and Guidelines for Munition Related Safety Critical Computing Systems
– WSMCR 127-1 Range Safety Requirements – Western Space and Misșile Center, Attachement-Software System Deșign Requirements. Acest document este în curs de înlocuire cu EWRR (Eastern and Western Range Regulation) 127-1, Section 3.16.4 Safety Critical Computing System Software Deșign Requirements.
– AFISC SSH 1-1- System Safety Handbook – Software System Safety, Headquarter Air Force Inspection and Safety Center.
– EIA Bulletin SEB6-A System Safety Engineering in Software Development (Electrical Industries Association).
– NUREG-6263 MTR 94W0000114 High Integrity Software for Nuclear Power Plants, The MITRE Corporation, for the U.S. Nuclear Regulatory Commisșion.
3. TEHNICI STRUCTURATE DE PROIECTARE
Este în general acceptat ca tehnicile de proiectare structurata reduce mult numărul erorilor, în special numărul erorilor de cerințe care sunt cele mai costișitor de corectat și care au impact puternic asupra întregului sistem de siguranța. Aceste metode structurate de analiza și proiectare au evoluat foarte mult în ultimii ani.
Dintre cele mai recente metode sunt Analiza și Proiectarea Orientata Obiect (OOA și OOD) și Metodele Formale. Cele mai uzuale metode de analiza sunt: Descompunerea Funcțională, Luxul de date (sau Analiza Structurata) și Modelarea Informației. Actualmente, OOA încorporează unele tehnici relative la toate acestea precum și metodele aferente, la nivel scăzut, sistemul fiind împărțit în obiecte cu atribute și servicii. În continuare, analiza este considerată ca un proces pentru evaluarea problemei luate în discuție și tradusa în cerințe care sa reflecte necesitățile utilizatorului acestui sistem.
Descompunerea Funcțională rămâne una dintre metodele populare pentru reprezentarea sistemelor. Acesta se orientează pe funcții și subfuncții, sistemului revenindu-i sarcina de a realiza interfețele dintre acestea. Principalele neajunsuri ale acestei metode sunt:
1) capabilitățile funcționale se schimba de obicei pe parcursul ciclului de viață al proiectării, fiind destul de putin stabile;
2) este destul de dificil, laborios și greu de urmărit legatura dintre sistemul propus ca un întreg și funcțiile care determina crearea sistemului.
Analiza Structurata (DeMarco [DeM90], Yourdon [Your93]) a devenit populara în anii ’80 și încă este utilizata destul de mult. Analiza consta în interpretarea conceptelor sistem (sau a lumii reale) în terminologia datelor și a controlului, care sunt prinse în diagrame de control al fluxului.
Fluxul datelor și controlul de la bubble la stocarea datelor în bubble nu poate fi foarte greu de trasat, iar numărul de bubble poate deveni extrem de mare. Una din abordări ar putea fi definirea evenimentelor din lumea externa care necesită o reacție din partea sistemului. Acestor evenimente li se asignează câte o bubble. Acele bubble care interacționează sunt conexate la definirea sistemului.
Aceste conexiuni pot fi, și sunt de obicei, copleșitoare; de aceea, în mod obișnuit, aceste bubble sunt grupate în bubble de nivel înalt. Sunt necesare Dicționare de Date pentru a descrie datele și fluxul comenzilor, precum și o specificare a proceselor, pentru a capta informațiile care se transforma /tranzacționează. Problemele legate de aceasta metoda sunt:
1) alegerea unei bubble convenabile;
2) partiționarea mulțimii acestor bubble după semnificație;
3) dimenșiunea documentației necesara pentru a înțelege Fluxul de Date;
4) subiectul unor schimbări frecvente din cauza faptului ca au un caracter puternic funcțional;
5) prezentarea prin fluxuri de date nu aduce explicitarea modelarii datelor, ceea ce face ca documentația sa fie greoi de înțeles, iar obiectivele pentru care a fost construit sistemul sa para ascunse;
6) nu este dificil numai pentru utilizator sa urmărească modul în care sunt relaționate conceptele sistemului în fluxul de date și în bubble, dar, cu atât mai dificil pentru proiectant, care are sarcina de a deplasa aceste diagrame (DFD) în format implementabil.
Modelarea Informației, care utilizează diagrame de relaționare a entităților este realmente un antemergător pentru OOA. Analiza identifica, în primul rând, obiectele în spațiul problemei, le descrie prin atribute, le atașează relații n, le rafinează în super și sub-tipuri, urmând ca apoi sa definească obiectele asociative.
Pentru aceasta metode aspectele limitative pot fi:
1) cerințele pentru servicii și /sau procesări nu sunt adresate pentru fiecare obiect;
2) succeșiunea (moștenirea) nu este identificata specific (particular);
3) existenta unei structuri de interfață sărace dintre obiecte;
4) nu este utilizata clașificarea și asamblarea structurilor ca metoda predominanta pentru determinarea obiectelor sistemului.
Apariția a doua metode mai noi pentru analiza și proiectarea structurata: orientat a obiect (OOA /OOD) și metode formale (FM) par a fi mai eficiente în dezvoltarea de aplicații, fie prin utilizare separata, dar și prin utilizarea conjugata a acestora.
Definirea proprietăților comportamentale
În aceastã secțiune vor fi definite proprietățile comportamentale (eng. Behavioral) ale rețelelor Petri, utilizând formalismul mathematic.
Proprietățile comportamentale sunt dictate atât de topologia, cât și de marcajul inițial al rețelei. De asemenea vor fi formulate unele comentarii succinte, de facturã intuitivã, ale proprietăților, cu referiri la semnificația lor în modelare, urmând ca, în secțiunea 3.6 dedicatã aplicațiilor, sã se reia pe larg aceste aspecte practice, specific inginerești.
3.1 Accesibilitate
O secventã de executãri de tranziții ale unei rețele conduce la modificarea marcajului (distribuției de jetoane), în conformitate cu aplicarea regulii tranziției. Un marcaj Mn se spune cã este acceșibil (eng. Reachable) din marcajul inițial M0, dacã existã o secventã de executãri de tranziții, care transformã M0 în Mn. Aceasta secventã de executãri (de tranziții) se noteazã prin: sau, simplu, prin: câ nd nu interesează succeșiunea de marcaje.
Faptul ca marcajul Mn este acceșibil din M0 prin secvență de executãri se noteazã M0s >Mn. Mulțimea tuturor marcajelor care pot fi atinse în rețeaua (N, M0), pornind din M0, se noteazã prin R (N, M0), sau, simplu, prin R (M0), atunci când se subînțelege rețeaua N la care ne referim. Mulțimea tuturor secventelor de executare poșibile î rețeaua (N, M0), pornind din M0, se noteazã prin L (N, M0) sau, simplu, prin L (M0) atunci când se subînțelege rețeaua N la care ne referim. Studierea accesibilității constã în a decide dacã un anumit marcaj Mn aparține sau nu mulțimii R (N, M0). Pentru ilustrare, a se vedea Exemplul 3.1.1 din paragraful urmãtor.
Mãrginire
O rețea Petri (N, M0) se spune cã este k-mãrginitã sau, pe scurt, mãrginitã (eng. Bounded) dacã numãrul de jetoane din fiecare poziție nu depășește un numãr finit k pentru orice marcaj ce este acceșibil din starea M0 (adicã pentru orice secventã de executãri de tranziții, pornind de la marcajul M0). În limbaj matematic, aceasta revine la M (p) k pentru orice p și orice M R (M0).
O rețea Petri (N, M0) se spune cã este sigură (eng. Safe) dacã ea este 1-mãrginitã.
Din punct de vedere practic, când rețeaua modeleazã un proces, proprietatea de mãrginire permite a studia eventualele depãșiri ale unor capacități fizice de procesare /memorare a informației sau de prelucrare /stocare a produselor. Mãrginirea asigura nedepãșirea anumitor valori, indiferent de secvență de evenimente (adicã tranziții executate).
Viabilitate
O rețea Petri (N, M0) se spune cã este viabilã (eng. Live) (sau, echivalent, M0 se spune cã este un marcaj viabil pentru N) dacã, indiferent de marcajul care a fost atins pornind din M0, este poșibil ca, în continuare, sã fie executatã orice tranziție t a rețelei. Pa na la executarea lui t poate fi necesara, eventual, executarea unui numa r finit de alte tranzit ii.
Un marcaj pentru care nici o tranziție a rețelei nu mai poate fi executatã se numește deadlock. (Preferãm utilizarea acestui termen original din literatura anglo-saxonã, întrucât traducerea sa prin "blocaj" poate crea confuzii cu "blocajul resurselor".
În baza definiției viabilității se constatã cã o rețea viabilã opereazã fãrã deadlock. Pe de altã parte, o rețea care nu este viabilã nu evolueazã în mod obligatoriu cãtre deadlock, existând una sau mai multe tranziții care pot fi executate de o infinitate de ori.
Din punct de vedere practic, când rețeaua modeleazã un proces, proprietatea de viabilitate permite a studia funcționarea fãrã incidente nereparabile (de facturã logicã, adicã nu defecte), care sã neceșite o intervenție externã procesului.
Întrucât proprietatea de viabilitate, în formularea de mai sus, este suficient de restrictiva, s-a cãutat relaxarea ei, introducându-se mai multe grade de viabilitate, dupã cum urmeazã.
O tranziție t din rețeaua Petri (N, M0) se spune cã este:
– Viabilã L0 (sau blocatã), dacã t nu se mai poate executa în nici o secventã din L (M0).
– Viabilã L1(potențial executabilã), dacã t se mai poate executa cel putin o datã în unele secvente din L (M0).
– Viabilã L2, dacã, pentru orice întreg k>0, t se mai poate executa de cel putin k ori în unele secvente din L (M0).
– Viabilã L3, dacã t se mai poate executa de un numãr infinit de ori pentru unele secvente din L (M0).
– Viabilã L4 (sau viabilã) dacã t este viabilã L1 pentru orice secventã din L (M0).
Se spune cã o tranziție este viabilã Lk strict, daca ea este viabila Lk dar nu este viabilã L (k+1), pentru k = 1,2,3.
Observație: Pentru aceste grade de viabilitate s-a pãstrat notația de tip "Lk" din formularea originalã în limba englezã, unde L prescurteazã termenul "live".
În baza acestor definiții privind viabilitatea unei tranziții, se poate rafina s i noțiunea de viabilitate a unei rețele Petri, dupã cum urmeazã. O rețea Petri (N, M0) se spune cã este viabilã Lk, dacã fiecare tranziție a ei este viabilã Lk, k=0,1,2,3,4. Viabilitatea de tip L4 a unei rețele este cea mai puternicã și corespunde definiției proprietății de viabilitate ce a fost datã la începutul acestui paragraf. La polul opus se aflã viabilitatea L0 a unei rețele care coincide cu definiția datã pentru deadlock.
Se constatã cã între gradele de viabilitate introduse mai sus, existã urmãtoarea condiționare logicã de tip implicație: viabilã L4 viabilã L3 viabilã L2 viabilã L1.
Noțiunea de strictã viabilitate Lk se aplicã la o rețea Petri (totalitatea tranzițiilor), pãstrând semnificația introdusã anterior pentru o singură tranziție.
3.2 Reversibilitate
O rețea Petri (N M0) se spune cã este reversibilă (eng. Reverșible), dacã pentru orice marcaj M R (M0), marcajul inițial M0 este, la ră ndul sa u, acceșibil ca nd se pornes te din M. Astfel, într-o rețea reversibilă, întotdeauna este posibilă întoarcerea la marcajul inițial.
Proprietatea de reverșibilitate poate fi relaxatã în sensul cã nu se urmărește întoarcerea chiar în marcajul inițial M0, ci într-un alt marcaj, notat M', care poartã denumirea de marcaj (sau stare) recuperabil (eng. Home state). Astfel, se spune cã un marcaj M' este recuperabil dacã, pentru orice marcaj M R (M0), M' este acceșibil din M.
Din punct de vedere practic, când rețeaua modeleazã un proces, proprietatea de reverșibilitate permite a studia repetabilitatea desfășurării anumitor activități sau a apariției anumitor condiții.
Subclase de rețele Petri ordinare și capacitatea lor de modelare
În cazul acestei secțiuni, vom introduce o organizare a rețelelor Petri ordinare pe subclase, definite pe baza unor conșiderente topologice. Apartenenta unei rețele la o anumitã subclasã este reflectatã și în capacitatea de modelare, în sensul cã rețeaua nu va putea conține toate structurile tipice.
1.5 Metode Formale
1.5.1 Dezvoltarea specificației
Metodele formale se pot defini ca fiind un set de tehnici și instrumente bazate pe modelarea matematica și logica formala, care sunt utilizate pentru specificarea și verificarea cerințelor și a proiectelor pentru șisteme de calcul și software.
Metodele formale pot fi utilizate pentru specificarea și modelarea comportamentelor SISTEMELOR și pentru verificarea matematica a faptului ca proiectarea sistemului și implementarea acestuia satisfac funcționalitatea acestuia și proprietățile de siguranța cerute. Specificațiile, modelele și verificările pot fi realizate prin mai multe tehnici și grad diferit de rigoare. Chiar daca este imperfecta, următoarea clașificare a gradului de rigoare este cea mai uzuala:
A) Nivel 1: Specificații formale pentru întreg sistemul sau pentru parti ale acestuia. Aceasta implica utilizarea logicii matematice sau a limbajelor de specificare care au o semantica formala pentru specificarea sistemului. Acest lucru se poate realiza pe mai multe nivele de abstractizare. De exemplu, un nivel poate enunță cerințele abstracte ale sistemului pe când un altul descrie o implementare de o maniera algoritmica.
B) Nivel 2. Specificații formale pe unul sau mai multe nivele de abstractizare și o verificare a faptului ca specificația detaliata implica cea mai abstracta specificație. Metodele formale depășesc nivelul 1 prin dezvoltarea probării ca cele mai concrete nivele implica logic nivelele orientate pe cea mai abstractizata forma a proprietăților.
C) Nivelul 3. Controlul probărilor formale prin probatorul de teoreme mecanizat. Este cea mai riguroasa forma de aplicare a metodelor formale. Se utilizează un probator de teoreme, semiautomat, pentru a se asigura ca probările sunt valide.
Metodele formale nu sunt o abordare totul-sau-nimic. Una din strategiile cele mai pragmatice se refera la utilizarea metodelor formale numai la porțiunile cele mai critice ale sistemului. O verificarea completa a întregului sistem, practic, la ora actuala nu este realizabila (cel putin pentru șisteme mari), dar se poate obține o creștere a încrederii în sistem utilizând metodele formale în punctele cheie ale acestuia.
Inspectarea formala a specificațiilor
Inspectarea formala și analiza formala sunt concepte diferite. Inspecțiile formale, care sunt valoroase în fiecare faza a ciclului de viață, au un impact mai mare daca sunt aplicate în primele faze ale proiectului, în special pentru specificarea cerințelor și stagiile proiectului. Este demonstrat ca majoritatea defectelor /eșecurilor, incluzând cele referitoare la siguranța, provin din absenta unor cerințe sau înțelegerea eronata a acestora.
Pentru inspectarea formala a cerințelor software, punctele cheie trebuie sa includă reprezentanți din: ingineria SISTEMELOR, operații, proiectare software și codare, așigurarea calității software, siguranța, precum și alte funcții sistem pe care software-ul le controlează și le monitorizează.
Testarea software verifica rezultatele analizei, investighează comportamentul programului și confirma faptul ca programul se conformează cerințelor de siguranța. Testarea este execuția operațională a unei componente software într-un mediu real sau șimulat. Este prudent ca primele testări sa fie făcute într-un mediu șimulat. Aceasta testare este în concordanta cu planul de testare al siguranței și cu procedurile aferente. În mod normal, producătorul de teste software va asigura ca respectiva componenta realizează corect toate funcțiile cerute. Testarea siguranței se va cala pe localizarea punctelor slabe ale pro-gramului, identifica extremele domeniilor sau pe situațiile neprevăzute care pot produce eșecul componentei de maniera la care sa fie violate cerințele de siguranța ale acesteia. Testarea siguranței complementează și duplica producerea de serii de test.
Injectarea de defecte a fost o metoda aplicata cu succes pentru software-ul critic. În aceasta metoda sunt inserate defecte în cod și sunt urmărite efectele pe care acestea le produc în mediul șimulat.
Complementar, toate cerințele de mărginire și performanta trebuie testate pe limite, înainte și după acestea. Este necesar sa fie consemnat comportamentul (modul în care eventual eșuează) și în afara limitelor operaționale definite și acceptate.
Testarea siguranței software se poate limita la acele cerințe software clasate ca fiind elemente critice. Testarea siguranței poate fi realizata ca o serie independenta de teste sau poate fi integrata ca parte componenta a efortului de testare. Trebuie reținut ca orice software care are impact sau sprijină o funcție critica, devine la rândul sau critic. Toate problemele descoperite de-a lungul testării trebuie analizate și documentate în raportul de discrepante în același mod ca și raportul de test. Acesta conține o descriere a problemelor întâlnite și soluțiile recomandate.
Testarea tehnica
Testarea poate ave loc atât într-un mediu controlat, în care execuția este controlata și monitorizata sau într-un mediu de demonstrație, în care software-ul este exercitat fara interferente.
Testarea controlata: executa software-ul pe o mașina reala sau simulată utilizând tehnici speciale pentru influențarea comportamentelor. Fidelitatea șimulatorului trebuie aleasa cu mare precauție.
Testarea demonstrativa: executa software-ul pe o mașina reala și într-un mediu identic cu cel al mașinii operaționale și al mediului în care se vor derula execuțiile.
Testarea siguranței: exercita funcțiile programului, atât pentru condițiile nominale, cât și pentru cele extreme. Testarea siguranței include testarea nominala, testarea “sub preșiune” și testarea negativa Configuration Management trebuie sa acționeze ca distribuitor unic pentru documentația tuturor testelor de acceptanta și pentru a livra SISTEMELOR pentru integrare și testare.
1.5.2 Planul de test software
Planul de test software trebuie sa încorporeze informația pentru siguranța în următoarele activități de testare:
1. Integrarea și unitatea testării: identifica testele pentru interfețele critice relativ la siguranța. Face demonstrația modului în care acestea acoperă cerințele de siguranța. Specifica criteriile de pass /fail pentru fiecare test pentru siguranța, în parte. Specifica de asemenea limitările și dependentele fata de alte seturi de taste. Descrie procesul de revizuire și raportare pentru componentele critice. Listează rezultatele, problemele și legăturile.
2. Testarea acceptantei: testează acceptanta pentru componentele critice. Face demonstrația modului în care sunt acoperite cerințele de siguranța în SRD. Specifica criteriile pass /fail. Specifica toate procedurile speciale, limitările și dependentele pentru implementările și rulările testelor pentru siguranța. Descrie procesul de revizuire și raportare pentru componentele critice. Listează rezultatele, problemele și legăturile.
1.5.3 Rapoartele testelor software
Rapoartele testelor software trebuie sa încorporeze informația relativa la siguranța software în următoarele secțiuni:
1. Rezultatele testării unitare: rapoartele rezulta în Folderele Dezvoltării Software.
2. Rapoartele integrării testelor: rapoartele rezultate din testarea interfețelor critice relativ la cerințele definite în Planul de Test Software.
3. Testarea acceptantei: rapoartele rezultate din testarea componentelor critice relativ la cerințele definite în Planul de Test Software.
1.5.4 Testarea software-ului pentru siguranța
Producătorii trebuie sa realizeze testarea siguranței pentru a asigura ca au fost eliminate hazardele sau controlate pe un nivel de risc acceptabil. În consecință, documentul legat de siguranța testează descrierile, procedurile, cazurile de test și criteriile de calificare asociate. Se vor verifica implementările cerințelor software. Verificarea va fi efectuata atât într-un mediu specificat (incluzând și extremele), și sub condiții grele și anormale specificate. Siguranța Software, reprezentata prin organizația de Așigurare a Calității Software, trebuie sa participe la testarea componentelor software
La toate nivelele, incluzând testările informale, testările de integrare și testările de acceptanta.
CAPITOLUL II
2.1 Descrierea Rețelelor Petri
Rețele Petri sunt tehnici grafice care pot fi utilizate pentru a modela și analiza șistemele critice relativ la siguranța pentru proprietăți ca: tangibilitate, recuperabilitate, blocaje, toleranta la defecte.
Domenii de aplicabilitate:
– Protocoale de comunicare, re¸tele
– Șisteme software și hardware
– Algoritmi distribui¸ti
– Protocoale de securitate
– Biologie, Chimie, Medicin˘a
– Economie (fluxuri de lucru) etc..
Rețelele Petri permit identificarea relațiilor dintre componentele sistemului ca cele hardware, software, acțiuni umane, sau efecte cumulate ale hardware și software.
2.2 METODE DE PROIECTARE ȘI VERIFICARE A PROTOCOALELOR
MODELE TRANZIȚIONALE
De o larga răspândire se bucura rețelele Petri (RP), cu diferitele lor variante și extinderi. Concepute și foloșite ca instrument general de specificare și analiza a SISTEMELOR concurente, RP și-au găsit aplicarea fireasca in domeniul protocoalelor.
O rețea Petri RP este un cvadruplu RP = (L, T, I, O), unde:
L este o mulțime finita de locuri (locații),
T este o mulțime finita de tranziții, L^T=0,
I este o funcție I: LxT->, numita funcție de incidenta înainte,
O este o funcție O: TxL->, numita funcție de incidenta înapoi.
Un marcaj M al une RP este o funcție M: L->N, din mulțimea locurilor in mulțimea numerelor naturale N. Notam prin M (l), marcajul locului l.
Fig.1 Reprezentarea grafica a unei rețele Petri cu marcaj
O RP poate fi reprezentata ca un graf dirijat bipartit, locurile fiind reprezentate prin pătrate (sau cercuri), iar tranzițiile prin bare. Nodurile sunt conectate prin arce, fiecare arc fiind dirijat de la un loc la o tranziție sau de la o tranziție la un loc. Pentru o tranziție t și un loc l, exista I (l, t) arce dirijate de la l la t și O (t, l) arce dirijate de la t la l. Marcajul se reprezintă dispunând in cercul fiecărei locații un 515v2111f număr de puncte egal cu M (l). Un exemplu de reprezentare grafica a unei rețele Petri este cel din figura 1
Data fiind o rețea Petri și o tranziție t din T, mulțimea locurilor sale de intrare se definește ca Pre (t) =. Șimilar, mulțimea locurilor de ieșire este Post (t) =.
O tranziție t a unei RP este executabila într-un marcaj M daca și numai daca pentru orice locație din Pre (t) este îndeplinită relația M (l) >= I (l, t). Deoarece I (l, t) = 0 pentru locuri neaparținând lui Pre (t), relația precedenta se scrie M (l) >= I (l, t) pentru orice l din L.
Execuția unei tranziții t transforma marcajul M într-un alt marcaj M' care îndeplinește condiția M' (l) =M (l) – I (l, t) + O (t, l), pentru orice l din L. Notam aceasta execuție prin M -t> M'. Execuția micșorează marcajul fiecărei locații de intrare cu o unitate și mărește marcajul fiecărei locații de ieșire cu o unitate.
Fie $ o secvență finita de tranziții t1 t2 t3… tk . Spunem ca $ este o secvență posibilă de execuții din marcajul M, daca și numai daca exista marcajele M1, M2 ,…, Mk astfel incit M [t1>M1 [t2>M 2[… [tk>Mk . Se mai spune ca marcajul Mk este acceșibil din M prin execuția lui $ și se notează prin M [$> Mk . Data fiind o RP și și un marcaj M0, aspectele dinamice ale rețelei sunt puse in evidenta prin mulțimea secventelor poșibile de execuții din marcajul M0 și de mulțimea marcajelor acceșibile din M0 , notate A (M0 ). Clasa marcajelor acceșibile poate fi reprezentata ca un graf ale cărui noduri sunt marcajele acceșibile din M0 și ale cărui arce corespund execuției tranzițiilor. O astfel de reprezentare pune in evidenta relația de precedenta asupra execuției acțiunilor.
Rețelele Petri reprezintă instrumente adecvate modelarii SISTEMELOR paralele așincrone: tranzitile modelează evenimente care se pot produce in sistem, in timp ce locațiile modelează condițiile necesare producerii evenimentelor. Fiecare marcaj reprezintă o stare a sistemului modelat. Faptul ca într-o stare anumite condiții sunt îndeplinite poate provoca producerea unor evenimente. Acestea pot schimba starea sistemului, modificându-se astfel condițiile anterioare.
Pentru a ilustra procesul de modelare foloșind RP, consideram un protocol simplu, care guvernează transferul unor mesaje, cu confirmarea recepției, intre o entitate emițătoare și o entitate receptoare. In vederea alcătuirii modelului protocolului, prezentam elementele semnificative referitoare la interacțiunile entităților cu nivelele adiacente și la comportarea entităților.
2.3 NIVEL SUPERIOR
Funcționarea entităților se bazează pe transmiterea unor mesaje m de la Emițător la Receptor și pe transmiterea unor confirmări de la Receptor la Transmițător, asigurate ca servicii de nivelul adiacent inferior. Nivelul superior poate solicita următoarele servicii: transmiterea unui mesaj (ct), însoțită de mesajul ce trebuie transmis (msg); recepția unui mesaj (cr), având ca răspuns mesajul recepționat (msg).
Operațiile executate de entități sunt următoarele:
Emițător ()
Forever;
}
Receptor ()
Forever;
}
Înainte de a trece la modelarea protocolului printr-o RP, sa observam ca din algoritmii prezentați se pot deduce cu ușurință doua automate, unul pentru
Sursa, celalalt pentru destinație.
Emițător Receptor
Figura 2. Modelarea entităților prin automate
Acestea sunt prezentate in figura.2 in forma diagramelor de tranziții, stările fiind corespunzătoare secțiunilor de algoritm cu același nume (A, B etc). Pentru fiecare tranziție sa dau intrările și ieșirile corespunzătoare, sub forma intrare /ieșire.
În mulțimea intrărilor consideram și evenimente interne (@), care modelează acțiuni ale entității cu efect doar asupra stării proprii. In mulțimea ieșirilor, @ semnifica ieșire nula. Deși aceasta reprezentare menționează interacțiunile dintre entități prin legăturile care exista intre intrările și ieșirile lor, ea are dezavantajul ca nu prezintă in mod explicit aceste interacțiuni, așa cum apar ele in modelele de rețele Petri.
Pentru a alcătui RP corespunzătoare protocolului, completam modelele entităților cu modelul mediului de comunicare. Despre nivelul adiacent superior nu avem informații; considerând o comportare ideala, corecta a acestuia, putem neglija includerea lui in model. Ca urmare, RP va fi obținută prin conectarea modelelor entităților de protocol și a mediului de comunicare. Pentru fiecare conexiune a mediului distingem doua stări: libera (M') și cu mesaj in tranzit (M, figura 3).
Fig.3. Modelarea mediului de comunicare
Trecerea de la M' la M modelează trecerea mesajului de la transmițător la mediu, iar tranziția de la M la M' trecerea mesajului de la mediu la receptor. Tranziția M->M' este determinata de terminarea propagării mesajului de la un capăt la celalalt al conexiunii.
In rețeaua Petri corespunzătoare protocolului, stările componentelor devin noduri loc, iar tranzițiile devin noduri tranziție. Tranzițiile a doua sau a mai multor componente care se produc simultan se contopesc, devenind un singur nod tranziție. De exemplu, pentru transmiterea mesajului m de la Transmițător la mediu, obținem configurația din figura 4.
Figura 4. RP corespunzătoare transmiterii mesajului
Ținând cont ca locul M este suficient pentru reprezentarea celor doua stări ale conexiunii (prin marcaj 0 se poate codifica mediu liber, iar prin marcaj 1, mesaj in tranzit), putem renunța la locul M' in RP. Pentru întregul protocol, modelul obținut este reprezentat in figura 5.
Figura 5.
Semnificațiile locurilor sunt aceleași cu ale stărilor automatelor din care provin. Similar, tranzițiile rețelei capăta semnificațiile tranzițiilor automatelor din care sunt derivate, și anume:
T1 = preluare mesaj produs de utilizatorul transmițător,
T2 = transmitere de mesaj mediului de comunicare,
T3 = recepție mesaj de la mediu,
T4 = transmitere confirmare,
T5 = recepție confirmare,
T6 = consumare mesaj de utilizator receptor.
Modelul conține marcajul corespunzător unei stări inițiale poșibile a protocolului, in care entitatea emițătoare așteaptă producerea unui mesaj (A), entitatea receptoare este pregătită pentru recepție (D), iar mediul de transmisie este gol. Convenim sa notam un marcaj oarecare al modelului prin colecția numelor locurilor care conțin puncte, un nume apărând de atâtea ori cite puncte conține locul respectiv (marcajul inițial este AD). Mulțimea marcajelor și a tranzițiilor intre ele definesc mașina de puncte a rețelei, care se reprezintă grafic sub forma unei diagrame
Figura 6.
De tranziții. Pentru rețeaua Petri a protocolului simplu, mașina de puncte este prezentata in figura 6.
Exemplul anterior reliefează câteva caracteristici importante ale rețelelor Petri. Una este absenta oricăror masuri cantitative privind durata de menținere a condițiilor sau timpul scurs intre doua evenimente oarecare. Singurul aspect important este ordinea parțială a evenimentelor. A doua caracteristica este ne determinismul execuției tranzițiilor: daca la un moment dat sunt mai multe tranziții executabile, alegerea uneia din ele se face la întâmplare. O asemenea comportare este acceptabila, deoarece execuția unei tranziții este considerată instantanee. De aici rezulta insa obligația de a modela prin tranziții doar acțiuni primitive, indivizibile.
2.4 Caracteristici structurale ale Rețelelor Petri
In cazul in care structura RP se supune anumitor reguli, se obțin rețele cu proprietăți interesante. Prezentam in continuare câteva RP particulare.
Graf de stări: orice tranziție are exact un loc de intrare și un loc de ieșire.
Graf de evenimente: orice loc are exact o tranziție de intrare și una de ieșire.
RP fara conflict: orice loc are cel mult o tranziție de ieșire.
RP cu alegere libera (free choice): exista doua sau mai multe tranziții având exact aceleași locuri de intrare.
RP simplă: fiecare tranziție este implicata in cel mult un conflict.
RP pura: nici un loc nu este intrare și ieșire a aceleiași tranziții. Se demonstrează ca orice RP impura poate fi transformata într-o RP pura.
RP fara bucle: daca o tranziție are un loc ce este simultan intrare și ieșire, atunci ea mai are cel putin un alt loc de intrare.
Următoarele variante reprezintă generalizări ale RP.
RP generalizata: arcelor le sunt asociate ponderi (numere naturale), deci funcțiile de incidenta înainte și înapoi sunt definite prin I: LxT -> N și O: TxL -> N. Regulile de execuție a tranzițiilor rămân nemodificate. Ca urmare, o tranziție t este executabila daca marcajul fiecărui loc de intrare l este cel putin egal cu ponderea arcului (l, t). Execuția tranziției este, ca și mai înainte, caracterizata de relația M' (l) = M (l) – I (l, t) + O (t, l). Se arata ca orice RP generalizata poate fi transformata într-o RP obișnuită.
RP cu capacități: fiecărui loc ii este asociata o capacitate (număr natural), reprezentând valoarea maxim admisibila a marcajului locului. Execuția unei tranziții este permisa doar daca nu determina depășirea capacitații vreunui loc. Se arata ca orice RP cu capacități poate fi transformata într-o rețea obișnuită.
RP colorate: au marcaje cărora le sunt asociate culori. Orice RP colorata cu un număr finit de culori poate fi transformata într-o RP obișnuită.
RP cu arce inhibitoare: in afara arcelor menționate la RP obișnuite, are arce orientate de la o locație la o tranziție, având efect daca marcajul locației este zero. In cazul general, o RP cu arce inhibitoare nu poate fi transformata într-o rețea obișnuită. Aceasta transformare este posibilă doar in cazul RP mărginite (marcajul oricărui loc nu depășește niciodată o valoare finita, cunoscuta).
RP cu priorități: asupra tranzițiilor este impusa o relație de ordine parțială, luata in considerație atunci când mai multe tranziții sunt executabile, pentru selecția uneia dintre ele. Ea nu poate fi transformata într-o RP obișnuită.
RP continua: marcajul unui loc este număr real, traversarea (execuția) tranzițiilor făcându-se ca un flux continuu.
Rețelele Petri permit atât analiza unor proprietăți generale, pe care trebuie sa le aibă orice protocol, cit și a unor proprietăți specifice, dependente de caracteristicile sistemului modelat. Prezentam mai întâi câteva din proprietățile generale, dintre care mărginirea și viabilitatea joaca un rol deosebit.
O Rețea Petri este mărginită de n pentru un marcaj inițial M0 daca și numai daca, pentru orice marcaj M accesibilă din M0 și orice locație l din L, este satisfăcută relația M (l) <=n. In cazul in care n = 1 spunem ca rețeaua este sigură. Mărginirea este o proprietate practica importanta, putând fi utilizata in depistarea depășirii capacitații canalelor de comunicație. In cazul protocolului simplu, rețeaua Petri este sigură.
O tranziție t din T a unei RP este viabila pentru un marcaj inițial M0 daca și numai daca, oricare ar fi marcajul M accesibilă din M0 exista o secvență de execuții care conține pe t. O RP este viabila daca și numai daca fiecare tranziție a rețelei este viabila.
Viabilitatea poate fi utilizata in caracterizarea blocării definitive a sistemelor modelate. Spunem ca un sistem prezintă o blocare definitiva daca doua sau mai multe componente ale sale își condiționează reciproc acțiunile, nemaiputând executa nici o operație. Uzual, pentru a demonstra evitarea blocării definitive, trebuie sa se arate ca anumite tranziții "cheie" sunt viabile.
O tranziție t din T a unei RP este cvașiviabila pentru un marcaj inițial M0 , daca exista o secvență de execuții din M0 care conține t. O RP este cvașiviabila daca și numai daca toate tranzițiile sale sunt cvașiviabile.
O RP are o stare de revenire (home) H, pentru un marcaj inițial M0 , daca oricare ar fi marcajul M accesibilă din M0 exista o secvență de execuții care conduce in H. O RP este proprie sau reinițializa daca M0 este stare de revenire.
In unele cazuri, un marcaj accesibilă in care nici una dintre tranzițiile rețelei nu este executabila poate fi considerat corect. El poate corespunde unei stări terminale, a carei atingere poate semnifica îndeplinirea corecta a unei anumite funcții a protocolului. Modelul protocolului simplu nu are stări terminale.
O proprietate importanta a RP este cea de persistenta. Deoarece aceasta este legata de noțiunea de conflict, precizam ca un conflict structural corespunde unor tranziții cu un loc de intrare comun l. Conflictul structural devine conflict efectiv într-un marcaj M daca M (l) este inferior numărului de tranziții din, care sunt validate de M. De exemplu, variantele din figura 7 (a) și (b) sunt conflicte efective, in timp ce variantele (c) și (d) nu sunt.
Modelul unui protocol este util in validarea sa (verificarea corectitudinii), înainte de implementare. Prin validare se urmărește a se demonstra ca entitățile care cooperează realizează serviciile specificate.
(a) (b)
(c)
(d)
Figura 7.
2.5 Tehnicile de timp real
Rețele Petri permit analiștilor construirea de modele dinamice care încorporează informații de timp. În acest sens, sentențierea și planificarea acțiunilor sistemului pot fi verificate și monitorizate din stări care pot fi legate de condiții de insecuritate.
Rețele Petri pentru modelarea sistemelor:
– Grafuri bipartite;
– Reprezentare explicită stărilor și evenimentelor dintr-un sistem;
– Reprezentare grafică intuitivă;
– Semantică formală;
– Expresivitate (concurență, ne determinism, comunicare, asincronism);
– Existența metodelor de analiză a proprietăților;
– Numeroase unelte software pentru editarea /verificarea proprietăților rețelelor Petri.
Modelarea prin instrumente de Rețele Petri diferă de majoritatea metodelor de analiza prin aceea ca demonstrează de la început progresia dinamica a tranzițiilor stărilor. Rețelele Petri pot fi de asemenea translatate în expreșii matematico-logice care la rândul lor pot fi analizate cu instrumente automate.
Fig. 8
Informația poate fi extrasa sau reformulata cu ajutorul graficelor și tabelelor de așistare a analizei care sunt relativ ușor de înțeles (exemplu: graficele tangibilității, graficele Rețelelor Petri inverse, graficele stărilor critice etc.).
Rețelele Petri pot fi utilizate pentru conducerea cerințelor temporale în sistem în timp real; Verificarea sistemelor reale: are drept scop verificarea
Unor proprietăți dezirabile, încă din stadiul de proiectare.
Rețelele Petri permit utilizatorului sa descrie sistemul utilizând notațiile grafice, utilizatorul fiind astfel eliberat de rigoarea matematica pe care o pretinde un sistem complex;
Tehnica poate fi utilizata de-a lungul tuturor fazelor de dezvoltare ale sistemului. Utilizarea de la început a Rețelelor Petri poate duce la detectarea problemelor potențiale legate de schimbări, la stadiul la care aceste schimbări se pot produce cu costuri semnificativ mai mici decât la stadiile terminale;
Rețelele Petri pot fi utilizate pentru determinarea cazurilor cele mai defavorabile pentru analiza și riscurile de eșec datorate temporizărilor;
Deoarece se pot modela cu același limbaj comportamental hardware, software și umane, este posibilă o abordare sistemica;
Rețelele Petri pot fi utilizate pe diferite nivele de abstractizare; Rețelele Petri furnizează un limbaj de modelare care poate fi utilizat atât pentru analiza formala cât și pentru simulare;
Adăugarea probabilităților și a timpilor pentru fiecare Rețea Petri permite încorporarea în analiza a informațiilor probabilistice și a contorizărilor. Evident, modelul poate fi utilizat și pentru alte scopuri decât cele legate de siguranța.
Din păcate, Rețelele Petri necesita o cantitate mare de detalii pentru construirea analizelor, chiar și pentru sistem relativ mici, ceea ce duce la costuri foarte mari. Pentru a reduce costurile (eforturile) s-au propus câteva, tehnici de modelare, fiecare dintre acestea specifica un tip de analiza a siguranței. De exemplu:
– Rețele Petri temporale (TPN) tin cont de dependenta de timp în șistemele timp real;
– Rețele Petri inverse sunt necesare, în special, pentru realizarea analizelor pentru siguranța și utilizează abordarea modelarii înapoi, pentru a evita modelarea tuturor stărilor tangibile posibile;
– Rețelele Petri cu stări critice, care sunt tehnologii relativ noi și a căror implementare este costisitoare, necesitând, în mod explicit, expertizarea tehnica din partea analistului.
2.6 Analiza dinamica a fluxurilor
Analiza dinamica a fluxurilor este o tehnica relativ noua, care încă nu este utilizata pe scara mare, fiind încă în faza experimentala a evaluării. Acesta poate sa apară ca o combinație dintre beneficiile SFTA și Rețelele Petri.
Metodologia fluxurilor dinamice (DFM) este o abordare metodica, integrata pentru modelarea și analiza comportamentelor sistemelor încapsulate conduse software, pentru scopuri legate de evaluarea dependentelor și verificare. Metodologia are doua scopuri principale:
1) identificarea evenimentelor care pot avea loc în sistem;
2) identificarea unei strategii convenabile bazate pe analiza comportamentului funcțional al sistemului.
Pentru a împlini aceste scopuri metodologia utilizează un cadru de modelare în care modelele care exprima logica sistemului de analizat, sunt dezvoltate în termeni de relații cauzale între variabile fizice și caracteristici temporale ale execuției modulelor software. Informația rezultanta, relativa la stările hardware și software, poate fi legata de evenimentele de interes și în consecință utilizata pentru creșterea încrederii în sistem, eliminarea execuției cailor nesigure și identificarea criteriilor pentru testarea funcțiilor software critice.
2.7 ABORDAREA ARHITECTURALA
Cu excepția specificațiilor complet triviale, în mod necesar o specificație trebuie sa aibă o structura. Chiar specificațiile non-constructive au o arhitectura. Arhitectura efectiva a specificației este importanta și, de obicei greu de realizat. Exista insa principii generale care pot ghida procesul de specificare în alegerea unei arhitecturi adecvate. Arhitectura specificației devine, în mod particular semnificativa, atunci când problema supusa studiului este nedefinita. Experienta denota faptul ca dificultatea majora apare la legarea într-un context arhitectural al specificației, mai putin la scrierea acesteia. Termenul de arhitectura este utilizat pe scara larga, în anumite cazuri făcându-se abuz de acesta, în domeniul științei calculatoarelor. O arhitectura software sau hardware face, îndeobște, referire la proiectul logic sau fizic. Se face distincția între cerințe și arhitectura, ultima fiind un proiect complet. Contextul prezent accepta termenul de arhitectura ca structura atât pentru specificație, cât și pentru proiect.
Într-unul și același sistem se pot defini mai multe arhitecturi. Spre exemplu arhitecturile se pot defini pentru mai multe stadii pe parcursul dezvoltării și pot avea mai multe nivele de abstractizare. Relația care se stabilește între astfel de arhitecturi este una de rafinare. O alta alternativa se refera la faptul ca arhitecturile pot reflecta mai multe puncte de vedere, ceea ce poate conduce la faptul ca nu sunt neapărat comparabile.
Relația dintre Arhitecturile multiple și Limbajele de specificare
Componentele fundamentale și combinatorii, includ în mod obișnuit:
– Componente: acțiune, activitate, comunicație, condiții, identificatori, informație, interacțiune, punct de interacțiune, obiect, octet, parametru, furnizor, rendezvous, resursa, stare, mașina de stare, template-uri, termen, utilizator, valoare, variabila.
– Combinatori: agregare, clasificare, configurare, conjuncție, condiții compuse, disjuncții, mascări, instanțiere, întrețesere, întrerupere, iterație, relație, negație, ordonare parțială, partiție, selecție, mulțime, compunerea stărilor, șir, sincronizare.
Teoria rețelelor Petri s-a dezvoltat în două direcții:
1. Teoria formală a rețelelor Petri – care elaborează mijloacele, metodele și noțiunile necesare pentru utilizarea rețelelor Petri.
2. Teoria aplicativă a rețelelor Petri – care are drept scop utilizarea rețelelor Petri la modelarea nemijlocită a sistemelor, analiza lor și obținerea rezultatelor.
Modelarea sistemelor distribuite cu ajutorul rețelelor Petri se efectuează la nivel de stare: se determină ce acțiuni se produc în sistem, care stări preced acestor acțiuni și în ce stări va trece sistemul după producerea acțiunilor. Simulând modelul de stări prin rețele Petri se obține descrierea comportamentului sistemului.
Rețelele Petri au cunoscut o dezvoltare vertiginoasă, deoarece beneficiază de trei atuuri fundamentale: simplitate, generalitate, adaptabilitate. Analiza rezultatelor obținute prin simulare permite să cunoaștem stările în care s-a aflat sau nu sistemul, care sunt, în principiu, stările neaccesibile, însă o astfel de analiză nu oferă informații despre caracteristicile numerice care determină stările sistemului. De aceea au apărut un șir de tipuri noi de rețele Petri care încearcă să înlăture aceste neajunsuri – rețele Petri cu priorități, rețele Petri colorate, rețele Petri cu inhibiție, rețele Petri cu auto-modificare, rețele Petri cu resetare, rețele Petri FIFO, rețele Petri controlate prin cozi, rețele Petri controlate prin automate, rețele Petri condiționale, rețele Petri selective, rețele Petri cu salturi, rețele Petri temporizate, rețele Petri ne temporizate etc.
În prezent rețelele Petri au numeroase aplicații și sunt utilizate în diverse domenii: inginerie, modelarea proceselor de afaceri, deoarece dispun de o reprezentare grafică foarte accesibilă și au o semantică bine definită care permite o analiză formală a comportamentului și proprietăților sistemelor modelate.
2.8 Modele de tip rețea Petri ne temporizată
2.8.1 Conceptul de rețea Petri ne temporizată
O rețea Petri (eng. Petri net) se compune dintr-un tip particular de graf orientat notat N și o stare inițială 0 M, denumită marcaj inițial (eng. Inițial marking).
Graful N al rețelei Petri este orientat, ponderat și bipartit, constând din două tipuri de noduri, denumite poziții sau locații (eng. Place) și respectiv tranziții (eng. Transition); arcele orientate (eng. Arc) unesc fie o poziție cu o tranziție, fie o tranziție cu o poziție. Nu există arce care să conecteze două poziții între ele, sau două tranziții între ele. Ca simbolizare grafică, pozițiile se reprezintă prin cercuri, iar tranzițiile prin bare sau dreptunghiuri. Arcele sunt etichetate cu ponderile lor (eng. Weight) (valori întregi, pozitive); un arc cu ponderea k poate fi privit ca o mulțime de k arce paralele cu pondere unitară. Etichetele pentru pondere unitară se omit în reprezentările grafice uzuale.
Un marcaj sau o stare atribuie fiecărei poziții un număr întreg mai mare sau egal cu 0.
Dacă un marcaj atribuie poziției p întregul k ≥ 0, se spune că p este marcată cu k jetoane (eng. Token). Din punct de vedere grafic, în cercul corespunzător poziției p se vor plasa k discuri. Orice marcaj M este un vector coloană m–dimensional, unde m notează numărul total al pozițiilor. Componenta i a vectorului [] 1 2 () () () T M = M p M p… M pm, notată M (pi) reprezintă numărul de jetoane din poziția pi. Din motive de concizie a scrierii, în unele capitole ale acestei cărți un marcaj M va fi, de asemenea, reprezentat prin m-uplul
() M = M (p1), M (p2),…, M (pm).
Aspectele prezentate anterior se formalizează matematic prin următoarea definiție.
O rețea Petri este un cvintuplu, () PN = P, T, F, W, M0 în care:
Câteva comentarii sunt necesare pentru a aprofunda detaliile acestei formalizări:
1. Mulțimile P și T sunt disjuncte, P ∩T =∅.
2. Pentru a asigura obiectul definiției de mai sus, mulțimile P și T satisfac condiția P UT ≠ ∅.
3. Definiția funcției de ponderare se poate extinde pe mulțimea tuturor perechilor ordonate din (P×T) U (T × P), considerând W: (P×T) U (T × P) → {0,1, 2,3,…}, cu observația că, pentru acele perechi care nu sunt în mulțimea F, valoarea funcției W este 0 și aceste perechi nu sunt reprezentate grafic. Mulțimea F corespunde perechilor a căror pondere este nenulă și numai acestea sunt reprezentate grafic.
4. Definiția unei rețele Petri considera implicit că toate pozițiile rețelei pot conține un număr oricât de mare de jetoane. Se spune că rețeaua este cu capacitate infinită.
5. O structură de rețea Petri N = (P, T, F, W) fără nici o specificație referitoare la marcaj se va nota cu N, notație care desemnează topologia rețelei.
6. O rețea Petri cu un marcaj inițial M0 se va nota prin (N, M0).
7. O rețea Petri cu un marcaj oarecare M se va nota prin (N, M).
În problemele de modelare ce utilizează conceptele de condiții și evenimente, pozițiile reprezintă condiții și tranzițiile reprezintă evenimente. O tranziție (eveniment) posedă un număr de poziții de intrare și ieșire, care reprezintă precondiții și respectiv precondiții pentru evenimentul în cauză. Prezența unui jeton într-o poziție trebuie înțeleasă ca valoare logică „adevărat” pentru condiția asociată respectivei poziții.
O rețea Petri care nu conține bucle autonome se numește pură (eng. Pure). O buclă autonomă poate fi întotdeauna transformată într-o buclă neautonomă prin adăugarea simultan a unei poziții și a unei tranziții formale (eng. Dummy).
Orice rețea impură poate fi transformată într-o rețea pură.
O rețea Petri se numește ordinară (eng. Ordinary) dacă toate arcele sale au pondere unitară. Dacă într-o rețea Petri există cel puțin un arc a cărui pondere este mai mare decât 1, atunci se spune că rețeaua respectivă este generalizată.
Validarea și executarea tranzițiilor în rețele cu capacitate infinită – evoluția stărilor.
Marcajul unei rețele Petri are semnificația de stare a rețelei și se poate modifica în conformitate cu următorul procedeu denumit regula tranziției (validare și executare)
A) Se spune că o tranziție t este validată (eng. Enabled) dacă fiecare poziție de intrare (predecesor) p a lui t este marcată cu cel puțin W (p, t) jetoane, unde W (p, t) notează ponderea arcului de la p la t.
B) O tranziție validată poate sau nu să fie executată sau declanșată (eng. Fired), după cum evenimentul asociat tranziției are sau nu loc.
C) Executarea unei tranziții validate îndepărtează W (p, t) jetoane din fiecare poziție de intrare (predecesor) p a lui t și adaugă W (t, p) jetoane la fiecare poziție de ieșire (succesor) p a lui t, unde W (t, p) este ponderea arcului de la t la p. O tranziție fără nici o poziție de intrare se numește tranziție sursă (eng. Source). O tranziție fără nici o poziție de ieșire se numește tranziție receptor (eng. Șink). Modul de operare al acestor tranziții este următorul:
A) O tranziție sursă este necondiționat validată (fără a fi obligatoriu ca să se execute). Executarea ei produce jetoane.
B) Executarea unei tranziții receptor consumă jetoane, fără a produce jetoane.
În teoria rețelelor Petri ne temporizate se considera că executarea unei tranziții nu consumă timp și că jetoanele pot rămâne în poziții pentru orice durată de timp (oricât de mică sau oricât de mare). Întrucât executarea unei tranziții este instantanee, se considera că tranzițiile se execută numai secvențial, adică nu se poate vorbi de două tranziții executate simultan (sau în paralel). Aceste presupuneri fac ca modelul de tip rețea Petri ne temporizată să fie utilizat numai pentru investigarea proprietăților logice, calitative, care nu depind de timp.
Pentru o rețea Petri N cu un marcaj inițial M0, urmărind executarea secvențială a tranzițiilor, se pot determina marcajele succesive ale rețelei. Procesul de modificare a marcajului (stării) rețelei poate fi descris într-o manieră sintetică printr-un arbore sau printr-un graf (diferit de graful rețelei Petri!), ce poartă denumirea de arbore, respectiv, graf de accesibilitate (eng. Reachability tree /graph)
2.8.2 Extensii pentru rețele Petri ne temporizate
Rețele Petri cu capacitate finită
În modelarea sistemelor fizice este firesc a considera o limită superioară a numărului de jetoane pe care îl poate conține fiecare poziție, asociind fiecărei poziții p capacitatea sa (eng. Capacity), notată K (p), definită ca numărul maxim de jetoane ce pot fi conținute în p. O astfel de rețea se numește cu capacitate finită.
Într-o rețea cu capacitate finită, pentru validarea unei tranziții t este necesară următoarea condiție suplimentară: numărul de jetoane în fiecare poziție de ieșire p a lui t nu poate să depășească capacitatea poziției respective, K (p), atunci când t s-ar executa.
Fiind dată o rețea Petri de capacitate finită (N, M0) este posibil de aplicat fie regula strictă a tranziției direct pentru rețeaua (N, M0), fie regula simplă a tranziției pentru o rețea transformată adecvat, notată (N′, M0′).
Presupunând că rețeaua N este pură, următorul algoritm permite construcția rețelei (N′, M0′) plecând de la (N, M0), prin metoda pozițiilor complementare:
Pas 1. Pentru fiecare poziție p, se adaugă o poziție complementară p', al cărei marcaj inițial este dat de 0 0 M′ (p) = K (p) −M (p).
Pas 2. Între fiecare tranziție t și unele poziții complementare p' se trasează arce suplimentare, (t, p') sau (p', t), cu ponderile W (t, p') = W (p, t), respectiv W (p', t) = W (t, p), astfel încât suma jetoanelor în poziția p și în poziția complementară corespunzătoare p' să fie egală cu capacitatea K (p), atât înainte, cât și după executarea tranziției t (adică să se asigure satisfacerea condiției M (p) +M′ (p′) = K (p)).
Metoda nu adaugă tranziții suplimentare Grafurile de accesibilitate ale rețelelor (N, M0) și (N′, M0′) sunt izomorfe în sensul că prezintă aceleași secvențe posibile de executare a tranzițiilor.
2.9 Rețele cu probabilități și priorități
În unele modele de tip rețea Petri două sau mai multe tranziții modelează evenimente dintre care unul și numai unul se poate produce la un moment dat (în conflict). Implicit se considera că probabilitățile de apariție a acestor evenimente sunt egale. În cazul în care această presupunere nu este în conformitate cu sistemul fizic modelat, probabilitățile de apariție a evenimentelor în conflict pot fi așignate în mod explicit ca probabilități de executare a tranzițiilor care modelează evenimentele respective.
De asemenea, atunci când se dorește a impune modul de alegere a tranziției care urmează a fi executată dintre două sau mai multe tranziții validate șimultan se poate utiliza o rețea Petri cu priorități care constă dintr-o rețea Petri obișnuită și o relație de ordine parțială între tranzițiile rețelei.
2.10 Rețele cu arce inhibitoare
Introducerea arcelor inhibitoare extinde capacitatea de modelare a rețelelor Petri. Un arc inhibitor conectează o poziție la o tranziție și are rolul de a inversa logica de validare și executarea a acesteia. Tranziția respectivă este validată numai dacă numărul de jetoane din poziția de intrare a arcului inhibitor este strict mai mic decât ponderea arcului. Arcul inhibitor se reprezintă grafic printr-un segment ce conectează cele două noduri, având un mic cerc la capătul dinspre tranziția inhibată. Nu există arce inhibitoare care conectează o tranziție la o poziție
2.11 Modelarea cu rețele Petri ordinare
Structuri tipice utilizate în modelare
Structurile tipice utilizate în modelarea sistemelor cu evenimente discrete prin intermediul rețelelor Petri sunt prezentate șintetic în fig. 9
.
Fig 9. Structuri tipice utilizate în modelarea cu rețele Petri
(a) Conflict, decizie sau alegere liberă;
(b) Alegere liberă extinsă;
(c) Alegere asimetrică;
(d) Paralelism sau concurență;
(e) Confuzie simetrică;
(f) Confuzie asimetrică;
(g) Șincronizare;
(h) Post-condiție comună.
Capacitatea de modelare a unor subclase de rețele Petri ordinare
Rețelele Petri ordinare pot fi organizate în subclase definite pe baza unor conșiderente topologice. Apartenența unei rețele la o anumită subclasă este reflectată în capacitatea de modelare, în sensul că rețeaua nu va putea conține toate structurile tipice definite în secțiunea precedentă, ci numai o parte din acestea (în funcție de subclasa căreia îi aparține).
Mașina de stare (eng. State machine) este o rețea Petri ordinară în care fiecare tranziție t are o singură poziție de intrare și o singură poziție de ieșire. Formalizând, avem:
Unde | ∗ | notează cardinalitatea (numărul de elemente al) mulțimii ∗.
Referindu-ne la structurile tipice ilustrate în se constată că o mașină de stare conține numai alegeri libere și post-condiții comune.
Graful marcat (eng. Marked graph) sau graful de evenimente (eng. Event graph) este o rețea Petri ordinară în care fiecare poziție p are o singură tranziție de intrare și o singură tranziție de ieșire.
Formalizând, avem
Termenul de graf marcat sau graf de evenimente se datorează faptului că acest tip de rețea Petri poate fi reprezentată printr-un graf orientat unipartit (care posedă un singur tip de noduri!) în care nodurile corespund tranzițiilor (adică evenimentelor), arcele corespund pozițiilor, iar jetoanele se plasează pe arce (adică arcele sunt marcate).
Astfel regula tranziției se aplică nodurilor grafului orientat, o executare constând, în această reprezentare grafică, în îndepărtarea unui jeton de pe fiecare din arcele de intrare ale nodului în cauză și adăugarea unui jeton pe fiecare din arcele de ieșire.
Rețeaua cu alegeri libere (eng. Free choice net) este o rețea Petri ordinară în care orice arc ce iese dintr-o poziție p este caracterizat prin una din următoarele două situații:
– Este singurul arc care pleacă din p;
– Este singurul arc care intră într-o anumită tranziție (adică în acea tranziție nu mai intră nici un alt arc, în afara celui ce pleacă din p).
Avem următoarea formalizare:
Această descriere matematică este echivalentă cu implicația:
Condiția trebuie privită ca o relaxare a condiției
Examinând aceste particularități prin prisma structurilor tipice ilustrate în se constată că o rețea cu alegeri libere conține numai alegeri libere, post-condiții comune, concurențe și sincronizări.
Rețeaua cu alegeri libere extinse (eng. Extended free-choice net) este o rețea Petri ordinară în care este satisfăcută condiția:
Condiția trebuie privită ca o relaxare a condiției
Rețeaua cu alegeri așimetrice (eng. Asymmetric–choice net), sau rețeaua simplă, este o rețea Petri în care este satisfăcută condiția:
Condiția trebuie privită ca o relaxare a condiției
Referindu-ne la structurile tipice se constată că o rețea cu alegeri așimetrice conține numai alegeri libere, alegeri libere extinse, alegeri așimetrice, postcondiții comune, concurențe, sincronizări și confuzii așimetrice.
Examinând definițiile subclaselor de rețele Petri ordinare formulate mai sus, se constată că între acestea există relațiile de incluziune.
Fig.10
Tabelul 1. Sintetizează informațiile referitoare la capacitatea de modelare a diferitelor subclase de rețele Petri ordinare în raport cu structurile tipice ce au fost prezentate în fig 10.
Tab. 1. Prezentare sintetică a capacității de modelare a diferitelor subclase de rețele Petri.
Capacitatea de modelare crește în sensul acceptării de noi structuri tipice, această creștere fiind perfect compatibilă cu relațiile de incluziune stabilite între subclase.
Studierea proprietăților comportamentale
Proprietățile comportamentale (eng. Behavioral) ale rețelelor Petri netemporizate sunt dependente atât de topologia cât și de marcajul inițial al rețelei. În ceea ce privește terminologia, este absolut necesar a face distincție față de proprietățile structurale care iau în conșiderare numai topologia rețelei, fiind independente de marcajul inițial al acesteia.
Accesibilitate
O secvență de executări de tranziții ale unei rețele Petri conduce la modificarea marcajului (a distribuției de jetoane), în conformitate cu aplicarea regulii tranziției. Despre un marcaj Mn se spune că este acceșibil (eng. Reachable) din marcajul inițial M0 dacă există o secvență de executări de tranziții care transformă M0 în Mn. Această secvență de executări (de tranziții) se notează prin: 0 1 1 2 2… M ti M ti M tikMk σ =, sau, simplu, prin: 1 2… ti ti tik σ =, când nu interesează succeșiunea de marcaje. Faptul că marcajul Mn este acceșibil din M0 prin secvența de executări σ se notează M0[σ >Mn.
Mulțimea tuturor marcajelor care pot fi atinse în rețeaua N pornind din marcajul inițial M0 se notează prin R (N, M0), sau, simplu, prin R (M0), atunci când se subînțelege rețeaua N la care ne referim. Mulțimea tuturor secvențelor de executare poșibile în rețeaua N pornind din marcajul inițial M0 se notează prin L (N, M0) sau, simplu, prin L (M0) atunci când se subînțelege rețeaua N la care ne referim.
Mărginire
Se spune că o rețea Petri cu capacitate nelimitată este k-mărginită, sau, în limbaj prescurtat, mărginită (eng. Bounded), dacă numărul de jetoane din fiecare poziție nu depășește un număr finit k pentru orice marcaj acceșibil din marcajul inițial M0 (adică pentru orice secvență de executări de tranziții pornind de la M0). În limbaj matematic, aceasta revine la M (p) ≤ k pentru orice pP și orice 0 M ∈R (M).
Se spune că o rețea Petri (N, M0) este sigură (eng. Safe) dacă ea este 1-mărginită.
Din punct de vedere practic, când rețeaua modelează un proces, proprietatea de mărginire permite a studia eventualele depășiri ale unor capacități fizice de procesare /memorare a informației sau de prelucrare /stocare a produselor. Mărginirea asigura nedepășirea anumitor valori, indiferent de secvența de evenimente (adică tranziții executate).
Viabilitate
O rețea Petri (N, M0) se numește viabilă (eng. Live) dacă, indiferent de marcajul care a fost atins pornind din M0, este poșibil ca, în continuare, să fie executată orice tranziție t a rețelei. Până la executarea lui t poate fi necesară, eventual, executarea unui număr finit de alte tranziții.
Un marcaj pentru care nici o tranziție a rețelei nu mai poate fi executată se numește Deadlock În baza definiției viabilității se constată că o rețea viabilă operează fără deadlock. Pe de altă parte, o rețea care nu este viabilă, nu evoluează în mod obligatoriu către deadlock, în sensul că, pe lângă tranziția sau tranzițiile care nu mai pot fi executate, una sau mai multe tranziții sunt executabile de o infinitate de ori. Viabilitate permite a studia funcționarea fără incidente nereparabile (de factură logică, adică nu defecte), care să neceșite o intervenție externă procesului.
Reverșibilitate
O rețea Petri (N M0) se spune că este reversibilă (eng. Reverșible), dacă pentru orice marcaj M R (M0), marcajul inițial M0 este, la rândul său, acceșibil când se pornește din M. Astfel, într-o rețea reversibilă este întotdeauna posibilă întoarcerea la marcajul inițial.
Din punct de vedere practic, când rețeaua modelează un proces, proprietatea de reverșibilitate permite a studia repetabilitatea desfășurării anumitor activități sau a apariției anumitor condiții. Mărginirea, viabilitatea și reverșibilitatea sunt proprietăți independente una de cealaltă.
2.12 Arbori și grafuri de acoperire /acceșibilitate
Arbori de acoperire /acceșibilitate
Fiind dată o rețea Petri (N, M0), pornind de la marcajul inițial M0, modificarea marcajelor ca urmare a executării tranzițiilor poate fi reprezentată sub forma unui arbore, denumit arbore de acoperire (eng. Coverability tree). În acest arbore, M0 este rădăcina, iar marcajele generate sunt noduri; fiecare arc corespunde executării unei tranziții care transformă marcajul asociat nodului de plecare în marcajul asociat nodului de soșire.
În cazul unei rețele Petri mărginite, arborele de acoperire se numește arbore de acceșibilitate (eng. Reachability tree), deoarece poate cuprinde toate marcajele acceșibile pornind din marcajul inițial M0 (care sunt în număr finit). În această situație, arborele de acceșibilitate poate fi utilizat pentru studierea tuturor proprietăților comportamentale. Un poșibil dezavantaj îl constituie numărul mare de noduri ce poate rezulta în arborele de acceșibilitate, ca urmare a complexității rețelei Petri studiate.
În cazul rețelelor Petri nemărginite, arborele de acoperire va crește la nesfârșit. Pentrua păstra finititudinea reprezentării de tip arbore de acoperire, se introduce un șimbol special ω care poate lua valori oricât de mari, în sensul satisfacerii următoarelor proprietăți:
Construcția sistematică a arborelui de acoperire a unei rețele (N, M0) se desfășoară conform următorului algoritm:
Pas 1. Se stabilește M0 ca rădăcină și se etichetează M0 ca "marcaj nou".
Pas 2. Atât timp cât există cel puțin un marcaj etichetat drept "marcaj nou" se efectuează următorii subpași:
Subpas 2.1. Se selectează un "marcaj nou" M.
Subpas 2.2. Dacă M este identic cu un marcaj de pe drumul de la rădăcină la M, atunci marcajul M se etichetează drept "marcaj vechi" și se trece la un alt "marcaj nou".
Subpas 2.3. Dacă pentru M, nici o tranziție nu este validată, atunci M se etichetează ca "marcaj de deadlock".
Subpas 2.4. Dacă pentru M există tranziții validate, atunci pentru fiecare tranziție t validată se efectuează următoarele etape:
Etapa 2.4.1. Se obține marcajul M' care rezultă din executarea tranziției t, pornind de la marcajul M.
Etapa 2.4.2. Dacă pe drumul de la rădăcină la M există un marcaj M" astfel încât M' (p) ≥ M" (p) pentru orice poziție p și M'≠ M" (în sensul că pentru cel puțin o poziție p inegalitatea M' (p) ≥ M" (p) este strictă), atunci M' (p) se înlocuiește cun ω pentru fiecare poziție p în care avem inegalitatea strictă M' (p) > M" (p) (adică marcajul M' acoperă marcajul M".)
Etapa 2.4.3. Se introduce M' ca nod al arborelui de acoperire, se trasează un arc de la M la M' corespunzând tranziției t și se etichetează M' drept "marcaj nou".
Observație: În cazul rețelelor nemărginite, studierea proprietății de viabilitate cu ajutorul arborelui de acoperire nu este întotdeauna posibilă.
Acest fapt se datorează pierderii (prin utilizarea șimbolului ω) unor informații numerice concrete, referitoare la marcajul pozițiilor nemărginite (de exemplu creșterea sau descreșterea marcajului).
Grafuri de acoperire /acceșibilitate
Graful de acoperire (eng. Coverability graph) asociat unei rețele Petri (N, M0) mărginite, este un graf orientat G = (V, E). Mulțimea nodurilor V este dată de mulțimea tuturor marcajelor distincte din arborele de acoperire.
Mulțimea arcelor orientate E servește pentru a uni oricare două marcaje Mi, Mj din V, dacă există o tranziție tk a cărei executare duce de la Mi la Mj;
Arcele din E corespund arcelor din arborele de acoperire următor:
În cazul rețelelor Petri mărginite, graful de acoperire este referit drept graf de acceșibilitate (eng. Reachability graph), întrucât nodurile acestuia sunt chiar marcajele acceșibile ale rețelei, adică V ≡ R (M0). Grafurile de acceșibilitate pot fi utilizate pentru studierea tuturor proprietăților comportamentale ale rețelelor Petri mărginite.
Ecuația de stare
Se considera o rețea Petri pură N (în care nu există bucle autonome), cu n tranziții și m poziții.
Se numește matrice de incidență (eng. Incidence matrix) a rețelei, o matrice A = [aij] de dimenșiune n×m, ale cărei elemente sunt numere întregi:
Aij = ai+j − ai−j; i =1,…, n, j =1,…, m, unde:
• ai+j =W (ti, p j) este ponderea arcului de la tranziția ti, către poziția sa de ieșire pj;
• ai−j =W (p j, ti) este ponderea arcului către tranziția ti, de la poziția sa de intrare pj.
Matricele A+ = [ai+j] și A− = [ai−j] (de dimenșiune n×m) sunt referite drept matrice de incidență de ieșire, respectiv matrice de incidență de intrare. Din punctul de vedere al aplicațiilor, scrierea matricei de incidență A se poate face global, construind, mai întâi, matricele A+ și A−, după care se efectuează diferența A = A+ − A−. Conform regulii de validare și executare a tranziției, se observă că ij a− și ij a+ reprezintă numărul de jetoane îndepărtate și, respectiv, adăugate în poziția pj, atunci când tranziția ti se
Execută o singură dată.
Specificații de proiectare pentru structurile de conducere
Un proces tehnic cu funcționarea pilotată de evenimente este constituit dintr-o mulțime de resurse care sunt utilizate pentru a efectua o succeșiune de operații. Realizarea fiecărei operații necesita alocarea uneia sau mai multor resurse care sunt eliberate după încheierea operației respective.
Procesul are drept intrare un număr de clienți (nume generic desemnând entități a căror natură fizică depinde de specificul procesului). Fiecare operație realizată de proces reprezintă un anumit tip de serviciu prestat unui client. În urma parcurgerii secvențiale a întregii succeșiuni de operații, un client este servit complet și poate părăsi procesul. Astfel, ieșirea procesului constă în numărul de clienți serviți complet.
În cazul general, diferiți clienți pot necesita diferite succeșiuni de operații. În aplicațiile practice uzuale, numărul de succeșiuni diferite de operații este de ordinul unităților.
Problematica conducerii unui astfel de proces constă în a asigura îndeplinirea următoarelor condiții de funcționare:
(C1) corectitudinea succeșiunii de operații pentru toți clienții;
(C2) corectitudinea alocării și eliberării resurselor necesare de fiecare operație în parte;
(C3) prestarea unui anumit tip de serviciu de îndată ce resursele necesare pentru operația respectivă sunt disponibile (adică, maximizarea numărului de clienți aflați în curs de servire, în etape diferite);
(C4) repetabilitatea prestării serviciilor fără blocaje circulare datorate utilizării partajate a unora dintre resurse.
2.13 Proiectarea structurilor de conducere prin tehnici de sinteză hibridă
Sinteza hibridă furnizează o rețea Petri care modelează atât efectuarea operațiilor cât și utilizarea resurselor. Sinteza hibridă combină avantajele unei șinteze descendente (eng. Topdown), urmată de o sinteză ascendentă (eng. Bottom-up). În general, sinteza descendentă se aplică în rafinarea necesară modelării tuturor detaliilor privind modul în care se succed
Operațiile, iar sinteza ascendentă permite modelarea modului de utilizare a resurselor.
În acest scop resursele se clasifica în:
• Resurse generale – care sunt alocate unui client în momentul intrării acestuia în sistem, se utilizează pe tot parcursul servirii și sunt eliberate în momentul când servirea este completă (și clientul părăsește sistemul). O resursă generală poate fi simpla sau multiplă. În acest din urmă caz, resursa dispune de mai multe unități fizice șimilare, care pot fi alocate mai multor clienți de același tip.
• Resurse specifice – care sunt alocate unui client numai pentru prestarea anumitor tipuri de servicii (operații) și sunt eliberate de îndată ce acele servicii au fost efectuate. O resursă specifică este simplă. Ea poate fi utilizată nepartajat, pentru realizarea unei singure operații (sau secvențe de operații), sau partajat, pentru realizarea mai multor operații (sau secvențe de operații).
• Resurse de stocare (tip depozit sau tampon) care pun la dispoziție un spațiu fizic (a cărui natură depinde de tipul procesului) în care un număr limitat de clienți pot aștepta servirea de către o resursă specifică. O resursă de stocare este în general multiplă, întrucât oferă mai multe zone disponibile de așteptare în care se pot găsi mai mulți clienți.
Atașarea resurselor prin sinteză ascendentă
Prezentarea generală a procedurii de atașare a resurselor
Ca principiu fundamental, sinteza ascendentă permite atașarea resurselor specifice la modelul obținut în urma șintezei descendente (prezentată în paragraful anterior). Prin aplicarea acestui procedeu se păstrează structura construită prin sinteză descendentă (tranziții, poziții nemarcate pentru operații, poziții marcate pentru resurse generale) și se adaugă numai poziții marcate (cu arcele aferente) pentru modelarea utilizării resurselor specifice. Rezultatele ce vor fi prezentate mai jos garantează mărginirea (siguranța), viabilitatea și reverșibilitatea rețelei Petri ce constituie modelul final al funcționării sistemului.
Pornind de la modelul tip rețea Petri netemporizată rezultat în urma detalierii operațiilor prin sinteză descendentă, atașarea resurselor se realizează conform următorilor pași:
Pas 1. Atașarea resurselor specifice nepartajate
Pas 2. Atașarea resurselor de stocare
Subpas 2.1. Atașarea resurselor de stocare nepartajate
Subpas 2.2. Atașarea resurselor de stocare partajate
Pas 3. Atașarea resurselor specifice partajate
Subpas 3.1. Atașarea resurselor specifice partajate paralel
Subpas 3.2. Atașarea resurselor specifice partajate secvențial
Subpas 3.3. Atașarea resurselor specifice partajate paralel și secvențial
În cele ce urmează vom schița fundamentele teoretice pe care se bazează fiecare din acești pași ai șintezei ascendente.
Proprietăți caracteristice ale structurilor de conducere rezultate din sinteză
Modelul de tip rețea Petri al structurii de conducere capabil să descrie atât dinamica operațiilor cât și a resurselor prezintă următoarele caracteristici topologice și de marcaj.
• Pozițiile corespunzătoare fiecărei succeșiuni distincte de operații (linie sau flux deoperații) sunt secvențiate de-a lungul unei căi (drum) de operații, asociate succeșiunii respective. În cazul când există alegeri, concurențe sau sincronizări între operații, întro cale de operații pot apărea mai multe subcăi de operații.
• Tranzițiile sunt șituate numai pe căile de operații și, eventual pe subcăile acestora, marcând sfârșitul unei operații și începutul celei ce urmează, în conformitate cu succeșiunile de servicii ce trebuie prestate clienților.
• Pozițiile corespunzătoare resurselor se conectează la tranzițiile de pe căile și subcăile de operații fără a introduce tranziții suplimentare.
• În absența unor solicitări anume, o resursă specifică se alocă la începutul operației pe care o deservește și se eliberează la sfârșitul operației respective (alocare fără anticipare).
• În absența altor precizări, o resursă generală se alocă la începutul servirii unui client și se eliberează după servirea completă a clientului.
• Marcajul inițial lasă vide toate pozițiile corespunzătoare operațiilor și plasează jetoane numai în pozițiile corespunzătoare resurselor.
Analiza rețelelor Petri prin calculul invarianților
Fie RP = (L, T, I, O) o rețea Petri. RP se numește pura daca pentru orice (l, t) din LxT cu I (l, t) <>0 avem O (t, l) = 0.
Fie RP o rețea Petri pura, in care se considera ca mulțimile L și T sunt ordonate (arbitrar):
L: l1 < l2 <… < lm, m fiind cardinalul lui L,
T: t1 < t2 <… < tn, n fiind cardinalul lui T.
Matricea A: LxT > Z indexata după L și T cu
A [li , tj ] = O (tj , li ) – I (li , tj )
Se numește matricea de incidente a lui RP. Linia li și coloana tj ale lui A se notează prin A [li, -], respectiv A [-, tj].
Exemplu: modelul excluderii mutuale (vezi figura 11).
Matricea de incidente este următoarea:
A | 1 2 3 4
––––––––
A | -1 1
B | 1 -1
C | -1 1
D | 1 -1
E | -1 1 -1 1
Fig.11.
Fig.12.
Exemple.
A) RP fara pierdere de puncte dar cu marcaj nereproductibil (figura 12).
Figura 13.
In primul exemplu, tranzițiile 1 și 3 pierd un punct, iar tranzițiile 2 și 4 adauga un punct, ceea ce face ca pierderea sa fie temporara. Daca luam marcajele din b și d cu pondere dubla fata de celelalte, observam ca marcajul ponderat este invariant:
M [a] + 2M [b] + M [c] + 2M [d] + M [e] = 3
Indiferent de M.
Daca notam cu g vectorul ponderilor ordonat după L, obținem relația gT. M = 3 pentru orice marcaj M (unde gT este transpusa lui g).
Considerând doua marcaje M și M' cu M [t> M', adică M' = M + A [-, t] obținem gT. M = gT. M' = gT. M + gT. A [-, t]. Rezulta gT. A [-, t] = 0 pentru orice t, de unde gT. A = 0. Deci g este o soluție a ecuației xT. A = 0 și se numește un L-invariant.
In general, pentru o RP cu matricea de incidente A, un L-vector I este un L-invariant daca și numai daca IT.A = 0. Un L-invariant ne-negativ I se numește minimal daca și numai daca nu exista un alt L-invariant I' a.i. 0< I' < I.
Un algoritm simplu și eficient de calcul al invarianților este dat in continuare. Fie U matricea unitate de ordinul m (m fiind numărul locațiilor) și A matricea de incidente.
Calcul_invarianți ()
}
L-invariantii corespund liniilor nenule din U.
Pentru modelul excluderii mutuale obținem:
U|A | 1 2 3 4
––––––––––
A | 1 0 0 0 0 -1 1
B | 0 1 0 0 0 1 -1
C | 0 0 1 0 0 -1 1
D | 0 0 0 1 0 1 -1
E | 0 0 0 0 1 -1 1 -1 1
Pentru j=1 se adauga liniile a+b și b+e obținându-se
A+b | 1 1 0 0 0 0 0 0 0
B+e | 0 1 0 0 1 0 0 -1 1
După care se suprima liniile a, b și e (având elementele din coloana 1 diferite de 0), ceea ce conduce la forma modificata a matricei U|A următoare:
U|A | 1 2 3 4
–––––––––––
C | 0 0 1 0 0 -1 1
D | 0 0 0 1 0 1 -1
A+b | 1 1 0 0 0
B+e | 0 1 0 0 1 -1 1
Următoarea coloana considerată este j=3, pentru care se adauga liniile c+d și d+b+e obținându-se:
C+d | 0 0 1 1 0
D+b+e| 0 1 0 1 1
Se elimina liniile c, d precum și b+e, obținându-se invarianții:
_ _ _ _ _ _
| 0 | | 0 | | 1 |
| 1 | | 0 | | 1 |
I1 = | 0 | I2 = | 1 | I3 = | 0 |
| 1 | | 1 | | 0 |
|_ 1_| |_ 0 _| |_ 0 _|
Daca M este un marcaj al unei rețele Petri și I un L-invariant atunci pentru orice marcaj M' acceșibil din M avem IT.M' = IT.M.
Acest rezultat se poate foloși astfel:
– Verificarea evitării anumitor marcaje; astfel, daca exista un invariant I a.i. IT.M' <> IT.M atunci M' nu poate fi acceșibil din M;
– Găsirea condițiilor necesare completării unui marcaj M' acceșibil din M și cunoscut parțial;
– Deducerea unor proprietăți generale ale marcajelor acceșibile.
De exemplu, foloșind relația IT.M = IT.M0 (unde M0 este un marcaj inițial, iar M un marcaj oarecare acceșibil din M0 ) obținem pe rând, pentru cei trei invarianți:
M [b] + M [d] + M [e] =1,
M [c] + M [d] = 1,
M [a] + M [b] = 1.
Prima relație corespunde condiției de excludere mutuala și exprima faptul ca resursa este fie libera (M [e] = 1), fie utilizata de unul din procese (M [b] = 1), fie de al doilea proces (M [d] = 1). Luate in ansamblu, relațiile conduc la M [li ] <= 1 pentru orice locație li, deci rețeaua este sigură. Ponderile asociate locațiilor in vectorul g rezulta din g = I1 + I2 + I3 . Relația M [a] + 2M [b] + M [c] + 2M [d] + M [e] = 3 probează ca rețeaua este conservativa.
In privința reproducerii marcajelor, observam ca pentru exemplul excluderii mutuale, marcajul inițial se reproduce prin execuția tranzițiilor 1 și 2. Efectul tranziției 1 asupra marcajului este dat de relația M0 + A [-,] = M1 care este echivalenta cu:
_ _
| 1 |
M0 + A| 0 | = M1
| 0 |
|_ 0 _|
Ca urmare, efectul cumulat al tranzițiilor 1 și 2 poate fi reprezentat prin:
_ _
| 1 |
M0 + A| 1 | = M0
| 0 |
|_ 0 _|
Unde T-vectorul:
_ _
| 1 |
E = | 1 |
| 0 |
|_ 0 _|
Reprezintă numărul de execuții ale tranzițiilor și este o soluție a ecuației A.y = 0. El se numește T-invariant.
In general, pentru o RP cu matricea de incidente A, un T-vector J este un T-invariant daca și numai daca A.J = 0. Un T-invariant ne-negativ J se numește minimal daca și numai daca nu exista un alt T-invariant ne-negativ J' a.i. 0 < J' < J.
Daca J este un T-invariant al unei RP atunci exista un marcaj reproductibil prin execuția tranzițiilor in conformitate cu J.
Din relațiile xT. A = 0 și A.y = 0 corespunzătoare l-invariantilor x, respectiv t-invariantilor y, se deduce ca t-invariantii asociați lui A se pot afla calculând l-invariantii asociați matricei de incidente transpusa AT . Cu alte cuvinte, componentele repetitive ale unei RP sunt componente conservative in RP duala definita astfel:
– Fiecărui loc in RP ii corespunde o tranziție in RP duala;
– Fiecărei tranziții in RP ii corespunde un loc in RP duala;
– Fiecărui arc in RP ii corespunde un arc orientat in sens contrar in RP duala.
Pentru exemplul excluderii mutuale obținem invarianții:
_ _ _ _
| 1 | | 0 |
| 1 | | 0 |
J1 = | 0 | J2 = | 1 |
|_ 0 _| |_ 1 _|
RP revine in marcajul inițial prin execuția tranzițiilor 1 și 2 sau 3 și 4.
Aplicație: transmiterea unui mesaj cu confirmare (vezi fig.4.12).
Matricea de incidente este:
A | 1 2 3 4 5 6
–––––––-
A | -1 0 1 0 0 0
B | 1 -1 0 0 0 0
C | 0 1 -1 0 0 0
D | 0 0 0 -1 0 1
E | 0 0 0 1 -1 0
F | 0 0 0 0 1 -1
M | 1 0 0 -1 0 0
R | 0 -1 0 0 1 0
Se obțin invarianții următori:
_ _ _ _ _ _
| 1 | | 0 | | 1 |
| 1 | | 0 | | 1 |
I1 = | 1 | I2 = | 0 | I3 = | 0 |
| 0 | | 1 | | 0 |
| 0 | | 1 | | 1 |
| 0 | | 1 | | 0 |
| 0 | | 0 | | 1 |
|_ 0 _| |_ 0 _| |_ 1 _|
Luând marcajul inițial din figură, rezultă relațiile:
M [a] + M [b] + M [c] = 1,
M [d] + M [e] + M [f] = 1,
M [a] + M [b] + M [e] + M [m] + M [r] =1.
Din ele rezulta M [li] <= 1, deci rețeaua este sigură, iar prin însumarea relațiilor rezulta: 2M [a] + 2M [b] + M [c] + M [d] + 2M [e] +M [f] + M [m] + M [r] = 3 deci rețeaua este conservativa.
Rețele Petri temporizate
O rețea Petri este numită temporizată dacă fiecărei tranziții a rețelei îi este atașată o valoare rațională pozitivă numită durată de activare. Activarea unei tranziții într-o rețea Petri temporizată se efectuează în trei etape, intervenind de această dată factorul timp:
tranziția este inițializată prin extragerea numărului corespunzător de jetoane din locurile sale de intrare;
tranziția este activă o perioadă de timp, jetoanele fiind “înghețate” în tranziție pe durata respectivă;
tranziția este încheiată prin plasarea numărului corespunzător de jetoane în locurile de ieșire ale tranziției.
O tranziție activabilă nu poate fi activată decât dacă este inactivă (dacă în tranziție nu se găsesc jetoane “înghețate”).
Pentru a fi complet cunoscută, starea unei rețele Petri temporizate trebuie descrisă prin:
marcajul rețelei;
starea tranzițiilor (active sau inactive);
timpii reziduali ai tranzițiilor (timpii rămași până la încheierea tranzițiilor active).
Făcând în acest moment legătura cu scopul pentru care rețelele Petri au fost prezentate (modelarea și simularea sistemelor de producție) devine evident faptul că tranzițiile unei astfel de rețele servesc modelării operațiilor dintr-un proces. Durata de activare a unei tranziții reprezintă astfel timpul necesar pentru efectuarea unei anumite operații. Evident, jetoanele care circulă prin rețea reprezintă piesele și semifabricatele din sistemul de producție.
Numărul de locuri de intrare și de ieșire dintr-o tranziție precum și evaluările arcelor de intrare și ale celor de ieșire corespunzătoare oferă informații asupra caracterului operației modelate de tranziția respectivă. Iată câteva exemple:
dacă o tranziție are un singur loc de intrare și un singur loc de ieșire iar arcele corespunzătoare au evaluări unitare, atunci tranziția modelează o operație în care se prelucrează un singur semifabricat și din care rezultă o singură piesă, de exemplu o operație de prelucrare prin strunjire;
o tranziție având un singur loc de intrare și un singur loc de ieșire, dar având arcele corespunzătoare cu evaluări supraunitare, poate modela o operație de prelucrare ce se efectuează simultan asupra unei anumite cantități de semifabricate;
dacă o tranziție are mai multe locuri de intrare și un singur loc de ieșire, atunci tranziția modelează o operație de asamblare (figura 5.3). Fiecare loc de intrare servește în acest caz la modelarea introducerii în zona de lucru a câte unui tip de reper din ansamblul ce va fi realizat, iar evaluările arcelor de intrare oferă informații referitoare la cantitățile din fiecare reper ce intră în componența ansamblului.
Figura 13.: Rețea Petri pentru modelarea unei operații de asamblare
Dacă tranzițiile servesc modelării operațiilor procesului tehnologic, se poate stabili în continuare că locurile dintr-o rețea Petri servesc, printre altele, modelării elementelor de transport din cadrul aceluiași proces. Se poate astfel atașa fiecărui loc o valoare rațională pozitivă numită timp de sejur, aceasta reprezentând timpul necesar unei resurse de transport pentru străbaterea unei anumite distanțe.
Așa cum se va putea observa în continuare, elementele de transport nu sunt singurele componente ale unui sistem de producție ce pot fi reprezentate prin locuri într-o rețea Petri. Locurile pot reprezenta de asemenea zone de stocare a pieselor sau semifabricatelor (buffere) sau pot avea semnificația unor variabile de stare ale procesului. Evident, în aceste din urmă cazuri, atașarea unor valori ale timpilor de sejur își pierde semnificația.
În cele ce s-au prezentat până la acest punct s-a considerat că valorile care descriu structura și starea unei rețele Petri (evaluările arcelor, marcajul rețelei, duratele de activare ale tranzițiilor și timpii de sejur ai locurilor) sunt valori constante. S-au avut deci în vedere numai rețelele Petri deterministe.
Utilizarea rețelelor Petri temporizate în modelarea sistemelor cu evenimente discrete
2.14. Rețele cu tranziții temporizate
Se spune că o rețea Petri este cu tranziții temporizate sau temporizată T, dacă fiecărei tranziții ti, i=1,…, n, i se asociază un interval de timp di ≥ 0, prin intermediul unei funcții de temporizare tip T (tranziție). SDED – Lucrarea 6
În ceea ce privește funcționarea rețelei Petri temporizate T, intervalele de timp di≥0 joacă rolul unor întârzieri ce se manifestă după cum urmează: din momentul când tranziția ti este validată, un număr de jetoane vor rămâne rezervate (nedisponibile din punctul de vedere calitativ, logic, al aplicării regulii tranziției) în poziția pj care precede ti pentru di unități de timp, înainte de deplasarea lor prin executarea tranziției ti. (Reamintim că notează ponderea arcului de la poziția pj la tranziția ti, fiind elementul generic al matricei de incidență de intrare). Ilustrăm cele spuse mai sus
În cazul a două sau mai multe tranziții aflate în conflict, selectarea tranziției care se va executa se realizează pe baza unui mecanism de priorități sau probabilități asignate respectivelor tranziții. Duratele de timp asociate tranzițiilor nu joacă nici un rol în rezolvarea situațiilor conflictuale, în sensul că nu este obligatoriu să se execute tranziția corespunzătoare celei mai mici durate de timp.
Rețele cu poziții temporizate
Se spune că o rețea Petri este cu poziții temporizate, sau temporizată P, dacă fiecărei poziții pj, j = 1,…, m, i se asociază un interval de timp dj ≥ 0, prin intermediul unei funcții de temporizare tip P (poziție).
În ceea ce privește funcționarea rețelei Petri temporizate P, intervalele de timp dj ≥ 0 joacă rolul unei întârzieri ce se manifestă după cum urmează: din momentul când tranziția ti care precede pj este executată, un număr de ija+ jetoane vor rămâne rezervate (nedisponibile din punct de vedere calitativ, logic, al aplicării regulii tranziției) în poziția pj pentru dj unități de timp, înainte de a putea fi utilizate pentru a valida tranziții ce succed lui pj. (Reamintim că ija+ notează ponderea arcului de la tranziția ti la poziția pj, fiind elementul generic al matricei de incidență de ieșire). +A
În cazul temporizării P, se presupune că executarea oricărei tranziții validate are loc instantaneu. Ilustrăm cele spuse mai sus prin reprezentarea grafică pentru 1ija+= și. Jetonul rezervat este figurat ca un cerc, iar cel nerezervat ca un disc.
Construcția modelelor tip rețea Petri temporizată P
Rețelele temporizate P se folosesc pentru a introduce în modelul matematic informațiile privitoare la durata activităților, elaborând, astfel, un model cantitativ. Cu ajutorul unui asemenea model se pot lua în discuție toate caracteristicile temporale specifice soșirii clienților și servirii acestora cu anumite succeșiuni de operații de către resursele sistemului.
În cazul unui model al structurii de conducere a sistemului cu evenimente discrete, rezultat prin procedeul de sinteză "bottom-up", fiecărei poziții asociate unei operații i se asignează durata activității de servire (procesare), iar fiecărei poziții asociate unei resurse i se asignează durata activității de eliberare a resursei.
Transformarea unei rețele temporizate P într-o rețea temporizată T
Pentru prezentarea procedeului de trecere de la temporizarea P la temporizarea T, utilizăm suportul grafic. Poziția temporizată P1 este înlocuită prin structura echivalentă alcătuită din pozițiile și tranziția T. Toate tranzițiile de intrare a lui P1 sunt tranziții de intrare pentru P și toate tranzițiile de ieșire ale lui P1 sunt tranziții de ieșire pentru P. Durata de timp d1 = x>0 asignata poziției P1 în rețeaua temporizată P, va fi asociată, cu aceeași valoare (notată) tranziției din rețeaua temporizată T. Acest procedeu se aplică pentru toate pozițiile temporizate alei rețelei inițiale (temporizată P). P, P1a1b1*1a1bdx1*=> T1*
Tranzițiile rețelei inițiale (temporizată P) sunt preluate în mod identic în rețeaua rezultată (temporizată T) așignându-le durate nule (de exemplu di = 0, i = 1,2,3,4)
Duratele de timp sunt nenule numai pentru tranzițiile suplimentare rezultate în urma trecerii de la temporizarea P la temporizarea T. Pentru a realiza o distincție grafică ușor sesizabila, tranzițiile care au durate nenule sunt uneori figurate printr-un dreptunghi, spre deosebire de bara ce simbolizează tranzițiile cu durată nulă.
Marcajul inițial al rețelei rezultate (temporizată T) se alocă pe baza marcajului inițial al rețelei temporizate P, plasând jetoanele fie în pozițiile cu indice superior 'a', fie în pozițiile cu indicele superior 'b'.
Pentru ca o rețea Petri ce se dorește a modela un sistem de producție să se apropie cât mai mult de realitate este însă necesar ca valorile enumerate mai sus să fie descrise prin variabile aleatoare (cu anumite densități de probabilitate). Rețelele din această a doua categorie poartă denumirea de rețele Petri stochastice.
Descrierea sistemului de producție
Sistemul de producție ce urmează a fi modelat prin intermediul unei rețele Petri este prezentat în figura de mai jos.
Figura 14: sistemul de producție studiat
Două tipuri de piese (A și B) sosesc din exteriorul sistemului în magazia B11. Atât piesele de tip A cât și cele de tip B sunt preluate de mașina unealtă MU1, prelucrate de către aceasta și depuse în magazia B12.
Din magazia B12, piesele de tip A sunt preluate de transportorul T1 și deplasate în magazia B21, iar piesele de tip B sunt preluate de transportorul T2 și deplasate în magazia B31.
Piesele de tip A sunt preluate din magazia B21 de mașina unealtă MU2, prelucrate de către aceasta și depuse în magazia B22. Piesele de tip B sunt preluate din magazia B31 de mașina unealtă MU3, prelucrate de către aceasta și depuse în magazia B32.
Piesele de tip A din magazia B22 sunt preluate de transportorul T3 și deplasate în magazia B4. Tot în magazia B4 sunt deplasate și piesele de tip B preluate de transportorul T4 din magazia B32. Din magazia B4 piesele de ambele tipuri părăsesc sistemul.
Piesele de tipul A sosesc în magazia B11 pe loturi. Timpul dintre momentele soșirilor a două loturi succeșive urmează o distribuție normală cu media 160 minute și abaterea standard 12 minute. Mărimea unui lot urmează de asemenea o distribuție normală, cu media 4 bucăți și abaterea standard 1 bucată.
Piesele de tipul B sosesc în magazia B11 de asemenea pe loturi. Timpul dintre momentele soșirilor a două loturi succeșive urmează o distribuție normală cu media 120 minute și abaterea standard 8 minute. Mărimea unui lot urmează de asemenea o distribuție normală, cu media 4 bucăți. și abaterea standard 1 bucată.
Capacitatea magaziei B11 este de 25 bucăți, indiferent de tipul pieselor.
Atunci când este liberă, mașina unealtă MU1 preia pentru prelucrare din magazia B11 piesa care a așteptat cel mai mult în magazie.
Timpul necesar prelucrării unei piese de tip A pe mașina unealtă MU1 urmează o lege de distribuție normală cu media 20 minute și abaterea standard 2 minute.
Timpul necesar prelucrării unei piese de tip B pe mașina unealtă MU1 urmează o lege de distribuție normală cu media 15 minute și abaterea standard 2 minute.
Capacitatea magaziei B12 este de 100 bucăți, indiferent de tipul pieselor.
Transportoarele T1 și T2 preiau fiecare câte o piesă din magazia B12 în mod aleator.
Timpii necesari transportoarelor T1 și T2 pentru a deplasa o piesă de la magazia B12 la magaziile B21, respectiv B31, urmează fiecare o lege de distribuție normală cu media 25 minute și abaterea standard 3 minute.
Timpii necesari acelorași transpotoare pentru a se întoarce goale urmează fiecare o lege de distribuție normală cu media 25 minute și abaterea standard 2 minute.
Capacitățile magaziilor B21 și B31 sunt de câte 10 bucăți fiecare.
Atunci când este liberă, mașina MU2 preia din magazia B21 o piesă de tipul A, în mod aleator. Timpul care îi este necesar pentru a o prelucra urmează o lege de distribuție normală cu media 70 minute și abaterea standard 5 minute.
Atunci când este liberă, mașina MU3 preia din magazia B31 o piesă de tipul B, în mod aleator. Timpul care îi este necesar pentru a o prelucra urmează o lege de distribuție normală cu media 60 minute și abaterea standard 4 minute.
Capacitățile magaziilor B22 și B32 sunt de câte 100 bucăți. Fiecare.
Transportoarele T3 și T4 preiau fiecare câte o piesă din magazia B22, respectiv B32, în mod aleator.
Timpii necesari transportoarelor T3 și T4 pentru a deplasa o piesă de la magazia B22, respectiv B32, la magazia B4 urmează fiecare o lege de distribuție normală cu media 30 minute și abaterea standard 3 minute.
Timpii necesari acelorași transpotoare pentru a se întoarce goale urmează fiecare o lege de distribuție normală cu media 25 minute și abaterea standard 2 minute.
Capacitatea magaziei B4 este de 10 bucăți, indiferent de tipul pieselor.
Piesele din magazia B4 sunt extrase din sistem la intervale de timp care urmează o distribuție normală cu media 20 minute și abaterea standard 4 minute.
Ordinea de extragere din magazia B4 este aleatoare.
Cantitățile de piese extrase din magazia B4 urmează o distribuție normală cu media 4 bucăți și abaterea standard 1 bucată.
2.15 Construirea rețelei Petri
Pentru a modela sistemul de producție descris anterior, utilizând programul Petri Net editor V4.2.1. Pipe platformă independenta de testare a rețelelor pretri ale cărui comenzi principale sunt descrise in secțiunea de mai jos, se va construi rețeaua Petri din figura de mai jos5.5.
După cum se poate observa, tranzițiile dintr-o rețea Petri reprezintă activități sau modificări de stare ale elementelor sistemului de producție.
Locurile dintr-o rețea Petri reprezintă fie zone din sistem în care se formează cozi de așteptare, fie stări ale elementelor sistemului.
Numărul de jetoane dintr-un loc reprezentând o coadă de așteptare corespunde numărului de piese din zona respectivă a sistemului. Prezența sau absența unui jeton dintr-un loc reprezentând o stare corespunde variantelor de existență a stării respective.
Enunțul problemei:
Urmărind lungimea cozii de așteptare în magazia B11 cu ajutorul ferestrei osciloscop sau a ferestrei stivă (vezi Anexa 7) pe o durată de o lună, să se decidă dacă magazia B11 ar fi putut fi proiectată la o capacitate mai mică, dar fără să ajungă în situația de a fi vreodată încărcată la maxim;
La o șimulare pe o durată mai lungă se constată că magazia B12 se umple, ajungându-se astfel la blocarea mașinii unelte MU1. Să se decidă dacă pentru evitarea acestei situații trebuie mărită viteza transportoarelor T1 și T2 sau trebuie micșorați timpii de prelucrare pe mașinile unelte MU2 și MU3. Să se propună și alte soluții.
Să se discute posibilitățile de optimizare a capacităților magaziilor B22 și B32.
Din meniul Test se alege opțiunea Tranșitions și se citește valoarea coeficientului de utilizare a tranziției t4. Să se aprecieze modul în care sistemul de producție studiat poate satisface comenzile către beneficiari, luând în conșiderare încărcarea magaziei B4 și parametrii densității de probabilitate a evaluării arcului B4-t4. Să se precizeze semnificațiile mărimilor discutate la acest punct.
Tranzițiile t3 și t6 reprezintă activitățile de soșire a loturilor de piese de tip A, respectiv B, în magazia B11.
Arcele t3-B11 și t6-B11 au culori diferite pentru a provoca apariția în locul B11 a două tipuri de jetoane.
Mașina unealtă MU1 este liberă dacă există un jeton în locul M1L.
Tranzițiile M1A și M1B reprezintă prelucrarea de către mașina unealtă MU1 a unei piese de tip A, respectiv B.
Figura 1: Rețeaua Petri corespunzătoare sistemului de producție
Arcele B11-M1A și B11-M2A au culori diferite pentru ca un jeton de o anumită culoare care pleacă din magazia B11 să ajungă în tranziția corespunzătoare tipului piesei.
Un jeton în locul p1 reprezintă starea mașinii unelte MU1 din momentul imediat următor încheierii prelucrării unei piese, indiferent de tipul acesteia.
Tranziția t1 reprezintă trecerea mașinii unelte MU1 în starea “liber”. Durata de activare a tranziției t1 este nulă deoarece se considera că trecerea în starea “liber” are loc imediat ce s-a încheiat prelucrarea unei piese.
Arcele M1A-B12 și M2A-B12 au culori diferite pentru a provoca apariția în locul B12 a două tipuri de jetoane.
Tranzițiile T112 și T121 reprezintă deplasările transportorului T1 de la magazia B12 la magazia B21 și înapoi. Tranzițiile T213 și T231 reprezintă deplasările transportorului T2 de la magazia B12 la magazia B31 și înapoi.
Un jeton în unul din locurile T1B12 sau T1B21 reprezintă faptul că transportorul T1 a ajuns la magazia B12, respectiv la magazia B21. Un jeton în unul din locurile T2B12 sau T2B31 reprezintă faptul că transportorul T2 a ajuns la magazia B12, respectiv la magazia B31.
Celelalte elemente ale rețelei Petri din figura de mai sus au semnificații ce pot fi deduse pe baza celor prezentate anterior.
Valorile ce trebuiesc introduse în ferestrele de configurare ale locurilor din rețea sunt prezentate în tabelul 1.
Tabelul 1
Valorile ce trebuiesc introduse în ferestrele de configurare ale tranzițiilor din rețea sunt prezentate în tabelul 2.
Tabelul 2.
Pentru toate tranzițiile se vor utiliza valorile:
Parameter3 = 0; parameter4= 0; priority = 1; probability = 1.
Toate tranzițiile vor avea parametrul service time = normal, cu excepția tranzițiilor t1, t2 și t8 care vor avea service time = constant.
Toate arcele vor avea parametrul arc type = arc –
Toate arcele vor avea weight = constant, parameter 1 = 1 și parameter 2… 4 = 0, cu excepția arcelor t3-B11, t6-B11 și B4-T4 care vor avea weight = normal, parameter 1 = 4, parameter 2 = 1 și parameter 3… 4 = 0.
Arcele t6-B11, B11-M1B, M1B-B12 și B12-T213 vor avea culoarea 2, iar toate celelalte arce vor avea culoarea 1.
Configurarea rețelei Petri la această aplicație:
Prezentarea Programul Petri Net editor V4.2.1. Pipe
Proiectare asistată de calculator în mediul Petri Net editor V4.2.1. Pipe
Cunoașterea detaliatã a dinamicii unor șisteme cu evenimente discrete având un grad mai ridicat de complexitate, impune șimularea și analiza asistata de calculator drept instrumente indispensabile investigației. Un mediu software ce oferã astfel de facilități, orientate pe reprezentãrile de tip rețea Petri este Petri Net editor (Garbe, 1995). Mediul Petri Net editor este conceput pentru a permite operarea atât cu rețele netemporizate, cât și temporizate incluzând și cazul rețelelor Petri colorate. În aceastã primã parte a studiului nostru, care este dedicatã tehnicilor calitative, ne vom opri atenția supra utilizãrii Petri Net editor în contextul netemporizat. Urmeazã ca în partea a doua, care va trata aspectele temporale, sã prezentãm și facilitățile puse la dispoziție de Petri Net editor în manipularea descrierilor temporizate.
Independent de platforma Petri Net Editor 2 (PIPE2) [1] este un instrument bazat pe Java pentru construcția și analiza generalizată stocastice Petri net (GSPN) [2] modele. PIPE2 a apărut în 2002/3 ca o programare echipa postuniversitare proiect în cadrul Departamentului de Informatică de la Imperial College Londra și a fost constant îmbunătățit printr-o serie de versiuni succesive succesive, implementat de către studenți de la Imperial College din Londra și cu intrare de la industria (în special automatizare inteligent, Inc)
Pe lângă crearea de modele standard de rețea Petri , manipulare și facilități de animație , PIPE2 oferă un mecanism pentru integrarea run-time de noi funcționalități prin intermediul pluggable module de analiza . Aceasta este o caracteristică care stabilește PIPE2 afară de la multe alte instrumente de rețele Petri , a căror funcționalitate analiză este de obicei fix și nu poate fi extinsă de către utilizator .
Exemplul2 . În exemplul nostru, este pornita o cursă între doua mașini A si B. Atunci când starterul primeste semnul de „gata” de la toate masinile, el dă semnalul de pornire, iar masinile incep cursa.
Modelarea problemei
Alocarea locurilor:
respectiv – masina A si respectiv B este pregatita pentru start; 1 P10 P
respectiv – masina A si respectiv B asteapta inceperea cursei; 2 P11P
respectiv – cursele corespunzatoare masinilor A si respectiv B; 3 P12 P
respectiv – semnul de „gata” corespunzator masinilor A si respectiv B; 4 P8 P
respectiv – semnul de start corespunzator masinilor A si respectiv B; 5 P9 P
– starterul asteapta semnul de „gata” (de la masini); 6 P
– semnul de start al starterulului pentru inceperea cursei. 7 P
Tranzițiile reprezintă trecerea dintr-o stare în alta:
respectiv – transmiterea semnului de „gata” catre starter de catre masinile A si respectiv B; 1 T4 T
respectiv – inceperea cursei de catre masinile A si B; 2 T5 T
starterul da semnul de incepere a cursei 3 T
Fig.2. Reteaua Petri asociata exemplului considerat
În starea inițială se află câte un jeton în locurile , si iar tranzițiile sunt activabile. 1P6 P10 P4 31, ,TTT
Vom presupune ca evaluarea fiecarui arc este 1. Prin executia tranziției se iau jetoanele din si se pune unul in , iar celalalt in , in timp ce prin executia tranziției se iau jetoanele din si se pune unul in , iar celalalt in (Fig. 3) . 1 T1P4 P2 P4 T10 P8 P11 P
Fig. 3. Rezultatul executiei tranzițiilor T1 si T4
Atunci cand se executa tranzitia se ia jetonul din si se pune un jeton in , jetonul din se pune in , iar jetonul din se pune in (Fig. 4). 3 T6 P7 P4 P5 P8 P9 P12
Fig. 4. Rezultatul executiei tranziției 3 T
Executia tranzitiei determina scoaterea jetoanelor din si respectiv si punerea unui jeton in ; similar, executia tranzitiei determina scoaterea jetoanelor din si respectiv si punerea unui jeton in . 2 T2 P5 P3 P5 T9 P11P12 P
Fig. 5. Rezultatul executiei tranzițiilor si 2 T5 T
Exemplu prezentat poate fi rezolvat folosind Visual Simnet, in felul urmator:
Pasul 1. Proiectarea rețelei Petri (vezi Fig. 6)
Fig. 6. Proiectarea rețelei Petri
Pasul 2. Simularea modelului pe care aceasta îl reprezintă (vezi Fig. 7)
Fig. 7. Simularea modelului pe care il reprezinta reteaua Petri
In final rezulta:
Capitolul III
Elemente de Didactică și Metodică
3.1. Reforma învățământului românesc
În ansamblul schimbărilor produse în țara noastră în ultimul deceniu, reforma învățământului constituie o necesitate. Ea decurge, pe de o parte, din cerința de punere în concordanță a sistemului de educație cu transformările social-politice, economice și culturale, iar pe de altă parte, din funcția generală pe care o îndeplinește educația, aceea de factor de propulsie socială, contribuind la înfăptuirea schimbărilor preconizate. Toate programele de dezvoltare a societății are nevoie de resurse umane apte să le realizeze, iar formarea resurselor umane este opera educației. Astfel, reforma învățământului constituie un obiectiv al dezvoltării societății noastre și un factor al schimbărilor sociale, al dezvoltării.
Reforma învățământului este o acțiune complexă și de durată care are caracter de proces. Este necesară nu doar în situații în care se produc schimbări profunde în viața socială ci și ca urmare a dezvoltării continue a societății. În prezent este lansată și acceptată ideea ,,reformei permanente”. Această măsură nu însemnă că urmează să se producă permanent schimbări ,,de profunzime” (nu ar fi eficientă, productivă și nici posibilă). Asemenea schimbări devin oportune la anumite intervale de timp (10 – 15 ani, în societatea contemporană). Ideea ,,reformei permanente” sugerează nevoia adaptării învățământului la dinamica societății, evitându-se ,,rămânerile în urmă”, care generează fenomene de criză.
Reforma învățământului românesc privește sistemul școlar în ansamblu și operează schimbări în principalele componente ale acestuia: finalități, conținuturi, metodologii de lucru, principii de organizare și funcționare, structuri școlare și formarea personalului didactic.
Concluzionând, reforma învățământului – în curs de desfășurare – trebuie privită, ca proces necesar decurgând din schimbările sociale și ca acțiune de modernizare, de creștere a calității, a eficienței sistemului.
Direcțiile principale ale Reformei învățământului privesc:
Curriculumul național;
Introducerea manualelor alternative;
Metodologia evaluării performanțelor școlare;
Formarea personalului didactic;
Managementul educațional.
3.1.1. Programa școlară este un document curricular, în care este prezentat conținutul tematic al unei discipline de învățământ. Prin ea se detaliază răspunsul la întrebările : ,,Ce se predă”? ,,Ce se învață”?. Programa are caracter obligatoriu pentru orice profesor, în care sunt indicate elementele de conținut ale disciplinei ,,Tehnologia Informației și comunicației”, disciplină care urmează a fii predată – învățată. Caracterul obligatoriu al programei este mai nuanțat decât în cazul planului de învățământ. Realizarea programei este, în măsură însemnată, dependentă de pregătirea, experiența și abilitatea profesorului.
Prin conținutul ei, programa de tehnologia informației și comunicației îndeplinește mai multe funcții esențiale:
Orientează activitatea de instruire desfășurată de profesor, indicându-i ce trebuie să predea, modul de organizare a conținutului pe unități mai mari, capitole, subiecte corespunzătoare lecțiilor;
Prefigurează obiectivele importante pe care le vizează studiul acestei discipline;
oferă prin prevederile ei criterii de evaluare a performanțelor elevilor și implicit, a calității actului didactic realizat ;
În structura programei se disting cel puțin trei tipuri de informații :
scopurile generale (obiectivele cadru) ;
conținutul tematic ;
unele orientări metodologice.
3. 1.2. Manualul școlar este cartea elaborată pentru expunerea într-o manieră sistematică și precisă, a conținutului unui obiect de învățământ (în cazul nostru Tehnologia Informației și Comunicației ) în conformitate cu programa. Elaborarea unui bun manual este un demers de lungă durată, iar valabilitatea lui se raportează la o perioadă de timp mai mare.
Conținutul manualului nu este rezultatul unui simplu transfer ideatic din lucrările științifice ci, un proces de invenție pedagogică a unui conținut. Datorită faptului că este menit să susțină învățarea, manualul trebuie să corespundă exigențelor specifice.
Manualul școlar îndeplinește mai multe funcții :
reprezintă principala sursă de informații pentru elevi;
constituie un ,,ghid pentru învățare”,sugerând elevului moduri de studiere a unui program , de abordare a subiectelor, de sistematizare a cunoștințelor acumulate, de argumentare și susținere a lucrărilor de laborator , astfel manualul disciplinează gândirea elevului;
pentru elevi, este un ghid cu ajutorul căruia aprofundează cunoștiințele dobândite in cadrul orelor de laborator și de predare;
pentru profesorul de T.I.C. (ca și pentru ceilalți profesori de altfel) manualul constituie un material auxiliar utilizat în predare.
Îndeplinirea acestor funcții este însă condiționată de calitatea manualului.
Manualul de Ttehnologia Informației și Comunicației nu constituie totuși unica sursă de informare pentru elevi. Sunt numeroase alte mijloace auxiliare : cărțile de specialitate , fișe de lucru elaborate de cadrele didactice , internetul, software-ul.
Privite din punctul de vedere al conținuturilor se face distincție între manualele clasice care cuprind teme, imagini și alte mijloace de expresie și manualele moderne, care sunt însoțite de instrumente ajutătoare, audio și video (casete, CD-uri, dischete).
3.2..Procesul de predare-învățare
Procesul de predare privește direct activitatea profesorului, iar procesul de învățare se raportează preponderent la activitatea subiecților instruiți. Departajarea celor două procese și raportarea lor la cei doi factori umani angajați în această activitate nu este atât de tranșantă, dacă avem în vedere faptul că ele se află într-o strânsă relație de interdependență condiționându-se reciproc.
Scopul principal al predării îl constituie stimularea și dirijarea activității de învățare. Predarea prezintă mai multe caracteristici:
față de procesul de învățare, care are caracter individual, procesul de predare are caracter colectiv;
ca și învățarea, predarea este un proces orientat către obiective prestabilite;
presupune organizarea și dirijarea învățării;
vizează antrenarea elevilor în asimilarea cunoștințelor;
creează un climat educativ pentru elevi;
reprezintă un ansamblu de interacțiuni, un tip de comunicare verbală și non verbală;
Învățarea școlară este o activitate psihologică și pedagogică, organizată și dirijată de profesorul de Informatică , care constă în însușirea, transformarea, reproducerea și aplicarea conștientă și progresivă, relativ independent a cunoștințelor, deprinderilor și aptitudinilor. Ea presupune, de regulă, un dialog în care întrebăm și ne întrebăm, oferim explicații, interpretări exprimăm nedumeriri sau adeziuni.
Caracteristicile învățării școlare sunt următoarele:
este reglementată de norme, are caracter instituțional;
se desfășoară după un plan de instruire și de verificare a rezultatelor, are caracter sistematic și deliberat;
este o activitate conștientă și complexă, individuală și personalizată;
pornește de la simplu la complex, are caracter secvențial și gradual;
solicită un efort intelectual și se produce în stare de veghe;
vizează formarea unor aptitudini, are caracter formativ-informativ;
implică o motivație superioară și este activă.
Vorbirea persuasivă reprezintă calea preferată pentru realizarea activităților educative, folosind un limbaj afectiv și îngrijit față de interlocutor. Pentru a fi cât mai convingător, profesorul de Tehnologia Informațieie și Comunicației ( ca de altfel și celelalte cadre didactice) trebuie să posede pe lângă competența profesională și caracter, ceea ce ar însemna să ceară numai ceea ce el însuși știe să facă și face sau charisma, adică să se facă plăcut, agreabil. Forța persuasivă a intervenției profesorului crește atunci când acesta este deschis, deține capacități empatice, este încurajat mai degrabă decât să sancționeze, este pozitiv și egal. În afara acestor aspecte, o serie de recomandări privesc calitatea discursului verbal, care trebuie să satisfacă următoarele exigențe: claritate, vivacitate ( să folosească verbe active, puternice, imagistice și figuri de stil) adecvare, adresativitate.
De asemenea, forța persuasivă a discursului se poate obține și prin folosirea cu abilitate a resurselor oferite de paralimbaj și de mimică – gesticulație: adaptarea volumului vocii, modificarea intensității vocii în funcție de cunoștințele care trebuie transmise, menținerea unui contact vizual permanent cu elevii, plasarea la o distanță care să inducă o stare confortabilă elevilor, evitarea unei poziții fixe la catedră. Este bine să se evite excesul de autoritate sau de familiaritate, oricare dintre ele fiind la fel de periculoase.
3. 3. Educația Permanentă. Componentele Educației. Autoeducația
„Educația are drept scop să dea sufletului și corpului întreaga frumusețe și perfecțiune de care sunt susceptibile”(Platon).
Educația permanentă instituie o nouă viziune asupra educației, conturată ,,mai ales pe parcursul celei de a doua jumătăți a veacului al XX-lea, care desemnează procesul de formare și dezvoltare a personalității pe durata întregii vieți a individului”.
Educația permanentă este o viziune care pune în evidență complexitatea educației în perioada actuală de dezvoltare a societății; ea prezintă următoarele caracteristici:
Pregătirea individului pentru viață nu se mai poate limita la anii școlarității, ci se realizează, în mod necesar, ,,pe toată durata vieții” pentru că ,,viața devine o experiență perpetuă de învățare”;
Educația se constituie ca un sistem de mijloace menită să îl ajute pe individ și colectivitatea la realizarea unui proces normal de adaptare socială, profesională și culturală. De asemenea, în această accepție, ,,educația permanentă nu se limitează la un învățământ instituționalizat, ci încorporează toate celelalte forme și mijloace de formare, atenuându-se sensibil granițele dintre învățământ și procesul general al dezvoltării individului în contextul vieții sociale”;
Acumularea cunoștințelor, a valorilor, atitudinilor se realizează prin intermediul mijloacelor de informare extrașcolare cu mențiunea „că aceste mesaje difuzate de societate au nevoie să fie sistematizate, cristalizate”. Acțiunea integratoare a școlii este facilitată de faptul că o parte considerabilă dintre mesajele difuzate de alte mijloace (nonșcolare), cel puțin acelea care au un caracter cultural-educativ, se raportează la același sistem de valori ale culturii.
Educația permanentă conferă sistemului de educație mai multă suplețe, capacitate de adaptare la schimbările ce se produc în viața socială și la diversitatea situațiilor pe care aceasta le creează, cu toate ca educația permanentă vizează mai evident formarea profesională a individului, ea este concepută ca „formare integrală, armonioasă, influențând personalitatea în întregul ei”.
Ca o concluzie, cei doi autori afirmă că educația permanentă presupune corelarea, atât pe verticală, cât și pe orizontală, a diferitelor componente ale sistemului educațional. Contrar structurilor tradiționale ale învățământului, educația permanentă implică un sistem educațional integrat orizontal și vertical, ale cărui elemente se completează și comunică între ele, se bazează pe toate resursele pedagogice ale societății.
Ca factori care generează nevoia de educație permanentă, putem aminti: ritmul de dezvoltare, mai alert ca oricând, al cunoașterii umane, al științei și tehnologiei, progresul tehnic, mobilitatea vieții sociale, dezvoltarea democrației, creșterea duratei timpului liber, creșterea cererii de educație.
Etimologic, cuvântul „autoeducație” provine din latinescul “educatio” și grecescul ,,autos” care înseamnă “prin sine însuși”. Autoeducația privește atât autoinformarea cât și autoformarea.
Autorii Ion T.Radu și Liliana Ezechil converg în a considera educația și autoeducația ca ,,procese de aceeași natură – de formare și dezvoltare a personalității – aflate într-o permanentă întrepătrundere,alcătuind o unitate. Această relație dintre educație și autoeducație se întemeiază pe înțelegerea naturii educației ca îmbinare a înrâuririlor externe (educație prin alții) cu cele interne (prin sine însuși)”.
Una intre condițiile esențiale ale unei acțiuni autoeducative consecvente o constituie imaginea de sine cât mai corectă a persoanei.
Totodată, capacitatea autoeducativă se corelează cu trăsături de voință, presupunând o voință puternică aptă să îl ajute pe elev să învingă obstacolele întâlnite în atingerea scopului, să reziste la tentații care îi pot abate atenția și eforturile pe care le reclamă atingerea scopurilor urmărite.
Activitatea autoeducativă presupune, ca și educația, acțiune. Succesul ei este puternic dependent de gradul de angajare a elevului la efortul pe care îl reclamă realizarea scopurilor autopropuse.
Educația prin sine însuși se constituie ca o dimensiune necesară a unei educații permanente veritabile, iar stimularea autoeducației în perioada școlară reprezintă un imperativ al educației în societatea contemporană.
3. 4. Educația estetică. Impactul lumii contemporane asupra educației
Educația în sine are ca scop „să dea sufletului și corpului întreaga frumusețe și perfecțiune de care sunt susceptibile”.
„Educația estetică reprezintă procesul complex prin intermediul căruia se dezvoltă sensibilitatea estetică, înțeleasă ca aptitudine de a recepta semnificațiile obiectului estetic, în cazul nostru al operei de artă, și odată cu aceasta, de a resimți acea emoție amplă, senzorio-afectivă-intelectivă, care este bucuria estetică”.
De-a lungul timpului, educația estetică nu a fost separată de educația intelectuală ci, dimpotrivă, cultivarea capacităților intelectuale a fost asociată adesea de cultivarea și dezvoltarea sensibilității. Școala tradițională s-a concentrat cu deosebire pe cultivarea rațiunii și pe dezvoltarea spiritului științific, având un caracter unilateral. Concepția filosofică de la începutul sec.al XX-lea, cunoscută sub denumirea „filosofia vieții”, stimulează cercetările în domeniul psihologiei și al esteticii accentuând faptul că omul trebuie să fie format nu doar în spiritul a ceea ce este general, cantitativ și măsurabil, ci și în spiritul a ceea ce e ascuns, inaparent și sensibil. Se dezvoltă astfel sensibilitatea umană prin provocarea emoțiilor estetice. Educația estetică contemporană include următoarele finalități:
sensibilizarea față de limbajele și procedeele artelor;
receptarea valorilor estetice în diversele lor manifestări;
asimilarea unor criterii de apreciere a valorilor estetice pentru a deosebi arta de pseudoartă;
perceperea laturii estetice a vieții și dezvoltarea atitudinilor estetice ca orientări constante spre frumos.
Ca fenomen social, educația își schimbă finalitățile și conținuturile, formele de organizare și realizare, ca și metodologiile, odată cu evoluțiile realizate în plan social global. Adaptabilitatea și autoreglarea educației la problematica societății, condiționează semnificația și eficiența ei.
Având în vedere că în perioada actuală societatea românească presupune schimbări în toate planurile vieții sociale, este firesc ca și în sistemul de educație să se producă reconsiderările pe care le presupune o societate democratică. Acestea privesc toate componentele și laturile activității de educație de la organizare și structuri instituționale până la finalități, de la conținuturi până la metodologii de lucru.
Noile exigențe sporesc considerabil dacă avem în vedere și faptul ca problematica lumii contemporane are unele caracteristici care sunt proprii:
este universală, adică nici o zonă geografică nu se poate plasa în afara acestor probleme;
este globală, pentru că afectează toate aspectele vieții sociale individuale;
cunoaște o evoluție mai rapidă decât în epocile trecute;
face necesare abordările interdisciplinare, deoarece domeniile de activitate sunt într-o strânsă legătură, unele dintre ele fiind chiar interdependente.
Noile tipuri de conținuturi ale educației sunt următoarele:
educația ecologică;
pentru pace și colaborare;
pentru democrație și participare;
economică și casnică modernă;
pentru mass-media;
pentru comunicare;
pentru timpul liber;
pentru schimbare;
interculturală.
Această enumerare nu poate fi limitativă. Deoarece conținuturile educației sunt dinamice, viața socială impunând dispariția unora și mai ales, apariția unor conținuturi noi. Conținuturile noi, care au implicații mai ample, asupra educației școlare sunt ; educația ecologică, pentru mass-media și pentru comunicare, pentru progres, pentru timpul liber, educația specială și interculturală.
IV. METODICA PREDĂRII INFORMATICII
Metode, tehnici, procedee didactice.
Sarcicnile didactice se realizează cu ajutorul tehnicilor
1. Expunerea
2. Explicarea
3. Problematizarea
4. Modelarea
5. Demonstrarea folosind materialul intuitiv
6. Exercițiul
7. Învățarea pe grupe mici
8. Munca cu manualul
9. Jocurile didactice
10. Instruirea programată
În tratarea acestor metode se vor urmări cu predilecție particularitățile specifice predării disciplinelor de informatică și, în special, aplicațiile practice de laborator și contribuția informaticii la realizarea obiectivelor didactice ale altor discipline din învățământul preuniversitar.
4.1. Expunerea sistematică a cunoștințelor
Dintre formele pe care le îmbracă expunerea sistematică a cunoștințelor (povestirea, prelegerea, descrierea, explicația, conversația etc.), opinăm că informatica utilizează cu precădere explicația. Elementele explicative domină procesul de instruire informatică, acestea fiind caracteristice atingerii unor obiective de referință care cuprind formarea de deprinderi și abilități practice de utilizare a unor produse soft deseori complicate și dominate de interfețe neprietenoase față de utilizator (netransparente). Ceea ce conferă o accentuată notă de adaptabilitate este operativitatea impusă de aplicarea acestei metode prin alternarea expunerii cu demonstrația practică, elevii fiind astfel scoși din pasivitatea posturii de simpli receptori. Analogiile cu situații cunoscute fac din receptorul pasiv un participant activ la expunere. Expunerea nu se desfășoară în condiții perfect univoce, adică fără alternative și reveniri, nici la disciplinele cărora metoda le este caracteristică. La informatică, aceasta se întâmplă cu atât mai puțin. Elevul primește în condiții univoce doar ceea ce i se comunică în funcție de nivelul de cunoștințe dobândit, de propriile-i presupuneri, de experiența sa practică, de nivelul său de gândire, de înțelegerea codului de comunicație, ca să nu mai vorbim de oscilațiile de atenție. Profesorul trebuie să reproiecteze lecția prin prisma posibilităților elevilor și cu mijloacele lor de gândire. Accentul trebuie pus pe raționament, prin argumentări temeinice, prin scoaterea în evidență a modului în care trebuie să gândească. Expunerea trebuie să fie însoțită de un control permanent al gradului de receptivitate al clasei, urmărindu-se mimica elevilor (edificatoare în special la elevii mici), satisfacția înțelegerii lecției sau îngrijorarea și neliniștea în cazul în care elevul a pierdut firul explicației citindu-se pe fața elevilor, întrebările, repetiția, explicațiile suplimentare, analogiile cu alte noțiuni cunoscute permit realizarea unui control permanent al receptivității la expunere, în informatică recurgem neapărat la metoda expunerii (explicației) atunci când tema este complet nouă și printr-o metodă activă nu se poate descoperi noutatea, sau metoda activă este ineficientă din punctul de vedere al operativității. Astfel este necesară această metodă pentru a înțelege noțiunea de algoritm (inclusiv exemplificările clasice), de structură de date (inclusiv modalitățile de reprezentare), de comandă, funcție sau procedură standard (în legătură cu sistemul de operare sau mediul de programare ales), de raționament (într-un spațiu închis ales) și chiar a modalității de prezentare și introducere a unor programe utilitare, softuri de aplicație etc. în acest context, pentru prezentarea comenzilor unui sistem de operare, a unui editor de texte (sau grafic), a altor softuri mai complicate (prevăzute de programa școlară) se poate recurge Ia următoarele (sub)metode:
Expunerea (la tablă, prin slide-uri pe retroproiector sau prin PowerPoint) cu „desenarea" meniurilor și prezentarea funcțiilor fiecărei opțiuni, urmând ca elevul (prin aplicațiile de laborator) să exerseze fiecare funcție în parte, individual sau în grupe mici de lucru.
Prezentarea meniurilor și funcțiilor fiecărei opțiuni simultan cu exersarea acestora în cadrul orelor de aplicații practice de laborator.
Prezentarea meniurilor și funcțiilor fiecărei opțiuni simultan cu demonstrarea practică în momentul prezentării lor de către profesor, sarcina elevului fiind numai aceea de a urmări și reține modul de executare a operațiilor prezentate de profesor, urmând ca
elevul să aplice cunoștințele dobândite în cadrul orelor de laborator, în aplicații
ample (integrate, de dorit, într-un mediu economic clar), care necesită utilizarea în
mod repetat și în situații diferite a funcțiilor fiecărei opțiuni din meniul discutat.
Fiecare dintre variantele de mai sus au avantajele și dezavantajele lor. Prima variantă este cel mai des folosită deoarece, de regulă, profesorul nu are la dispoziție un laborator și pentru predare (iar aceasta se face cu întreaga clasă). Ea prezintă dezavantajul că elevul nu vede pe viu efectul executării fiecărei opțiuni (profesorul fiind nevoit în acest caz să-1 descrie în cuvinte), dinamica transformărilor și efectul video al acestora fiind greu de redat în cuvinte. Singurul avantaj este cel al obținerii de către elev a unui rezumat logic și coerent după care se va ghida în timpul realizării unor aplicații practice. A doua variantă înlătură dezavantajul neobservării pe viu a efectului executării fiecărei opțiuni, dar atenția elevului este îndreptată spre realizarea practică (simultan cu comunicarea modului de realizare a funcțiilor opțiunilor din meniuri). Astfel, o parte dintre funcții sunt abordate prea „abrupt" sau sunt chiar omise, iar altele sunt exersate prea mult. La acest dezavantaj se adaugă și reducerea randamentului prin faptul că profesorul trebuie să urmărească modul în care fiecare elev sau grupă aplică funcția prezentată și să intervină ori de câte ori un elev sau o grupă este în impas, în plus, unii elevi își formează mai repede deprinderea utilizării, iar alții mai greu, primii fiind tentați să încerce între timp alte opțiuni (chiar neprezentate încă de către profesor), ceea ce creează disfuncțio-nalități în desfășurarea lecției, aprecierea gradului de asimilare și chiar formarea unor idei greșite de utilizare (datorate încercărilor individuale, necoordonate). Pe lângă acestea, se pierde din vedere și realizarea unui rezumat sistematic al modului de utilizare, elevul fiind tentat să exerseze imediat funcția și uită să-și noteze „în stil propriu" modul de utilizare a acesteia. Ultima variantă pare să cumuleze toate avantajele celor anterioare prin faptul că elevul urmărește și reține (neavând alte preocupări care să-i distragă atenția) modul în care profesorul execută (corect) și explică simultan, elevii putând nota tot ce acesta prezintă. Este o manieră de expunere ce înlătură formarea unor deprinderi greșite, mărind randamentul la predare și asimilarea noilor cunoștințe. Această variantă are însă și un dezavantaj: necesitatea existenței unei dotări speciale, care să permită observarea în bune condiții, de către toți elevii clasei, a ecranului calculatorului pe care profesorul face demonstrația. Utilizarea unui retroproiector sau a unui videoproiector are multe inconveniente (în afară de costul ridicat), printre care faptul că trebuie să existe anumite condiții de mediu specifice în sala de clasă. De exemplu, pentru grupe mici poate fi folosit numai calculatorul ca atare, dacă elevii pot fi așezați în preajma acestuia astfel încât fiecare să poată observa fără efort ecranul. Indiferent de conținutul lecției, metoda expunerii nu se folosește singură decât foarte rar pe parcursul unei ore întregi, aceasta alternând cu alte metode de predare. Pe de altă parte, există o tendință accentuată a cadrelor didactice de a nu-și propune aprioric folosirea cu precădere a nici unei metode, ceea ce este foarte dăunător.
4.2. Metoda conversației
Metoda conversației se referă la dialogul dintre profesor și elev, în care profesorul nu trebuie să apară în rolul examinatorului permanent, ci în rolul unui colaborator care nu numai întreabă, ci și răspunde la întrebările elevilor. Prin metoda conversației se stimulează gândirea elevilor în vederea însușirii, fixării și sistematizării cunoștințelor și deprinderilor, în vederea dezvoltării spiritului de colaborare și de echipă. Se asigură astfel o participare activă din partea elevilor, întrebările putând fi adresate (teoretic) în orice moment al lecției. Metoda conversației este frecvent utilizată în învățarea informaticii, ea implicând un dialog continuu între elev și profesor, respectându-se anumite reguli elementare de colaborare constructivă care să nu determine diminuarea demersului didactic, ci să-1 amplifice și să-1 consolideze Conversația didactică poate îmbrăca forme diferite, în funcție de anumite criterii, în funcție de numărul de persoane, ea poate fi:
Individuală. Se poartă între un elev și profesor.
Colectivă sau frontală, întrebările sunt adresate întregii clase, iar răspunsurile „vin" de la diferiți elevi.
După obiectivele urmărite în diferite variante de lecții, conversația poate fi:
Introductivă. Aceasta este folosită în momentul captării atenției și reactualizării cunoștințelor asimilate anterior, pentru a trezi interesul pentru lecția care urmează.
Expozitivă, în timpul prezentării unei noi lecții, ea poate trezi interesul pentru fixarea noilor cunoștințe.
Recapitulativă. Este utilizată atunci când se urmărește recapitularea și generalizarea unor rezultate prezentate anterior.
Evaluativă. Este indicată, desigur, pe parcursul procesului de verificare și evaluare.
Dezvoltată. Este destinată prezentării unui nou subiect, nu complet necunoscut.
Caracteristicile principale ale întrebărilor, indiferent de forma de conversație, impun precizie și vizarea unui singur răspuns. De multe ori se pun întrebări vagi care încep cu Ce puteți spune despre… sau Ce știți despre…, care plasează elevul într-un dubiu total în legătură cu conținutul răspunsului. Din aceeași gamă face parte și celebrul îndemn de evaluare Prezintă subiectul pe care-l cunoști tu cel mai bine. Nu este normal ca întrebarea să conțină răspunsul sau să ceară un răspuns prin da sau nu. Ea contribuie la dezvoltarea gândirii. De asemenea, răspunsurile acceptate trebuie să fie corecte, complete, exprimate în termeni preciși, să oglindească o înțelegere efectivă a problemei abordate. Discuțiile au și rolul de a corecta greșelile din răspuns. Identificarea cauzei, eliminarea greșelii, cât și posibilitatea reapariției ei sunt foarte importante. Conversația arc un rol primordial prin faptul că ajută la formarea limbajului informatic, la dezvoltarea raționamentului logic și a gândirii elevului. Dificultățile pe care elevul le întâmpină în formarea limbajului de specialitate pot lăsa urme în plan afectiv, repercutându-se asupra dezvoltării lui intelectuale. De aceea se impune o analiză amănunțită a cauzelor acestor dificultăți, iar scoaterea lor în evidență trebuie relevate prin examinări (scrise, orale, reprezentări schematice, utilizarea simbolurilor specifice). A fi la curent cu dificultățile de limbaj pe care le au elevii la anumite vârste școlare și la un anumit stadiu de însușire a disciplinei înseamnă în primul rând să nu se abuzeze de termeni de specialitate (înlocuindu-i cu termeni sinonimi din vocabularul curent sau explicându-le sensul, dacă un alt înțeles al termenului este accesibil). Dificultatea formării vocabularului de specialitate constă și în faptul că aceste cuvinte noi sunt introduse în același timp cu introducerea noțiunilor noi, ceea ce face ca îmbogățirea limbajului informatic să se facă simultan cu dezvoltarea și formarea gândirii informatice. Stăpânirea limbajului se reflectă în rezolvarea problemelor și înțelegerea textelor și documentațiilor de specialitate. Nestăpânirea acestuia provoacă inhibiție, imposibilitatea comunicării sau chiar o comunicare și o înțelegere defectuoasă, făcându-1 pe elev timid, incoerent sau chiar ridicol în exprimare. Această metodă mai are și următoarele subdirecții:
Euristică. Nu există reguli precise, se bazează doar pe întrebare/răspuns, în funcție de evoluția concretă a dialogului.
Tip dezbatere. Se realizează un schimb de păreri în care este implicat un anumit colectiv. Ar fi bine să fie trase și niște concluzii care să nu aibă doar un rol istoric.
Catehetică. Aceasta impune efectuarea unor teste care implică memoria.
Este clar că o conversație se face prin întrebări, în plus, acestea trebuie să satisfacă următoarele condiții (uncie dintre ele rezultând din ceea ce am amintit mai înainte):
Să fie precise (vizând un singur răspuns).
Să nu conțină răspunsul și să aibă un rol instructiv.
Să stimuleze gândirea și capacitatea de creativitate a elevilor (De ce ?, Din ce cauză ?, In ce caz ? etc.).
Să fie formulate prin enunțuri variate și „atrăgătoare".
Să se adreseze întregului colectiv vizat.
Să conțină întrebări ajutătoare atunci când răspunsul este eronat sau parțial.
Răspunsurile acceptate trebuie să fie nu numai corecte, ci și exprimate in termeni preciși: și să oglindească un anumit nivel de înțelegere. Răspunsurile eronate trebuie corectate imediat, prin discuții individuale. Cadrul didactic trebuie să dirijeze conversația astfel încât ideile să fie bine conturate înainte de a trece la altele, în timp ce lecția își menține caracterul unitar, în ceea ce privește informatica, recomandăm și utilizarea unor instrumente ajutătoare, ca de exemplu introducerea/exprimarea noțiunilor printr-un limbaj „de programare" (scris/oral) care să implice utilizarea eficientă a simbolurilor (în afară de latura didactică propriu-zisă), ceea ce înseamnă separarea clară a sintaxei de semantică.
4.3. Problematizarea și învățarea prin descoperire
Predarea și învățarea prin problematizare și descoperire presupun utilizarea unor tehnici care să producă elevului conștientizarea „conflictului" dintre informația dobândită și o nouă informație, determinându-1 să acționeze în direcția lichidării acestuia prin descoperirea unor (noi) proprietăți ale fenomenului studiat. Pedagogic vorbind, conflictele se mai numesc și situații-problemă (problematizare), putând fi de cel puțin două tipuri:
Contradicții între posibilitățile existente ale elevului (nivelul intelectual și de pregătire) și cerințele, situațiile în care este pus de noua problemă. Aceste conflicte se datorează imposibilității elevului de a selecta dintre cunoștințele sale anterioare pe cele potrivite cu valoarea operațională de aplicabilitate a viitorului.
Incapacitatea elevului de a integra noțiunile selectate într-un sistem, în același timp cu conștientizarea faptului că sistemul este pe moment ineficient operațional (lucru
care poate fi remediat doar prin completarea informației de bază).
Întrebările frontale sau individuale utilizate în etapa de pregătire a introducerii unei noțiuni, a prezentării unui domeniu nou, întrebări care se adresează capacității de reacționare a individului, pot genera noi situații conflictuale de tipul menționat anterior. Pe cât posibil, cadrul didactic trebuie să gestioneze el însuși apariția situațiilor-problemă. La modul ideal, ele trebuie să apară de la sine în mintea elevului. Relativ la condițiile pedagogice ale acestor situații conflictuale generate de anumite probleme practice putem spune că problemele trebuie să aibă un sens precis și să fie enunțate într-un moment „optim" al lecției. Ele trebuie să înglobeze cunoștințe anterior însușite de elev, să le trezească interesul, să le solicite un anumit efort mental creator. Există părerea că rezolvarea problemei poate fi privită ca un proces prin care elevul descoperă că o combinație de reguli învățate anterior se poate aplica pentru găsirea soluției unei noi situații conflictuale. în acest sens se pot evidenția următoarele etape in rezolvarea problemei :
Prezentarea problemei (verbal, scris, grafic etc.).
Definirea problemei de către elev în sensul distingerii caracteristicilor esențiale ale situației, însușirii enunțului, găsirii legăturii între date, informații etc.
Formularea de către elev a anumitor criterii, ipoteze care pot fi aplicate în vederea găsirii unei soluții.
Verificarea succesivă a unor asemenea ipoteze, eventual și a altora noi, și găsirea efectivă a unei soluții (sau a tuturor).
Desigur că în contextul de mai sus expresiile situare conflictuală, problemă, rezolvare de problemă se referă la probleme și soluții noi, necunoscute încă de elev, și nu la ceva de tipul substituirii de valori numerice în expresii date, execuția unui program dat pentru niște valori de intrare etc. Utilizarea în predare a acestei metode este totdeauna utilă în momentul în care se și găsește rezolvarea conflictului.
Descoperirea apare ca o întregire a problematizării. Se pot pune astfel în evidență trei modalități principale de învățare prin problematizare și descoperire (clasificarea făcându-se după tipul de raționament folosit):
Modalitatea inductivă
Modalitatea deductivă
Modalitatea prin analogie.
În primul caz este vorba de generalizări. Elevul trebuie încurajat să-și dezvolte propria calc de învățare, care să nu contrazică lucrurile în care deja „crede", prin folosirea unor mijloace tehnice și resurse informaționale personale, în al doilea caz se folosește logica sau, mai exact, sistemele deductive (ca metodă de raționament). Putem deriva (obține) cunoștințe noi din cunoștințe vechi (cu ajutorul unor reguli de inferență specifice), în ultimul caz, se încurajează folosirea unei experiențe anterioare nu numai dintr-un domeniu conex, ci chiar din domenii total diferite.
Problematizarea are astfel interferențe cu conversația, întrebările individuale sau frontale care se adresează gândirii, raționamentului născând situații conflictuale. Generarea situațiilor-problemă trebuie produsă astfel încât întrebările să apară în mintea elevului fără ca acestea să fie puse de către profesor. După cum am mai precizat, ca disciplină cu caracter formativ, informatica își propune formarea unei gândiri algoritmice, sistematice și riguroase, care să promoveze creativitatea, să stimuleze imaginația și să combată rutina. Chiar dacă aparent travaliul informatic se sprijină pe anumite șabloane, acestea reprezintă numai tendințe utile de standardizare. Procesele care izvorăsc din situații reale, care implică folosirea calculatorului in rezolvarea unor probleme aparținând diferitelor sfere ale vieții de zi cu zi, analiza acestor probleme, alegerea structurilor de date pe care se mulează informația oferită de mediul înconjurător, pașii algoritmilor și programarea în sine determină folosirea metodei problematizării, iar aplicarea acestei metode necesită formarea unor deprinderi ce nu se obțin decât printr-un exercițiu îndelungat. Rezolvarea de probleme, ceva curent în învățarea informaticii, poate fi privită ca un proces prin care elevul descoperă că o altă combinație de reguli învățate anterior conduc la rezolvarea unei noi situații problematice. Formularea de probleme de către elevii înșiși constituie forme ale creativității și presupune că elevii și-au format deprinderi intelectuale eficiente din punctul de vedere al generalizării și aplicabilității (orice soluție generează o nouă problemă). Problemele propuse pot fi inspirate din viața cotidiană, din cunoștințele dobândite prin studiul altor discipline, din generalizarea unor probleme de informatică rezolvate anterior, probleme de perspicacitate, jocuri etc. Problematizarea și descoperirea fac parte dintre metodele formativ-participative, care solicită gândirea creatoare a elevului, îi pun la încercare voința, ii dezvoltă imaginația, îi îmbogățește experiența, în lecțiile în care se aplică aceste metode profesorul alege problemele, le formulează, dirijează învățarea și controlează munca depusă de elev în toate etapele activității sale. Această metodă este caracteristică, de exemplu, unor lecții de aplicații practice de laborator, metoda învățării prin descoperire fiind frecvent aplicată in momentul în care este necesară folosirea programelor utilitare, a softurilor de aplicație etc. Utilitarele se abordează în funcție de problemele concrete care urmează a fi rezolvate. Obiectivul imediat este cunoașterea și exploatarea produsului și nu îmbunătățirea lui. Concentrarea atenției va fi dirijată spre rezolvarea problemei și nu asupra analizei facilităților și lipsurilor produsului software. Cu siguranță, în acest caz este deosebit de importantă experiența dobândită, cunoștințele și deprinderile formate în alte situații similare de învățare : lucrul cu meniuri, funcții comune mai multor utilitare, cunoașterea structurilor de date, dexteritatea în tehnoredactare etc. Cunoașterea facilităților produsului soft se face în momentul ivirii necesității exploatării acestuia și nu printr-o prezentare a lui ca o înșiruire mai mult sau mai puțin sistematică și completă de funcții sau facilități. Bineînțeles că este obligatorie o prezentare generală a utilitarului, în contextul altor produse similare, trebuie concepută o viziune de ansamblu din care să se desprindă caracteristicile dominante ale utilitarelor din clasa respectivă și să se prezinte particularitățile specifice produsului, cu îmbunătățiri fată de versiunile anterioare și perspective de dezvoltare pentru cele viitoare.
Ca informaticieni, ne interesează (în acest context) și ceea ce numim rezolvarea problemelor (problem solving). îndemânările dobândite în legătură cu acest subiect depind în primul rând de cunoștințele specifice acumulate, dar din punctul de vedere al psihologici există acordul că se pot căpăta și „îndemânări generale". Procesul cognitiv în ansamblu este foarte complicat, numai pentru explicarea coerentă a acestuia fiind necesară o întreagă carte. Vom sublinia doar câteva elemente-cheie și direcții principale pentru abordarea rezolvării unor probleme. Astfel, când dorim să rezolvăm o problemă cu ajutorul calculatorului, presupunând că enunțul este „acceptat", trebuie să ne întrebăm în primul rând:
Ce știm în legătură cu domeniul implicat?
Cum sunt apreciate „pe piață" rezultatele?
Care strategii generale sunt aplicabile ?
Care sunt motivațiile suplimentare ?
După ce problema a fost enunțată și sunt furnizate anumite indicații suplimentare, putem trece la alegerea strategiei concrete de rezolvare. Aceasta trebuie să fie selectată după un anumit plan, să permită un anumit tip de verificare și generalizare. De asemenea, trebuie avute în vedere metode sau metodologii prin care să se interzică anumite „ramuri" și să se permită explorarea de direcții colaterale. Una dintre strategiile generale poate fi următoarea:
Pot să rezolv problema (am cunoștințele necesare).
Definesc în mod (semi)formal.
Caut informațiile suplimentare astfel încât să am o definiție formală concretă (eventual, chiar într-un limbaj de programare concret).
Fac planul de implementare.
îl execut (scriu „programele" și le „rulez").
Verific faptul că ceea ce am făcut este „corect".
Generalizez (la alte cazuri, la alte probleme).
Peste tot, cunoașterea măcar a unei părți din logica formală este indispensabilă.
4.4. Modelarea
Modelarea ca metodă pedagogică poate fi descrisă ca fiind un mod de lucru prin care gândirea elevului este condusă la descoperirea adevărului, folosind un așa-numit model și utilizându-se raționamentul prin analogie. Modelul și metoda în sine nu presupun o asemănare perfectă cu cazurile reale inițial specificate, ci numai o analogie rezonabila. Ea constă în construirea unui sistem si a cărui descriere coincide cu descrierea sistemului original s până la un anumit punct, si poate avea o natură diferită și este în general mai simplificat și formalizat. Ideea este că, investigând sistemul si prin metode specifice legate de o anumită temă de lecție, se pot găsi noi soluții, care apoi pot fi translatate în concluzii asupra evoluției sistemului de bază s. Modelarea are o mare valoare euristică colaterală, prin utilizarea ei putându-se dezvolta spiritul de observație, capacitatea de analiză și sinteză, creativitatea. Ideea ar fi să putem determina elevii să descopere singuri modelul. Astfel elevul se obișnuiește să creeze noi probleme ce trebuie rezolvate, să adapteze algoritmi cunoscuți la situații noi etc. Realitatea înconjurătoare este percepută și înțeleasă pe baza unor modele deja cunoscute. Dezvoltarea deprinderilor de modelare, obișnuirea elevilor cu gândirea logică se realizează prin prezentarea exactă și clară a modelelor și prin transparența particularizărilor. Un exemplu edificator îl constituie învățarea metodelor de elaborare a algoritmilor. Necesitatea unor formalizări se impune prin rigoarea modului de abordare a problemei, prin sistematizarea organizării informației de intrare, a exactității proiectării prelucrării și prin standardizarea ieșirii. Formalizarea necesită cunoștințe dobândite în studiul altor discipline, fundamentate teoretic, iar accesibilitatea formalizării este condiționată de factori specifici nivelului de cunoștințe dobândite anterior, de categoria de vârstă, de capacitatea de asimilare (a nivelul clasei, de exemplu). Abordarea ponderată a acestor aspecte conduce la dezvoltarea deprinderilor de abstractizare, a gândirii algoritmice și sistemice. Utilizarea modelelor în realizarea algoritmilor presupune stabilirea unor analogii și în organizarea datelor de intrare, învățarea algoritmilor este legată de cunoașterea modului de organizare a datelor, de cunoașterea profundă a structurilor de date posibile a fi prelucrate ușor de către calculator. Etapa cea mai importantă este cea a descoperirii algoritmului, urmată de stabilirea modului de organizare a datelor, dar importanța acestui ultim aspect este esențială în determinarea performantelor produsului program care implementează algoritmul. Modelarea (ca metodă pedagogică) este definită ca un mod de lucru prin care gândirea elevului este condusă la descoperirea adevărului cu ajutorul modelului, grație raționamentului prin analogie. Modelarea similară constă în realizarea unui sistem de aceeași natură cu originalul care să permită evidențierea trăsăturilor esențiale ale originalului. O gamă variată de probleme sunt rezolvate prin metoda backtracking. Pentru implementarea într-un limbaj de programare a unui algoritm elaborat prin backtracking, elevul are nevoie de un model reprezentat de un program, cum ar fi cel de generare a permutărilor sau de rezolvare a problemei celor opt dame, și, prin mici modificări, el poate obține multe alte programe care implementează algoritmi ce rezolvă probleme clasice, cum ar fi: generarea aranjamentelor, combinărilor, problema parantezelor, partițiile unei mulțimi, problema celor opt turnuri etc. Similar se procedează în rezolvarea problemelor care necesită utilizarea stivelor sau a cozilor, folosind operațiile elementare cu elementele acestor structuri dinamice elementare. Pentru detalii, vezi Anexa l și Capitolul 6. Modelarea analogică nu presupune o asemănare perfectă cu originalul, ci numai folosirea unei analogii. Momentele cunoașterii în procesul modelării sunt:
Trecerea de la original la model.
Transformarea modelului sau experimentarea pe model.
Transferul pe original a rezultatelor obținute pe model.
Verificarea experimentală pe original a proprietăților obținute pe model.
Trecerea de la original la model se face prin simplificare. Se impune ca simplificarea să nu fie exagerată, pentru a nu se omite trăsăturile esențiale ale originalului. Totodată, trebuie să nu se scape din vedere că valoarea modelului va fi apreciată prin prisma eficacității lui, adică a posibilităților pe care le oferă pentru atingerea scopului și că noile informații obținute pe baza modelului vor fi transferate cu grijă asupra originalului, având în vedere diferența dintre model și original. Modelul devine astfel purtătorul unei semnificații, informații, care poate fi exprimată printr-un suport material sau ideal. O clasificare a modelelor după natura suportului sub care se vehiculează informația poate fi:
Modele materiale, care au suport concret și care se folosesc foarte puțin în învățarea informaticii: folosirea unui table de șah în rezolvarea problemei celor opt dame determină o rapidă înțelegere a mecanismului metodei backtracking ; utilizarea unei
stive de monede de dimensiuni diferite pentru înțelegerea rezolvării problemei
turnurilor din Hanoi. Nu trebuie exclusă posibilitatea învățării direct pe obiectul de
studiu, caz întâlnit (și recomandat) în studiul structurii și arhitecturii sistemelor de
calcul, unde prezentarea părților componente ale unui sistem de calcul și a conexiu
nilor dintre ele, în contextul funcționalității ca un ansamblu (sistem), este esențială.
Modele ideale (virtuale), care se exprimă prin imagini, sisteme de simboluri sau semne convenționale.
Învățarea informaticii prin modelare presupune două etape, într-o primă etapă, învățarea se va face pe baza modelelor construite „de profesori", etapă în care se vor analiza trăsăturile modelului și compararea lui cu originalul. Pentru a reliefa condițiile pe care trebuie să le îndeplinească modelul, se vor da și contraexemple. în a doua etapă, elevii vor fi deprinși să construiască singuri modele. Importanta descoperirii modelului de către elev constă în faptul că elevul este obișnuit să reprezinte într-o formă standard condițiile impuse de problemă și-și adâncește convingerea că informatica este un domeniu în care rezultatele pozitive se obțin doar printr-o înlănțuire logică de raționamente. Folosirea modelelor nu înseamnă impunerea unor metode care trebuie reținute și aplicate orbește. Se va pune accentul pe înțelegerea pașilor unui algoritm și se va încuraja prezentarea oricăror metode care exclud modelul și care se impun prin eleganță și eficiență. Elevii vor fi încurajați să-și dezvolte și să-și prezinte ideile proprii, contribuind astfel la creșterea încrederii în posibilitățile lor, în valoarea ideilor lor. Ei nu trebuie să fie obligați să reproducă ideile altora, să aștepte ca totul să fie prezentat de profesor, să asimileze rețete, ci să descopere metode noi, să le prezinte, analizeze și perfecționeze printr-o comunicare continuă și constructivă. Folosirea modelelor în învățare deschide pentru informatică o impresionantă arie de aplicabilitate (inclusiv utilizarea ei în predarea altor discipline, de la artele plastice la cele mai diverse domenii ale tehnicii).
4.5. Exemplificarea sau demonstrarea materialului intuitiv
Prin exemplificare sau demonstrație, în acest caz, înțelegem prezentarea sistematizată și organizată a unor obiecte, procese, experimente, cu scopul de a ușura înțelegerea intuitivă și executarea corectă a unor activități programate. Cuvântul intuiție din titlu înseamnă utilizarea oricărui raționament inductiv, în contextul temei și bagajului de cunoștințe ale elevului. Utilizarea intuiției împreună cu exemplificarea necesară poate implica folosirea a diverse modalități și tehnici didactice datorită diversității materialului de studiu. Exemplificarea sau demonstrarea materialului intuitiv presupune utilizarea obiectelor reale, cum ar fi: material grafic (planșe, scheme); retroproiector/videoproiector și material pretipărit; calculator (imagini grafice, multimedia, power point). in acest context putem spune că: Prin demonstrarea materialului intuitiv se înțelege prezentarea sistematică și organizată a unor obiecte, procese etc. sau producerea unor experiențe, fenomene în fala elevilor, cu scopul de a ușura înțelegerea și executarea corectă a unor activități <44>. Un rol deosebit îl joacă astfel intuiția (intuiția este o experiență mentală ; înseamnă o simplă observare și notare a unor fapte; intuiția poate fi asimilată cu un raționament de lip inductiv <44>). Intuiția realizează corelația dintre imagine și cuvânt, fiind atât sursă de cunoștințe, cât și mijloc de verificare. Informatica nu poate fi desprinsă decât artificial de bazele ei intuitive și de extinderea ei în realitatea cotidiană. Convertirea principiului intuiției în metoda demonstrației se realizează în funcție de materialul intuitiv : machete, grafică, film didactic, televiziune școlară, software-uri de învățare. Materialul intuitiv este frecvent folosit în numeroase lecții, cum ar fi (vezi și Anexa l, Capitolul 6):
învățarea algoritmilor de sortare, unde prin diferite moduri de reprezentare sunt urmărite grafic valorile care se compară și se schimbă între ele, conducând la
ordonarea șirului.
învățarea metodei backtracking, unde folosind materialul natural se urmărește formarea soluției prin avansări și întoarceri repetate.
Vizualizarea ocupării și eliberării zonelor de memorie prin alocarea dinamică a variabilelor.
Ilustrarea modului de lucru cu elementele listelor simplu și dublu înlănțuite, a stivelor
și a cozilor.
Echilibrarea arborilor binari (arbori AVL).
Ținând cont de eficiența transmiterii informației prin mijloacele vizuale (inclusiv Internet) și de orientarea cu predilecție spre mijloacele de informare rapidă care solicită atât memoria vizuală, cât și cea auditivă și formarea involuntară a unui public consumator de informație audio-video. o orientare a metodelor și procedeelor didactice în vederea exploatării acestei stări de lucruri creează un avantaj aparte procesului instructiv-educativ. Crearea unor filme (casete video) didactice care să urmărească cu exactitate programa școlară creează facilități de predare multor discipline și ar permite elevului să poată revizualiza predarea lectici. Aceasta ar putea elimina ambiguitățile sau golurile create de momentele de neatenție din timpul predării și ar constitui un veritabil profesor la purtător al elevului. Este evident că acest mijloc didactic nu poate înlocui (nici măcar suplini) exercițiul individual și nici prezența efectivă a cadrului didactic. Efortul profesorului este însă cu totul special. Nu este suficient ca un elev să vadă un material, el trebuie învățat să vadă. Poate că în acest moment ar trebui să aducem în discuție euristicile și încurajarea creativității. Conform <47>, se pot pune în evidență chiar euristici pentru dezvoltarea creativității:
• Încercați să aveți cât mai multe idei. Cu cât sunt mai multe, cu atât puteți selecta câteva „bune".
„Inversați" (reformulați, reiterați, puneți într-un alt context etc.) problema.
„Ghiciți" o soluție la întâmplare (chiar urmărind un Dicționar…).
Gândiți-vă la ceva distractiv, apropo de utilizările posibile ale rezolvării.
Gândiți-vă la probleme similare și la soluțiile acestora, chiar în contexte diferite.
Concepeți o listă generală „explicativă" de cuvinte-cheie, proprietăți utile, stimulente ș.a.m.d. care au cât de cât legătură cu tema în cauză.
4.6. Metoda exercițiului
La modul cel mai general, exercițiile pot fi privite ca acțiuni concrete efectuate conștient și repetat în scopul dobândirii unor priceperi și deprinderi (mai rar cunoștințe) noi, pentru a ușura anumite activități și a contribui la dezvoltarea unor aptitudini. Avantajele metodei exercițiului sunt:
Se poate forma o gândire productivă, creatoare, cu implicație financiară.
Se oferă posibilitatea câștigării unei anumite independențe.
Se oferă posibilitatea inițierii unui dialog-conversație cu obiective precise asupra unor metode și soluții.
Se activează atitudinea critică și poate crește discernământul elevilor în privința celor mai bune metode de lucru.
Se oferă profesorului o anumită posibilitate de a analiza și evalua activitatea sau performanțele generale ale unui elev.
Condiția primordială de reușită este dată în principal de selecția corespunzătoare a problemelor sau exercițiilor, precum și de activitatea de îndrumare-proiectare. Prin urmare, exercițiile sunt acțiuni efectuate în mod conștient și repetat de către elev cu scopul dobândirii unor priceperi și deprinderi și chiar cunoștințe noi, pentru a ușura alte activități și a contribui la dezvoltarea altor aptitudini, însușirea cunoștințelor de informatică este organic legată de exersarea utilizării unor softuri de aplicație, de rezolvarea unor probleme de programare etc. Nu există lecție în care să nu se aplice această metodă. Alte avantaje sunt concretizate în rezultatele aplicării ei: formează o gândire productivă; oferă posibilitatea muncii independente; oferă posibilitatea analizei diverselor metode și soluții de rezolvare a problemelor; activează simțul critic și autocritic și îi învață pe elevi să-și aprecieze rezultatele și metodele de lucru; oferă posibilitatea depistării și eliminării erorilor.
Este clar că metoda nu contribuie numai la formarea priceperilor și deprinderilor de lucru cu calculatorul, ci contribuie substanțial la dezvoltarea unui raționament flexibil și operant. Pentru profesor, alegerea, formularea și rezolvarea problemelor și apoi exploatarea rezultatelor obținute constituie o sarcină de importanță deosebită. Alegerea problemelor este condiționată de programa analitică, succesiunea prezentării noțiunilor în manuale, metodele de rezolvare ce pot fi folosite și de elevii cărora li se adresează. Formularea problemelor trebuie să țină cont de noțiunile cunoscute de elevi, să fie clară, concisă (ncambiguă) și să folosească limbajul de specialitate numai în măsura în care este cunoscut elevilor. Rezolvarea trebuie să aibă în vedere obținerea rezultatelor pe căi clare și ușor de verificat, reținerea tipurilor de raționamente folosite, deschiderea perspectivei pentru rezolvarea unor probleme analoagc sau mai complexe. Folosirea rezultatelor obținute trebuie să vizeze lămurirea conținutului activ în cunoașterea noțiunilor învățate și adâncirea semnificației lor, asimilarea metodelor de rezolvare și aplicarea lor la rezolvarea altor probleme. Utilizarea pe scară largă a acestei metode a condus la o clasificare a exercițiilor și problemelor în funcție de aportul capacităților intelectuale necesare rezolvării lor. în subsecțiunile care urmează insistăm asupra unor particularizări.
4.6.1. Exerciții și probleme de recunoaștere a unor noțiuni, formule, metode
De exemplu, elevilor li se prezintă metoda backtracking (Capitolul 1). Utilizând-o, se pot descrie algoritmii care generează permutările, aranjamentele, combinările, apoi li se poate cere să genereze toate funcțiile injective, surjective, bijective definite pe o mulțime cu m elemente, cu valori într-o mulțime cu n elemente.
4.6.2. Exerciții și probleme aplicative ale unor formule sau algoritmi cunoscuți
Cunoscând modul de lucru cu clementele structurilor de date tip stivă sau coadă, elevilor li se poate propune să rezolve problema parcurgerii „în lățime" sau „în adâncime" a unui graf oarecare (< 16>, <25>, <29>). Exercițiile aplicative trebuie utilizate atât timp cât ele trezesc interesul. Repetarea lor nejustificată poate conduce la efecte contrarii. Contraexemplele însoțite de o analiză amănunțită vin să sublinieze trăsăturile esențiale, în același timp, analiza erorilor (<21>) este utilă prin faptul că dezvăluie anumite lacune în cunoștințele elevilor.
4.6.3. Probleme care permit însușirea unor noțiuni
Specifice informaticii sunt problemele al căror grad de dificultate crește treptat, o dată cu formarea și asimilarea noțiunii, fiecare nouă problemă aducând un plus de dificultate, în rezolvarea unei probleme de programare este necesar să se țină seama de următoarele etape :
• Analiza inițială a problemei prin care se stabilește formatul și natura datelor de intrare, intervalele de variație a datelor de intrare, a variabilelor de lucru (date intermediare), precum și formatul și intervalele de variație a datelor de ieșire. Tot în această etapă se va stabili un algoritm (plan) de rezolvare, exprimat, eventual, în limbaj natural, pe baza căruia se va permite fiecărui elev să lucreze independent.
Rezolvarea propriu-zisă a problemei este etapa în care se realizează transpunerea într-un limbaj de programare a algoritmului stabilit în prima etapă, în prealabil, algoritmul este reprezentat în una dintre formele cunoscute, se stabilesc variabilele de lucru, forma lor de alocare, prelucrările ce vor avea loc, apoi se trece la implementarea
în limbajul dorit. Dacă rezolvarea se poate face pe mai multe căi, trebuie să se
sublinieze, dacă este posibil, calea optimă.
Verificarea soluției sau soluțiilor obținute va permite elevului să-și dea seama dacă soluția obținută este cea corectă, în această etapă intervine profesorul cu seturi de
date de test care să cuprindă, dacă este posibil, majoritatea (dacă nu toate) cazurilor
ridicate de problemă și în special cazurile critice, la limita, ale datelor de intrare.
Aceste etape cuprind în esență: însușirea enunțului; discutarea problemei și stabilirea algoritmului de rezolvare; rezolvarea propriu-zisă; verificarea soluțiilor. Ele se pot modifica după natura problemelor. Acolo unde problema permite mai multe căi de rezolvare, profesorul analizează toate aceste căi și le selectează pe cele mai importante, propunându-le spre rezolvare pe grupe, comparând rezultatele, avantajele și dezavantajele fiecărei metode în parte. Se va evidenția în mod obligatoriu cea mai bună soluție.
Exemplu. Se cere elevilor determinarea arborelui parțial de cost minim asociat unui graf, prin algoritmul lui Kruskal.
În prima etapă:
Se analizează enunțul.
Se verifică dacă elevii cunosc noțiunea de arbore și de arbore parțial de cost minim.
Pe tablă se desenează un graf oarecare, se numerotează nodurile și se stabilesc costurile muchiilor.
Se stabilesc datele de intrare, formatul acestora, tipul lor (deja se gândește în direcția implementării într-un limbaj de programare); în acest caz datele de intrare se vor citi dintr-un fișier text cu înregistrări de forma:
n – numărul de noduri ale grafului;
i, j , ai,j . – muchia de la nodul i la nodul y are costul a. •
Fișierul va conține un număr de înregistrări de forma celor de mai sus, egal cu numărul de muchii al grafului.
Aici poate interveni profesorul, solicitând elevilor sau prezentând o formă mai condensată a fișierului de intrare, cu înregistrări de forma:
n – numărul de noduri ale grafului;
1 i1 a1,il i2 a1,i2… ik a1,ik – nodul l are vecinii i1, i2, …, ik, cu ik>1, iar costurile acestor muchii sunt a1,il, a1,i2, …, a, 1,ik
2 j1 a2,j1 -nodul 2 are vecinii j1, j2,……jt, cu jk>2, iar costurile acestor muchii sunt a2,j1, a2,j2, …, a2,jt
…………………………….
n-1 11 an-1,11 – nodul n-1 poate avea cel mult un vecin mai mare decât el, nodul n. Dacă un nod nu are vecini mai mari decât el, linia din fișierul de intrare corespunzătoare acelui nod va lipsi.
Vom construi fișierul de intrare pentru graful desenat pe tablă, pe care îl vom folosi ca prim fișier de test
În a doua etapă:
Se va stabili modul de memorare a datelor de intrare. Elevii vor fi tentați să reprezinte graful printr-o matrice de adiacență (simetrică), iar într-o altă matrice, tot simetrică, costurile muchiilor – sau, în cel mai fericit caz, printr-o singură matrice, atât costurile muchiilor, cât și graful. Aici trebuie să intervină profesorul. El va sublinia risipa de memorie realizată prin acest tip de memorare și va propune sau va încerca să obțină de la elevi o memorare mai eficientă (printr-un vector) a grafului și costurilor muchiilor. Se va defini un tip de dată numit muchie:
muchie : record
i,j:byte;
a:byte;
end;
cu semnificația că i, j sunt vârfurile muchiei, iar a – costul ei și se va aloca un vector de muchii, a cărui dimensiune maximă se va stabili împreună cu elevii. Profesorul va prezenta Algoritmul lui Kruskal. Apoi se consideră inițial arborele parțial vid. Se va selecta muchia de cost minim neselectată anterior și care nu formează un circuit cu muchiile deja selectate; procedeul se oprește după selectarea a n – l muchii (< 16>, <25>, < 36 >). Se insistă asupra criteriului de oprire, profesorul având două posibilități: să prezinte el criteriul și să verifice cu clasa de ce acesta este cel corect, sau să încerce să obțină de la clasă un criteriu de oprire. Următoarea problemă care trebuie abordată este cea a alegerii muchiei. Evident că prin ordonarea crescătoare a vectorului de muchii acestea vor putea fi selectate în ordinea crescătoare a costurilor lor, dar se pune problema eliminării muchiilor care formează circuite. Aici se va obține de Ia clasă o soluție, ținând cont că determinarea componentelor conexe ale unui graf a fost deja rezolvată. Se va stabili algoritmul de ordonare a vectorului de muchii și modul de memorare a nodurilor selectate pe parcursul determinării arborelui parțial de cost minim. Tot în această etapă, se va determina o soluție în cazul numeric prezentat în figura de pe tablă.
În a treia etapă li se va propune elevilor implementarea algoritmului fie cu memorarea datelor de intrare în matrice, fie în vectorul de muchii, pe grupe de lucru. Li se poate cerc chiar folosirea de algoritmi de sortare diferiți, pentru a constata faptul că soluția nu este unică și, în plus, li se va cere să determine cauza obținerii de soluții diferite, dar optime. Profesorul va supraveghea implementarea solicitând elevilor verificarea etapă cu etapă a realizării programului, prin afișarea temporară chiar a unor rezultate intermediare, în ultima etapă, elevii vor proba corectitudinea programului prin folosirea de date de test construite de ei și prin noi teste propuse de către profesor, dar aceste teste vor fi prezentate sub formă grafică, prin desen pe tablă ele., pentru ca ei să construiască singuri fișierul de intrare, în final se vor propune elevilor, spre rezolvare, probleme care să utilizeze rezultatul obținut sau să folosească tehnici asemănătoare – evident, fără a li se specifica acest lucru.
Problemă. O localitate având n puncte vitale, legate prin străzi a căror lungime se cunoaște, este complet înzăpezită. Primăria, care nu dispune de suficiente rezerve de combustibil, este obligată să deszăpezească un număr de străzi, astfel încât toate punctele vitale ale localității să fie accesibile din fiecare punct și să realizeze un consum minim de carburant. Să se determine străzile care trebuie deszăpezite știind că orice consum de carburant este direct proporțional cu lungimea drumului deszăpezit. Exemplul prezentat subliniază importanța și consecințele pe care le are asupra modului de rezolvare a unei probleme modul de organizare a datelor de intrare și a celor intermediare, de lucru. O posibilă clasificare a problemelor/exercițiilor (relativ la capacitățile intelectuale pentru rezolvare) ar fi:
Exerciții de recunoaștere a unor noțiuni (unitate curentă de I/E, unitate de disc, memorie internă, comandă externă, programe executabile de tip .corn sau .exe, HTTP-uri, telnet etc.).
Exerciții aplicative (programe pentru transcrierea unor formule, pseudocoduri). Aceste două clase de exerciții sunt recomandate în special pentru fixarea unor cunoștințe deja predate, în acest context poate fi utilă o complicare graduală a enunțului inițial, urmărindu-se memorarea mai bună a formulei sau a ideii algoritmului, cum ar fi: încadrarea acestuia într-un eventual alt tip de probleme cunoscute; complicarea lui în mod progresiv în vederea utilizării sale în alte situații; prezentarea unor cazuri-limită care pot conduce la rezultate eronate.
Exerciții grafice – planșe, vizualizări.
Exerciții complexe – presupun o analiză mult mai detaliată a problemei în ansamblu și implică descompunerea problemei în subprobleme, succesiv, până în momentul în care rezolvarea subproblemelor elementare este cunoscută.
În rezolvarea exercițiilor este importantă crearea posibilității îndeplinirii unei independente (individual, grup, echipă). Pentru formarea unor priceperi sau abilități legate de munca independentă se poate utiliza și așa-numita formulă a exercițiilor comentate. Aceasta constă în rezolvarea exercițiilor de către toți elevii, în timp ce un elev desemnat explică permanent rezultatele obținute. Nu este nevoie ca această explicație să fie utilizată pe calculator. Profesorul poate în orice moment să invite oricare alt elev pentru continuarea explicației (în acest fel, metoda este deosebit de activă). Discuțiile suplimentare sunt obligatorii în acest caz. Se vor evidenția permanent avantajele și dezavantajele rezolvărilor propuse, alte metode posibile de rezolvare, idei privind utilizarea acestor rezolvări în lecțiile următoare, particularizări ale lor în lecțiile anterioare.
1.7. Metoda învățării în grupe mici
Activitatea de învățare pe grupe mici se definește ca o metodă în care sarcinile sunt executate de grupuri de elevi, grupuri care sunt câteodată autoconstituite și care se autodirijează. Activitatea în informatică se desfășoară în general în echipă, travaliul individual fiind o componentă a muncii corelate din cadrul unui grup de lucru. Tehnicile de organizare a muncii în unitățile de informatică evidențiază ca o formă de organizare echipa programatorului-șef, echipă în care fiecare membru are sarcini bine stabilite (de analiză, programare, implementare, exploatare), sarcini corelate între ele. Este normal ca și activitatea didactică să recurgă la metode de învățare colectivă, fără a neglija însă munca individuală, ci doar privind-o pe aceasta ca o componentă a muncii în echipă (< 15 > , <46>). Profesorii recunosc, în general, eficacitatea unei asemenea organizări a activității didactice și o integrează în arsenalul metodic al predării disciplinei. Criteriile de formare a grupelor sunt în funcție de obiectivele urmărite (însușirea de noi cunoștințe, rezolvare de probleme etc.): grupuri omogene, formate din elevi cu același nivel de cunoștințe; grupuri eterogene, formate din elevi de toate categoriile (foarte buni, buni și slabi), dar în proporții apropiate; grupuri formate pe criterii afective (prietenie, vecini de bancă). Numărul elevilor dintr-un grup poale varia de la 2 la 10, dar cele mai potrivite grupuri sunt cele formate din 4-6 elevi. La lecțiile de aplicații practice de laborator, grupurile de lucru formate din 4 elevi care dispun de două calculatoare par a fi cele mai eficiente. Grupuri formate din mai mult de 2 elevi la un calculator se dovedesc a fi neproductive. Este bine ca la întocmirea grupurilor să se stabilească criterii clare de formare și elevii să fie lăsați să se grupeze singuri, respectând criteriile cerute. Pentru grupurile omogene, sarcinile pot diferi în funcție de scopul propus. Pentru grupurile eterogene sau create pe criterii afective, sarcinile vor fi aceleași la fiecare grup, dar profesorul va rezerva sarcini suplimentare elevilor mai buni din fiecare grup. Etapele pretinse de această metodă de învățare sunt: repartizarea materialului (problemelor) fiecărui grup; munca independentă a grupurilor sub supravegherea profesorului; discutarea în plen a rezultatelor obținute. Activitatea profesorului se concretizează în două etape. Prima este una proiectivă, în care se pregătește materialul de repartizat pe grupe $i materialul în plus pentru elevii buni, iar a doua, de îndrumare/supraveghere și de animare a activității grupelor de lucru. Ajutorul acordat grupelor de lucru trebuie să fie dat numai la cerere și în așa fel încât profesorul să se situeze pe poziția de colaborator și nu pe cea de autoritate care își impune părerile și soluția personale. Profesorul va interveni cu autoritate numai atunci când activitatea grupului se îndreaptă într-o direcție greșită. Când unul sau mai multe grupuri descoperă o soluție, propunerile lor vor fi discutate și analizate succesiv sau în paralel. Scopul acestei discuții este de a reliefa corectitudinea rezolvării, determinarea celei mai eficiente și mai elegante soluții și de a descoperi eventualele erori. Importanta dezbaterilor pentru dezvoltarea raționamentului este foarte marc, iar rolul profesorului este acela de a incita și coordona discuțiile în direcția obținerii concluziilor care se impun. Se impută, pe bună dreptate, acestei munci în grup o intensitate și o productivitate scăzute. Diversificarea sarcinilor grupurilor și împărțirea sarcinilor între membrii grupurilor atenuează această deficientă. Dacă prin activitatea în grup se intenționează dobândirea de noi cunoștințe prin lucrul cu manualul, documentația sau prin testarea unor produse soft, profesorul este obligat să organizeze dezbaterile finale care să stabilească dacă elevii și-au însușit corect noțiunile și și-au format deprinderi corecte. Este de asemenea greșit să se lucreze mereu cu grupuri constituite după aceleași criterii, pentru că în acest caz fie sunt suprasolicitați elevii buni din grupurile eterogene, iar elevii slabi se bazează exclusiv pe aportul liderilor de grup, fie, în grupurile omogene, elevii slabi se complac în postura în care se află și nu mai încearcă să scape de acest calificativ. Alte câteva probleme pot fi abordate sub un unghi diferit în acest context. Astfel, se pot pune întrebări mult mai individualizate (acestea nu (in neapărat de conținutul in sine al lecției). Ce întrebări se pun și modul în care se pun poate fi mai important decât întrebarea în sine. Apoi, este mai simplă „contactarea" elevilor în timpul lecției și chiar după ea. Susținem, ca prioritate și soluție la anumite probleme locale de învățământ, aducerea unor specialiști care lucrează în lumea reală pentru a preda lecții de sinteză, lecții speciale etc.
4.7. Metoda lucrului cu manualul și documentația
Manualele școlare, purtătoare ale valențelor formative prin deosebitul lor conținut metodic și didactic, reprezintă o limită impusă de programa școlară din punctul de vedere al conținutului informativ, în informatică, mai mult decât în alte domenii, manualul este supus perisabilității conținuturilor prin frecvența cu care disciplina este receptivă la noutățile domeniului. Realitatea didactică reliefează faptul că elevul folosește pentru învățarea teoriei doar notițele luate în clasă la predare și, din considerente de comoditate sau de obișnuință, foarte puțin (sau deloc) manualele. Acestea sunt consultate în cel mai fericit caz doar pentru citirea enunțurilor problemelor. Atitudinea de reținere sau de respingere fată de manual are consecințe negative atât asupra caracterului formativ, cât și asupra celui informativ al învățării. Capacitatea de raționament a unui copil nu se formează numai după modele de raționament oferite de profesor, ci și prin eforturi proprii, prin activitatea proprie de căutare și comparare cu alte scheme de raționament. Valoarea acestei metode nu constă numai într-o însușire temeinică a cunoștințelor, ci și în formarea unor deprinderi de activitate intelectuală. Mulți elevi încheie ciclul liceal fără a avea formate deprinderi de lucru cu manualul și documentația, ceea ce le creează serioase probleme de adaptare și explică eșecurile din primul an de studenție și greutatea de adaptare la cerințele studiului universitar. Metoda muncii cu manualul este un aspect al studiului individual și se introduce ca metodă, treptat, sub directa îndrumare și supraveghere a profesorului. Sunt discipline și profesori care aplică în mod abuziv această metodă. Pe lângă efectele negative asupra învățării, aceste abuzuri ascund și alte aspecte care nu fac obiectul prezentei lucrări, înainte de a aborda această metodă, profesorul trebuie să atragă atenția elevului asupra aspectelor importante ale lecției, care trebuie urmărite în mod special, cerându-i să realizeze un rezumat cu principalele idei de reținut. Rolul profesorului nu se limitează numai la a indica lecția din manual sau documentația care trebuie studiată, în timpul studierii de către elevi a noului material, profesorul are un rol activ. El urmărește fiecare elev cum își întocmește conspectul, dă îndrumări cu voce scăzută elevilor care-l solicită, verifică planurile întocmite de aceștia, corectând acolo unde este cazul. Profesorul poate să descopere în acest fel anumite lacune în cunoștințele anterior dobândite ale elevilor și să intervină ulterior pentru remedierea lor. £1 se ocupă deopotrivă de elevii slabi și de cei buni cărora le dă sarcini suplimentare, reușind astfel să-și facă o imagine despre stilul de lucru și ritmul fiecărui elev. După studierea individuală din manual sau documentație, urmează discuții asupra celor însușite de către elevi. Aceste discuții au scopul de a preciza problemele esențiale ale lecției, de a le sistematiza, de a înlătura posibilitatea unor omisiuni din partea elevilor sau chiar a însușirii eronate a unor noțiuni. Profesorului i se cere o pregătire minuțioasă a materialului, pentru a fi în măsură să răspundă prompt la orice întrebare pusă de către elevi. Nu orice lecție poate fi însușită din manual. Metoda se aplică numai lecțiilor care au în manual o redactare sistematică și accesibilă nivelurilor de vârstă și de cunoștințe ale elevilor. Metoda poate fi aplicată pentru studiul unor aplicații soft, limbaje procedurale (de exemplu, HTML) sau în studiul comenzilor sistemelor de operare. Elevilor li se recomandă studiul temei stabilite pentru acomodarea cu noțiunile, apoi profesorul reia prezentarea cu sublinierea aspectelor esențiale (<38>). Având o asemenea bază, profesorul se poate concentra asupra discursului său (ceea ce urmează este în strânsă legătură și cu precedentele metode). Dacă este bine organizat, există următoarele avantaje (<47>):
Urmărirea atentă a audienței : fiecărui „ascultător" îi poate fi sugerată ideea că este personajul principal, că el este cel vizat în primul rând.
Noi porțiuni de text pot fi ușor introduse suplimentar, prin referirea la „manual".
Se prezintă lucruri deja verificate. Nimic nu poale „merge rău", exceptând… îmbolnăvirea lectorului.
Stresul fiecărui elev în parte poate fi micșorai, el știind că nu este „destinatarul" special.
Există posibilitatea unui „feedback" rapid și anumite principii de învățare pot fi folosite imediat.
Există posibilitatea pregătirii prealabile a materialului, cu durată determinată, inclusiv cea a expunerii.
Posibilitatea de control asupra a ceea ce s-a transmis/recepționat, cui, când, sub ce formă, precum și a modului „de reacție" este foarte mare.
Desigur că există și dezavantaje. Nu insistăm, pentru că ideea este că fiecare avantaj de mai sus devine un dezavantaj dacă profesorul este un prost gestionar al metodelor și timpului său. Oricum, se poate ajunge, din partea clasei, la pasivitate, stagnare, plictiseală, lipsă de individualizare etc.
4.8. Metoda jocurilor didactice
Jocurile didactice (și nu numai) pe calculator au valențele lor educative. Ca metodă de învățare, jocurile didactice dau rezultate deosebite în special la clasele mici, dar marele pericol care planează asupra acestei metode de instruire îl constituie acele aplicații soft care au o încărcătură educativă redusă, dar prin atractivitate captivează și rețin atenția elevului, uneori ore în șir, fără ca acesta să dobândească cunoștințe sau deprinderi pe măsura efortului făcut. Un rol aparte se atribuie jocurilor manipulative, prin care elevul devine conștient de proprietățile obiectului studiat, își formează deprinderi și dexterității de utilizare a acestuia prin simularea pe calculator a utilajului sau dispozitivului respectiv. Aceste jocuri, numite uneori și simulatoare, necesită în cele mai frecvente cazuri echipamente periferice suplimentare, unele specializate pe lângă cele clasice. Amintim în acest caz utilizarea unor căști speciale pentru obținerea efectului de realitate virtuală, echipamente care simulează condiții de zbor (pentru pilotaj) ele. Alte tipuri de jocuri, numite reprezentative, prin simbolizarea sau abstractizarea unor elemente reale, conduc la descoperirea unor reguli de lucru (sau joc) cu aceste elemente, dezvoltând în acest fel imaginația elevului. Ce altceva reprezintă un produs soft (de exemplu, un editor grafic sau de text) alunei când înveți să-1 utilizezi, decât un joc mult mai serios? Chiar dacă metoda nu este caracteristică studiului informaticii, la limita dintre jocul didactic și învățarea asistată de calculator se situează o bună parte dintre software-urile de învățare, atât a informaticii, cât și a altor discipline (<44>).
4.9. Instruirea programată și învățarea asistată de calculator
Instruirea programată poate fi aplicată cu mare succes în momentele în care obiectul primordial al predării îl constituie utilizarea unui mecanism real. în cadrul instruirii programate, esențiale devin probele și produsele demonstrative, pe care ar trebui să le descriem elevilor. Trebuie avut în vedere ca numărul de ore afectat acestei instruiri programate să nu fie foarte mare. Acestea trebuie să includă un număr suficient de ore de verificare a cunoștințelor acumulate, evitându-se însă monotonia și instaurarea plictiselii (se recomandă utilizarea alternativă a altor metode). Trebuie evitată și folosirea metodei un timp îndelungat, lucru care poate conduce în anumite situații la o izolare socială a elevului. O idee pentru contracararea acestor efecte ar fi creșterea numărului de ore sau organizarea activităților pe grupuri sau în echipă. Instruirea asistată de calculator este un concept diferit de instruirea programată doar prin modalitatea de utilizare. Există aceleași premise și moduri de utilizare, cu excepția faptului că un sistem de calcul devine principala interfață dintre un profesor și un elev. Absolut toate noțiunile, conceptele, exercițiile, problemele, evaluările, testările, prezentările legate de o anumită temă în cadrul unei lecții (inclusiv estimarea îndeplinirii obiectivelor) sunt îndepliniri, dirijări, verificări cu ajutorul calculatorului (mediul soft corespunzător). Procesul de predare-învățare și verificare-evaluare funcționează pe baza principiului cibernetic comandă–control-reglare (autoreglare). Instruirea programată, ca metodă didactică, presupune construirea unor programe de învățare care, prin fragmentarea materialului de studiat în secvențe, realizează o adaptare a conținuturilor la posibilitățile elevilor, la ritmul lor de învățare, asigură o învățare activă și o informare operativă asupra rezultatelor învățării, necesară atât elevului, pentru autocorectare, cât și profesorului, în elaborarea programelor de învățare se au în vedere următoarele operații(<44>):
precizarea obiectivelor operaționale în funcție de conținut și posibilitățile elevilor;
structurarea logică a conținutului după principiul pașilor mici și al învățării gradate;
fracționarea conținutului în secvențe de învățare (unități didactice) inteligibile și înlănțuite logic;
fixarea după fiecare secvență a întrebărilor, exercițiilor sau problemelor ce pot fi rezolvate pe baza secvenței informaționale însușite;
stabilirea corectitudinii răspunsurilor sau soluțiilor elaborate ; aceasta se poate realiza fie prin alegerea dintre mai multe răspunsuri posibile (trei, patru sau chiar cinci) – iar în situația în care nu s-a ales răspunsul corect, se poate recurge la întrebări suplimentare -, fie se elaborează un răspuns și se compară cu cel corect.
Ca orice inovație, instruirea programată a trecut prin câteva faze contradictorii. La început s-a lovit de rezerva tenace a tradiției și de dificultățile materiale (tehnice), apoi, după ce a câștigat teren în conștiința teoreticienilor și practicienilor, s-au exagerat într-o oarecare măsură valențele ei aplicative, creându-se iluzia descoperirii pietrei fllosofale în domeniul pedagogic, în final, după o analiză lucidă, s-a admis că există părți pozitive și părți negative. Criticile aduse instruirii programate sunt atât de ordin psihologic, cât și de ordin pedagogic și metodic. Psihologic, instruirii programate i se impută faptul că nu ține seama de principiile psihologice ale învățării, vizând învățarea ca o simplă succesiune și înmagazinare de fapte. De asemenea, se știe că motivația învățării nu poate fi analizată numai prin prisma reținerii și învățării imediate, făcând abstracție de interesul elevului față de conținut, în plus, lucrând singur sau cu calculatorul, elevul se simte izolat. Pedagogic vorbind, fărâmițarea conținuturilor este în detrimentul formării unei viziuni globale, iar valoarea cunoașterii imediate de către elev a rezultatului obținut are valențe contestabile. Metodic, decupajul analitico-sintetic al conținuturilor îngustează elevului posibilitatea formării aptitudinilor de analiză și sinteză. Aceste critici au determinat mutații serioase în concepția de aplicare a metodei, dar practica didactică dovedește că atunci când se cunosc și se evită cauzele care generează efecte negative, metoda produce rezultate bune. Tendințele de îmbunătățire a aplicării metodei se îndreaptă spre alternarea utilizării metodei cu celelalte metode clasice. Inserarea într-o lecție programată a unor metode clasice schimbă determinarea muncii școlare, repunându-1 pe elev în directă dependență de activitatea profesorului și dându-i acestuia posibilitatea să verifice gradul de însușire a cunoștințelor conținute în program. O altă tendință este aceea de a modifica modul de redactare al programului, în special prin mărirea volumului de informație din unitățile logice și prin separarea părții de verificare, existând situații în care verificarea se va face după câteva ore sau chiar a doua zi. în plus, în program se pol insera secvențe independente, care să necesite timp mai mare de gândire sau de lucru. Izolarea imputată învățării programate poale fi contracarată prin alternarea cu munca în grup sau chiar prin învățare programată în grup, situație în care grupul parcurge în colectiv un program special conceput în acest sens.
Un exemplu de program de învățare care convinge prin atractivitate (<38>) este un program de învățare a tablei înmulțirii:
se generează aleatoriu, succesiv, zece perechi de numere naturale de la l la 10;
se afișează pe ecran perechile corespunzătoare sub forma n, x n2 și elevul introduce de la tastatură rezultatul;
programul afișează un mesaj sau emite un semnal sonor dacă răspunsul este incorect și repetă întrebarea ; dacă nici al doilea răspuns nu este corect, se va afișa răspunsul corect;
fiecare răspuns este punctat, iar la sfârșit se va afișa nota obținută ; programul poate cerc continuarea cu un nou set de zece întrebări.
Perspectiva învățării asistate de calculator, inclusiv prin intermediul Internetului, este certă. Ea oferă posibilitatea prezentării programului, verificării rezultatelor și corectării erorilor, modificând programul după cunoștințele și conduita elevului. Calculatorul nu numai că transmite un mesaj informațional, dar el poale mijloci formarea și consolidarea unor metode de lucru, de învățare. Se poate afirma că învățarea asistată de calculator nu numai că învață elevul, dar îl și învață cum să învețe. Prin aplicarea acestei metode de învățare nu se întrevede diminuarea rolului profesorului. Dimpotrivă, sarcinile lui se amplifică prin faptul că va trebui să elaboreze programe și să le adapteze la cerințele procesului educativ. Oricât de complete ar fi programele de învățare asistată de calculator, profesorul rămâne cea mai perfecționată mașină de învățat. Pentru informații suplimentare, vezi site-ul MECI' (adresa in Anexa 2).
4.10. Studiu de caz (exemplu general)
De fapt, acest exemplu poate fi considerat ca un corolar al tuturor capitolelor anterioare. După cum știm deja, în viziunea planului cadru pentru licee, filiera teoretică, specializarea Matematică-Informatică, funcționează clase cu studiul intensiv al disciplinelor de informatică. Disciplinele de informatică sunt componente ale ariei curriculare Tehnologii și se studiază pe trunchiul comun cu 4 ore pe săptămână și 1-3 ore pe săptămână în cadrul curriculumului la decizia școlii. Având în vedere finalitatea aplicativă imediată a conținutului teoretic, orele din trunchiul comun se desfășoară consecutiv, în laborator, cu clasa împărțită în două grupe de 70-75 elevi, în cadrul curriculumului la decizia școlii, orele se pot organiza pe grupe asistate chiar de doi profesori, în funcție de specificul conținuturilor modulului (dacă acesta este interdisciplinar). Unitatea didactică intitulată Structuri arborescente și aplicații acoperă o arie de conținuturi neabordate pe trunchiul comun și se adresează elevilor clasei a X-a. Necesitatea abordării acestor conținuturi este relevată de frecvența problemelor practice care pot fi rezolvate utilizând aceste structuri de date și de constatarea faptului că în cadrul concursurilor școlare, la nivel județean, național și internațional, frecvența problemelor care necesită cunoștințe de teoria grafurilor, în speță de utilizarea structurilor arborescente, este mare (Anexa l, Capitolul 6).
4.10.1. Obiective-cadru
Conștientizarea necesității organizării datelor în structuri arborescente și formarea deprinderilor de utilizare a acestor structuri. Stimularea creativității și formarea deprinderilor de simulare și utilizare a modelelor matematice în rezolvarea problemelor concrete. Implementarea algoritmilor specifici structurilor arborescente și utilizarea lor în aplicații în vederea optimizării alocării resurselor.
4.10.2. Grupuri-țintă
Cursul se adresează elevilor de clasa a X-a cu performanțe peste nivelul mediu al clasei, care au atins obiectivele trunchiului comun și dovedesc reale perspective de progres și disponibilitate la efort, elevilor participanți la concursurile și olimpiadele școlare. Se studiază în semestrul al II-lea.
4.10.3. Obiective de referință și activități de învățare
Asimilarea noțiunilor și rezultatelor teoretice cu privire la structurile de date tip arbore și a modului de reprezentare a acestora în memoria calculatorului. Aplicarea cunoștințelor dobândite și a deprinderilor formate în rezolvarea unor probleme concrete.
4.10.4. Specificarea conținuturilor
1.Noțiuni introductive
Proprietăți ale arborilor
Arbori cu rădăcină
Arbori binari și proprietăți
2.Reprezentarea arborilor
Reprezentarea arborilor binari
Operații elementare pe arbori binari (creare, parcurgere)
Reprezentarea arborilor binari stricți
Arbori asociați expresiilor aritmetice
Structuri de căutare
Căutarea secvențială
Căutarea binară
Căutarea pe arbori binari (de căutare)
Alte operații pe arbori binari de căutare
Arbori binari de căutare optimali
5.Arbori echilibrați
Arbori Adelson-Velskii-Landis (AVL)
Arbori bicolori
6.Heap-uri
Min-heap-uri și Max-heap-un
Crearea unui heap
Heap-sort
Cozi cu prioritate
7.Arbori parțiali
Arbori parțiali de cost minim
Algoritmii lui Kruskal și Prim pentru determinarea unui arbore parțial de cost minim
Arbori parțiali BF
Arbori parțiali DF
8. Arbori de compresie Huffman (codul Huffman)
4.10.5. Elaborarea standardelor de performanță
Corespunzător obiectivelor specifice, se elaborează standardele de performantă ce se doresc atinse. Astfel, pentru competența cunoașterea proprietăților arborilor în general și a arborilor binari in particular, se va elabora standardul:
4.11. Metode specifice de învățare
Acestea se referă la ramuri (subramuri) particulare ale informaticii (cum ar fi teoria algoritmilor, logica etc.). Fără a intra în detalii, invităm cititorul să consulte atât Bibliografia, cât și Capitolul 1. Metodele nu sunt independente, precum obiectivele sau principiile didactice. Ele se pot combina, iar dacă luăm în calcul și varietatea de obiective și/sau metode/metodologii specifice, ajungem la un număr impresionant de variante educaționale oră/temă. Din acest motiv, am preferat să furnizăm exemple globale – și nu locale – pentru fiecare metodă în parte. Alte exemple pot fi consultate pe parcursul lucrării, în Anexa l, Capitolul 6. Alegerea problemelor este condiționată de : planul de învățământ; manualele alternative; contextul local; nivelul clasei; materialul didactic disponibil; criteriile de valoare receptate; formularea problemelor (acestea trebuie să țină cont de: conținutul manualelor; noțiunile anterioare pe care le posedă elevii; caracterul fundamental sau legislativ al problemelor). Ca o concluzie parțială și nicidecum exhaustivă, tratarea rezolvărilor trebuie să aibă în vedere obținerea rezultatelor pe căi clare (și, pe cât posibil, verificabile printr-o altă metodă), analiza metodelor utilizate, reținerea tipurilor de raționamente folosite, deschiderea unor perspective pentru probleme similare sau mai complexe. Se urmărește cunoașterea activă a noțiunilor învățate, adâncirea semnificațiilor, asimilarea metodelor de rezolvare, aplicarea lor în rezolvarea altor tipuri de probleme.
PROIECT DIDACTIC
Disciplina: Informatica – T.I.C.
Clasa: a IX-a
Unitatea de invatare: Formatarea textului
Tema: Titluri HTML
Tipul lectiei: Mixta
Locul de desfasurare: laboratorul de informatica
Durata lectiei: 50 min
Obiective operationale:
O1) Sa enumere etichetele pentru formatarea textului;
O2) Sa utilizeze corect atributele pentru eticheta font;
O3) Sa recunosca etichetele pentru scrierea textului ingrosat, italic si subliniat;
O4) Sa foloseasca fonturi recunoscute de toate browserele;
O5) Sa deosebesca diferentele dintre etichetele <BR> si <P>;
O6) Sa rezolve corect cerintele de pe fisa de lucru;
Strategii didactice:
Principii didactice:
Principiul participarii si invatarii active
Principiul asigurarii progresului gradat al performantei
Principiul conexiunii inverse
Metode de invatamant:
Expunerea, conversatia
Exercitiul, invatarea prin descoperire
Procedee de instruire:
explicatia in etapa de invatare
invatarea prin descoperire, prin lucrul la calculator
conversatia de consolidare in etapa de fixare a cunostiintelor
Forme de organizare: frontala si individuala
Resurse material: calculatorul, editoare text, browsere
Metode de evaluare:
initiala: intrebari orale
aplicatii practice
Desfasurarea lectiei
Moment organizatoric
Se organizeaza si se pregateste clasa- verificarea frecventei.
Captarea atentiei clasei:
– anuntarea subiectului pentru tema respectiva
– anuntarea modului de desfasurare a activitatii
Comunicarea noilor cunostiinte:
Atunci cand avem nevoie sa folosim un titlu in cadrul paginii noastre web putem apela la tag-urile
<H1>, <H2>, <H3>, <H4>, <H5>, <H6>.
Cu ajutorul acestor tag-uri, care au si tag-uri de incheiere, vom scrie titlurile din cadrul paginilor noastre web. Astfel in cadrul codului HTML vom folosi tag-ul <H1>, de exemplu, urmat de textul titlului, iar la sfarsit vom folosi tag-ul de incheiere </H1>. Tag-urile <H1> si </H1> permit scrierea unui titlu cu caracterele cele mai mari in timp ce textul incadrat de tag-urile <H6> si </H6> va fi afisat cu caracterele cele mai mici, dupa cum urmeaza:
Acesta este un titlu cu <H1>
Acesta este un titlu cu <H2>
Acesta este un titlu cu <H3>
Acesta este un titlu cu <H4>
Acesta este un titlu cu <H5>
Acesta este un titlu cu <H6>
Tag-urile acestea accepta atributul ALIGN cu ajutorul caruia titlul va putea fi aliniat la stanga, la centru sau la dreapta.
Etichete pentru formatarea textului
Pentru alegerea caracteristicilor unui text, putem folosi tag-ul <FONT>. Acest tag accepta mai multe atribute (color, face, size) care ne vor ajuta in formatarea textelor. Atributul COLOR se refera la culoarea textului ce va fi incadrat de tag-urile <FONT> si </FONT>, atributul FACE arata tipul fontului, iar atributul SIZE arata marimea fontului.
Pentru a alege culoarea textului, trebuie sa consulti mai intai tabelul de culori, iar apoi, atunci cand te-ai hotarat ce culoare vei folosi, sa scrii codul sau numele acelei culori ca valoare a atributului COLOR.
La tipul fontului, la fel ca si la culori, este bine sa folosesti un font care se afla pe majoritatea calculatoarelor, pentru ca daca folosesti un font mai putin utlizat, multi utilizatori nu vor putea vedea textele din cadrul paginilor tale cu acelasi font. Cele mai folosite fonturi pentru paginile web sunt urmatoarele:
Acest text a fost scris cu fontul "arial"
Acest text a fost scris cu fontul "times new roman"
Acest text a fost scris cu fontul "courier new"
Acest text a fost scris cu fontul "verdana"
Acest text a fost scris cu fontul "helvetica"
<FONT COLOR=”#000000” FACE=”Arial”>Acest text …</FONT>
Pentru a schimba dimensiunea implicita a fontului, vom folosi una din valorile atributului size. Acesta poate lua una din valorile 1,2,3,4,5,6,7 (1 pentru cea mai mica dimensiune si 7 pentru cea mai mare):
<FONT COLOR=”#FFA500” FACE=”Arial” SIZE=”7”>Cercul de infromaticaError! Hyperlink reference not valid.>
Daca vrem ca textul nostru sa fie scris cu caractere ingrosate, folosim perechea de etichete <B> si </B>.
<B>Text bold</B>
Text bold
Pentru ca textul sa fie scris cu caractere italice, folosim perechea de etichete <I> si </I>.
<I>Text italic</I>
Text italic
Pentru ca textul sa fie subliniat, folosim perechea de etichete <U> si </U>.
<U>Text subliniat</U>
Text subliniat
Daca vrem ca textul sa fie afisat in centrul paginii putem folosi perechea de etichete <CENTER> si </CENTER>.
<CENTER>Text centrat</CENTER>
Text centrat
Atunci cand vrem ca textul din cadrul paginii noastre web sa fie afisat pe mai multe randuri vom folosi unul din tag-urile <BR> sau <P>. Tag-ul <BR> nu are tag de incheiere, in timp ce tag-ul <P> are tag de incheiere, insa nu este obligatoriu.
Tag-ul <BR> vine de la line break (intrerupere de linie) si este folosit pentru a face trecerea de la o linie la alta.
Tag-ul <P> vine de la cuvantul paragraf si se deosebeste de tag-ul <BR> prin faptul ca prin utilizarea lui nu numai ca se trece pe urmatorul rand, dar se si lasa un rand liber intre texte.
Alte marcaje:
Fixarea cunostiintelor
Se propune elevilor realizarea urmatoarelor pagini web:
<html>
<body bgcolor="orange">
<b>Text ingrosat (bold).</b>
<br>
<i>Text inclinat.</i>
<br>
<small>Text mic (small).</small>
<br>
Text afisat ca<sub>indice (subscript).</sub>
<br>
Text afisat ca<sup>putere (superscript).</sup>
</body>
</html>
<html>
<body>
<center>
3x<sup>3</sup>+2x<sup>2</sup>+x=0
</center>
<hr>
Fie A<sub>i</sub> si B<sub>k</sub>.
</body>
</html>
3)
<html>
<body bgcolor="orange">
<font size="4" color="blue" face="Verdana,Arial">
Se da ecuatia:</br>
<center>
4x<sup>3</sup>+6x<sup>2</sup>+5x=0
</center>
</font>
</body>
</html>
PROIECT DIDACTIC
Clasa: a X-a;
Disciplina: TIC (tehnologia informației și a comunicațiilor)
Unitatea de învățare: Sistemul de baze de date. Proiectarea bazelor de date.
Subiectul: Baze de date generalități. Obiectele bazei de date.
Tipul lecției: transmitere de cunoștințe;
Loc de desfășurare: laborator TIC;
Competențe :
– aplicarea conceptelor și operațiilor elementare ale operației Access;
La sfârșitul activității elevii vor fi capabili să:
identifice proprietățile bazelor de date;
identifice avantajele utilizării bazelor de date;
prezinte modul de realizare pentru securitatea și protecția datelor în bazele de date;
opereze cu obiectele bazelor de date;
Resurse:
Metode de învățământ: brainstorming, expunere, demonstrație, exercițiul practic;
Moduri de activitate cu elevii:
Frontal (prezentarea noțiunilor generale), individual (identificarea obiectelor bazei de date), pe grupe (aplicație), test pentru verificarea feedbackului;
Resurse materiale: auxiliar curricular, manual (3 manuale în clasă), fișe de lucru, calculatoarele;
Bibliografie: Microsoft Office Access-2007- manual pentru uz școlar – ISBN: 978 -973-0-05945-8; adrese electronice: www.edu.ro, Tutoriale Office 2007;
TABEL DE SPECIFICARE A CORESPONDENȚELOR
Test de evaluare
Alegeți răspunsul corect:
Operațiile care se pot efectua asupra datelor stocate într-o bază de date sunt: 2 puncte;
introducerea de noi date (insert);
ștergerea unor date existente în baza de date (delete);
actualizarea datelor stocate (update);
interogarea bazei de date (query) pentru regăsirea anumitor informații, selectate după un criteriu ales;
înserarea unor grafice;
Răspundeți cu Adevărat sau Fals:
2. Datele memorate în fișiere pe disc într-o aplicație de calcul tabelar (Microsoft Excel) sau documente memorate de un editor de texte (Microsoft Word) sunt considerate baze de date; 2 puncte;
a. Adevărat;
b. Fals;
3. Orice persoană care dorește să se conecteze (log in) la o bază de date trebuie să dețină un cont (accont, user) și o parolă (password). 2 puncte;
a. Adevărat;
b. Fals;
4. Dispozitivul de securizare a bazei de date numit firewall, este un calculator pe care este instalat un software special care permite accesarea calculatorului pe care este stocată baza de date numai de către anumite calculatoare. 2 puncte;
a. Adevărat;
b. Fals;
5. Orice coloană dintr-un tabel se numește înregistrare. 2 puncte;
a. Adevărat;
b. Fals;
Notă:
– timp de lucru 5 minute;
Barem de corectare;
1. a,b,c,d,e; 2 puncte;
2. b. Fals; 2 puncte;
3. a. Adevărat; 2 puncte;
4. a. Adevărat; 2 puncte;
b. Fals;
PROIECT DIDACTIC
Titlul programului: Documentare și formatare documente – mixta- aplicații practice
Disciplina: Tehnologia Informației și a Comunicației;
Clasa: XI
Sala: Laboratorul de Informatică;
Timp: 50 min
Metode de învățământ folosite
Mijloace de învățământ:
materiale informativ-demonstrative : prezentare Powerpoint
materiale pentru formarea si exersarea deprinderilor: calculatorul
materiale si mijloace de invatamant mixte (manuale, fișe de lucru, videoproiectorul,CD.uri,calculatorul, rețeaua Internet)
materiale de evaluare a rezultatelor: fișa de lucru cu barem de corectare
Forme de organizarea activității
– activitatea independentă
– activitatea pe grupe de elevi
– activitatea frontală
RESURSE:
programa scolara, planificare didactică, proiectul didactic
www. e-scoala.ro
www. didactic .ro
,,Tehnologia informatiei și comunicațiilor,,- Mariana Miloșescu – Manual Clasa a XI- a
Desfășurarea activității
FIȘA DE LUCRU
Tema :Realizați un document Word de 3 pagini sub forma unui miniproiect utilizând rețeaua Internet pentru documentare.
Pagina 1 va avea aspect de copertă și va conține:
date de identificare (școală, elev, îndrumător) TNR, 18,B, I;
titlu (Arial , 40, negru, B, I , centrat);
tema proiectului – ,,Produse de cofetărie și patiserie,, care va fi formatată astfel (Tahoma ,28 , aliniat la stanga, Roșu );
Pagina 2, 3 vor conține:
3 rețete de prăjituri la alegere conform temei
text si imagini
numerotare pagini centru jos
chenar pagini cu linie dubla , rosu
imaginile ,vor fi încadrate în text
Se pot folosi funțiile Copy și Paste
se folosește motorul de cautare GOOGLE
titlurile Arial 12, B, centrat
subtitlurile Arial 11 ,I, aliniat la stânga,rosu
textele Arial 10,
Setări pagină:
A4, portret, margini 2,2,2,2, se salvează cu denumirea miniproiect în folderul clasei XI.
Conceperea și elaborarea unui proiect
Clasa a XII-a
Proiect – Definiție
PROIECTUL – este un proces unic, constând într-o mulțime de activități coordonate și controlate, cu termene de începere și finalizare, care garantează realizarea unui obiectiv conform cerințelor specificate incluzând restricții de timp, cost, resurse.
Un proiect trebuie să răspundă la întrebările:
DE CE? – finalitatea;
CE? – obiective intermediare și terminale;
CUM? – definirea strategiei, căile de realizare;
CINE? – definirea responsabilităților fiecărui membru;
CU CE? – stabilirea resurselor umane, financiare / activități;
CÂND? – fixarea termenelor.
CU CE REZULTATE? – anticiparea efectelor pe plan material, moral, intelectual.
Trăsăturile principale ale proiectelor
Specificațiile proiectului
Planul proiectului
Orizontul de timp
Bugetul proiectului
Planul de cheltuieli
Identificarea zonelor de incertitudine
Evaluarea riscurilor posibile
Fazele unui proiect
Concepția
Planificarea
Realizarea
Încheierea
Identificarea și formularea problemei care trebuie rezolvată prin proiect
Analiza SWOT facilitează abordarea strategică a aspectelor legate de:
Punctele tari – aspecte pozitive interne ale situației avute în vedere;
Puncte slabe – aspecte negative interne ale situației avute în vedere;
Oportunități – aspecte pozitive externe ale situației avute în vedere;
Amenințări – aspecte negative externe ale situației avute în vedere;
Identificarea Grupului țintă sau beneficiarii proiectului
Grupul țintă reprezintă destinatarii finali ai proiectului. În stabilirea grupului țintă se impune să se țină cont de obiectivele strategice majore ale proiectului, în funcție de beneficiile imediate sau pe termen mai lung, se poate face distincția între grupul țintă / beneficiarul direct și indirect.
Obs. Grupul țintă este o noțiune distinctă de echipa de lucru a proiectului.
Formularea obiectivelor și a scopului
SCOP și OBIECTIV au semnificații diferite în planificare. Un obiectiv este un câștig concret care trebuie obținut după o perioadă de timp dată. Obiectivul permite obținerea scopului.
Obiectivul general exprimă ce se construiește în cadrul respectivului proiect. Acesta este împărțit în 2~4 obiective specifice, formulate astfel încât rezolvarea lor să conducă la realizarea obiectivului general.
Stabilirea bugetului proiectului
Planificarea bugetului are ca scop să răspundă la întrebarea: Cât costă resursele necesare derulării proiectului și cum acoperim aceste sume?
În acest caz trebuie evaluate toate costurile, atât cele în bani, cât și cele în timp și resursele umane.
Evaluarea proiectului și evoluția
post-implementare
Rezultatele imediate se referă la consecințele proiectului, dar nu pot fi măsurate, cuantificate în unități de măsură.
Rezultatele pe termen lung se referă la efectele viitoare ale proiectului
Efectul multiplicator se referă la propagarea la alții a consecințelor proiectului.
Concluzii
Un proiect corect realizat trebuie să îndeplinească o serie de condiții strategice:
Fezabilitatea – să fie realizat în termeni firești, să nu depășească resursele;
Flexibilitatea – să poată fi modificat / actualizat cu ușurință;
Simplitatea și precizia – să fie accesibil tuturor partenerilor și să prezinte elementele esențiale în termeni accesibili tuturor;
Respectarea cadrului normativ, a legislației în vigoare, găsirea de soluții unice, originale pentru grupul țintă.
ROIECT DIDACTIC
Clasa: a XII-a
Disciplina: Informatică – Tehnologia informației și a comunicaților
Unitatea de învățare: Utilizarea calculatorului și prelucrarea informației
Tema: Introducerea, căutarea, editarea datelor
Locul de desfășurare: laboratorul de informatică
Obiective operaționale:
Să definească noțiunea de document, introducerea, căutarea, editarea datelor;
Să utilizeze corespunzător datele într-un document realizat în Microsoft Excel;
Strategii didactice
Principii didactice:
Principiul asigurării progresului gradat al performanțelor și înlăturarea treptată a punctelor de sprijin;
Metode de învățământ
Conversația, expunerea;
problematizarea, exercițiul;
Forme de organizare a activității instructive
Individuală
Forme de dirijare a activității
Independentă
Resurse materiale
Daniela Oprescu, Cristina Eugenia Dămăcuș: „Tehnologia informației și a comunicațiilor”, Editura Niculescu, 2005,
Metodele de evaluare
Întrebări adresate elevilor;
Fișă de lucru;
Desfășurarea activității
Moment organizatoric:
Pregătirea lecției:
întocmirea proiectului didactic
realizarea fișei de lucru
Organizarea și pregătirea clasei (3 minute)
verificarea frecvenței elevilor
verificarea existenței resurselor materiale;
Captarea atenției elevilor:
anunțarea subiectelor pentru tema respectivă (2 minute)
reactualizarea noțiunilor necesare realizării aplicației, (3 minute)
prezentarea noțiunilor noi: introducerea, căutarea, editarea datelor; (15 minute)
Introducerea datelor utilizând formulare
Un formular prezintă denumirile atributelor și alăturat valoarea fiecărui articol (linie) din lista de date. Putem să vedem datele deplasându-ne către începutul listei sau către sfârșit, putem adăuga noi linii sau putem filtra liniile care îndeplinesc anumite criterii.;
– Căutarea și editarea informațiilor
O modalitate des folosită la cătarea și poziționarea cu sau fără corectarea asupra valori este selectarea comenzilor Edit Find. Fereastra care se deschide permite selectarea operațiunii și precizarea domeniului de căutare: foaia de calcul curentă sau registrul curent. Se poate căuta pe coloana sau pe linia anterior selectată sau în întregul registru. Pentru o comandă Find All, se scrie și un raport cu adresele celulelor găsite, care permit o poziționare directă și rapidă pe foaia de calcul și în celulă.;
explicarea modului de desfășurare a fișei de lucru. (5 minute)
Aprofundarea cunoștințelor, prin rezolvarea fișei de lucru (10 minute)
Realizarea Feed-Back-ului, observând dacă elevii pot să rezolve exercițiul
Evaluarea performanței: Face aprecieri, recomandări, notează elevii care s-au remarcat la lecție, în special cei care au rezolvat exercițile a ,b și au început să lucreze la c (5 minute)
Tema: Recomandă ca temă pentru acasă câteva exerciții din manual (2 minute)
Concluzii
Un domeniu de succes de aplicare al rețelelor Petri îl constituie modelarea și analiza protocoalelor de
comunicare (încă de la începutul anilor ’70). În ultimii ani au fost propuse câteva abordări care permit
construirea modelelor de rețele Petri pentru protocoale din specificațiile scrise într-un limbaj relativ
nespecializat.
Rețele Petri, însă, au fost folosite în mod extensiv pentru modelarea și analiza sistemelor de producție. În acest domeniu, rețeaua Petri reprezenta linii de producție cu buffer-e, sisteme automate de producție, sisteme flexibile de producție, linii automate de asamblare, sisteme cu partajarea resurselor și, recent, sisteme de producție de tip just-in-time.
Un alt domeniu de succes îl constituie aplicarea rețelelor Petri în modelarea controlerelor secvențiale.
Controlerele logice programabile (PLC) sunt folosite în mod uzual pentru controlul secvențial al sistemelor automate. Ele sunt proiectate folosind diagrame logice scară (ladder logic diagrams), care sunt cunoscute ca fiind dificile de depanat și modificat. Controlerele secvențiale bazate pe rețele Petri, pe de altă parte, sunt ușor de proiectat, implementat și întreținut. La începutul anilor ’80, Hitachi Ltd. a dezvoltat un controler secvențial bazat pe rețele Petri care a fost folosit cu succes în aplicații reale pentru controlul sistemului de asamblare a pieselor și în sistemul automat de încărcare/descărcare din depozit.
Utilizatorii rețelelor Petri, conform statisticilor, au redus substanțial timpul de dezvoltare, în comparație cu metodele tradiționale.
Rețele Petri au fost folosite extensiv și în dezvoltări software. Utilizarea în acest domeniu s-a concentrat pe modelarea și analiza sistemelor software, iar cea mai complexă dezvoltare a implicat folosirea rețelelor Petri colorate. S-a demonstrat că acest tip de rețele Petri este un limbaj folositor pentru proiectarea, specificarea, simularea, validarea și implementarea sistemelor software complexe.
Un alt domeniu de aplicare îl constituie rețelele de comunicare. S-a lucrat pe rețele locale cu fibră optică (Fiber Optics Local Area Networks) precum Expressnet, Fastnet, D-Net, U-Net, Token Ring. Protocoalele de tip fieldbuss, precum FIP și ISA-SP50 au atras foarte multă atenție în ultimii ani, acest lucru fiind oarecum normal, ele fiind rețele importante pentru sistemele industriale complexe. De asemenea, s-a semnalat un interes în creștere pentru modelarea și evaluarea rețelelor de mare viteză (High Speed Networks), cruciale pentru dezvoltarea cu succes a sistemelor multimedia.
Rețelele Petri cu extindere de timp, combinate cu tehnici euristice de căutare, au fost folosite pentru
modelarea și studiul problemelor de dispecerizare din sistemele de fabricație și din sistemele cu roboți.
De asemenea, acest tip de rețele Petri au fost folosite și pentru modelarea și analiza proceselor chimice
continue.
Bibliografie
1. Zimmermann, H.J. – Fuzzy Set Theory and its Applications, second edition, Kluwer Academic Publishers, 1991.
2. Negoita, C., Ralescu, D.A. – Mulțimi vagi și aplicațiile lor, Editura Tehnica, București, 1974.
3. Târcolea, C., Filipoiu, A., Bontaș, S. – Tehnici actuale in teoria fiabilității, Editura ªtiintifica și Enciclopedica, București, 1989.
4. Kenarangui, R. – Event Tree Analyșis by Fuzzy Probability, IEEE Transactions on Reliability, vol. 40, No. 1., 1991 aprilie.
5. Suresh, P. V., Chaudhuri, D., Rao, B.V.A. – Fuzzy Set Approach to Select Maintenance Strategies for Multistate Equipment, IEEE Transactions on Reliability, vol. 43, No. 3, 1994 septembrie.
6. Wang, J. D., Liu, T. S. – Fuzzy Reliability Ușing a Discrete Stress-Strength Interference Model, IEEE Transactions on Reliability, vol.45, No. 1., martie, 1996.
7. Banaszak, Z. – Modelling and Control of FMS. Petri Net Approach, Wroclaw Tehnical University Press, 1991.
8. Russ, I., Tabus, I., Dumitrescu, B., Petre, D. – Modelare și șimulare. Îndrumar de lucrări practice, Univerșitatea „Politehnic" București, Fac. de Automatica și Calculatoare, Catedra Calculatoare de Proces și Automatizări, 1994.
9. Malhotra, M., Trivedi, K.S. – Dependability Modeling Ușing Petri Nets, IEEE Transactions on Reliability, vol. 44, No. 3, septembrie 1995.
10. Desmas, Th., Ancelin, C., Villmeur, A. – Les méthodes de la fiabilité et la s? Reté de fonctionnement, Revue générale d’électricité, No. 8 /92, septembrie 1992.
11. Guo, D. L., DiCesare, F., Zhon, M. C. – A Moment Generating Function Based Approach for Evaluating Extended Stochastic Petri Nets, IEEE Transaction on Automatic C
12 . Petri Nets and Industrial Applications: A Tutorial. Zurawski, R., Zhou, M.C. 6, s.l. : IEEE TRANSACTIONS ON INDUSTRIAL ELECTRONICS, 1994, Vol. 41.
13. T,Jucan , F.L.Tiplea -Retele Petri-teorie si practica (matematica-informatica) -Ed Academiei Romane-1999
14. C. Girault, R. Valk, Petri Nets for Systems Engineering. A Guide to Modelling, Verification, and Applications, Springer-Verlag, 2001.
15. R. Trandafir, I. Iatan, Modelare Simulare. Noțiuni teoretice și Aplicații, format multimedia, 2012
16 Ion, T.,Radu, Liliana, Ezechil, Pedagogie – fundamente teoretice, Ed. V&I, București, 2002
17.Office Access-2007- manual pentru uz școlar – ISBN: 978 -973-0-05945-8; adrese electronice: www.edu.ro, Tutoriale Office 2007;
18.Daniela Oprescu, Cristina Eugenia Dămăcuș: „Tehnologia informației și a comunicațiilor”, Editura Niculescu, 2005
Bibliografie
1. Zimmermann, H.J. – Fuzzy Set Theory and its Applications, second edition, Kluwer Academic Publishers, 1991.
2. Negoita, C., Ralescu, D.A. – Mulțimi vagi și aplicațiile lor, Editura Tehnica, București, 1974.
3. Târcolea, C., Filipoiu, A., Bontaș, S. – Tehnici actuale in teoria fiabilității, Editura ªtiintifica și Enciclopedica, București, 1989.
4. Kenarangui, R. – Event Tree Analyșis by Fuzzy Probability, IEEE Transactions on Reliability, vol. 40, No. 1., 1991 aprilie.
5. Suresh, P. V., Chaudhuri, D., Rao, B.V.A. – Fuzzy Set Approach to Select Maintenance Strategies for Multistate Equipment, IEEE Transactions on Reliability, vol. 43, No. 3, 1994 septembrie.
6. Wang, J. D., Liu, T. S. – Fuzzy Reliability Ușing a Discrete Stress-Strength Interference Model, IEEE Transactions on Reliability, vol.45, No. 1., martie, 1996.
7. Banaszak, Z. – Modelling and Control of FMS. Petri Net Approach, Wroclaw Tehnical University Press, 1991.
8. Russ, I., Tabus, I., Dumitrescu, B., Petre, D. – Modelare și șimulare. Îndrumar de lucrări practice, Univerșitatea „Politehnic" București, Fac. de Automatica și Calculatoare, Catedra Calculatoare de Proces și Automatizări, 1994.
9. Malhotra, M., Trivedi, K.S. – Dependability Modeling Ușing Petri Nets, IEEE Transactions on Reliability, vol. 44, No. 3, septembrie 1995.
10. Desmas, Th., Ancelin, C., Villmeur, A. – Les méthodes de la fiabilité et la s? Reté de fonctionnement, Revue générale d’électricité, No. 8 /92, septembrie 1992.
11. Guo, D. L., DiCesare, F., Zhon, M. C. – A Moment Generating Function Based Approach for Evaluating Extended Stochastic Petri Nets, IEEE Transaction on Automatic C
12 . Petri Nets and Industrial Applications: A Tutorial. Zurawski, R., Zhou, M.C. 6, s.l. : IEEE TRANSACTIONS ON INDUSTRIAL ELECTRONICS, 1994, Vol. 41.
13. T,Jucan , F.L.Tiplea -Retele Petri-teorie si practica (matematica-informatica) -Ed Academiei Romane-1999
. Girault, R. Valk, Petri Nets for Systems Engineering. A Guide to Modelling, Verification, and Applications, Springer-Verlag, 2001.
15. R. Trandafir, I. Iatan, Modelare Simulare. Noțiuni teoretice și Aplicații, format multimedia, 2012
16 Ion, T.,Radu, Liliana, Ezechil, Pedagogie – fundamente teoretice, Ed. V&I, București, 2002
17.Office Access-2007- manual pentru uz școlar – ISBN: 978 -973-0-05945-8; adrese electronice: www.edu.ro, Tutoriale Office 2007;
18.Daniela Oprescu, Cristina Eugenia Dămăcuș: „Tehnologia informației și a comunicațiilor”, Editura Niculescu, 2005
Copyright Notice
© Licențiada.org respectă drepturile de proprietate intelectuală și așteaptă ca toți utilizatorii să facă același lucru. Dacă consideri că un conținut de pe site încalcă drepturile tale de autor, te rugăm să trimiți o notificare DMCA.
Acest articol: Specificarea Sistemelor Software Prin Retele Petri (ID: 150638)
Dacă considerați că acest conținut vă încalcă drepturile de autor, vă rugăm să depuneți o cerere pe pagina noastră Copyright Takedown.
