Procesul de proiectare este un proces in care colaboreaza diferite echipe de proiectanti, cu diferite obiective, uneori contradictorii. Pentru fiecare echipa de proiectanti, procesul de proiectare conform ingineriei concurente, poate fi sintetizat astfel:
- realizarea unui model al problemei, adica conversia de la problema definita ca obiect si atribute la reprezentarea prin model
- analizarea modelului pentru determinarea solutiei, adica conversia de la model la solutie
- realizarea programarii, adica conversia de la solutie la program
Fiecare din procedurile definite mai sus reprezinta o mapare dintre diferite forme, model-solutie-program; cu cit nivelul de exprimare este mai agregat in raport cu modelul / solutia / programul, cu atit "intelegerea" si receptionarea informatiilor este mai usor de realizat.
Pentru realizarea acestei mapari, inginerul proiectant utilizeaza functii inteligente cum ar fi intuitia, creatia, asocierea, inductia, abductia, recunoasterea, deductia care sint obiectul de studiu al ingineriei de cunostinte, si functii cu un nivel relativ redus de rationament cum ar fi calcularea, cautarea si regasirea, recunoasterea de sabloane ("pattern"), etc analizate in detaliu de algoritmii PAC. Astfel, ingineria de cunostinte este utilizata pentru inzestrarea sistemelor cu functii inteligente cum ar fi rationamentul prin analogie, rationamentul probabilistic, inferenta inductiva sau deductiva etc.
Procesul de proiectare se constituie in 4 faze, din punct de vedere al informatiilor existente:
- in prima faza, inginerul proiectant detine informatii cu caracter general;
- in faza a doua, informatia este data de experienta si nu poate fi exprimata in forma de expresii;
- in faza a treia, informatia poate fi exprimata relational, algoritmic si cantitativ; si in sfirsit,
- in faza a patra, informatia poate fi constituita in proceduri si īn modele obiect, faza in care se determina definitia si mecanismul structurii obiectelor pentru ca apoi sa fie inglobata īntr-un model matematic, adica faza de model obiect
Proiectarea se considera reusita daca se poate mapa pe acest model relatii procedurale si calitative, de exemplu translatari directe, fara interventie exterioara, intre baza de date si baza de cunostinte.
Echipele de proiectanti sint asimilati "agentilor". Pentru determinarea solutiei de proiectare, trebuie rezolvate situatiile conflictuale dintre agenti. Pentru rezolvarea situatiilor conflictuale, trebuie sa se realizeze si coordoneze un proces de negociere intre agenti cu deteminarea unor solutii de compromis ("relaxarea" unor constringeri, schimbarea valorilor unor parametri etc)
Construirea unui model general al proiectului rezulta din analiza, evaluarea si rafinarea modelului si eventuale propuneri de corectii asupra modelului in fiecare faza de conceptie pina la determinarea solutiei.
Sarcina ingineriei concurente este de a gasi o schema generala de modelare avind ca obiect acest model ce evolueaza dinamic in timp, ce consta in determinarea unui model al refacerilor simultane de proiect prin stabilirea componentelor sau caracteristicilor de proiectare asociate fiecarui proiect candidat, strategiilor si conditiilor pentru ca rezolvarea sa fie corecta, a problemelor de compatibilitate sau aplicabilitatate intre proiectele candidat precum si a inconsistentei in specificatii.
Fazele ce constituie procesul de determinare a modelului obiect sint urmatoarele:
este conceput un model ce inglobeaza experienta din cazuri similare, si anume instante ale obiectelor similare.
modelul este corectat in procesele de analiza, evaluare si corectare, procese ce se desfasoara iterativ pina la satisfacerea cerintelor initiale. Informatia necesara "obiectului-produs" este 333h72d extrasa pentru fiecare etapa a evolutiei modelului. Operatiile specifice modelului sint privite ca obiecte, iar functiile realizate de operatii comunica intre ele prin intermediul modelului.
Deci, o prima problema este posibilitatea de a modifica in mod dinamic reprezentarea modelului conform corectiilor rezultate din analiza si evaluare
O a doua problema o constituie capabilitatea de a analiza in mod adaptiv un model care variaza, de a structura analiza intr-un mediu dinamic, a construi si manipula un model dinamic Obiectul model este modificat continuu in timpul procesului de proiectare; de aici si dificultatea de a scrie un program cu structura fixa care sa acopere toate producerile posibile ale obiectului model.
Dificultatea consta in a realiza un sistem ce integreaza programe si date ce corespund unor puncte de vedere diferite ceea ce necesita introducerea expresiilor de nivel inalt facind obiectul unui alt domeniu si anume procesarea cunostintelor knowledge information processing
Pe de alta parte, este nevoie de exprimarea faptelor si a experientei in expresii de forma libera apropiat de limbajul si gindirea inginerului proiectant, pentru a patrunde intelesurile acestuia; de aici si necesitatea de a lucra cu informatii avind diferite grade de abstractizare sau detaliere etc. Astfel, diferitele tipuri de informatii, folosita in procesul de proiectare si exprimata fie in aceeasi forma sau in forme diferite, nu este independenta una de alta. Fiecare informatie reprezinta un aspect ale aceluiasi obiect si de aceea este legata de alta informatie prin obiect. Daca un obiect este modificat prin evolutia unui aspect, si celelalte aspecte legate de el sint influentate. Pentru a realiza acest mecanism, trebuie definite toate informatiile structurale, functionale si atributive ce privesc obiectul determinindu-se astfel modelul obiect sau modelul concept
In definirea sistemului se tine seama de cerintele la care acesta trebuie sa raspunda si anume: sa aiba procesul de rationament consistent, rezultatele obtinute sa fie consistente, explicatiile sa fie tipice pentru domeniu, reguli sa fie usor de inteles, neambigue, baza de cunostinte sa fie bine structurata, structura de control sa fie clara, eficienta si usor de modificat si sa realizeze analiza strategiilor si evaluari euristice.
Sistemul proiectat se refera in aceasta etapa la modelarea proiectarii ingineresti ceea ce presupune:
- specificarea cerintelor, cautari de proiecte similare si determinarea de proiecte candidat, evaluarea si selectia lor,
- construirea uni model general al proiectului care rezulta din analiza, evaluarea si rafinarea modelului si eventuale propuneri de corectii asupra modelului in fiecare faza (conceptie, proiectare preliminara, de detaliu, testare) pina la determinarea solutiei optime.
Problema principala in definirea sistemului avind la baza conceptele ingineriei concurente este definirea unei schema generala de modelare avind ca obiect acest model ce evolueaza dinamic in timp.
Modelul de proiectare permite refaceri simultane de proiect prin stabilirea componentelor sau caracteristicilor de proiectare asociate fiecarui proiect candidat printr-un proces de definire a ierarhiilor, de creare a taieturilor si legaturilor necesare corespunzatoare fiecarei problematici.
Procesele de mapare, de definire a descriptorilor de compatibilitate, a justificarilor, a sugestiilor, a strategiilor si conditiilor ce sa asigure o rezolvare corecta a problemelor de compatibilitate sau aplicabilitatate intre proiectele candidat precum si a inconsistentei in specificatii constituie obiectul modulului de modelare.
Selectia setului corect al variabilelor de decizie - denumit si spatiul starilor constituie expertiza proiectarii. Cluster-ul analizei contine lista atributelor, legaturilor si produce automat clasele incluse in descompunerea proiectului.
Problema principala este de a introduce tehnologia de procesarea cunostintelor in procesul de proiectare. Modelarea procesului de proiectare presupune determinarea, in mod dinamic, a unui model in care expertul identifica sau asista identificarea:
ierarhia care sa reprezinte structura, functiunile, comportamentul, etc precum si clasele, obiectele determinate de expert asistat de sistem
construirea "viewpoint"-urilor corespunzatoare "obiectiv"-urilor,
agentii care participa la procesul de proiectare,
conflictele intre agenti, determinarea ierarhiei de conflicte si a tehnicii de negociere - comunicatia si cooperarea intre agenti
similaritatile determinate prin elicitatarea cunostintelor - cautari de proiecte similare si determinarea de proiecte "candidat", evaluarea si selectia lor,
Construirea unui model general al proiectului rezulta din analiza, evaluarea si rafinarea modelului si eventuale propuneri de corectii asupra modelului in fiecare faza de conceptie pina la determinarea solutiei.
Lucrarea de fata are ca obiectiv realizarea unui sistem informatic pentru inginerie concurenta , anume Proiectare Asistata Inteligenta pentru definirea produsului si a modelului acestuia. Lucrarea este constituita din 2 faze:
Faza 1 In aceasta faza, se realizeaza modelarea procesului de proiectare din punct de vedere al unui singur agent.
Sistemul, asista expertul, la definirea:
- ierarhiei care reprezinta structura, functiunile, comportamentul etc precum si clasele, obiectele, atributele, relatiile aferente. Intre atribute, se disting costul si tolerantele care dau posibilitatea analizei inteligente a influentei tolerantelor si a alegerii solutiei asupra costului.
- "obiectiv"si strategiilor de realizare a "obiectiv"-urilor precum si la construirea "viewpoint"-urilor corespunzatoare "obiectiv"-urilor ("traversarea" ierarhiei pentru extragerea sub-ierarhiei aferente "obiectiv'-urilor clasele, obiectele, atributele, relatiile etc).
Modelorul propriu-zis al procesului de proiectare contine module functionale care au scopul de construire a modelului prin procesarea informatiilor care il modeleaza, si anume:
- Modul de Interfata cu utilizatorul
- Modul de achizitie cunostinte ce realizeaza analiza si elicitarea cunostintelor ingineresti pentru realizarea controlului analizei in proiectarea asistata, controlului tolerantelor, evaluarea inteligenta a variantelor proiectelor si a costului etc; determinarea similaritatile prin elicitatarea cunostintelor - cautari de proiecte similare si determinarea de proiecte "candidat", evaluarea si selectia lor,
- Modelorul propriu-zis ce realizarea modelarea procesului de rationament ingineresc, prin definirea ierarhiilor si maparea intre domeniile specifice unui modelului unui proiect ("viewpoint"-urilor si "obiectiv"-urilor).
- Modul de reprezentare a cunostintelor ingineresti, adica de construire a obiectelor si regulilor ce constituie baza de cunostinte, in formatul cerut de shell-ul M4
- Modul de inferenta realizat de shell-ul M4.
(M4 este shell-ul care permite definirea de obiecte sI reguli necesare in reprezentarea cunostintelor).
In continuare este prezentata arhitectura subsistemului aferent fiecarui agent, compus din modelorul propriu zis si baza de cunostinte aferenta.
Modul Interfata utilizator
- structuri/ functiuni/ atribute/ proceduri EXPERT
- vizualizari fisiere/ierarhii
Modul de achizitie cunostinte Aplicatii analitice
- Dialog Expert identicare : - analiza circuitelor nelineare - simulare comportament .material, .incidente ...
ierarhii functiuni legaturi Baza de Date
- caracteristici Model Proiect PAC
- creare/ editare reguli pentru model
Modelorul Manager de model
- stabilire reguli Mapare / Traversare ierarhie
Modul de construire (shell M4) Baza
reguli - obiecte Cunostinte
Modul de inferenta (shell M4)
- recomandari cf "Obiectiv"
Faza realizeaza definirea modelului MultiAgent si anume:
definirea, de catre "expert", a agentilor care participa la procesul de proiectare precum sI a domeniului de actiune, corespunzator, pentru fiecare agent, domeniu delimitat in mod interactiv de catre agenti din ierarhia de definire a produsului,
analiza constrīngerilor impuse de "expert" (form Attribut) si definirea conflictelor intre agenti rezultate din analiza acestora,
determinarea ierarhiei de conflicte, situarea in nodurile de baza a conflictelor generale iar spre "frunze" a conflictelor de detaliu
definirea metodelor de rezolvare a conflictelor, fie prin modificarea valorilor unor parametri sau relaxarea constringerii (renuntare la constringerea respectiva) si analiza implicatiilor datorate metodei aplicate
definirea tehnicii de negociere (comunicatia si cooperarea) intre agenti prin propagarea conflictelor si a studiului influentei relaxarilor sau a modificarilor parametrilor asupra solutiei de proiectare;
definirea tehnicii de intretinere a agendei ("blackboard")
In continuare este prezentata arhitectura generala care cuprinde agentii ce participa la procesul de proiectare precum sI negocierea dintre agenti.
Modelor Proces Proiectare
Expert
uman
Extragere informatii din
- Baza de Date CAD Baza de "CASE"]
Baza de Baza de
CAD "CASE"
Exista in B-"CASE" ? (2 - MEC)
NU DA
Asistare Expert
descompunere Progrram HIERARCH Asistare Expert
SIMILITUDINI Progrram REPERGRID
Modul Elicitare Cunostinte -
definire clase - obiecte - definire reguli BC *) - definire
"goal - strategii" - definire
"viewpoint"
Introducere Design in B-"CASE" ?
NU DA
Biblioteca *) Baza de Cunostinte
- Strategii & (shell M4)
Obiectiv
Modul definire agenti
Agent 1 Agent 2 Agent n
AGENDA & Blackboard Modul Negociere - definire
platforma & tehnica negociere - definire
comunicatie & cooperare
intre agenti Modulul
Detectare Conflicte - clasificare
& construire ierarhie conflicte
-
- - - -
Definirea ierarhiei se face specificind nodurile acesteia si caracteristicile si instantierile acestora. Definirea sau actualizarea unor ierarhie presupune actualizarea nodurilor, a legaturilor ce se stabilesc intre noduri precum si informatiile asociate elementelor.
Nodurile unei ierarhii reprezinta abstractizari structurale pentru concepte, evenimente, stari. Arcele reprezinta relatiile de descriere a conceptelor, intre concepte si componentele lor, intre concepte si instantele la clase, intre obiecte si actiuni, intre componente si modalitatile de atasare la concepte
Astfel, informatiilor asociate nodurilor ierarhiei sint de genul:
- tipul nodului din ierarhie,
- valorile elementelor conexe etc.
La definirea sau actualizarea unei structuri ierarhice se apeleaza la baza de cunostinte sau baza de date specifice modelului pentru a se verifica corectitudinea/compatibilitatea variantelor in raport cu solutia initiala. Daca o noua legatura este introdusa in ierarhie, utilizatorul dispune de posibilitatea de a alege din menu functii inrudite si atributele corespunzatoare.
In urma definirii noii ierarhii corespunzatoare structurii, utilizatorul va avea posibilitatea de a testa compatibilitatea noilor functii definite, putind alege diferite variante propuse. In cazul in care una sau mai multe alternative propuse au functii compatibile se poate solicita incarcarea bazei de cunostinte a noilor atribute si instantele lor.
Inregistrarea definitiei unei ierarhii se face prin prelucrarea in program a:
- pozitiei pe ecran a unei descrieri sau ierarhii
- continutului determinat prin cuvinte cheie
- inlantuirii admise a menu-urilor si/sau ferestrelor
- dreptului la acces la anumite portiuni din baza de cunostinte pentru a extrage informatii spre a fi vizualizate.
Descrierea ierarhiilor (structura, functiuni, comportament), operatiile ce se efectueaza cu ierarhii, reprezentarea cunostintelor in baza de cunostinte sint prezentate in Anexa 1.
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. Structura datelor ce reprezinta ierarhia recum si operatiile ce se efectueaza cu ierarhiile sint prezentate in Anexa 1.
Interfata necesara construirii ierarhiei proiectului este prezentata mai jos.
Functiile Java necesare construirii ierarhiei proiectului sint :
modificare (adaugare, stergere, editare) avind obiecte : tip_ierarhie nume_ierarhie, ierarhie.nivel.component, ierarhie.component.atribut/relatie
actiune (salvare, renuntare) avind obiecte : nume_ierarhie.nume_fisier, actiune.urmatoare
deschide_ierarhie (tip_ierarhie nume_ierarhie)
expandare _ierarhie (ierarhie.nivel.component.legatura)
Ierarhia proiectului constituita din arborescenta propriu zisa si elementele auxiliare de definitie este preluata / afisata utilizind "frame"-ul fierarhie.
Pentru operatiile de preluare / afisare informatii s-au definit clase, obiecte si functii :
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
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.
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.
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
Construirea fisierului de obiective are ca principal scop :
determinarea obiectivelor cu indicarea sau selectarea parametrilor (variabilelor) specifici precum si a valorilor acestora, valori pe care procesul de proiectare urmareste sa le determine sau sa le optimizeze,
pentru fiecare obiectiv, se determina "arborescenta" corespunzatoare lui din viewpoint-ul FCS; se īnscrie īn fisierul de tip .vwp viewpoint-ul corespunzator obiectivului iar īn fisierul obiectiv se īnscrie legatura Obiectiv -Viewpoint.
fiecare obiectiv poate fi constituit, la rīndul lui, dintr-o "arborescenta" de subobiective, īn cazul īn care se ataseaza sub-obiective pentru nodurile subordonate ale viewpoint-ului FCS
Algoritm
Pasul 1 Se selcteaza din menu principal optiunea Viewpoint care produce afisarea viewpoint-ului FCS, obtinut pe baza ierarhiilor Structura, Functii si Comportament, si o fereastra de dialog pentru obiective, ce contine Cod Obiectiv si Denumire Obiectiv, o lista cu parametrii indicati īn form-rile Attribute sau Relation si valorile lor impuse prin proiect precum si parametrii noi rezultati din expresii.
Pasul 2 Utilizatorul īnscrie denumirea obiectivului si marcheaza paramatrii referiti de obiectiv din lista de parametri si inscrie noi parametri, daca este cazul; pentru paramatrii referiti de obiectiv sau cei noi indicati, se īnscriu valorile lor finale (impuse).
Pasul 3 Utilizatorul marcheaza pe viewpoint-ul FCS nodurile "frunza" care corespund obiectivului; se creaza fisierul nume_ierarhie.gol
Structura fisierului de obiective este prezentat in anexa 1
Functiile Java necesare construirii ierarhiei proiectului sint :
generare_regula avind obiecte : regula_subierarhie.nivel.component.atribut/relatie
actiune (salvare, renuntare) avind obiecte : nume_viewpoint.nume_fisier, actiune.urmatoare
deschide_ierarhie/viewpoint (tip_ierarhie nume_ierarhie)
obiectiv (subierarhie.obiectiv.agent)
expandare_ierarhie (ierarhie.nivel.component.legatura.relatie, ierarhie)
b. generarea claselor si a obiectelor este realizata de modulul M4Gen, care interpreteaza nodurile ierarhiei ca fiind obiecte sau clase. De asemenea, modulul M4Gen genereaza instructiunile īn formatul specific shell-ului M4, si anume
obiectivele, clasele/obiectele cu atributele/relatiile - denumirea si valorile parametrilor acestora, corespunzatoare claselor/obiectelor; un caz special īl prezinta situatia īn care relatiile reprezinta proceduri de calcul
instantele, precum si
legaturile īntre nodurile viewpoint-ului FCS.
Pentru parcurgerea ierarhiei sau viewpoint-ul FCS sau a unui viewpoint oarecare se foloseste algoritmul de traversare a ierarhiei existent īn anexa.
Numele functei este : M4Gen
Parametrii functiei : Code_node_is, Code_node_ia, type_ia, nume_cls, type_cls,
index, noi, inst
unde :
Code_node_is - cod nod īn ierarhia de baza (Structura )
Code_node_ia - cod nod īn ierarhia subordonata (Function, Behavior )
type_ia - tip ierarhie subordonata
nume _cls - nume clasa sau obiect
type_cls - Clasa / Obiect
index - index Obiect īn Clasa
noi - numar instante
inst - Array Instanta
Viewpoint-ul FCS Functie - Comportament - Structura reprezinta punctul de pornire īn modelarea procesului de proiectare, care a fost descompus, īn prealabil īn mod paralel, prin construirea ierarhiilor Structura, Functii si Comportament.
Algoritm
Pasul 1 Se porneste de la ierarhiile de Structura, Functii si Comportament existente īn fisierul nume_ierarhie.hch. Acestea caracterizeaza procesul de proiectare studiat din 3 puncte de vedere, deci reprezinta descompuneri "paralele" ale aceluiasi proiect, realizate din puncte de vedere diferite. Structura fisierului nume_ierarhie.hch se afla in Anexa. Reprezentarea ierarhiilor se regaseste sub forma de arborescenta (grafica).
Click pe o componenta a ierarhiei Structura, activeaza o fereastra care asista utilizatorul la stabilirea legaturilor īntre nodurile ierarhiei de baza (Structura), cu nodurile ierarhiilor Functii si Comportament. Legaturile se realizeaza īntre nivelele cel mai mici ("frunza") din fiecare ierarhie de definitie, legaturi care se macheaza prin click cu mouse-ul pe noduri. Fereastra <legatura> contine un menu cu lista ierarhiilor ce pot fi apelate; lista se īncheie cu Exit; utilizatorul alege din aceasta lista ierarhia dorita.
Ierarhia aleasa este afisata, iar utilizatorul macheaza legatura prin click pe componenta "frunza". O fereastra de dialog asista utilizatorul īn continuarea crearii altor legaturi sau revenirea la ierarhia de baza.
Pasul 2 Se reia pasul 1 pīna la crearea tuturor legaturilor īntre ierarhii; terminarea procesului de creare a legaturilor se alege optiunea Exit; Viewpoint-ul FCS este salvat īn fisierul nume_ierarhie.FCS
Structura fisierului viewpoint nume_ierarhie.FCS este prezentat in anexa..
Functiile Java necesare construirii ierarhiei proiectului sint :
actiune (salvare, renuntare) avind obiecte : nume_ierarhie_FCS.nume_fisier, actiune.urmatoare.frame
deschide_ierarhie/viewpoint (tip_ierarhie nume_ierarhie)
generare_ ierarhie_FCS avind obiecte : ierarhie_FCS.functie.pointer_functie, pointer_functie.pointer_obiectiv, pointer_functie.pointer_comportament, pointer_functie.pointer_structura, list_functie.functie, list_ obiectiv.obiectiv, list_comportament. comportament, list_ structura.structura,
detaliu (functie.relatii, structura.atribut)
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 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
Functiile Java necesare construirii ierarhiei proiectului sint :
vizualizare_regula avind obiecte : regula.variabile
actiune (transmite, renunta) avind obiecte : parametru.valoare
solutie.continut
expandare_ierarhie (ierarhie.nivel.component.legatura.relatie, ierarhie)
In favoarea abordarii propuse se pot indica mai multe argumente :
- se incearca rezolvarea unor functii de baza in proiectarea inginereasca cum ar evaluarea de alternative pentru proiecte, controlul aproximarilor, utilizind elemente de inteligenta artificiala
- flexibilitate datorate inzestrarii cu inteligenta a unor concepte specifice retelei Internet
- se incearca definirea si dezvoltarea de metode si algoritmi bazati pe concepte moderne corelate cu cele clasice
- instrumentul rezultant va utiliza conceptele ingineriei concurente adica va dispune de facilitati de cooperare, comunicare intre discipline si simularea comportarii si controlului de timp real
utilizarea comunicatiei intre obiecte prin reteaua Internet
Reprezentarea cunostintelor euristice ale domeniului ca modele-obiect si/sau reguli structurate se realizeaza cu shell-ul M4 Limbajul de comunicare utilizat in sistemele dezvoltate in SUA este bazat pe KQML - Knowledge Query & Manipulation Language
Ca limbaje de programare pentru construirea interfetelor s-au ales limbajele orientate pe obiect cum ar fi C++ ce include toate componentele importante ale OOP cum ar fi multiple mosteniri pentru date si metode, emiterea si prelucrarea se mesaje, constringeri pentru monitorizarea slot-urilor, obiectelor si faptelor. Problemele care apar sint, in principal, legate de soft-ul necesar Windows NT shell-uri.
Lucrarea este esalonata astfel :
- in prima etapa, anul 1999 se va realiza schema generala de modelare pentru reteaua Internet si generararea bazelor de cunostinte adecvat shell-ului , urmīnd ca,
- in fazele urmatoare sa se elaboreze aplicatiile legate de realizarea modelului multiagent (definirea agentilorsi a conflictelor intre agenti, tehnicile de comunicatie, negociere - blackboard) in reteaua Internet
Datorita experientei cistigate in urma realizarii acestui instrument, in viitor ar fi util dezvoltarea acestuia folosind tehnicile Case Base Reasoning, in procesul de cooperare intre agenti in reteaua Internet.
Extinderea retelei Internet, a Web -ului (World Wide Web) ca o retea globala de informatii determina o schimbare a relatiei client-server. Astfel utilizatorii pot avea acces la aplicatie prin intermediul server-ului Web, care asigura comunicarea client-server prin protocolul HTTP ; in acest fel, server-ul Web rezolva situatiile conflictuale in cazul accesarii la resurse precum si protectia datelor. Pe linga utilizarea propriei aplicatii, utilizatorii au la dispozitie toate informatiile disponibile pe Web, cele mai multe dintre ele intr-un format si combinatie adecvata cerintelor utilizatorilor. Informatiile si serviciile existente in Internet sint diverse si complexe ; de aceea este necesar sa fie filtrate. Astfel ca pe linga agentii proprii aplicatiei IPAC, utilizarea aplicatiei multi-utilizator pe Web face necesara crearea propriilor agenti_inteligenti_Web. Solutia de adaptare a aplicatiei pentru reteaua Internet consta in crearea agentior Web, utilizind facilitatile programarii pe obiect (applets Java si script-uri de tip JavaScript).
Interesul principal il constituie rezolvarea concurenta si distribuita de probleme de catre echipe de experti constituiti in agenti cunoscatori. Fiecare agent este autonom in comportare, strategii de cooperare si comunicare pentru control si rezolvarea situatiilor conflictuale, are scopuri si abilitati proprii. Sistemul va fi un mediu multiagent cu rezolvitori rationali ce coopereaza intre ei. Cunostintele sint achizitionate de la expertii in domeniile ce constituie obiectul proiectarii. Sistemul va utiliza produsele program care genereaza automat proiectarea propriu-zisa, instrumentele inteligente si instrumentele specifice retelei Internet ce asista proiectantul in timpul procesului de proiectare si, care in urma analizarii solutiei propuse, completeaza proiectarea propriu-zisa sugerind imbunatatiri, in principal pentru respecificarea produsului (alternative) sau chiar renegociarea cerintelor utilizatorului. Sistemul va fi constituit din baza de date a sistemului ce contine caracteristicile constructive si tehnice a produsului rezultate in urma proiectarii asistate si baza de cunostinte ce contine modelul procesului de proiectare si regulile referitoare la procesul de proiectare, sugestii de evaluare si imbunatatire a solutiei propuse. In urma procesarii cunostintelor (meta-reguli si reguli), este generata o multitudine de alternative propuse ca solutie sau de interogari pentru baza de date. Instrumentul propus a se realiza are flexibilitate deoarece prezinta avantajul ca tine cont, inca din faza de conceptie-proiectare a produsului, de elemente simulate ale functionarii acestuia Produsul va constitui o metoda de instruire asistata pentru proiectantii incepatori sau studenti, sistemul dispunind de metoda de control in achizitionarea de cunostinte de la utilizatorul novice in domeniu
|