Knowledge-based engineering

La Knowledge-based engineering (KBE) è una disciplina che trae le sue origini sia dal mondo Computer-Aided Design (CAD) che dai sistemi Knowledge Based, ma ha varie definizioni e applicazioni a seconda del contesto. Nelle prime applicazioni si trattava sostanzialmente di strumenti di supporto alla progettazione in generale. Il successo dei primi prototipi di KBE è stato notevole, tanto da portare il KBE ad essere considerato un elemento fondamentale per la progettazione generativa, con molte aspettative in termini di miglioramento delle prestazioni per tutti i processi di progettazione che presentino limitato intervento umano[1].

La Knowledge Based Engineering (KBE) rappresenta l'applicazione tecnologica della visione e della strategia di Knowledge Management, relativa all'engineering. La KBE offre ai progettisti gli strumenti per acquisire e riutilizzare la conoscenza multidisciplinare in modo integrato, al fine di ridurre tempi e costi di progettazione, automatizzare operazioni ripetitive ed essere di supporto in attività di Conceptual design.

Fornisce ai progettisti gli strumenti per accedere in modo virtuale alle loro idee, modellare il prodotto in modo multidisciplinare, modificare le geometrie e supportare nell'indagine di diversi scenari "what-if" nell'ambito della progettazione. Uno dei suoi scopi, infatti, è di connettere Knowledge Management e automazione della progettazione. In particolare, la capacità di utilizzare regole per generare disegni meccanici, costituisce un importante elemento di collegamento tra diversi sistemi aziendali (PLM, CAD, ERP)[2].

La KBE nasce a partire dal 1980 come sviluppo complementare delle tecnologie CAx (CAD, CAM, CAE etc.). In quel periodo infatti, dopo i primi sviluppi degli anni '70, il CAx compie grandi progressi, di pari passo con l'evoluzione del Computer.

Come molte altre innovazioni, anche la KBE, dopo un fulgido inizio, dovette fronteggiare un periodo di declino. Tra le cause principali di questo declino vanno sicuramente citate le aspettative sproporzionate e l'infrastruttura tecnologica inadeguata. Vi furono comunque sufficienti casi di successo da mantenere vivo l'interesse fino al 1990.

Durante gli anni '90 la KBE ha continuato ad esistere in una specifica nicchia, grazie a metodologie "Object-Oriented" e sistemi sufficientemente avanzati da permettere il raggiungimento di obiettivi minori.

Attualmente[quando?], soprattutto grazie alle nuove tecnologie (web a banda larga, Cloud Computing), la KBE è tornata ad essere di grande attualità e costituisce un elemento di supporto fondamentale per PLM e ambiente CAx nell'automazione dei processi aziendali[3][4][5][6][7].

KBE e gestione del ciclo di vita del prodotto

[modifica | modifica wikitesto]

Product Lifecycle Management (PLM) è la gestione del processo di produzione di qualsiasi settore che produce beni. Può coprire l'intero ciclo di vita del prodotto, dalla generazione dell'idea all'implementazione, consegna e smaltimento. KBE a questo livello si occuperà di problemi di prodotto di natura più generica rispetto a CAx. Un'area naturale di enfasi è sul processo di produzione; tuttavia, la gestione del ciclo di vita può coprire molte più questioni come la pianificazione aziendale, il marketing, ecc. Un vantaggio dell'utilizzo di KBE è ottenere il ragionamento automatizzato e i servizi di gestione della conoscenza di un ambiente basato sulla conoscenza integrato con le molte esigenze diverse ma correlate della gestione del ciclo di vita. KBE supporta i processi decisionali coinvolti con la configurazione, le negoziazioni, il controllo, la gestione e una serie di altre aree, come l'ottimizzazione.

CAx si riferisce al dominio degli strumenti assistiti da computer per l'analisi e la progettazione. CAx si estende su più domini. Esempi sono la progettazione assistita da computer di parti prodotte, software, l'architettura degli edifici, ecc. Sebbene ogni dominio specifico di CAx avrà tipi molto diversi di problemi e artefatti, tutti condividono problemi comuni come il dover gestire la collaborazione di sofisticati lavoratori della conoscenza, progettazione e riutilizzo di manufatti complessi, ecc.

Essenzialmente KBE si estende, si basa e si integra con il dominio CAx, generalmente indicato come CAD ( Computer Aided Design ). In questo senso KBE è analogo all'ingegneria del software basata sulla conoscenza, che ha esteso il dominio dell'ingegneria del software assistita dal computer con strumenti e tecnologia basati sulla conoscenza. Ciò che KBSE era per software e CASE, KBE è per prodotti fabbricati e CAD.

Un esempio può essere preso dall'esperienza di Boeing. Il programma 777 ha accettato la sfida di avere un aereo definito digitalmente. Ciò ha richiesto un investimento in sistemi, database e workstation su larga scala per il lavoro di progettazione e ingegneria analitica. Data l'ampiezza del lavoro di elaborazione richiesto, KBE ha messo i piedi nella porta, per così dire, attraverso un piano "pay as you go". In sostanza, questa tecnica doveva mostrare i benefici e quindi ottenere più lavoro (pensa all'ingegneria agile) in tal modo. Nel caso del 777, il progetto è arrivato al punto in cui le influenze sui cambiamenti nella prima parte del flusso di progettazione/costruzione (carichi) potevano essere ricalcolate in un fine settimana per consentire la valutazione dei processi a valle. Come richiesto, gli ingegneri erano in procinto di finire e firmare il lavoro. Allo stesso tempo, CAx ha consentito di soddisfare tolleranze più strette. Con il 777, KBE ebbe un tale successo che i programmi successivi lo applicarono in più aree. Nel tempo, le strutture KBE sono state integrate nella piattaforma CAx e sono una parte normale dell'operazione[8].

KBE e gestione della conoscenza

[modifica | modifica wikitesto]

Una delle più importanti tecnologie basate sulla conoscenza per KBE è la gestione della conoscenza. Gli strumenti di gestione della conoscenza supportano un repository ad ampio spettro, ovvero un repository in grado di supportare tutti i diversi tipi di artefatti di lavoro: disegni e note informali, tabelle di database di grandi dimensioni, oggetti multimediali e ipertestuali, ecc. le parti interessate collaborano alla progettazione e all'implementazione dei prodotti. Fornisce inoltre strumenti per automatizzare il processo di progettazione (ad esempio, regole) e per facilitare il riutilizzo[9].

Metodologia KBE

[modifica | modifica wikitesto]

Lo sviluppo di applicazioni KBE riguarda i requisiti per identificare, acquisire, strutturare, formalizzare e infine implementare la conoscenza. Molte diverse cosiddette piattaforme KBE supportano solo la fase di implementazione, che non è sempre il principale collo di bottiglia nel processo di sviluppo KBE. Al fine di limitare il rischio associato allo sviluppo e alla manutenzione dell'applicazione KBE, è necessario fare affidamento su una metodologia appropriata per gestire la conoscenza e mantenerla aggiornata. Come esempio di tale metodologia KBE, il progetto dell'UE MOKA, "Metodologia e strumenti orientati alle applicazioni basate sulla conoscenza", propone soluzioni incentrate sulle fasi di strutturazione e formalizzazione, nonché collegamenti all'implementazione[10].

Un'alternativa a MOKA consiste nell'utilizzare metodi di ingegneria della conoscenza generale che sono stati sviluppati per sistemi esperti in tutti i settori[11] o utilizzare metodologie di sviluppo software generali come Rational Unified Process o metodi Agile.

Linguaggi per KBE

[modifica | modifica wikitesto]

Due questioni critiche per i linguaggi e i formalismi utilizzati per KBE sono:

Programmazione basata sulla conoscenza e programmazione procedurale

[modifica | modifica wikitesto]

Un compromesso fondamentale identificato con la rappresentazione della conoscenza nell'intelligenza artificiale è tra potenza espressiva e computabilità. Come Levesque ha dimostrato nel suo articolo classico sull'argomento, più potente si progetta un formalismo di rappresentazione della conoscenza, più il formalismo si avvicinerà al potere espressivo della logica del primo ordine. Come ha dimostrato anche Levesque, più un linguaggio è vicino alla logica del primo ordine, più è probabile che consentirà il completamento di espressioni indecidibili o che richiedono una potenza di elaborazione esponenziale[12]. Nell'implementazione dei sistemi KBE, questo compromesso si riflette nella scelta di utilizzare potenti ambienti basati sulla conoscenza o ambienti di programmazione procedurali e orientati agli oggetti più convenzionali.

Standardizzazione e proprietà

[modifica | modifica wikitesto]

Esiste un compromesso tra l'utilizzo di standard come STEM e linguaggi proprietari specifici del fornitore o dell'azienda. La standardizzazione facilita la condivisione delle conoscenze, l'integrazione e il riutilizzo. I formati proprietari (come CATIA) possono fornire un vantaggio competitivo e potenti funzionalità oltre l'attuale standardizzazione[13].

Genworks GDL, un prodotto commerciale il cui nucleo è basato sul Gendl Project con licenza AGPL[14], affronta il problema della longevità dell'applicazione fornendo un kernel di linguaggio dichiarativo di alto livello che è un superset di un dialetto standard del linguaggio di programmazione Lisp ( ANSI Common Lisp o CL). Lo stesso Gendl/GDL è proposto come standard de facto per i linguaggi KBE basati su ANSI CL[15].

Nel 2006, Object Management Group ha rilasciato un documento RFP per i servizi KBE e ha richiesto un feedback[16]. Ad oggi, non esiste alcuna specifica OMG per KBE; tuttavia, esiste uno standard OMG per i servizi CAD.

Un esempio di linguaggio indipendente dal sistema per lo sviluppo di ontologie leggibili dalla macchina che si trova nel dominio KBE è l'inglese Gellish[17].

KBE in Accademia

[modifica | modifica wikitesto]
  1. ^ Knowledge Based Engineering, su technosoft.com, Technosoft. URL consultato il 5 luglio 2014.
  2. ^ Brian Prasad, What Distinguishes KBE from Automation, su legacy.coe.org, coe.org. URL consultato il 3 luglio 2014 (archiviato dall'url originale il 24 marzo 2012).
  3. ^ David Spooner, Towards an Object-Oriented Data Model for a Mechanical CAD Database System, in On Object-Oriented Database Systems, On Object-Oriented Database Systems Topics in Information Systems, Topics in Information Systems, 1991, pp. 189–205, DOI:10.1007/978-3-642-84374-7_13, ISBN 978-3-642-84376-1.
  4. ^ John Switlik, Knowledge Based Engineering (KBE): Update, su coe.org, COE, ottobre–November 2005. URL consultato il 6 luglio 2014 (archiviato dall'url originale il 24 marzo 2012).
  5. ^ AI Winter, su ainewsletter.com, ainewsletter. URL consultato il 6 luglio 2014 (archiviato dall'url originale il 9 novembre 2013).
    «the AI Winter of the late 80s. The phrase was coined by analogy with "nuclear winter" - the theory that mass use of nuclear weapons would blot out the sun with smoke and dust, causing plunging global temperatures, a frozen Earth, and the extinction of humanity. The AI Winter merely caused the extinction of AI companies, partly because of the hype over expert systems and the disillusionment caused when business discovered their limitations.»
  6. ^ Tim Berners-Lee, James Hendler e Ora Lassila, The Semantic Web A new form of Web content that is meaningful to computers will unleash a revolution of new possibilities, in Scientific American, vol. 284, n. 5, 17 maggio 2001, pp. 34–43, DOI:10.1038/scientificamerican0501-34 (archiviato dall'url originale il 24 aprile 2013).
  7. ^ W.Y. Zhang e J.W. Yun, Exploring Semantic Web technologies for ontology-based modeling in collaborative engineering design, in The International Journal of Advanced Manufacturing Technology, vol. 36, 9–10, aprile 2008, pp. 833–843, DOI:10.1007/s00170-006-0896-5.
  8. ^ See Talk Page, Point-in-Time example - references need to be updated
  9. ^ P Sainter, PRODUCT KNOWLEDGE MANAGEMENT WITHIN KNOWLEDGE-BASEDENGINEERING SYSTEMS, in Proceedings of DETC'00ASME 2000 Design Engineering Technical ConferenceAnd Computers and Information in Engineering Conference, settembre 10–13, 2000. URL consultato il 4 luglio 2014.
  10. ^ MOKA: A Framework for Structuring and Representing Engineering Knowledge, su web1.eng.coventry.ac.uk, Esprit Project. URL consultato il 5 luglio 2014 (archiviato dall'url originale il 22 aprile 2004).
  11. ^ S.L. Kendal e M. Creen, An introduction to knowledge engineering, London, Springer, 2007, ISBN 978-1-84628-475-5, OCLC 70987401.
  12. ^ Hector Levesque e Ronald Brachman, A Fundamental Tradeoff in Knowledge Representation and Reasoning, in Ronald Brachman and Hector J. Levesque (a cura di), Reading in Knowledge Representation, Morgan Kaufmann, 1985, p. 49, ISBN 978-0-934613-01-9.
    «The good news in reducing KR service to theorem proving is that we now have a very clear, very specific notion of what the KR system should do; the bad new is that it is also clear that the services can not be provided... deciding whether or not a sentence in FOL is a theorem... is unsolvable.»
  13. ^ Walter Wilson, A Language For Engineering Design (PDF), su step.nasa.gov, Lockheed Martin. URL consultato il 4 luglio 2014.
  14. ^ Genworks, su genworks.com. URL consultato il 4 luglio 2014.
  15. ^ GDL Language Specification (TXT), su genworks.com. URL consultato il 13 marzo 2021 (archiviato dall'url originale il 24 settembre 2015).
  16. ^ KBE Services for PLM RFP, su omg.org, Object Management Group, 2006. URL consultato il 4 luglio 2014.
  17. ^ Computer Aided Design Services Specification, su omg.org, Object Management Group, gennaio 2005. URL consultato il 4 luglio 2014.