Caracteristicile modelului ingineresc. Procesul de proiectare in acceptiunea ingineriei concurente este un proces de evolutie a meta-modelelor; astfel solutia proiectarii poate fi privita ca o evolutie a specificatiilor de proiectare, iar specificatiile de proiectare ca o mapare inversa a solutiilor.
Meta-modelul este modelul obiectului "proiect" caracterizat prin numar finit de atribute si care da un cadru de descriere al modelului definit ca entitate. Specificatiile de proiectare sint descrise prin topologia functiei de conceptie a setului de entitati "concept", iar solutia este descrisa prin topologia conceptelor atribut. Stadiile intermediare ale procesului de proiectare determina intregul proces evolutionist in care proiectantul confirma daca "candidata" la solutia de proiectare satisface specificatiile de proiectare sau nu.
In timpul procesului de evolutie al proiectarii, descrierea meta-modelului este detaliata creindu-se modele intermediare si cantitatea de informatie este in crestere, meta-modelul creind modelul corespunzator fiecarei faze si generind o metoda de descriere unitara de date. In fiecare faza, priectarea progreseaza in asa fel incit proiectantul alege un model intermediar (varianta a meta-modelului) si apoi cel rezultat din evolutia lui. Deci descrierea meta-modelului si structura lui se schimba dinamic corespunzator cu evolutia activitatii de proiectare.
Astfel, faza de proiectare conceptuala corespunde elaborarii structurii meta-modelului si fixarii scopurilor sau solutiilor temporare ale proiectarii. Apoi procesul de proiectare continua si se verifica in cadrul evolutiei proiectului daca scopul propus satisface specificatiile date ; daca acesta nu este corespunzator, meta-modelu 212b11c l este schimbat cu unul nou mai potrivit specificatiilor date; aceaste schimbare se face asistat de expert. Exista situatii cind este preferabil sa se pastreze meta-modelul si sa se renegocieze cerintele utilizatorului. Ambele procese necesita rationamente facute pornind de la un scop dat la cauzele sale originale (backward reasoning). Cunostintele care controleaza procesul de rationament sînt un amestec de experienta si logica iar cele utilizate în procesul de luarea deciziilor este fragmentar, în special in faza de proiectare conceptuala.
Astfel, un sistem bazat pe meta-model trebuie sa dispuna de posibilitatea de a:
- descrie meta-modelul, domeniu, modelul curent, evaluarea lui, etc
- construi o structura de meta-model din specificatiile date
- suporta evolutia meta-modelului, adica detalierea acestuia
- conduce
evaluarea modelului curent utilizînd meta-modelul si domeniu de
actiune
Principalele trasaturi a modelului sint:
- includerea multitudinii surselor de cunostinte ce trebuie utilizate pentru rezolvarea problemei la diferite nivele de abstractizare sau detaliere,
- asigurarea cooperarii si comunicarii intre modele instantiate si rezolvarea conflictelor
Doua componente diferite reprezinta modelul: structura si atributul.
Structura este un set de relatii intre componentele obiectelor; printre ele conceptul de structura ierarhica este indispensabil in conceptul de model.
Atributul este un termen generic de a reprezenta diferite aspecte ale obiectelor cum ar fi caracteristica, functie, comportament etc.
In schema generala de modelare sint utilizate 3 tipuri de concepte:
-structura ierarhica pentru reprezentarea relatiilor multi-nivel obiect -componente,
- graful de reprezentare a setului de relatii omogene existent intre entitatile aflate pe acelasi nivel in structura ierarhica, si
- predicatul logic pentru a reprezenta orice atribut sau relatie ce nu poate fi reprezentat prin conceptele anterioare.
Astfel, modelul de proces se poate reprezenta folosind structuri de date ce implica aceste concepte si unde atributele pot fi adaugate, sterse sau actualizate fara sa afecteze celelalte componente sau caracteristici ale modelului. Modelul se poate mari sau micsora in cadrul aceleasi reguli de structurare.
Analizarea unei probleme prezentata sub forma de obiect specific caracterizat de o structura data, de relatiile intre componente, de atribute si comportamente cu caracter dinamic, se realizeaza in mai multe etape:
- se genereaza, asistat de calculator, modele generale de reprezentare in acord cu regulile ingineresti date si informatiile incluse implicit in modelul primar, prin instantierea acestuia;
- se reduc posibilitatile de generare ipotetice de modele ineficace prin introducerea modulelor de propagare restrictii,
- se determina solutiile de rezolvare iterativa pentru fiecare faza de detaliere a modelului, si in final se realizeaza programe specifice.
O caracteristica a modelului este ca trebuie sa asigure accesul simultan al mai multor proiectanti ca si posibilitatea de a permite accesul automat la colectiile de date relationale si experimentale pentru generarea si achizitia cunostintelor.
Deci, problema care se pune este de a gasi o metoda generala de modelare a procesului care sa poate defini si genera diferite tipuri de modele si manipula metode, si nu de a gasi modele specifice subproblemelor existente in fiecare faza a procesului de proiectare, deci, o schema generala de modelare analizind metodele folosite si extragind principiile ce privesc metoda de reprezentare a modelului. Datorita existentei diferitelor structuri de date, formalizate si dinamice structural, este necesara functie de mapare intre acestea.
Schema generala de modelare a procesului proiectare se bazeaza pe stabilirea ierarhiilor de clasificare pentru:
- informatiile structurale si atributive - functionale si de comportament,
- conceptele de "viewpoint",
- analiza strategiilor si a obiectivelor.
Nodurile in cadrul ierarhiei reprezinta componenta sau functie sau comportament, iar arcele sint relatii de mostenire clasa-subclasa. Selectarea unei clase sau componente din ierarhie determina nivelul de generalitate sau detaliere a proiectarii (in urma procesului de instantiere). Localizarea in ierarhia de clasificare reprezinta conceptul de "viewpoint" si depinde de punctul de vedere din care este privit proiectul - structural, de comportament etc.
Obiectivele determinate de proiect sint asociate componentei, functiei, comportamentului, deciziilor de proiectare etc. Obiectivele sint structurate in sub-obiective, stabilirea acestora constituie sarcina expertului; obiectivele sint inlantuite intre ele prin relatii de precedenta.
"Viewpoint" -ul unui obiectiv este localizarea acestuia pe un nod al ierarhiilor de clasificare iar "domeniul nominal" al lui este partea de proces aferenta.
Analiza strategiilor foloseste aceste relatii analizind ierarhia functionala pentru a stabili "conectarile" functionale vecine, punctele de "articulatie" ce divizeaza domeniu si caile posibile de conectare (alternative).
Problema care se pune este de a gasi o functie de mapare intre strategiile disponibile, "domeniul nominal" si "viewpoint"-ul aferent; de aici rezulta necesitatea de a structura strategiile in pasi.
Descrierea ierarhiei se face prin vizualizarea menu ce contine tipurile ierarhii si anume: structura, functiuni, comportament etc.
Operatiile ce se efectueaza cu ierarhii sint:
- Inserare ierarhie (component, functiuni, comportament)
- Modificare ierarhie (component, functiuni, comportament) cum ar fi:
- Conditii speciale - calcul, initializari, etc
- Criterii - cost, optim functie 1 ... optim functie_n
- Mapare - traversare ierarhie
In continuare sint definite structurile de date manipulate de ierarhii.
Structura unei ierarhii poate fi definita astfel:
cod ierarhie
informatii generale
tip ierarhie - S /O / C - Structura / Obiective / Conflicte
nume ierarhie
nod_curent_ierarhie
nod_parinte
nr_noduri_frate nod_frate_1 .... nod_frate_i ... nod_frate_n
procedura_calcul_atasata
informatii specifice
* tip_ierarhie = S
atribute (caracteristici generale [cost, functiuni auxiliare, etc], )
* tip_ierarhie = O
pointer la entitate
tip entitate --> obiectiv/ dorint[/ certitudine
cantitatea cu care "obiective-dorinte-certitudini" trebuie sa creasca sau scada, integer
impotanta atasata "obiective-dorinte-certitudini", coeficient euristic
justetea "obiective-dorinte-certitudini", coeficient euristic
informatii pentru negociere
faza de proiectare
recomandari ale deciziilor
justificari ale recomandarilor
solutii alternative de proiectare
procedura modificare a solutiei respinse
* tip_ierarhie = C
cod agent
pointer la parametru de conflict
valoare propusa
mod obtinere - selectare/ estimare
pointer agent selectie
Informatii generale
r - numar de ierarhie
name_r - name ierarhie
n - numar de noduri / ierarhie
name_n - nume nod
ind_ka - index ramura / ierarhie / nivel
k_a - numar nivel / ierarhie
R_ka - numar ramuri / ierarhie /nivel
Vector ierarhie
nume_ierarhie S - structura /functiuni /comportament
- tip_ierarhie --> C
- conflicte
- numar_nivel O - obiective / dorinte /certitudini
- index_nod
- cod_inf
Vector relatie
- tip_relatie
- cod_relatie
- nume_relatie
- elemente_componente
- cod_ierarhie
- cod_ramura ==> nr_nod
- cod_nivel ===> nr_nod
- semafor - numar regula conform maparii
Vector nod
- valoare
Operatiile ce se efectueaza in cadrul unei ierarhii sint:
1. Inscrierea nodului in ierarhie se face impreuna cu caracteristicile si atributele lui.
NOD - nume nod S - structura, functiuni, comportament
-
tip nod - O - obiective / dorinte /certitudini
C - conflicte
- pointer_ X functie tip_nod
S ---> X = procedura_proiectare, atribute
C ---> X = procedura_proiectare,
O ---> X = procedura_proiectare, -
Un exemplu de descriere de ierarhie este:
Descriere structura ce contine:
- cod_nod
- caracteristici functionale [pointer- adrese]
- caracteristici comportament [pointer- adrese]
- atribute generale
Inserare nod
- nume_nod
- descriere_nod
- tip_nod
- caracteristici nod + marimi
Modificare atribute nod
Stergere nod
Algoritm de mapare domeniu ( traversare ierarhii)
Un prim pas in "obtinerea solutiei" este parcurgerea ierarhiilor, ceea ce presupune extragerea sub-arborilor din toate arborescentele referitoare la o anumita problema.
Cautarea in arbori intr-o secventa predeterminata in care cautarea propriu-zisa este segmentata pe verticala (in adincime) sau orizontala se desfasoara astfel:
se porneste de la "radacina" sau un nod arbitrar altul decit radacina si setraverseaza graful de la un nivel la altul prin urmarirea arcelor. Procesul continua pina la un nod dorit sau nodul "frunza". Daca nu s-a ajuns la obiectiv iar nodul nu are nod_fiu controlul se intoarce la nodul_parinte si de acolo la urmatorul nod_fiu.
Modalitatea de realizare presupune asocierea la fiecare nod a unui pointer catre nodul sau parinte. Cind obiectivul este gasit, calea de atingere a acestuia este determinata prin parcurgerea inapoi ghidata de secventa pointerilor.
In rezolvarea problemei, se expandeaza nodurile ce au fost atinse dar nu au fost expandate si se marcheaza. Nodurile_fiu sint introduse in lista intr-o prioritate bine determinata, in functie de parintele la care apartin.
Grafurile partiale rezultante se numesc grafuri candidate. Un arbore este evaluat si expandat repetat prin determinarea nodurilor candidate solvabile si expandarea lor propriu-zisa. Grafurile candidate expandate sint tinute in liste deschise pentru a fi combinate cu alte grafuri.
Evaluarea grafurilor presupune un proces de examinare: daca nodurile terminale ale unui arbore candidat corespund unei probleme rezolvate se martcheaza. Daca punctele terminale ale unui graf candidat sint puncte finale ale problemei initiale, si nu noduri terminale, problemele corespunzatoare acestui arbore sint insolvabile (un singur nod_fiu determina un graf partial la un moment dat - procesul de backtracking).
Pasii procedurii
- deschid - ierarhie binar nou (vid) si unul temporar
- formeaza cheie
- sorteaza ierarhie, citeste nod ordonat
- formeaza graf neorientat si matricea corespunzatoare
- extrage nod X si arce incidente nodului X
Intrare - graf neorientat
- nume, tip graf
- vector ierarhie
Iesire - Ierarhia (matricea) rezultanta
- ierarhie rezultant al maparii
Analiza si elicitarea cunostintelor (Interfata)
Interfata are rolul de a stabili prin intermediul menu, a ferestrelor de dialog precum si prin afisarea grafica a legaturilor stabilite in proiectpentru functiile solicitate de utilizator si a parametrilor asociati functiilor. Apelul functiilor si inlantuirea acestora este data de logica programelor.
Interfata - consta intr-o serie de programece ofera facilitati de asistare a utilizatorului prin intermediul menu-urilor Pull - Down.
Programele ce constituie interfata au urmatoarele functiuni:
- descrierea tipurilor de ierarhii - structuri, functiuni, comportament, atribute, etc ...
- definire functiuni pentru fiecare ierarhie
- definire legaturi, caracteristici, atribute (attr_a , constr, inst_a, opt_a)
- conflicte, strategii
- operatii de creare baza de cunostinte
- operatii de editare informatii in baza de cunostinte : inserare
- optiuni ( conditii / criterii ==> functii : acumulare, cost, protectie)
criterii extragere:
=> optim : minim_pret, maxim_nivel_acumulare,
minim_erori_ datorate_idelizarilor, minim_pierderi, maxim_protectie
- inferenta / simulare ==> determinare ierarhie de traversare (mapare)
- menu intrare / vizualizare ==> date intrare, rezultat inferenta
(ierarhii, caracteristici, mapare)
Modalitatea de achizitia cunostintelor prin analiza si elicitarea acestora este una din trasaturile principale in modelarea procesului de proiectare. Prin elicitare se defineste modalitatea de a extrage cunostintele, indiferent de metoda, pentru ca sa poata fi usor analizate si grupate pe ierarhii sau similitudini. Cunostintele in domeniu proiectarii, caracterizate de multitudinea surselor, neuniformitatea lor si dinamica in evolutia modelului, trebuie sa fie prezentate in format inteligibil pentru expert, verificate, testate, clasificate in ierarhii pe domeniu si interpretate ca apoi sa fie reprezentate in baza sau bazele distribuite de cunostinte.
Elicitarea cunostintelor se face prin mai multe procedee:
- abstractizarea si interpretarea inteligenta, de catre expertul sau expertii in domeniu, a informatiilor utile transferate in mod selectiv, in functie de similitudini, din bazele de date constituite de aplicatiile analitice ale sistemului,
- introducerea de catre expertul sau expertii in domeniu a faptelor, atributelor sau regulilor in baza unei grile repertoar specifice (repertory grid), organizate pe nivele de abstractizare si similitudini
Analiza cunostintelor conduce la inductia de reguli sau concepte (inductive learning) si la construirea de arbori de ierarhizare/ clasificare de concepte cu relatiile de mostenire aferente.
Construirea bazei de cunostinte (reprezentarea cunostintelor)
Reprezentarea cunostintelor de proiectare
Problema principala ramine in domeniul modelarii si reprezentarii cunostintelor datorita diversitatii, cantitatii mari de informatie, neuniformitatii si a posibilitatilor mari de expresie precum si in domeniu conceptelor legate de ea cum ar fi achizitia cunostintelor prin analiza si elicitarea lor, utilizarea si intretinerea lor, mecanismul de inferenta in conditiile de concurenta a rezolvarilor de probleme. Problemele inferentei si controlului ei sint in relatie directa cu insasi caracteristicile de gindire ale proiectantului ca si comportamentul acestuia in fazele de proiectare (decizii, rationamente, justificari), caracteristici care sint observate, analizate pentru a se regasi apoi printre functiile sistemului.
In continuare sint prezentate caracteristicile sistemelor de reprezentarea cunostintelor folosite in modelarea procesului de proiectare.
Reprezentarea prin obiecte si relatii intre obiecte. In procesul de proiectare conform principiilor de analiza si descompunere proprii ingineriei concurente, diversitatea problemelor si aplicatiilor de proiectare conduce la o mare diversitatea de tipuri de expresii ale obiectelor ceea ce impune generarea acestora printr-o metoda de descriere unitara de date. Aceasta conduce la necesitatea construirii unui model de date evolutionist caracterizat de schimbari dinamice care:
- sa descrie entitatile, relatiile dintre ele, structura ierarhica a acestora,
- sa fie potrivit pentru controlul inferentei, si
- sa corespunda meta-modelului domeniului si a evaluarii acestuia, adica modelului curent,
Cunostintele euristice achizitionate de la experti sint constituite intr-un model "mental" al cunostintelor de catre inginerul de cunostinte. Pentru a face modelul mental mai tangibil, acesta este rafinat la un nivel intermediar de cunostinte pentru a fi utilizat la comunicarea cu expertii si la validarea presupunerilor lor. In literatura aceasta este definita ca diagrama Ishikawasi folosita ca o metoda de rezolvare a problemei bazata pe rafinarea de tip top-down pentru descompunerea problemei in subprobleme mai simple. Ea este utilizata pentru:
- structurarea domeniului problemei
- determinarea specificului cunostintelor euristice de achizitionat de la experti si organizarea lor in ierarhii
- identificarea sablonului (pattern) de inferenta
Reprezentarea cunostintelor pentru inferenta se poate face folosind metode dezvoltate de ingineria de cunostinte cum ar fi retele semantice, sisteme bazate pe reguli, sisteme bazate pe frame-uri sau sisteme bazate pe logica sau logica intuitiva. Alegerea unei metode de reprezentare trebuie sa corespunda scopului propus, si anume:
- sa reprezinte empiric si logic informatia structurata in mod unic
- sa descrie obiectele proiectarii cu o structura care se poate schimba in timpul proiectarii
- sa nu distinga diferenta intre specificatiile de proiectare exprimate intr-un limbaj apropiat de cel natural si solutiile de proiectare care contin informatii atributive
In continuare, sint prezentate citeva tipuri de sisteme pentru reprezentarea cunostintelor.
O problema importanta care trebuie rezolvata de modulul de reprezentarea cunostintelor este verificarea completitudinii si consistentei cunostintelor; altfel spus un utilizator care nu este expert in proiectare si foloseste sistemul poate introduce informatii eronate, informatii ce necesita confruntare cu regulile corecte existente in baza de cunstinte. Deci trebuie ca sistemul sa furnizeze functii care sa permita expertului in proiectare, dar care nu este specialist in programare, sa scrie reguli fara greseli. Un verificator automat de reguli este mult mai dificil de realizat, deoarece sistemul bazat pe reguli isi schimba starea tranzitionala in mod dinamic; solutia in aceasta situatie este aceea de restringere a cadrului problemei.
Intrarile relevante in baza de cunostinte sint: faptele, meta-faptele si regulile; ele sint utilizate pentru a obtine informatii din baza de cunostinte si sint testate in ordinea producerilor lor in baza de cunostinte. Cind o intrare relevanta se produce, motorul de inferenta o utilizeaza pentru a stabili informatia.
Faptele furnizeaza valori pentru expresii; meta-faptele furnizeaza informatii sau directii pentru determinarea unor informatii (ex. intrebarile)
Regulile sint de forma premisa atunci concluzie in care premisa poate fi propozitii sau meta-propozitii ce contin starea consultarii. In urma producerii unei reguli, se pot extrage toate concluziile posibile sau inferenta sa se opreasca la o singura concluzie sau supozitie; concluziile se noteaza in memoria cache.
In afara de intrarile descrise, reprezentarea cunostintelor se face prin utilizarea variabilelor, structurilor si listelor. Variabilele sint folosite in reguli, fapte si meta-fapte pentru procesul de instantiere si inferenta (pattern-matching). Pe linga acestea sint utilizate variabile de domeniu (anonime).
Structurile sint de forma functor si componentii lui, si anume:
clasa
Motor Inferenta
In aceasta procedura se balanseaza criteriile de analiza solicitate si se determina valorile asociate pentru fiecare criteriu; intrarea este constituita din baza de cunostinte si optiunile utilizator.
Inferenta se realizeaza pe baza regulilor de inferenta din procedura utilizind regulile din baza de cunostinte. Din multimea regulilor ce se refera la aceeasi problema trebuie selectata regula cea mai potrivita. Aceasta este o situatie conflictuala care se produce intre instantele aceleiasi reguli si dintre reguli diferite care candideaza cu succes la solutie ca urmare a aplicarii mesajului.
Rezolvarea conflictelor se face pe baza informatiilor din context (baza de reguli sau biblioteca de strategii) utilizind numarul de utilizari si coeficientul de utilitate sau ponderea acordata unor reguli printr-un mecanism de evaluare a prioritatilor.
Propagarea si rezolvarea conflictul se face dupa urmatoarea structura:
conflict
Inferenta consta in:
- maparea intre arborescente pentru extragerea sub-arborilor aferenti problemei
- selectia din baza de reguli si fapte
- filtrarea lor
- controlul datorat valorii de adevar al conditiei
- rezolvarea conflictelor
O problema importanta in interferenta o constituie discordanta dintre:
- obiectivele problemei,
- complexitatea arborilor de descriu modelul, difultatea executarii algoritmului de extragere a subarborilor,
- existenta regulilor, faptelor si metodelor disponibile in baza de cunostinte
Definirea claselor si a obiectelor
Definirea claselor consta in interpretarea ierarhiilor utilizate de inginerul de cunostinte prin marcarea componentei unei probleme, a caracteristicilor, legaturilor, atributelor ce definesc problema.
Pentru fiecare clasa :
- se asociaza un nume si adresa de regasire (nume ierarhie, numar nivel, numar nod)
- se definesc clasa "parinte" de pe nivelul imediat superior din ierarhie sau clasele "parinte" pentru cazul in care mostenirea se face de la clase (ierarhie) diferite numite superclase
- se definesc slot-urilor (atributele asociate) :
incident ----
Definirea claselor se face folosind cuvintul cheie classdef.
Definirea claselor-obiect se face definind metodele / mesajele pentru o clasa.
Odata cu crearea instantelor se creaza o mapa a sloturilor ce contine lista tuturor sloturilor si a valorilor lor pentru instanta la care au fost definite in cadrul clasei proprii sau a superclaselor. Un slot poate fi accesat chiar daca a fost eliminata definitia superclaselor sau a sloturilor.
Redefinirea claselor se face in urma consultarii; instantele create pe baza definitiei anterioare nu sint actualizate. Cind o clasa este redefinita, se marcheaza toate subclasele corespunzatoare clasei ca invalide; la trimiterea unui mesaj catre o clasa invalida sau catre o instanta a unei clase invalide se reface lantul de superclase si mapa sloturilor.
Sloturile noi sint definite odata cu definitiile de noi clase; ele nu sint valabile pentru vechile instante, nefiind prezente in mapa sloturilor pentru acele instante.
Crearea instantelor unei clase se poate face:
- static prin declaratia instdef realizindu-se si legatura instantei la o clasa
- dinamic, in timpul consultarii prin trimiterea unui mesaj nou catre a clasa.
Instantele create pot fi sterse; stergerea unei instante statice ramine valabila numai pe perioada consultarii, dupa care ea este recreata conform definitiei; instantele create dinamic se sterg in timpul consultarii.
O instanta statica poate fi schimbata si ea prin trimiterea unui mesaj la instanta in timpul consultarii.
Procesarea instantei unei clase se face cu meta-propozitia classinst.
Se construieste astfel o mapa a tuturor instantelor legate de sloturile dintr-o clasa.
Relatia de mostenire se transmite instantei nou create, la toate sloturile si valorile initiale de la prima clasa din lantul de superclase. Sloturile fara valoare initiala sint declarate necunoscute.
Definirea metodelor
Definirea metodelor se face in legatura cu mesajele se urmeaza a fi rezolvate la nivelul claselor sau ale instantelor. Instanta sau clasa primeste un mesaj pentru
- crearea unei noi instante pentru o clasa (noua instanta "margineste" variabila corespunzatoare clasei)
- atribuie valoare unui slot corespunzator unei clase
Algoritm de crearea unei metode:
- se verifica daca instanta respectiva are metoda definita pentru rezolvarea mesajului
- in cazul in care nu are metoda definita, se "traverseaza" lantul superclasei corespunzatoare clasei sau instantei si se verifica daca prima clasa / instanta are definita metoda
- daca nici la nivelul acesta nu este definita metoda, se defineste o metoda noua
Daca mesajul este multivaloare, se executa toate metodele definite.
Definitia metodei se poate schimba prin modificarea clasei in ierarhie. Metodele definite la clasa_obiect sint mostenite de toate instantele pentru ca aceasta este o superclasa pentru toate clasele. Fiecare clasa sau instanta poate avea propriile definitii de metode desi in mod curent o metoda este definita la o superclasa.
Metoda poate fi poate fi definita ca procedura sau ca regula. Metoda care reprezinta cunostinta euristica este definita ca o regula. Metoda care reprezinta cunostinta strategica sau pasii de rezolvare a unei strategii este definita ca o procedura.
Metoda definita ca procedura este apelata in mesaj cu argumente (aceleasi ca si in definitia metodei). Definirea metodei se face pornind de la expresiile ce reprezinta specificatiile de mesaj, si anume numele clasei sau al instantei si numele mesajului. Mesajul este urmat de corpul procedurii corespunzatoare metodei.In acest fel, mesajul ca si metodele de rezolvare se aplica clasei ca si sub-claselor din ierarhie. Metoda poate rezolva: determinarea valorii unei expresii, crearea unei instante, schimbarea valorii pentru slot-ul unei instante, trimiterea mesajului la o instanta, atribuirea valorilor pentru o variabila. Metoda definita ca regula intoarce o valoare conform specificatiei de mesaj.
Analiza alternativelor
Lucrarea de fata isi propune sa creeze un instrument de asistare a proiectantului in procesul de conceptie, utilizind principiile ingineriei concurente, punindu-se accent pe construirea modelului de reprezentarea cunostintelor si pe strategiile de cooperare pentru rezolvarea conflictelor utilizind cunostintele expertului stocate in baze de cunostinte tehnice.
Instrumentul proiectat se ocupa de problematica legata de modelarea proiectarii ingineresti asistate conform conceptiei ingineriei concurente, respectiv analiza strategiilor de evaluare a unui proiect.
In continuare, vom analiza din punct de vedere functional si structural modelele ce compun instrumentul de proiectat.
. Descompunerea problemei de proiectare in sub-domenii si sub-probleme, stabilirea specificatiilor si a obiectivelor pentru fiecare sub-domeniu sau sub-problema constituie functiile modulului de analiza si elicitare a cunostintelor. Tehnica de elicitare va conduce la determinarea obiectivelor pentru fiecare agent, a solutiei de aplicat pentru reprezentarea cunostintelor si a tehnicilor de mapare a acestora intre diferite domenii si va stabili situatiile conflictuale si strategiile de aplicat. Sistemul proiectat va contine aplicatiile analitice proprii proiectarii asistate (de exemplu Spice) si bazele de date constituite de aceste aplicatii; modulul de elicitare si analiza a cunostintelor va realiza abstractizarea si interpretarea inteligenta a informatiilor utile transferate in mod selectiv, in functie de similitudini, din aceste baze de date si introducerea de catre expertul in domeniu a faptelor, atributelor sau regulilor in baza unei grile repertoar specifice (repertory grid), organizate pe nivele de abstractizare si similitudini.
Cunostintele expertului in domeniu, de tip structural, functional sau atributiv, au structura ierarhica si sint reprezentate ca modele-obiect cu caracter dinamic, instantiate in procesul de proiectare. Modelarea procesului de proiectare este realizat de modelorul sistemului si de modulul de reprezentarea cunostintelor; sistemul de reprezentarea cunostintelor va fi de tip MBR pentru controlul analizei idealizarilor in proiectarea asistata, urmind ca versiunile ulterioare sa foloseasca tehnicile de tip CBR; pentru analiza strategiilor de evaluare a unui proiect se utilizeaza reprezentarea cunostintelor de tip RBS.
Strategiile de rezolvare a problemelor dintr-un domeniu si cele de evaluare a proiectelor sint reprezentate ca reguli si restrictii (constringeri) care pot sa fie folosite sau pentru generarea accesului automat la baza de date tehnice sau pentru generarea unei solutii extrase din procesarea modelelor sau interpretarea regulilor. Tehnica de inferenta folosita este de tip "backward chaining" (de la obiectiv se determina specificatiile corespunzatoare) si de tip "forward chaining" (specificatiile determinate in urma procesului de tip backward, se determina sub-obiectivele necesare atingerii obiectivului).
|