Prova is an open source programming language that combines Prolog with Java.


Prova is a rule-based scripting system that is used for middleware. The language combines imperative and declarative programming by using a prolog syntax that allows calls to Java functions. In this way a strong Java code base is combined with Prolog features such as backtracking.

Prova is derived from Mandarax, a Java-based inference system developed by Jens Dietrich. Prova extends Mandarax by providing a proper language syntax, native syntax integration with Java, agent messaging and reaction rules. The development of this language was supported by the grant provided within the EU projects GeneStream and BioGRID. In the project, the language is used as a rule-based backbone for distributed web applications in biomedical data integration, in particular, the GoPubMed system.

The design goals of Prova:
* Combine declarative and object-oriented programming.
* Expose logic and agent behavior as rules.
* Access data sources via wrappers written in Java or command-line shells like Perl.
* Make the Java API of various packages accessible as rules.
* Run within the Java runtime.
* Enable rapid prototyping of applications.
* Offer a rule-based platform for distributed agent programming. Prova aims to provide support for data integration tasks when the following is important:
* Location transparency (local, remote, mirrors);
* Format transparency (database, RDF, XML, HTML, flat files, computation resource);
* Resilience to change (databases and web sites change often);
* Use of open and open source technologies;
* Understandability and modifiability by a non-IT specialist;
* Economical knowledge representation;
* Extensibility with additional functionality;
* Leveraging ontologies.

Prova has been used as the key service integration engine in the Xcalia product where it is used for computing efficient global execution plans across multiple data sources such as Web services, TP monitors transactions like CICS or IMS, messages of MOM like MQ-Series, packaged applications with a JCA connector, legacy data sources on mainframes with a JCA connector, remote EJB Java objects considered as data providers or even local Java objects. Prova allows to deliver an innovative software platform for Service-oriented_architecture implementations.

Miscellaneous information

Currently on version 1.9 and development version RC 2.0. Its main developers Alex Kozlenkov, Adrian Paschke and Michael Schroeder.

See also

* Prolog
* Mandarax

External links

* [ Prova]
* [ Mandarax]
* [ GoPubMed]


# A. Kozlenkov and M. Schroeder. [,2,15;journal,620,2162;linkingpublicationresults,1:105633,1 PROVA: Rule-based Java-Scripting for a Bioinformatics Semantic Web] . In E. Rahm, editor, International Workshop on Data Integration in the Life Sciences, Leipzig, Germany, in Lecture Notes in Computer Science, Springer-Verlag, vol. 2994, pp. 17—30, 2004.
# N. Combs and J.-L. Ardoint. Rules versus Scripts in Games Artificial Intelligence, AAAI 2004 Workshop on Challenges in Game AI, 2004.
# J. Dietrich, A. Kozlenkov, M. Schroeder, and G. Wagner. Rule-based Agents for the Semantic Web, Electronic Commerce Research and Applications, vol. 2, no. 4, pp. 323-338, 2004.
# A. Paschke, M. Bichler, and J. Dietrich. ContractLog: An Approach to Rule Based Monitoring and Execution of Service Level Agreements, Int. Conf. on Rules and Rule Markup Languages for the Semantic Web (RuleML 2005), Galway, Ireland, 2005.
# A. Kozlenkov, R. Penaloza, V. Nigam, L. Royer, G. Dawelbait, and M. Schroeder. Prova: Rule-based Java Scripting for Distributed Web Applications: A Case Study in Bioinformatics, Reactivity on the Web Workshop, Munich 2006.

Wikimedia Foundation. 2010.

Look at other dictionaries:

  • prova — / prɔva/ s.f. [der. di provare ]. 1. a. [il verificare le qualità, le caratteristiche, ecc., di qualcosa, la veridicità di un informazione, la probabilità di un fatto, ecc.: sottoporre a una p. ] ▶◀ accertamento, controllo, esame, riscontro, test …   Enciclopedia Italiana

  • prova — |ó| s. f. 1. O que serve para estabelecer a verdade de um fato ou de asserção. 2. Testemunha, indício, sinal. 3. Ensaio, experiência. 4. Provação, transe, aperto, situação difícil. 5. Ato de tomar uma pequena porção de um todo para avaliar o seu… …   Dicionário da Língua Portuguesa

  • provă — PRÓVĂ s.f. v. proră. Trimis de oprocopiuc, 13.09.2007. Sursa: DEX 98  próvă v. proră Trimis de siveco, 10.08.2004. Sursa: Dicţionar ortografic  PRÓVĂ s.f. v. proră. Trimis de Laura …   Dicționar Român

  • prova — prȏva ž DEFINICIJA reg. pom. pramac (barke ili broda) FRAZEOLOGIJA okrenuti provu pejor. početi raditi, misliti, govoriti protivno nego dosad; vjetar u provu 1. vjetar u smjeru protivnom plovidbi 2. pren. nepovoljni razvoj događaja, nepovoljne… …   Hrvatski jezični portal

  • prova — próva (direcţie) s. f. invar. Trimis de siveco, 10.08.2004. Sursa: Dicţionar ortografic …   Dicționar Român

  • prova — próva ž DEFINICIJA v. proja …   Hrvatski jezični portal

  • prova — prò·va s.f. 1a. FO il sottoporre a verifica o il dimostrare le qualità, le proprietà, il funzionamento, l impiego possibile di un oggetto o di un materiale, le doti, le attitudini di una persona, la validità di un idea, la veridicità di un… …   Dizionario italiano

  • prova — 1 ×provà (brus. пpaвa, l. prawo) sf. (4) 1. įstatymas: Provas mokąs Q408. Nesa kas nori kuriame mieste gyventi ir penėtisi, tas turi provas ir pajunkimus to miesto žinoti ir laikyti Vln5. O po tam ir patys rimlionys sulaužė dvasiškas provàs… …   Dictionary of the Lithuanian Language

  • prova — {{hw}}{{prova}}{{/hw}}s. f. 1 Ogni esperimento compiuto per accertare le qualità di una cosa, dimostrare il valore o la giustezza di un affermazione, verificare le attitudini di qlcu. o controllare il funzionamento di una macchina: sottoporre a… …   Enciclopedia di italiano

  • prova — is., İt. prova 1) Bir şeyin amacına uygun, istenilen düzeyde olup olmadığını anlamak için yapılan deneme 2) Bir giysiye son biçimini vermeden önce giysiyi giyecek kişinin üzerinde yapılan düzeltme İlk prova. 3) Yazar veya düzeltmen tarafından… …   Çağatay Osmanlı Sözlük