CS-Prolog rendszer

A Communicating Sequential Prolog (CS-Prolog) rendszer a hagyományos Prolog nyelv párhuzamos és szimulációs (diszkrét és folytonos) lehetőségekkel kiterjesztett változata, amely  tetszőleges számú Prolog program párhuzamos végrehajtását biztosítja egy- és sokprocesszoros környezetben (egy processzoron szimulálja a párhuzamos végrehajtást).  Az egyes Prolog programok futás közben üzeneteken keresztül kommunikálhatnak (szinkron és aszinkron kommunikáció). A szabvány szerinti (ISO/IEC 13211-1) teljes Prolog funkciótárt támogatja. Utolsó változata (1998) tartalmaz egy CLP (Constraint Logic Programming) és real-time események figyelését lehetővé tevő kiterjesztést is.

Rövid név:

CS-Prolog

Kategória:

Alkalmazói szoftver > Mesterséges intelligencia

Fejlesztés/kibocsátás/követés:

1986-1989 - CS-Prolog interpreter
1991-1998 - CS-Prolog compiler (CS-Prolog II)

Létrehozó intézmények:

SZKI (1987-1988)

MULTILOGIC (1988-1990, 1993-1998)

ALL (1991-1992)

Fejlesztő személyek:

Futó Iván (projektvezető)

Szeredi János

Pásztor Zoltán

Keresztély Mária

Boda Elena

Kacsuk Péter

Ferenczi Szabolcs

Hardver/Szoftver környezet

A 1986 és 1991 között kifejlesztett CS-Prolog rendszer interpreter alapú, két változatban készült el:

  • Egyprocesszoros változat DOS alatt futó IBM AT/XT és azzal kopmpatibilis PC-re, amelynél korlátot jelentett, hogy csak a DOS konvencionális memóriáját (640K) használhatta. Ezért kibocsátottak egy DOS extenderes (DJGPP-vel lefordított) változatot is.
  • Sokprocesszoros változat IBM AT/XT gazdagéppel (network host) vezérelt transputerekből álló hálózatra.

1995 és 1998 között készült el a compiler alapú CS-Prolog II rendszer, amely már Unix környezetekben (SunSolaris, Linux, FreeBSD) alkalmazható.

A CS-Prolog rendszer változatainak utolsó verziói a MULTILOGIC archivum-ból letölthetők.

Használat

Ma már nincsenek teljes körű adatok a CS-Prolog felhasználókról (14 országba exportálták).

Néhány ismert alkalmazása:

  • Betegek egyedi haemodialysis kezelésének tervezése (SOTE)
  • Művese állomás heti kezeléseinek ütemezése (SOTE)
  • Nagyméretű számítógépes hálózatok modellezése (Dept. of Computer Science Brock University, Ontario Canada)
  • Rekonfigurálható gyártócellák tervezése (MTA SZTAKI)
  • Rövidzárlatok dinamikus interakciójának szimulációja és lehetséges biztonsági műveletek  (ERŐTERV)
  • Anyagfolyamok modellezése (MTA SZTAKI)
  • Elosztott Prolog implementáció modellezése (Université Paul Sabatier, Toulouse, France)
  • Ukrán Nemzeti Számítógép Hálózat intelligens felügyelete (Techosoft Ukraine, Aristotle University of Thessaloniki, Multilogic)
  • PhD disszertációk (Aristotle University of Thessaloniki)
  • ALLEX Gold szakértő keretrendszer implementálása (Multilogic)
Történeti érdekességek

A CS-Prolog „őse” a T-Prolog, egy 1979-ben készített precompiler volt, majd az MProlog (Szeredi Péter, SZKI) rendszer biztosított olyan kapcsolódási lehetőségeket, melyek lehetővé tették a „párhuzamos” végrehajtást és a diszkrét szimulációs idő kezelését.

1984-ben a Westinghouse atomerőműveket gyártó részlege (USA) egy nagyon kedvező együttműködési ajánlatott tett az SZKI számára T-Prologon alapuló közös fejlesztésekre. Az SZKI azonban a kanadai Logicware céggel az MPrologra kötött kizárólagossági megállapodás miatt nem tudta vállalni az együttműködést. A Westinghouse 1985-ben és 1986-ban is megismételte ajánlatát, de a helyzet továbbra sem változott. Ekkor merült fel egy önálló, az MPrologtól független interpreter, a CS-Prolog, elkészítésének gondolata az SZKI SOL (vezetője Kosztolányi Zoltán) laboratóriumában.

1987-ben a diszkrét szimulációs, majd 1988-ban a folytonos szimulációs CS-Prolog interpreter készült el.

1988-ban létrejött az SZKI és a SZÁMALK közös vállalataként a Multilogic Kft. (vezetője Futó Iván), mely folytatta a CS-Prolog fejlesztését. Időközben megjelent az IBM PC-be helyezhető sokprocesszoros Transputer kártya (1-10 processzor), ami lehetővé tette a valóban többprocesszoros architektúrán is futó CS-Prolog létrehozását. A Transputereket az angol INMOS cég gyártotta, és sokáig az amerikai processzorok európai alternatívájának tekintették, azonban a 90‐es évek közepére gyártásuk gyakorlatilag megszűnt, miután a gyártási jogokat átvette az SGS‐Thomson.

A Multilogic Kft 1991-ben megszűnt, munkatársai a SZÁMALK-on keresztül az ALL kisszövetkezetbe kerültek (vezetője Gergely Tamás), majd 1993-tól az ML Tanácsadó és Informatikai Kft.-ben (vezetője Futó Iván) folytatták. Az ML Kft 2005-ben újból felvette a Multilogic nevet. 1991-1992 között a CS-Prolog fejlesztése a francia hadsereg finanszírozásával történt.

1996-ban jelentkezett a szaloniki egyetem, és érdeklődött, mi a helyzet a CS-Prologgal, mert náluk PhD-s hallgatók használják. A megkeresés eredménye egy EU-s projekt lett a Technosoft (Kijevi Kibernetikai Intézet) ukrán vállalattal közösen, és ekkor nyerte el a CS-Prolog a jelenlegi formáját. 1998 óta a fejlesztése nem folytatódott.

Futó Iván a számítógépes szimuláció terén végzett K+F tevékenységéért a Society for Computer Simulation (USA) díját kapta 1985-ben, a CS-Prolog fejlesztésekért pedig 1988-ban megosztott Állami Díjban részesült.

Források

A CS-Prolog rendszer különböző változatairól tömör áttekintés olvasható a MULTILOGIC archivum oldalán. Ugyanott letölthetők ezek angol nyelvű felhasználói kézikönyvei is, amelyek részletesen ismertetik a CS-Prolog nyelvet és használatát.

A CS-Prolog rendszerről az alábbi tudományos közlemények jelentek meg:

  1. Futó I., Gergely T., Deutsch T. Logic Modelling, AI Applied to Simulation, eds. E.H.J. Kerckhoffs, G.C. Wansteenkiste, B.P. Zeigler, SCS Simulation Series Vol. 18, No. 1. 1986, pp 117-129.
  2. Futó I., Gergely T., Deutsch T.  Logic simulation, AI Applied to Simulation   ed. G.C.Wansteenkiste.  1986. pp 117-129.
  3. Futó I., Gergely T. Inference Type Language for Combined Discrete Continous Modeling Knowledge Based Modeling and Simulation Methodology, ed T. Oren 1986.
  4. Futó I. Tudásbázisu modelezés PROLOG alapokon  Magyar Elektronika, vol. IV, no 2 1987.  pp. 14-17.
  5. Futó I.A Prolog újelvű nyelv és kiterjesztése számítógépes szimulációra, Fizikai Szemle,  1987/6 pp.210-218.
  6. Futó I. AI and Simulation on Prolog Basis, Artificial Intelligence, Expert Systems and Languages in Modelling and Simulation ed. C.A.Kulikowski, R.M.Huber, G.A. Ferraté, North Holland 1987, pp.5-21 (invited paper).
  7. Futó I., Percebois C. Les concepts du langage PROLOG et les systemes de simulation, Revue d’Intelligence Artificielle,  Hermes,  Paris Vol. 1. No. 3. 1987, pp 9-33.
  8. Futó I. Some New Trends in PROLOG Development and Applications in Hungary, New Generation Computing Systems, Vol. 1. No. 2. 1988, pp 107-132.
  9. Futó I. Distributed Simulation on PROLOG Basis, Distributed Simulation, ed. B. Unger, D. Jefferson, SCS Simulation Series Vol. 19. No. 3. 1988, pp 160-166.
  10. Futó I. AI and Simulation on PROLOG Basis, AI, Expert Systems and Languages in Modelling and Simulation, ed. G.A. Kalikowski, R.M. Huter, G.A. Ferrate, North Holland 1988, pp 15-21.
  11. Futó I., Gergely T. Logic Programming in Simulation, Transactions of the Society for Computer Simulation,  Vol. 3, No. 2. pp 185-216. 1988.
  12. Futó I., Kacsuk P. CS-PROLOG on Multitransputer Systems, Microprocessors and Microsystems, Vol. 12. No. 2. 1989, pp 103-112.
  13. Futó I. Vengerskie sistemi Prologa, Vutsislitelnaia Tehnika Socialisticheskih Stran 1989, Vol. 24.
  14. Futó I. The modified Time-Warp mechanism of CS-PROLOG , Proc. of the European Simulaion Multiconfence 1990, pp. 225-228.
  15. Futó I., Gergely T. Artificial Intelligence in Simulation, Ellis Horwood, Chichester England 1990.
  16. Futó I. CS-PROLOG Professional, a parallel real-time PROLOG system. Proc. of the 1st Austrian-Hungarian Workshup on Transputer Applications, KFKI-1992-34/M, pp.11-21.
  17. Futó I. Prolog with Communicating Processes: From T-Prolog to CSR-Prolog. Proc. of the Tenth International Conference on Logic Programming, ed. D.S.Warren, MIT Press 1993, pp. 3-17. (invited paper).
  18. Futó I. Real-time Extension of CS-PROLOG Professional. In Proc. of the ICLP 94 Post-Conference Workshop on Process-Based Parallel Logic Programming, June 17, 1994, Italy, pp. 77-84.
  19. Futó I. A Distributed Network Prolog System, Proceedings of  21th International Conference on Information Technology Interfaces ITI 99,  Pula June 16-19, 1999, pp. 613-618.
  20. Ilias Sakellariou, Ioannis.Vlahavas, Ivan Futo, Zoltan Pasztor, Janos Szeredi,Communicating sequential proceses for distributed constrain satisfaction, Information Sciences 176 (2006) pp. 490-521.
  21. Vlahavas, N. Bassiliades, I Sakellariou, Martin Molina, Shascha Ossowski, Ivan Futó, Zoltan Pasztor, Janos Szeredi, Igor Velbitskiy, Sergey Yershov, Sergey Golub and Igor Netesin. System Architecture of a Distributed Expert System for the Management of a National Data Network, Proc. 8th International Conference on Artificial Intelligence, AIMSA’98.
  22. Vlahavas, N. Bassiliades, I Sakellariou, Martin Molina, Shascha Ossowski, Ivan Futó, Zoltan Pasztor, Janos Szeredi, Igor Velbitskiy, Sergey Yershov, Sergey Golub and Igor Netesin, ExperNet: an intelligent multiagent system for WAN mangement, IEEE Intelligent Systems, Vol 17, Jan/Feb. 2002, pp 62-72.
  23. Ioannis P. Vlahavas, Ilias Sakellariou, Ivan Futó, Zoltan Pasztor, Janos Szeredi: CSPCONS: A Communicating Sequential Prolog with Constraint, SETN ’02: Proceedings of the Second Hellenic Conference on AI: Methods and Applications of Artificial Intelligence, Springer Lecture Notes in Computer Science Volume 2308, 2002, pp 72-84.

Létrehozva: 2018.05.07. 06:36
Utolsó módosítás: 2021.06.30. 08:53