Prova
Prova är ett programmeringsspråk med öppen källkod som kombinerar Prolog med Java .
Beskrivning
Prova är ett regelbaserat skriptsystem som används för mellanprogram . Språket kombinerar imperativ och deklarativ programmering genom att använda en prolog-syntax som tillåter anrop till Java-funktioner. På så sätt kombineras en stark Java-kodbas med Prolog-funktioner som backtracking.
Prova kommer från Mandarax, ett Java-baserat inferenssystem utvecklat av Jens Dietrich. Prova utökar Mandarax genom att tillhandahålla en korrekt språksyntax , inbyggd syntaxintegration med Java, agentmeddelanden och reaktionsregler. Utvecklingen av detta språk stöddes av bidraget inom EU-projekten GeneStream och BioGRID. I projektet används språket som en regelbaserad ryggrad för distribuerade webbapplikationer inom biomedicinsk dataintegration , i synnerhet GoPubMed- systemet.
Designmålen för Prova:
- Kombinera deklarativ och objektorienterad programmering .
- Exponera logik och agentbeteende som regler.
- Få åtkomst till datakällor via omslag skrivna i Java eller kommandoradsskal som Perl .
- Gör Java API för olika paket tillgängligt som regler.
- Kör inom Java-körtiden.
- Möjliggör snabb prototypframställning av applikationer.
- Erbjud en regelbaserad plattform för distribuerad agentprogrammering.
Prova strävar efter att ge stöd för dataintegrationsuppgifter när följande är viktigt:
- Platstransparens (lokal, fjärrkontroll, speglar);
- Formattransparens (databas, RDF , XML , HTML , platta filer , beräkningsresurs);
- Motståndskraft mot förändring (databaser och webbplatser ändras ofta);
- Användning av öppen och öppen källkodsteknik ;
- Förstålighet och modifierbarhet av en icke-IT-specialist;
- Ekonomisk kunskapsrepresentation ;
- Utökningsbarhet med ytterligare funktionalitet;
- Utnyttja ontologier .
Prova har använts som nyckeltjänstintegreringsmotorn i Xcalia-produkten där den används för att beräkna effektiva globala exekveringsplaner över flera datakällor såsom webbtjänster, TP övervakar transaktioner som CICS eller IMS, meddelanden från MOM som MQ - serien , paketerade applikationer med en JCA-kontakt , äldre datakällor på stordatorer med en JCA-kontakt, fjärranslutna EJB Java-objekt som betraktas som dataleverantörer eller till och med lokala Java-objekt. Prova gör det möjligt att leverera en innovativ mjukvaruplattform för tjänsteorienterade arkitekturimplementeringar .
- A. Kozlenkov och M. Schroeder. PROVA: Regelbaserad Java-skript för en bioinformatisk semantisk webb . I E. Rahm, redaktör, International Workshop on Data Integration in the Life Sciences, Leipzig, Tyskland, i Lecture Notes in Computer Science, Springer-Verlag, vol. 2994, s. 17–30, 2004.
- N. Combs och J.-L. Ardoint. Regler kontra skript i spel Artificial Intelligence, AAAI 2004 Workshop on Challenges in Game AI, 2004.
- J. Dietrich, A. Kozlenkov, M. Schroeder och G. Wagner. Regelbaserade agenter för den semantiska webben, forskning och tillämpningar för elektronisk handel, vol. 2, nr. 4, s. 323–338, 2004.
- A. Paschke, M. Bichler och J. Dietrich. ContractLog: An Approach to Rule Based Monitoring and Execution of Service Level Agreements, Int. Konf. on Rules and Rule Markup Languages for the Semantic Web (RuleML 2005), Galway, Irland, 2005.
- A. Kozlenkov, R. Penaloza, V. Nigam, L. Royer, G. Dawelbait och M. Schroeder. Prova: Regelbaserat Java-skript för distribuerade webbapplikationer: A Case Study in Bioinformatics, Reactivity on the Web Workshop, München 2006.