Prova - Prova
Prova este un limbaj de programare open source care combină Prolog cu Java .
Descriere
Prova este un sistem de scripting bazat pe reguli , care este utilizat pentru middleware . Limbajul combină programarea imperativă și declarativă utilizând o sintaxă prolog care permite apeluri către funcții Java. În acest fel, o bază puternică de cod Java este combinată cu funcții Prolog, cum ar fi backtracking.
Prova este derivat din Mandarax, un sistem de inferență bazat pe Java dezvoltat de Jens Dietrich . Prova extinde Mandarax oferind o sintaxă adecvată a limbajului , integrarea nativă a sintaxei cu Java, mesaje de agent și reguli de reacție . Dezvoltarea acestui limbaj a fost susținută de grantul acordat în cadrul proiectelor UE GeneStream și BioGRID. În proiect, limbajul este folosit ca o coloană vertebrală bazată pe reguli pentru aplicații web distribuite în integrarea datelor biomedicale , în special sistemul GoPubMed .
Obiectivele de proiectare ale Prova:
- Combinați programarea declarativă și orientată obiect .
- Expuneți logica și comportamentul agentului ca reguli.
- Accesați sursele de date prin împachetări scrise în Java sau shell -uri de linie de comandă precum Perl .
- Faceți ca API-ul Java al diferitelor pachete să fie accesibil ca reguli.
- Rulați în runtime Java.
- Activați prototiparea rapidă a aplicațiilor.
- Oferiți o platformă bazată pe reguli pentru programarea agentului distribuit .
Prova își propune să ofere suport pentru sarcinile de integrare a datelor atunci când următoarele sunt importante:
- Transparența locației (locală, la distanță, oglinzi);
- Transparența formatului (baza de date, RDF , XML , HTML , fișiere plate , resurse de calcul);
- Rezistența la schimbare (bazele de date și site-urile web se schimbă des);
- Utilizarea tehnologiilor open source și open source ;
- Înțelegere și modificabilitate de către un specialist non-IT;
- Reprezentarea cunoștințelor economice ;
- Extensibilitate cu funcționalitate suplimentară;
- Utilizarea ontologiilor .
Prova a fost folosit ca motor cheie de integrare a serviciului în produsul Xcalia, unde este utilizat pentru calculul planurilor de execuție globale eficiente în mai multe surse de date, cum ar fi serviciile web, TP monitorizează tranzacții precum CICS sau IMS , mesaje de la MOM precum MQ-Series , ambalate aplicații cu conector JCA , surse de date vechi pe mainframe cu conector JCA, obiecte Java EJB la distanță considerate ca furnizori de date sau chiar obiecte Java locale. Prova permite livrarea unei platforme software inovatoare pentru implementări de arhitectură orientate spre servicii .
Referințe
- A. Kozlenkov și M. Schroeder. PROVA: Scripturi Java bazate pe reguli pentru un web semantic Bioinformatică . În E. Rahm, editor, International Workshop on Data Integration in the Life Sciences, Leipzig, Germania, în Lecture Notes in Computer Science, Springer-Verlag, vol. 2994, pp. 17-30, 2004.
- N. Combs și J.-L. Ardoint. Reguli versus scripturi în jocuri Inteligență artificială, AAAI 2004 Workshop despre provocări în AI joc, 2004.
- J. Dietrich, A. Kozlenkov, M. Schroeder și G. Wagner. Agenți bazați pe reguli pentru web-ul semantic, cercetare și aplicații privind comerțul electronic, vol. 2, nr. 4, pp. 323-338, 2004.
- A. Paschke, M. Bichler și J. Dietrich. ContractLog: o abordare a monitorizării bazate pe reguli și executării acordurilor de nivel de serviciu, Int. Conf. on Rules and Rule Markup Languages for the Semantic Web (RuleML 2005), Galway, Irlanda, 2005.
- A. Kozlenkov, R. Penaloza, V. Nigam, L. Royer, G. Dawelbait și M. Schroeder. Prova: Scripturi Java bazate pe reguli pentru aplicații web distribuite: un studiu de caz în bioinformatică, reactivitate pe atelierul web, München 2006.