Sistem bazat pe reguli implementat n C# i Clips. Se creeaz un proiect n C#, folosind mediul Microsoft Visual Studio sau Microsoft Visula C# Express. n cadrul proiectului se creeaz interfaa grafic (de obicei se face drag&drop de componente grafice). se creaz un fiier Clips (extensia clp) care definete faptele i regulile pentru modulul de diagnoz. Pentru afiara rezultatelor se folosete funcia (printout t rezultate). proiectul se ruleaz din mediul de dezvoltare, care realizeaz i un executabil. Pentru rulare executabil se caut n directorul proiectului fiierul /bin/debug/numeAplicatie.exe
2 n proiectul C# se adaug referin ctre fiierul ClipsWrapper.dll (se face download de pe Internet), care face legtura dintre C# i mediul Clips. Clasa ClipsWrapper are rolul de a apela indirect funciile din Clips. Aceast clas trebuie importat n directorul /bin/debug. n proiect, la References, se alege Add Reference i se adaug fiierul ClipsWrapper.dll.
n constructorul aplicaiei create n proiect se apeleaz funcia InitializeCLIPS (care aparine clasei ClipsWrapper) astfel nct odat cu iniializarea interfeei grafice utilizator i mediul Clips s fie pregtit s primesc comenzi.
Metodele din clasa ClipsWrapper sunt urmatoarele :
void Clear() terge faptele i regulile curente 3 void InitializeCLIPS() initializeaz mediul Clips void Load(string filename) ncarc un program Clips dintr-un fiier void Reset() terge faptele curente i iniializeaz faptele din deffacts string Run() ruleaz programul si returneaz ca string ceea ce afieaz programul prin intermediul functiei printout t void Assert(string fact) introduce un fapt n baza de fapte void DribbleOn(string fisier) creaz un fiier txt care nregistreaz valoarea returnat de funcia Run() void DribbleOff() oprete sesiunea de ascultare a funciei DribbleOn
4 n fiierul Form1.cs (care conine verificrile i evalurile componentelor de control ale interfeei grafice) este creat o instan a clasei care face legtura cu mediul Clips. private ClipsWrapper clips; public FormPrincipal() { InitializeComponent(); //initializeaza componentele GUI, metoda //declarata in fisierul Form1.Designer.cs clips = new ClipsWrapper(); clips.Clear(); clips.Load("fisier.clp"); clips.Reset(); } valorile variabilelor citite n GUI i prelucrate n fiierul Form1.cs sunt introduse n Clips prin comenzi de tipul clips.Assert("(variabila " + valoare + ")"); 5 rularea mediului Clips se face prin urmtoarea comand, introdus n fiierul Form1.cs dup ce au fost citite toate datele de la componentele grafice de control. Comanda Run returneaz rezultatele ntr-un ir de caractere, care apoi poate fi afiat n GUI: string rezultate = clips.Run(); Exemple de proiecte de predicie i diagnoz: LogicaSimpla, AlegereApFoto i DiagnozaMedicala. 6 Exemplu LogicaSimpla in C# fiierul cs using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms;
namespace WindowsFormsApplication1 { public partial class Form1 : Form { private ClipsWrapper clips; 7 string var1, var2;
public Form1() { InitializeComponent(); //apeleaza clasa care face legatura cu Clips clips = new ClipsWrapper(); //sterge mediul Clips clips.Clear(); //incarca un fisier Clips