vti.laborator.org/lgp

Prolog v praxi

Vzduch

Boeing Corp., letecký gigant, je významným uživatelem Prologu. Connector Assembly Specifications Expert (CASEy - Expert na specifikace konektorových zapojení) je expertní systém, který vede techniky ke správnému použití specifikací elektroniky. CASEy předává detailní instrukce pro vedení kabeláže mezi konektory, terminály a podobně. Poskytuje hlavně seznam povolených nástrojů, nastavení, materiálů, a postupů (s grafickým znázorněním), které jsou potřeba ke splnění dané činnosti. V praxi snižuje potřebný čas pracovníka na jedno sestavení z 42 minut na 5 minut.

Generalized Query System (Obecný dotazovací systém), vyvinutý firmou Boeing Computer Services, používá architekturu klient/server a disponuje vyspělou abstrakcí pro přístup a rozlišování ve zdrojích dat a znalostní bází. Systém nabízí přístup jak z programů v Prologu, tak z C skrze abstraktní vrstvu. Externí přístup k datům a jejich interpretace jsou zapouzdřeny v pohledech a meta-datech na Generalized Query Serveru (Dotazovacím serveru). Generalized Query Server je jádrem aplikace, má svůj dotazovací jazyk a síťové přístupové vrstvy, aby vývojáři mohli přistupovat k zapouzdřeným zdrojům dat. Data ze souborů, databází, objektových databází, či dokonce z jiných expertních systémů mohou být zapouzdřena, což dle vývojářů umožňuje přímou manipulaci z datovou vrstvou transparentnější.

Systém vychází z "mediátorů" (od Wiederholda na Stanford University), a inteligentních agentů. Bill McClay, vedoucí vědec a AI specialista v Boeingu, popisuje, že ideou programu je mít inteligentní agenty mezi databází a aplikací v distribuované síti typu klient/server. Tato metoda umožňuje vyšší míru abstrakce při manipulaci s daty uvnitř občas nepřívětivých struktur jakými jsou databáze. McClay říká "V podstatě myšlenkou je, že data změníte v informaci pomocí vrstvy inteligence vložené mezi každý uzel kde se nacházejí data."

Vývojáři popisují obecný dotazovací jazyk jako velmi podobný Prologu, který ale má některé přidané vlastnosti jako např. logiku druhého řádu, abstraktní datové typy, a objektovou syntaxi. Systém byl vyvinut pomocí Quintus Prologu verze 3.1 bežící na Sun 4, VAX a RS6000 pracovních stanicích.

Bill McClay tvrdí, že v jakémkoliv jiném jazyku by bylo mnohem těžší vyvinout takovou aplikaci. "Prolog byl obzvláště vhodný pro vývoj dotazovacího enginu, protože byl tak podobný sémantice, kterou jsme chtěli použít zejména co se týče backtrackingu a unifikace." Ohledně porovnání s Lispem a dalšími jazyky dodává: "Práce potřebná k napsání dotazovacího jazyka v Prologu byla minimální v poměru k Lispu. Vytvářet aplikaci v konvenčním jazyce byla nemyslitelná, protože by znamenala znovu vymyslet Prolog."