MProlog – Modular Prolog rendszer

Az 1960-as évek egyik kutatási irányaként jelent meg a matematikai logika alkalmazása a programfejlesztésben. 1970-es években francia és angol kutatók létrehozták a matematikai logika egy programozási nyelvként használható résznyelvét, a Prolog nyelvet. Az első interpretert 1972-ben készítette Philippe Roussel és Alain Colmerauer. A világon másodikként 1975-ben Szeredi Péter  fejlesztett ki Prolog interpretert a NIM IGÜSZI Szoftver-fejlesztési osztályán. A fejlesztés eszköze a C.H.A. Koster által definiált CDL (Compiler Description Language) nyelv ugyancsak hazai fejlesztésű CDL fordítóprogramja volt. Szeredi Péter 1979-ben az SZKI Elméleti Laboratóriumába  ment át, melyet Dömölki Bálint vezetett. Ott fogalmazódott meg Náray Zsolt intézet igazgató támogatásával az MProlog rendszer – teljes nevén Modular Prolog: Programmer-friendly Artificial Intelligence Language – kifejlesztésének gondolata és célja: gyakorlati feladatok megoldására alkalmas Prolog rendszer létrehozása, vagyis az elmélet és a gyakorlat ötvözésével az intelligens problémamegoldás, így szakértői rendszerek létrehozásának megtámogatása egy új, moduláris Prolog implementációval.

Az MProlog rendszernek, mint szoftver terméknek két szintje van:

  • MProlog fejlesztő rendszer, amelyet a Prolog interpreter és egy interaktív fejlesztő környezet, a PDSS (Program Development SubSystem) alkot.
  • A teljes MProlog rendszer: a fejlesztő rendszer kiegészítve a kifejlesztett alkalmazás futásának hatékonyságát javító bináris változat előállításához szükséges komponensekkel: MProlog fordítóprogram, MProlog modulfordító (előfordító) és modulokat összeszerkesztő konszolidátor.

Az MProlog rendszer a nagyszámítógépektől (IBM MVS, Siemens BS2000) a Unix munkaállomásokon át a PC MS-DOS platformig számos környezetben volt használható.

Rövid név:

MProlog

Kategória:

Fejlesztő szoftver > Fordítóprogram > Integrált fejlesztő környezet (IDE)

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

1975-78 Prolog interpreter
1979-82 MProlog V1.
1983-89 világpiaci verziók
1987 Prolog processzor

Létrehozó intézmények:

SZKI (MProlog rendszer és projekt, védjegy birtokos)

Fejlesztő személyek:

Szeredi Péter (szakmai vezető)

Langer Tamás (projektvezető)

[et al.] (a fejlesztők teljes listáját lásd a forrásoknál)

Hardver/Szoftver környezet

Az SZKI-ban az MProlog rendszer fejlesztését – az intézet  Siemens 4004/155 számítógépén, BS 2000 operációs rendszer alatt – az Epsilon cég által készített CDL2 Laboratóriummal végezték. Ez a CDL2 köré épített fejlesztő környezet volt, amely számos gépen futott, illetve a kor szinte mindegyik számottevő számítógépére lehetett vele kódot generálni.

A nemzetközi forgalmazásra kifejlesztett MProlog rendszer telepíthető volt SUN3-ra, IBM 370 VM/CMS alá, VAX VMS alá, Siemens BS 2000-re, PDP-11 RSX és UNIX alá, Intel 8086 és 80386 PC-ken MS-DOS alá.

1987-ben nagyméretű MProlog programok hatékonyabb fejlesztéséhez és gyorsabb futtatásához elkészült egy PC-hez csatlakoztatható, Motorola alapú Prolog processzor, 2-4 MB memóriával (a PC-ken max. 640 KB állt rendelkezésre).

Használat

Az 1980-ban beindult MProlog projekt deklarált célja nemcsak az MProlog rendszer kifejlesztése és forgalmazása volt, hanem a rendszer felhasználásával MProlog alapú alkalmazásfejlesztő eszközök és MI (Mesterséges Intelligencia) alkalmazások létrehozása is.

Mprolog rendszer forgalmazása:

Az MProlog rendszer forgalmazását az SZKI SCI-L leányvállalata végezte, Sipka Júlia építette ki és felügyelte kereskedelmileg a disztribútori hálózatot: EPSILON (Németország), KTO (Hollandia és Belgium), TECLOGIC (Olaszország), LOGICWARE (USA), SOFTLINE TECHNOLOGY (Finnország), PROPER s. a. (Franciaország), LOGICWARE (1983, Kanada), RIKEI Corp. (Japán). A Szovjetunióban a forgalmazást a szovjet Akadémia Institute of Problems of Informatics (IPIAN) intézete végezte a vele kötött kizárólagos forgalmazási szerződés keretében. 1988-ig 25 országban összesen körülbelül 1500 installálás történt – egyes helyeken több példányban (lásd pl. az SZKI Mprolog users szórólapját).

MProlog-alapú eszközfejlesztések (az SZKI-ban, 1990 után az IQSOFT-ban):

  • LDM (Logic-based Development Method): logikai-alapú programfejlesztő módszer. Az ötlet megfogalmazója Szeredi Péter, a Prolog nyelvű eszközt Farkas Zsuzsa készítette.
  • MProlog E-Shell (Execution Shell): Mprolog nyelvű ismeretbázissal rendelkező szakértőrendszer-fejlesztést és (magyarázattal ellátott) futtatást biztosító keretrendszer, kézikönyvvel. Fejlesztő: Molnár Katalin. (Egyetlen alkalmazás: az Országos Gyógyszerészeti Intézettel (OGYI) közösen fejlesztett gyógyszerkölcsönhatás vizsgálata).
  • MProlog Dialog: szakértő rendszerek intelligens adatbekérő párbeszédét biztosító rendszer, kézikönyvvel. Fejlesztő: Sándor Gábor. (Egyetlen alkalmazás: a Péterfy Sándor utcai kórház orvosaival közösen fejlesztett húgyúti fertőzések kezelésére alkalmas UTI (l. alább) szakértő rendszer első, adatbekérő fázisa).
  • FAIR: az MProlog rendszer frame-alapú lehetőségekkel való kiegészítése (frame-leírás attribútumokkal, frame-hierachia öröklődéssel, démonokkal). Fejlesztő: Ecsedi Tóth Péter. PRO*FAIR : a FAIR hálózati protokollok leírására, verifikálására és tesztesésére alkalmas továbbfejlesztése a KFKI-ban (együttműködve az SZKI-val).
  • ZEXPERT (Zentralsparkasse Experte Systeme): keretrendszer kifejlesztése és abban alkalmazások fejlesztése a Zentralsparkasse und Kommerzialbank Wien, majd új nevén Bank Austria számára. A fejlesztés – és a ZEXPERT alkalmazások –vezetője Farkas Zsuzsa.

MProlog alkalmazások fejlesztése (az SZKI-ban, 1990-től az IQSOFT-ban):

  • SIEMENS konfiguráló: SIEMENS számítógéprendszerek összehasonlítását, ellenőrzését, kiegészítését végző szakértő rendszer, MProlog nyelven implementálva. Projektvezető: Kilián Imre.
  • INTERACT: gyógyszerkölcsönhatások vizsgálata (OGYI, SZKI). Projektvezető: Molnár Katalin. A rendszer verifikált és az OGYI munkatársai által validált, béta változata 1988-ra elkészült. – Ez után a projekt (a szakmai oldal passzivitása miatt) meghiúsult.
  • UTI (Urinary Tract Infection): húgyúti fertőzések kezelésére tanácsadó rendszer (Péterfy Sándor u. kórház, Semmelweis orvostudományi Egyetem, SZKI). Béta változata 1989-re elkészült (angol nyelven is); a fejlesztés ez után leállt. Projektvezető: Sántáné-Tóth Edit Oktatásban azóta is alkalmazzák szakértőrendszer-demonstrációra.
  • MESSE (Medical Expert System for Special Examinations): belgyógyászati osztályokon a speciális beavatkozások előtti konzultáció (Margit Kórház, SZKI). Projektvezető:  Tóth Tamásné. Béta változata 1989-re elkészült.
  • Termeléstervező szakértő keretrendszer folyamatos üzemű termelési láncokra (INORGA-Kosice cég, SZKI). Projektvezető: Tóth Péter. Demonstrációs változat elkészült 1989-re, majd a fejlesztés leállt.
Történeti érdekességek

1988-ban az MProlog fejlesztő csapat képviseletében néhány munkatárs megosztott Állami díjban részesült, de az elismerés az egész csapatot illette: Dömölki Bálint (az SZKI tudományos igazgatója, a csapat környezetét biztosító Elméleti Laboratórium vezetőjeként), Farkas Zsuzsa (az MProlog programfejlesztő környezete, a PDSS fejlesztéséért), Futó Iván (a T-Prolog, egy processz-orientált, a diszkrét szimuláció idő fogalmát bevezető Prolog kifejlesztéséért – ebből lett a CS-Prolog rendszer), Köves Péter (aki a fejlesztés egyik motorja volt), Langer Tamás (az MProlog fejlesztés projektvezetőjeként), Sántáné-Tóth Edit (az MPrologban történő alkalmazásfejlesztési tevékenységéért) és Szeredi Péter (az MProlog fejlesztés szakmai vezetőjeként). A fejlesztők teljes névsora a források közt elérhető.

Az 1990-es években a rendszer fejlesztői az IQSOFT Rt. munkatársaiként a logikai programozás területén számos EU-s kutatási projektben vettek részt:

  • CUBIQ: Development and Application of Logic Programming Tools for Knowledge Based Systems, EU COPERNICUS’93. Projektvezető: Szeredi Péter.
  • TACIT (Trial Application using Constraint programming in Industrial manufacTuring): EU 4. keretprogram. Projektvezető: Szeredi Péter.
  • TRACE (Transferring CHARADE Technology in Central and Eastern Europe) EU 4. keretprogram. Projektvezető: Umann Gábor.
  • SILK (System Integration via Logic and Knowledge): EU 5. keretprogram IST Projekt (IST-1999-11135). Javaslattevő: Farkas Zsuzsa, projektvezető: Krauth Péter

A logikai programozás, az MProlog és alkalmazásai ma is szerepelnek a hazai oktatásban. A BME-n és 2010-től az Aquincumi Technológiai Intézetben (AIT) Szeredi Péter: Deklaratív programozás, Nagyhatékonyságú logikai programozás c. tantárgyakat oktat. Az ELTE-n, az Óbudai Egyetem (ÓE) és elődintézményeiben, a Dunaújvárosi Főiskolán (DUF), egyéb felsőoktatási intézményekben Sántáné-Tóth Edit dolgozta ki és adta elő az Ismeretalapú technológia, szakértő rendszerek, valamint a Döntéstámogató rendszerek c. tantárgyakat.

Források
  1. fejlesztők teljes névsora (összeállította Sántáné-Tóth Edit).
  2. MProlog dokumentációk:
  3. MProlog fejlesztésről  poszter
  4. MProlog publikációk

Létrehozva: 2018.12.02. 23:14
Utolsó módosítás: 2021.06.16. 13:04