- Prova
Prova is an
open source programming language that combinesProlog with Java.Description
Prova is a rule-based scripting system that is used for
middleware . The language combines imperative anddeclarative 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-basedinference system developed byJens Dietrich . Prova extends Mandarax by providing a proper languagesyntax , native syntax integration with Java,agent messaging andreaction 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 distributedweb applications in biomedicaldata integration , in particular, theGoPubMed system.The design goals of Prova:
* Combine declarative andobject-oriented programming .
* Expose logic and agent behavior as rules.
* Accessdata sources viawrappers written in Java orcommand-line shells likePerl .
* Make the Java API of various packages accessible as rules.
* Run within the Java runtime.
* Enablerapid prototyping of applications.
* Offer a rule-based platform fordistributed 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 file s, computation resource);
* Resilience to change (databases and web sites change often);
* Use of open andopen source technologies;
* Understandability and modifiability by a non-IT specialist;
* Economicalknowledge 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 forService-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
* [http://www.prova.ws/ Prova]
* [http://mandarax.sourceforge.net/ Mandarax]
* [http://www.gopubmed.org/ GoPubMed]References
# A. Kozlenkov and M. Schroeder. [http://www.springerlink.com/app/home/contribution.asp?wasp=814423faedb74121bda7e0498cd30b87&referrer=parent&backto=issue,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.