Prowad
Prova to język programowania typu open source , który łączy Prolog z Javą .
Opis
Prova to oparty na regułach system skryptowy używany w oprogramowaniu pośrednim . Język łączy programowanie imperatywne i deklaratywne przy użyciu składni prologu, która umożliwia wywoływanie funkcji Java. W ten sposób silna baza kodu Java jest łączona z funkcjami Prologu, takimi jak śledzenie wstecz.
Prova wywodzi się z Mandarax, systemu wnioskowania opartego na Javie opracowanego przez Jensa Dietricha. Prova rozszerza Mandarax, zapewniając odpowiednią składnię języka , natywną integrację składni z Javą, komunikację agentów i reguły reakcji. Rozwój tego języka został wsparty grantem przyznanym w ramach unijnych projektów GeneStream i BioGRID. W projekcie język ten służy jako oparty na regułach szkielet rozproszonych aplikacji webowych służących do integracji danych biomedycznych , w szczególności systemu GoPubMed .
Cele projektowe Prova:
- Łącz programowanie deklaratywne i obiektowe .
- Ujawnij logikę i zachowanie agenta jako reguły.
- Uzyskaj dostęp do źródeł danych poprzez opakowania napisane w Javie lub powłoki wiersza poleceń, takie jak Perl .
- Udostępnij interfejs API Java różnych pakietów jako reguły.
- Uruchom w środowisku wykonawczym Java.
- Umożliwiaj szybkie prototypowanie aplikacji.
- Oferuj opartą na regułach platformę do programowania agentów rozproszonych.
Prova ma na celu zapewnienie wsparcia w zadaniach związanych z integracją danych, gdy ważne są:
- Przejrzystość lokalizacji (lokalna, zdalna, lustrzane);
- Przejrzystość formatu (baza danych, RDF , XML , HTML , pliki płaskie , zasoby obliczeniowe);
- Odporność na zmiany (bazy danych i strony internetowe często się zmieniają);
- Wykorzystanie technologii open i open source ;
- Zrozumiałość i możliwość modyfikacji przez osobę niebędącą informatykiem;
- Reprezentacja wiedzy ekonomicznej ;
- Rozszerzalność dzięki dodatkowej funkcjonalności;
- Wykorzystanie ontologii .
Prova została wykorzystana jako kluczowy silnik integracji usług w produkcie Xcalia, gdzie jest wykorzystywana do obliczania wydajnych globalnych planów wykonania w wielu źródłach danych, takich jak usługi internetowe, TP monitoruje transakcje takie jak CICS lub IMS, wiadomości MOM, takie jak MQ - Series , spakowane aplikacje ze złączem JCA , starsze źródła danych na komputerach mainframe ze złączem JCA, zdalne obiekty Java EJB uważane za dostawców danych, a nawet lokalne obiekty Java. Prova pozwala dostarczać innowacyjną platformę oprogramowania do architektury zorientowanej na usługi .
- A. Kozlenkov i M. Schroeder. PROVA: Oparte na regułach skrypty Java dla bioinformatycznej sieci semantycznej . W: E. Rahm, redaktor, Międzynarodowe warsztaty dotyczące integracji danych w naukach przyrodniczych, Lipsk, Niemcy, w Notatkach z wykładów z informatyki, Springer-Verlag, tom. 2994, s. 17–30, 2004.
- N. Combs i J.-L. Ardoint. Reguły a skrypty w grach Sztuczna inteligencja, AAAI 2004 Warsztaty na temat wyzwań w grach AI, 2004.
- J. Dietrich, A. Kozlenkov, M. Schroeder i G. Wagner. Agenci bazujący na regułach dla sieci semantycznej, badania i aplikacje dotyczące handlu elektronicznego, tom. 2, nie. 4, s. 323–338, 2004.
- A. Paschke, M. Bichler i J. Dietrich. ContractLog: podejście do monitorowania opartego na regułach i wykonywania umów dotyczących poziomu usług, Int. Konf. w sprawie reguł i języków znaczników reguł dla sieci semantycznej (RuleML 2005), Galway, Irlandia, 2005.
- A. Kozlenkov, R. Penaloza, V. Nigam, L. Royer, G. Dawelbait i M. Schroeder. Prova: Oparte na regułach skrypty Java dla rozproszonych aplikacji internetowych: studium przypadku z bioinformatyki, warsztaty Reactivity on the Web, Monachium 2006.