Full-text resources of CEJSH and other databases are now available in the new Library of Science.
Visit https://bibliotekanauki.pl

PL EN


2015 | 2 | 19-33

Article title

INTEGRACJA GNU PROLOG – PHP ZA POMOCĄ WARSTWY POŚREDNIEJ

Title variants

EN
INTERMEDIATE TIER FOR GNU PROLOG - PHP INTEGRATION

Languages of publication

PL

Abstracts

PL
Artykuł dotyczy zagadnienia integracji programów CLP działających w formie samodzielnych aplikacji z popularnymi technologiami WWW [8]. Opisywane rozwiązanie oparto o autorski pomysł stworzenia serwera warstwy pośredniczącej, który umożliwia integrację programów CLP napisanych w środowisku GNU Prolog z aplikacjami WWW zaprogramowanymi w języku PHP. Wspomniana warstwa została zaimplementowana jako serwer napisany w języku ANSI C. Powyższe pozwala na pracę systemu, w którym funkcje interface’u użytkownika obsługiwane są przez aplikację WWW, zaś część obliczeniowa zbudowana jest w oparciu o narzędzia CLP. Dzięki temu można połączyć zalety aplikacji WWW z możliwościami narzędzi CLP.Stworzone oprogramowanie umożliwia rozwiązanie problemu timeout’ów serwera WWW podczas wykonywania długich obliczeń programów CLP oraz może stać się bazą do rozwinięcia bardziej ogólnego narzędzia o większych możliwościach.
EN
The paper provides a concept of GNU-Prolog integration with PHP using ANSI C socket server as a middleware [8]. There are a few methods of integration of web programming together with CLP proposed so far. The simplest and the most obvious way is to run CLP program in CGI mode, but it has its disadvantages as well. For some appliance CLP programs can have long execution time that could cause web server timeouts. For that reason a new approach is proposed: to separate user interface (web based) from CLP program execution. That goal is achieved by means of socket server written in ANSI C. The socket server controls the execution of the main program and communicates with the GUI application to send the results. According to what was said above, the logic part is run as GNU-Prolog process and the GUI is built with PHP.

Keywords

Year

Issue

2

Pages

19-33

Physical description

Dates

published
2015-06-30

Contributors

  • Katedra Informatyki w Akademii Techniczno-Humanistycznej w Bielsku-Białej

References

  • [1].Morales J. F., Haemmerle R., Carro M., Hermenegildo M. V., Lightweight compilation of (C)LP to JavaScript, Theory and Practice of Logic Programming, vol. 12, no. (4-5), pp. 755–773, 2012.
  • [2].Naish L., HTML Web Forms Interface to NU-Prolog, 1995. http://www.cs.mu.oz.au/lee/src/forms/
  • [3].Niederliński A., Programowanie w logice z ograniczeniami. Łagodne wprowadzenie do platformy ECLiPSe, Wyd. Prac. Komp. J. Skalmierskiego, Gliwice 2010.
  • [4].Pieprzyca W., Techniki agentowe w środowiskach Eclipse i Java wraz z zastosowaniami, praca doktorska, Politechnika Śląska, Wydział AEiI, 2009.
  • [5].Szczygieł T., Solving selected packing problems: traditional approaches versus constraint logic programming, praca doktorska, Politechnika Śląska, Wydział AEiI, Gliwice 2002.
  • [6].Szklarczyk R., Constraint Logic Programming solution for Capacitated Vehicle Routing Problem, AI-METH, Gliwice 2007.
  • [7].Szklarczyk R., Zastosowanie programowania w logice z ograniczeniami do problemu marszrutyzacji pojazdów, praca doktorska, Politechnika Śląska, Wydział AEiI, Gliwice 2009.
  • [8].Szklarczyk R., GNU Prolog-PHP multi-tier integration, IDAACS’13, Berlin 2013.
  • [9].Tarnau P., Jinni: Intelligent mobile agent programming at the intersection of java and prolog, PAAM’99, 1999.
  • [10].Tatoń T., Wybrane problemy aukcji i przetargów kombinatorycznych, praca doktorska, Politechnika Śląska, Wydział AEiI, 2008.
  • [1].http://code.google.com/p/php-eclipseclp/
  • [2].http://jlogic.sourceforge.net
  • [3].http://news.netcraft.com/
  • [4].How to Call SWI-Prolog from PHP 5 http://www.j-paine.org/dobbs/prolog_from_php.html

Document Type

Publication order reference

Identifiers

YADDA identifier

bwmeta1.element.desklight-e0258506-9f9e-4fdf-9aa3-bca04e99b506
JavaScript is turned off in your web browser. Turn it on to take full advantage of this site, then refresh the page.