(C Language Integrated Production System) |
Che cosa è Clips?
Clips è un expert system tool sviluppato dal Software Technology Branch (STB), NASA / Lyndon B. Johnson Space Center. Fin dalla sua prima release del 1986,Clips è stato sottoposto continuamente a raffinamenti e miglioramenti. Attualmente è usato da migliaia di utenti in tutto il mondo.
Caratteristiche principali
Rappresentazione della conoscenzaClips fornisce un tool integrato per la gestione di un'ampia varietà di tipi di conoscenza mediante il supporto di tre differenti paradigmi di programmazione:
La programmazione basata su regole consente di rappresentare la conoscenza in modo euristico (basata sull'esperienza). Le regole specificano un insieme di azioni da eseguire in una determinata situazione.
2.Programmazione orientata agli oggetti
La programmazione orientata agli oggetti permette di modellare sistemi complessi sotto forma di componenti modulari che possono essere facilmente riutilizzati in altre applicazioni o per creare ulteriori nuovi componenti. Sono supportate: classi, message handlers, astrazione, incapsulamento, eredità multipla, polimorfismo. Le regole possono fare pattern-matching sia su oggetti che su fatti.
3.Programmazione procedurale
Le possibilità di programmazione procedurale erogate da Clips sono simili a quelle fornite dal C, Pascal, Ada e Lisp.
E' possibile sviluppare software usando solo regole, solo oggetti od una miscela di entrambe le cose.In tal senso Clips è un ottimo tool per la programmazione dei metodi di ricerca classici dell'intelligenza artificiale (sistemi di produzione, alberi di decisione, grafi and/or).
Clips è scritto in C. Questo fatto consente portabilità ed efficienza. Clips è stato installato su molte differenti piattaforme senza che sia stato necessario intervenire sul codice!(PC,Mac,Sun...).Di Clips esistono i sorgenti, pubblici, che possono venire modificati e/o adattati per venire incontro a specifiche necessità.
Integrazione con altri ambienti ed Estensibilità
Clips può venire incorporato in altri programmi scritti in modo procedurale; può cioè venire invocato come se fosse una subroutine. Quindi, oltre ad essere usato come ambiente stand-alone, Clips può essere chiamato da un linguaggio procedurale, eseguire le sue funzioni, e poi ritornare il controllo al programma chiamante. Viceversa, codice procedurale può essere definito sotto forma di funzioni esterne chiamabili da Clips. Quando il codice esterno completa l'esecuzione, il controllo ritorna a Clips.
La versione standard di Clips fornisce un ambiente di sviluppo interattivo, orientato al testo; sono inclusi:
Clips incorpora un certo numero di caratteristiche adatte a supportare la verifica e la validazione di sistemi esperti; in particolare:
Clips è dotato di un tutorial (User's Guide), di un manuale di riferimento (Basic Prog. Vol.I),di un manuale per la programmazione avanzata (Advanced Prog. Vol.II), di un manuale all'uso delle interfacce utente per vari ambienti (Interfaces Vol.III). Tutti i manuali sono scritti in inglese.
Storia di Clips
Le origini di Clips risalgono al 1984 presso il centro spaziale statunitense Lyndon B. Johnson della NASA.In quel momento, la Sezione Intelligenza Artificiale AIS aveva sviluppato una dozzina di prototipi di applicazioni per la produzione di sistemi esperti, impiegando lo stato dell'arte sia hardware che software. Comunque, nonostante fosse ormai ampiamente stata dimostrata l'utilità dei sistemi esperti, poche di queste applicazioni furono impiegate in pratica. Questo fallimento nel produrre tecnologia basata su sistemi esperti compatibile con le specifiche della NASA fu attribuito all'uso del lisp come linguaggio base per quasi tutti i tools di sviluppo prodotti fino a quell'epoca.Tre problemi ostacolarono l'impiego di sistemi per la produzione di sistemi esperti basati sul lisp alla NASA: