Discussion forum
  Language grammar
 associated projects

The current version is Prova 1.8.0 of May 18, 2005

August 14, 2006:Prova 2.0 Alpha is available from SourceForge.net. Prova Forum and Prova WIKI will continue providing more details about the features and enhancements in the new version.

June 18, 2006: Xcalia product "Xcalia Core for Services 4.3.0" includes Prova runtime and specialised Prova rule base used for efficiently computing global execution plans across multiple disparate 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 (see Introduction/Third-party licenses).

Quoting from Xcalia testimonial: "Prova is the critical part of our new XIC for Services product, responsible for dynamic orchestration of services. We have found Prova to be an excellent rule language using Java, with complete functionality and good performance. The Prova team has been very reactive and helpful."

Xcalia was named "Cool Vendor" in the Gartner report in 2006. Its customer base includes such diverse companies as BNPParisbas, France Telecom, EDF Energy, Orange, Raytheon, Thales, and Sony Music.

March 20, 2006: Pre-release version 1.9 Prova JAR is available in the Downloads section.

January 22, 2006: A new version 1.9 is under way and the stable version is available from the "prova" CVS repository under the Mandarax Project. The updates include a ProvaOWL module developed by Adrian Paschke, revised asynchronous mode of integrating Prova rulebases into the native Java code, smaller memory footprint for recursive calls, revised processing of Java-typed variables, new built-in predicates, updated documentation, and bug fixes. The Prova forum gives more details on the the CVS updates. Many thanks to Ricardo Amador, Julien Lehembre, Stu Baurmann, and Adrian Paschke for valuable contributions.

January 22, 2006: Adrian Paschke from Technische Universität München is leading a new project Rule-based Service Level Agreement (RBSLA) that is using Prova and Mandarax. The rules are used to describe contracts and service level agreements in SOA setting in a generic way.

May 18, 2005: A new version 1.8 has been released. It includes numerous updates related to the use of Prova when embedded into and called from Java. The updates reflect the large feedback we have received on Java-Prova integration. The documentation and examples have been enhanced. There are multiple bug fixes. Many thanks to Simon Beaumont, Michal Jakob, Karsten Kuhla, Sherman Wood, Alban Peignier, Andreas Doms, and Marc Lemke.

Interested in contributing or using the system? Post a message on the Prova forum or drop us a line at alex.kozlenkov@betfair.com. The current workplan includes:

Prova positions itself as a rule-based scripting (RBS) system for middleware. The language breaks new ground in combining imperative and declarative programming.

Prova is derived from Mandarax Java-based inference system developed by Jens Dietrich. Prova extends Mandarax by providing a proper language syntax, native syntax integration with Java, and 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 projects, the language was used as a rules-based backbone for distributed web applications in biomedical data integration, in particular, the GoPubMed system.

The design goals of Prova

Prova is useful 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.


A. Kozlenkov and M. Schroeder. 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.

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.

N. Combs and J.-L. Ardoint. Rules versus Scripts in Games Artificial Intelligence, AAAI 2004 Workshop on Challenges in Game AI, 2004.

A. Doms, T. Furche, A. Burger, and M. Schroeder. How to query the GeneOntology, In Catherine Bounsaythip, editor, Proc. of KRBIO'05: Symposium on Knowledge Representation in Bioinformatics, 2005.

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.

Best Hcg drops

Male enhancement pills

Penis pump reviews

Thyroid supplements

Breast enhancement pills

ICO ratings

Jetbrains Intellij IDEA has been used to develop parts of the Prova language

YourKit Logo We use YourKit Profiler to optimize the code