Upload
ayasha
View
50
Download
5
Embed Size (px)
DESCRIPTION
C.A.A. (Computer Aided Assembly). Lab.I.C. (Laboratorio di Ingegneria della Conoscenza) Università di Milano - Bicocca In collaborazione con: I.T.I.A. - C.N.R. Zanussi. Obiettivi di C.A.A. - PowerPoint PPT Presentation
Citation preview
C.A.A. C.A.A. (Computer Aided Assembly)(Computer Aided Assembly)
Lab.I.C. (Laboratorio di Ingegneria della Conoscenza)
Università di Milano - Bicocca
In collaborazione con:– I.T.I.A. - C.N.R.– Zanussi
14 Gennaio 2000
C.A.A.C.A.A.
Obiettivi di C.A.A.Obiettivi di C.A.A.
Realizzazione di uno strumento di supporto alla selezione degli organi da presa esistenti o alla eventuale prima fase di progettazione di nuovi organi da presa.
Forma prototipale. Dominio circoscritto.
C.A.A.C.A.A.
14 Gennaio 2000
C.A.A.C.A.A.
Descrizione del progettoDescrizione del progetto
Committente: Zanussi. Ambito: assemblaggio di gruppi di
componenti del basamento lavabiancheria e del termostato frigorifero.
I casi applicativi scelti si posizionano nella famiglia dei pezzi medio-piccoli.
La linea di assemblaggio deve avere un altissimo indice di riconfigurabilità.
C.A.A.C.A.A.
14 Gennaio 2000
C.A.A.C.A.A.
Dominio di applicazioneDominio di applicazione
Assemblaggio automatico.Linea di assemblaggio.Cella di assemblaggio:
– robot;– componente da assemblare;– ambiente (processo).
C.A.A.C.A.A.
14 Gennaio 2000
C.A.A.C.A.A.
Architettura del SistemaArchitettura del Sistema
Sistema Basato sulla Conoscenza (realizzato a regole):– Rappresentazione della conoscenza:
regole di produzione;– Database;– Interfaccia utente;– Interfaccia di integrazione.
C.A.A.C.A.A.
14 Gennaio 2000
C.A.A.C.A.A.
Scelte tecnologicheScelte tecnologiche
Base della conoscenza:– Jess
Database:– Object Store
Interfaccia utente:– Java
Interfaccia di integrazione:– Web-based
C.A.A.C.A.A.
14 Gennaio 2000
C.A.A.C.A.A.
Team/RisorseTeam/Risorse
Componenti del team– Coordinatore: Stefania Bandini– Capo-progetto: Giuseppe Frisoni
– Sviluppatori: – Paolo Mereghetti– Alessandro Saporiti– Augusto Vezzaro
– Consulenza su architettura ed integrazione: Flavio De Paoli
Risorse– PC Pentium, Windows NT– PC Silicon Graphic presso ITIA
C.A.A.C.A.A.
14 Gennaio 2000
C.A.A.C.A.A.
Ciclo di vitaCiclo di vita
Studio di plausibilità:– analisi del dominio;– state of the art;– identificazione delle specifiche.
Acquisizione della conoscenza. Sviluppo del Dimostratore. Affinamento della conoscenza. Sviluppo del Prototipo. Installazione del Prototipo.
C.A.A.C.A.A.
14 Gennaio 2000
C.A.A.C.A.A.
TempisticaTempistica
28 gennaio: consegna Dimostratore.28 febbraio: consegna Prototipo e installazione.
C.A.A.C.A.A.
14 Gennaio 2000
C.A.A.C.A.A.
Stato attualeStato attuale
Stato di avanzamento dei lavori al 14/01/2000:– come previsto: KB e Interfaccia;– avanti: DB. Siamo pronti a sviluppare.
C.A.A.C.A.A.
Base della conoscenzaBase della conoscenza
14 Gennaio 2000
C.A.A.C.A.A.
Sistema espertoSistema esperto
FattiRegoleMotore inferenziale
14 Gennaio 2000
C.A.A.C.A.A.
Sistema esperto: motore inferenzialeSistema esperto: motore inferenziale
Tool – CLIPS (C Language Integrated Production System)– JESS (Java Expert System Shell)
JESS– Java
http://herzberg.ca.sandia.gov/jess
Jess 5.0 ver. b3
14 Gennaio 2000
C.A.A.C.A.A.
Architettura della base della Architettura della base della conoscenzaconoscenza
Regole – Suddivisione delle regole in sezioni
Fatti– Strutturazione ad oggetti
14 Gennaio 2000
C.A.A.C.A.A.
Suddivisione delle regoleSuddivisione delle regole
Determinazione della forma del polpastrello Determinazione della morfologia dell’organo Calcolo della forza di serraggio Verifica della resistenza di superficie di presa Scelta della tipologia di attuazione
14 Gennaio 2000
C.A.A.C.A.A.
FattiFatti
morfologia
parametri
diti
attuazione
Organo da presa
14 Gennaio 2000
C.A.A.C.A.A.
Sviluppi futuri del sistemaSviluppi futuri del sistema
Java– compatibilità
Fatti : Modello ad oggetti – espandibilità
14 Gennaio 2000
C.A.A.C.A.A.
OODBMS e Object StoreOODBMS e Object Store
14 Gennaio 2000
C.A.A.C.A.A.
Basi di dati a oggetti o classiche Basi di dati a oggetti o classiche relazionali?relazionali? I modelli di basi di dati tradizionali sono
adeguati per applicazioni di tipo gestionale ed amministrativo.
Difficoltà nel gestire dati tipici di applicazioni più complesse (es. CAD o dati multimediali), le basi di dati orientate agli oggetti sono nate per soddisfare le esigenze di tali applicazioni.
14 Gennaio 2000
C.A.A.C.A.A.
L’approccio ad oggetti infatti offre la flessibilità necessaria non essendo limitato ai tipi di dato (il sistema dei tipi di dati e estendibile) e ai sistemi di query language tradizionali.
Gli OODBMS (Object Oriented Data Base Management System) in particolare permettono di gestire tipi di dati non strutturati (es. bitmap di immagini, lunghe stringhe di testo, disegni CAD) che saranno gestiti dall’applicazione ma la cui struttura non è nota al DBMS.
Basi di dati a oggetti o classiche Basi di dati a oggetti o classiche relazionali?relazionali?
14 Gennaio 2000
C.A.A.C.A.A.
Caratteristiche OODBMSCaratteristiche OODBMSnuovi concettinuovi concetti
Scompare il concetto di tabella e compare il concetto di collection.
Scompare il concetto di riga e compare quello di oggetto.
Si passa da una visione passiva a una visione attiva dei dati memorizzati.
La conoscenza diventa ‘viva’ e può cambiare il proprio stato rispondendo a ‘messaggi’ esterni. I primi ad usare questo approccio sono stati proprio gli sviluppatori di linguaggi per la rappresentazione della conoscenza.
14 Gennaio 2000
C.A.A.C.A.A.
I sistemi di BDD tradizionali usano appositi comandi per l’inserimento persistente dei dati con le basi di dati a oggetti si usano due approcci:– persistenza automatica tramite il comado
new di calssi con proprietà estensionale.– persistenza esplicita attraverso un
apposito metodo che inserisce l’oggetto nella collection.
Caratteristiche OODBMSCaratteristiche OODBMSpersistenzapersistenza
14 Gennaio 2000
C.A.A.C.A.A.
Caratteristiche OODBMSCaratteristiche OODBMScancellazionecancellazione
Anche la cancellazione può essere:– esplicita tramite comado (problema per
l’integrità referenziale).– tramite garbage collector (assicura
l’integrità referenziale).
14 Gennaio 2000
C.A.A.C.A.A.
Object StoreObject Storecos’è?cos’è?
nato per lo sviluppo di OODBMS in C++ fornisce un’estensione del linguaggio che permette di gestire la persistenza dei dati.
attualmente è possibile sviluppare applicazioni anche in linguaggio Java.
permette di gestire non solo collection di oggetti ma anche associazioni unarie e binarie tra le collection garantendo quella stutturazione rigorosa e formale che è il punto di forza dei BDD relazionali.
14 Gennaio 2000
C.A.A.C.A.A.
la persistenza non è una caratteristica automatica ma per creare collection persistenti devo creare una root di tipo persistente nella quale inserire gli oggetti.
L’integrità referenziale è garantita sulle associazioni permettendo anche propagazione delle cancellazioni.
OS fornisce un query language SQL-like per interrogare le collection di oggetti e aggiunge funzionalità tipiche per gli oggetti.
Object StoreObject Storecaratteristichecaratteristiche
14 Gennaio 2000
C.A.A.C.A.A.
Perchè Object StorePerchè Object Store
La nostra applicazione potrà trovarsi a dover gestire dati non strutturati come disegni CAD o VRML che possono essere gestiti in modo veramente efficente solo con un OODBMS.
Il sistema su cui dovrà operare il prodotto è distribuito e browser-based quindi la possibilità che Object Store da di poter utilizzare un linguaggio come Java ci permette di gestire in modo ottimale questa situazione.
14 Gennaio 2000
C.A.A.C.A.A.
La possibilità di usare Java permette anche una coerenza degli strumenti di sviluppo dell’intera applicazione che facilità l’integrazione degli stessi e permette all’applicazione di avere una struttura più omogenea.
Perchè Object StorePerchè Object Store
14 Gennaio 2000
C.A.A.C.A.A.
Aspetti tecnici e formali Aspetti tecnici e formali sulla struttura dellasulla struttura della
base di datibase di dati
14 Gennaio 2000
C.A.A.C.A.A.
Componentenome - stringa
peso - float
zonePresaCilindriche -set (0,n) di oggetti ZonaCilindrica
zonePresaPiane - set (0,n)di oggetti ZonaPianazonePresaIrregolari - set (0,n) di oggetti ZonaIrregolare
ZonaPresacodice zona - stringa
delicatezza - enum. [++, +, -, --]
cRiduzione - float
distBaricentro - integer
distRettaApp - integer
cAttrito - float
forzaMaxRottura - float
forzaSerrAssemblaggio - float
forzaSerrTrasporto - float
forzaScelta - Float
distanzaSuperfici - Integer
areaAfferrata - float
ZonaCilindricaaltezza - integer
raggio - integer
angolo - integer
ZonaPianaaltezza - integer
larghezza - integer
singola - enum. [si, no]
ferromagnetica - enum. [si, no]
porosa - enum. [si, no]
ZonaIrregolareareaContatto - integer
PARTE COMPONENTE E ZONA DI PRESA
IS A IS A IS A
14 Gennaio 2000
C.A.A.C.A.A.
OrganoPresa
attuazione - oggetto di tipo Attuazione
morfologia - oggetto di tipo Morfologia
diti - oggetto di tipo diti
forzaSerraggio - integer
corsa - integer
regolazioneForza - integer
cambioRapido - enumerazione [si, no]
Attuazione
nome - enum.
[elettrico, pneumatico, idraulico, elettropeumatico]
costo - enum. [++, +, -, --]
ingombro - enum. [++, +, -, --]
esplosivo - enum. [++, +, -, --]
peso - enum. [++, +, -, --]
pulito - enum. [++, +, -, --]
forza - enum. [++, +, -, --]
Morfologia
nome - enum. [tre_dita_autocentranti, tre_dita_indipendenti, due_dita_parallele, due_dita_angolari, magnete, ventose]
costo - enum. [++, +, -, --]
semplice - enum. [++, +, -, --]
posizionano - enum. [si, no]
peso - enum. [++, +, -, --]
Diti
nome - enum. [piatti, intaglio_a_V, intaglio_cilindrico, non_standard]
delicati - enum. [++, +, -, --]
duraturi - enum. [++, +, -, --]
preciso - enum. [++, +, -, --]
semplice - enum. [++, +, -, --]
TIPOLOGIA ORGANO PRESA
PART OF
PART OF
PART OF
14 Gennaio 2000
C.A.A.C.A.A.
Processo
accRobot - float
forzaInserimento - float
puliziaAmbiente - enum. [++, +, -, --]
sicurezzaAmbiente - enum. [++, +, -, --]
nome_componente - stringa
nome_organo_presa - stringa
PROCESSO
14 Gennaio 2000
C.A.A.C.A.A.
SCHEMA ENTITA’ RELAZIONI
ZONA PRESACILINDRICA
POSSIEDE COMPONENTE
POSSIEDE
ZONA PRESAIRREGOLARE
ZONA PRESAPIANA
POSSIEDE
0
n
n
0
0
n
CONTESTUALE A PROCESSO
TIPOLOGIAORGANO PRESA
CONTESTUALE A
1
11
1
Interfaccia di IntegrazioneInterfaccia di Integrazione
14 Gennaio 2000
C.A.A.C.A.A.
ObbiettivoObbiettivo
Organizzazione e gestione della cooperazione di moduli Software.
Modulo Software
Modulo Software
Modulo Software
Modulo Software
Interfacciadi
Integrazione
14 Gennaio 2000
C.A.A.C.A.A.
Fase di Analisi e Fase DecisionaleFase di Analisi e Fase Decisionale Analisi dei moduli software:
– Funzione.– Tecnologie coinvolte.
Analisi dei vincoli imposti dall’End User:– Caratteristiche hardware.– Disponibilità hardware per fasi di implementazione e test.– Tempi di sviluppo.
Scelta dell’architettura.
Scelta del linguaggio di programmazione (fortemente dipendente dall’architettura).
14 Gennaio 2000
C.A.A.C.A.A.
Moduli SoftwareModuli Software Shell per lo sviluppo di Sistemi Basati sulla Conoscenza (Jess)
– Rule Based.– Interamente scritto in Java.– Esistono vesrioni per i principali Sistemi Operativi.
Database (Object Store)– Sviluppato su piattaforma Windows.– Basato su Classi di Oggetti (Java o C++).– (Non) Richiede applicazioni server per la sua gestione.
Interfaccia Utente– Permette la gestione dell’intero sistema.– Scritta in un linguaggio di programmazione di Alto Livello.– User Friendly.
14 Gennaio 2000
C.A.A.C.A.A.
Vincoli posti dall’End UserVincoli posti dall’End User
Database su piattaforma Windows e accesso dell’Utente da piattaforma Unix (Silicon).
Risorse temporali limitate per implementazione e testing del sistema su piattaforma Unix.
Vicinanza della Deadline del Progetto.
14 Gennaio 2000
C.A.A.C.A.A.
Architettura propostaArchitettura proposta
Sistema basato su Tecnologie Web.
Database
Sistema Basatosulla
Conoscenza
Interfaccia Utente
ClientWeb Browser
Web ServerWith Java Servlet
Jess
Object StoreInterfacciadi
Integrazione
14 Gennaio 2000
C.A.A.C.A.A.
La scelta di JavaLa scelta di Java
Facile integrazione fra i moduli.
Ampliamento delle funzionalità del Web Server con Servlets.
Creazione di interfacce utente User Friendly compatibili con i più comuni Web Browser (Netscape e Internet Explorer).