Automazione Industriale 4- Ingegneria del Software



Documenti analoghi
Object Oriented Programming

!"#$%&&'()#*%+%+!"#$"',,'()#*%+ -")%*&'&'+'$.)+-$$%&&) !"#$%&&'(%)'*+%",#-%"#.'%&'#/0)-+#12"+3,)4+56#7+#.')8'9

TECNICO SUPERIORE PER L AUTOMAZIONE INDUSTRIALE

Ingegneria del Software 12. Progettazione. Dipartimento di Informatica Università di Pisa A.A. 2014/15

Object Oriented Software Design

Base di dati e sistemi informativi

Il software impiegato su un computer si distingue in: Sistema Operativo Compilatori per produrre programmi

12 - Introduzione alla Programmazione Orientata agli Oggetti (Object Oriented Programming OOP)

OFFERTA FORMATIVA INDIRIZZI DI STUDIO

Introduzione alle basi di dati. Gestione delle informazioni. Gestione delle informazioni. Sistema informatico

La gestione di un calcolatore. Sistemi Operativi primo modulo Introduzione. Sistema operativo (2) Sistema operativo (1)

Database. Si ringrazia Marco Bertini per le slides

Architetture software

Considera tutti i requisiti funzionali (use cases) NON deve necessariamente modellare i requisiti non funzionali

Progettaz. e sviluppo Data Base

Strumenti di modellazione. Gabriella Trucco

Lezione 1. Introduzione e Modellazione Concettuale

Prospetto delle materie e del quadro orario settimanale: ISTITUTO TECNICO

I casi d uso corrispondono ai compiti che l attore (che può essere una persona fisica e non) può svolgere.

1. BASI DI DATI: GENERALITÀ

Architetture Applicative

TECNICO SUPERIORE PER L INFORMATICA INDUSTRIALE

Lezione 8. La macchina universale

Corso di Laurea Specialistica in Ingegneria Informatica. Corso di Ingegneria del Software A. A Class Discovery E.

Concetti di base di ingegneria del software

Faber System è certificata WAM School

Generazione Automatica di Asserzioni da Modelli di Specifica

7. Architetture Software

Approccio stratificato

Istituto Tecnico Industriale Statale Alessandro Rossi - Vicenza

NORMA CEI EN PLC: programmazione. PLC: programmazione. PLC: programmazione. Automazione Industriale 3. Automazione Industriale

L informatica INTRODUZIONE. L informatica. Tassonomia: criteri. È la disciplina scientifica che studia

Dispensa di Informatica I.1

Programma del Corso. Dati e DBMS SQL. Progettazione di una. Normalizzazione

PREMESSA AUTOMAZIONE E FLESSIBILITA'

Introduzione alle tecnologie informatiche. Strumenti mentali per il futuro

SOFTWARE PER LA RILEVAZIONE DEI TEMPI PER CENTRI DI COSTO

leaders in engineering excellence

IL SOFTWARE. Giada Agostinacchio Classe 2^ Beat ISIS G.Meroni Lissone Anno Scolastico 2007/2008

La Metodologia adottata nel Corso

Fondamenti di Informatica Ingegneria Clinica Lezione 16/10/2009. Prof. Raffaele Nicolussi

Scenario di Progettazione

C3 indirizzo Elettronica ed Elettrotecnica Profilo

Progettazione : Design Pattern Creazionali

Indice generale. OOA Analisi Orientata agli Oggetti. Introduzione. Analisi

POLITECNICO DI TORINO

Sistema Operativo. Fondamenti di Informatica 1. Il Sistema Operativo

DISCIPLINA TECNOLOGIE E PROGETTAZIONE DI SISTEMI INFORMATICI E DI TELECOMUNICAZIONI

C Cloud computing Cloud storage. Prof. Maurizio Naldi

PLC Sistemi a Logica Programmabile Il linguaggi di programmazione

TECNICHE DI SIMULAZIONE

Il Sistema Operativo

Sommario. Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi.

Liceo Tecnologico. Indirizzo Elettrico Elettronico. Indicazioni nazionali per Piani di Studi Personalizzati

Ministero dell istruzione, dell università e della ricerca. Liceo Tecnologico. Indirizzo Elettrico Elettronico

BIENNIO COMUNE a tutti gli indirizzi DISCIPLINE. Quadro Orario BIENNIO COMUNE. Nuovi Indirizzi Istituti Tecnici Pagina 1 1 BIENNIO

Hardware delle reti LAN

Corso Analista Programmatore Web PHP Corso Online Analista Programmatore Web PHP

MODELLO CLIENT/SERVER. Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena

Informatica 3. LEZIONE 7: Fondamenti di programmazione orientata agli oggetti (1)

Il Software e Il Sistema Operativo. Prof. Francesco Accarino IIS Altiero Spinelli A.S. 09/10

12. Evoluzione del Software

IL SOFTWARE SECONDO LA NORMA UNI EN ISO :2008 (IIA PARTE) 1

Automation Solutions

ISTITUTO TECNICO ECONOMICO MOSSOTTI

Introduzione ai tipi di dato astratti: applicazione alle liste

Liceo Tecnologico. Indirizzo Informatico e Comunicazione. Indicazioni nazionali per Piani di Studi Personalizzati

11. Evoluzione del Software

Ministero dell istruzione, dell università e della ricerca. Liceo Tecnologico. Indirizzo Informatico, Grafico e Comunicazione

La Macchina Virtuale

Programmazione a Oggetti Modulo B

LA FORMAZIONE E LA CONSERVAZIONE DELLA MEMORIA DIGITALE

Prof. Capuzzimati Mario - ITIS Magistri Cumacini - Como LOGICA DI CONTROLLO

Protezione. Protezione. Protezione. Obiettivi della protezione

Corso di Basi di Dati e Conoscenza

Ingegneria del Software. Introduzione ai pattern

REGIONE MARCHE GIUNTA REGIONALE

Migliorare le prestazioni delle PMI collaborando con clienti e fornitori Sviluppo di nuove abilità e strumenti ICT di supporto

ManPro.Net: Principali caratteristiche del prodotto.

Automazione Industriale (scheduling+mms) scheduling+mms.

Comunicazione tra Computer. Protocolli. Astrazione di Sottosistema di Comunicazione. Modello di un Sottosistema di Comunicazione

Linguaggi di programmazione

Il documento rappresenta una guida sintetica per descrivere sia la filosofia che il modulo software per l implementazione dei workflow in recuper@2.

Tecnologie dell informazione e della comunicazione per le aziende

Ipertesti e Internet. Ipertesto. Ipertesto. Prof.ssa E. Gentile. a.a

PROJECT MANAGEMENT SERVIZI DI PROJECT MANAGEMENT DI ELEVATA PROFESSIONALITÀ

B.P.S. Business Process Server ALLEGATO C10

Il CRM per la Gestione del Servizio Clienti

FONDAMENTI di INFORMATICA L. Mezzalira

Strutturazione logica dei dati: i file

Scopo della lezione. Informatica. Informatica - def. 1. Informatica

Con il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione.

Per capire meglio l ambito di applicazione di un DWhouse consideriamo la piramide di Anthony, L. Direzionale. L. Manageriale. L.

ISTITUTO PROFESSIONALE PER L'INDUSTRIA E L ARTIGIANATO ALESSANDRO VOLTA GUSPINI. PROGRAMMA DIDATTICO con riferimento al programma ministeriale

Università degli Studi di Bologna Bologna, 12/12/2002 Corso di Laurea In Informatica. Alessandro Valenti. Sessione II

Il sistema di I/O. Hardware di I/O Interfacce di I/O Software di I/O. Introduzione

Breve Excursus su Evoluzione della Programmazione. Corso di Linguaggi e Metodologie di Programmazione

Corso di Informatica

Struttura del calcolatore

Corso di Programmazione ad Oggetti

Transcript:

Automation Robotics and System CONTROL Università degli Studi di Modena e Reggio Emilia Automazione Industriale 4- Ingegneria del Software Cesare Fantuzzi (cesare.fantuzzi@unimore.it) Ingegneria Meccatronica Ingegneria della Gestione Industriale AA 2010/2011

Strumenti per organizzare e strutturare un progetto Vari settore dell ingegneria si basano sulla definizione di ס un modello del sistema da studiare e sviluppare. questo: Metodi e processi sono stati sviluppati per ס Calcolo strutturale per edifici Dimensionamento e disegno 3D di componenti meccaniche Modelli per lo sviluppo di sistemi software: Ingegneria del Software. 2

Ingegneria del Software Sviluppare un progetto attraverso la stesura di un ס modello dell applicativo. Utilizzare il modello per individuare i punti critici ס dell applicazione, per la discussione nel team di progetto e per la documentazione. Suddividere la complessita del progetto in ס sottomoduli In definitiva: Pensare prima di agire 3

Progettazione modulare Per individuare i moduli in modo corretto occorre individuare le ס entità che hanno un significato per sé nel sistema con cui il software interagisce. Occorre individuare quindi i componenti che hanno una precisa ס identità e una precisa responsabilità all interno del sistema considerato. In altre parole occorre identificare le entità che ס possono sopravvivere in autonomia una volta estratte dal sistema considerato. Nel corso dell evoluzione dei metodi di progettazione software e ס dei linguaggi di programmazione, questo concetto ha portato alla definizione sul finire degli anni 70 delle metodologie Object-Oriented (OO) per la progettazione del software, Nell approccio OO, l attenzione si sposta dalle funzioni agli ס elementi costitutivi del sistema da realizzare 4

Object Oriented (orientamento agli oggetti) (OOP, La programmazione orientata agli oggetti ס Object Oriented Programming) è un paradigma di programmazione, che prevede di raggruppare in un'unica entità (la classe) sia le strutture dati che le procedure che operano su di esse, creando per l'appunto un "oggetto" software dotato di ס proprietà (dati) e metodi (procedure) che operano sui dati dell'oggetto stesso. 5

Object Oriented (cont.) La programmazione orientata agli oggetti può essere ס vista come una modulazione di oggetti software sulla base degli oggetti del mondo reale. La modularizzazione di un programma viene realizzata ס progettando e realizzando il codice sotto forma di classi che interagiscono tra di loro. Un programma ideale, realizzato applicando i criteri ס dell'oop, sarebbe completamente costituito da oggetti software (istanze di classi) che interagiscono gli uni con gli altri. sintetico: Ref bibliografico ס http://it.wikipedia.org/wiki/programmazione_orientata_agli_ oggetti 6

I concetti chiave del Object Oriented Modularità. ס Hiding. Information ס Astrazione. ס responsabilità. Identità e ס Riusabilità. ס 7

Software Object Oriented Un metodo di progettazione orientato agli oggetti Conduce alla programmazione modulare (di buona qualità) 8

Il Concetto di Oggetto Un oggetto è quindi un entità a sè stante avente le caratteristiche di ס un Centro di Servizi, che incapsula informazioni e funzionalità disponibili a richiesta per gli altri oggetti. Il modo con cui le informazioni che l oggetto contiene vengono ס elaborate è nascosto (privato) Le informazioni e le funzionalità sono accessibili dall esterno solo ס attraverso una ben determinata interfaccia. Oggetto Funzioni di interfaccia Funzioni che agiscono sull oggetto Parte visibile Parte nascosta 9

Estensione dei linguaggi tradizionali in modo OO Una nota descrizione più sintetica di oggetto `e fornita da ס Grady Booch (uno dei padri dell OO Design ): stato, Un oggetto è un componente software che ha uno ס un comportamento e una identità In altre parole esso è costituito ס da una struttura dati (che memorizza lo stato), da delle operazioni (che determinano il comportamento) ed è unico nel programma 10

Applicazione alle macchine Oggetto Meccatronico Un Oggetto Meccatronico implementa una funzione ben ס precisa all interno della macchina (quindi è un oggetto ) e ne rende disponibile l uso a clienti esterni mediante interfaccie ben definite. Un oggetto meccatronico è costituito da una parte meccanica ס ed una parte elettronica di controllo da progettarsi in modo integrato. 11

Modularità In generale, una macchina ha una struttura ס intrinsecamente modulare. I processi produttivi o di trasformazioni eseguiti dalle ס macchine automatiche sono tipicamente scomponibili in funzionalità elementari (sotto-processi) I sotto-processi sono eseguiti da parti ben precise ס della macchina. La struttura modulare della macchina puo essere legata ס alla modularita del software. 12

Strutturazione modulare del software. MODULO: componente di un sistema caratterizzato da ס massima coesione interna e minimo accoppiamento esterno. che: In un contesto di software industriale possiamo dire ס Un modulo è una parte di software dedicata al controllo di una parte ben definita di una macchina automatica, che svolge un determinato sotto-processo produttivo, avente un numero minimo di collegamenti con altre parti. 13

Obiettivi di progetto per il software di controllo Modularità: definizione di componenti software ס interagenti, ciascuno con proprie responsabilità di controllo Riusabilità: quella del modulo di controllo è ס strettamente legata a quella della parte di macchina controllata Un modulo di automazione è un componente costituito ס da: una parte sofware (controllo logico + controllo continuo) una parte elettrica (sensori/attuatori) una parte meccanica 14

Esempio: isola di foratura 15

Modularizzazione di un applicativo 16

Soluzione Meccatronica Controllore Supervisore Start Finish stop_rotate Rotate Modulo A Start Finish Modulo C Start Sistema fisico & Finish Modulo B Start Finish Modulo D Start Finish 17

Libreria di moduli meccatronici Blocco funzionale tastatore Blocco funzionale foratura Start Finish Start Finish Blocco funzionale evacuazione blocco funzionale controllo tavola Start Finish Start Finish 18

Aggiungiamo una nuova funzionalità 19

La qualità del software strutturato e modulare. Un software strutturato in moduli ha buone ס caratteristiche di qualità secondo i criteri visti. Infatti: Ciascun modulo opera su una porzione di macchina e vi sono poche interazioni fra diverse parti di programmi (facilità di verifica, incremento e manutenzione) Focalizzando un modulo è più facile capire il funzionamento della macchina (un pezzo per volta) e incapsulando i dettagli implementativi di ciascun modulo è più facile la manutenzione del programma di controllo. 20

Come progettare in modo modulare? chiedersi: Occorre ס Quali sono le parti della macchina che sono strettamente legate fra di loro (dal punto vista del controllo)? Posso isolare queste parti ed individuare delle funzioni software a loro dedicate che non interagiscono con le altre? Posso, di contro, isolare delle informazioni di interfaccia fra tali funzioni? 21

Approccio alla modularizzazione concettuale La chiave consiste nell isolare le azioni finite che la ס macchina esegue sul prodotto. Nel caso in cui la produzione sia sequenziale questa operazione è banale. Una volta isolate tali azioni, ci si chiede quali ס componenti fisici sono coinvolti nell esecuzione di tali azioni Se tali parti fisico funzionali sono separabili, ci si chiede ס quali funzioni di controllo occorre eseguire il sottoprocesso produttivo..... e quali debbono essere le interfacce con altre parti ס del progetto...... e se è possibile ridurre il numero di tali interazioni ס (valutare i confini del modulo). 22

Tipica architettura del sistema di controllo per l automazione 23

Architettura modulare 24

Un oggetto Meccatronico 25

Un oggetto meccatronico 26

Un oggetto ha... Stato: nella progettazione del controllo basata sullo stato, tale ס aspetto vieneenfatizzato, ponendo come principio base che lo stato del software di controllo sia consistente con quello di funzionamento dell impianto (di un modulo dell impianto Comportamento: il comportamento di un oggetto software è ס determinato dai suoi metodi, il comportamento di un modulo meccatronico è dato dalle azioni eseguite dalla parte fisica e controllate dalla parte software, richieste tramite i segnali dell interfaccia software del modulo (...) Identità ס Tipo: ogni modulo meccatronico della macchina può essere ס classificato secondo la necessaria astrazione, al fine di garantirne il riuso su diversi progetti o la istanziazione molteplice nello stesso progetto 27

Approccio ad oggetti per software industriale I concetti della progettazione orientata agli oggetti ס possono essere utilizzati per il progetto dell automazione, anche se i linguaggi di programmazione di PLC e simili non sono propriamente OO (v. norma IEC 61131-3.) Vantaggi: ס Modularità e scalabilità. Riusabilità. 28

Come definire un oggetto in ambito industriale? meccatronica: La ס Componenti elettromeccanici combinati a moduli di controllo (hardware e software). Librerie di moduli meccatronici riutilizzabili. Sincronismo tra moduli tramite segnali (software) di interfaccia. 29

Come implementare un oggetto in ambito industriale? abbia: Occorre un modulo software che ס Stato interno, memorizzato in variabili private Comportamento incapsulato in una parte di codice privata Interfaccia software con gli altri moduli di controllo isolata e ben definita Interfaccia hardware con la parte fisica privata del modulo meccatronico (parte pià critica dal punto di vista implementativo) 30

Programmazione controllori industriali: Normative internazionali: Due standard ס Standard IEC 61131-3, pubblicato nel 1993, ampiamente diuso e recepito dai costruttori di dispositivi per il controllo industriale. Standard IEC 61499, estende i concetti IEC 61131-3 ai sistemi distribuiti, è ancora in fase di sviluppo, non esistono attualmente prodotti commerciali maturi. 31

Function Blocks: strumenti per l implementazione degli oggetti Il Function Block (FB) è un concetto definito dalla IEC ס 61131-3 (e fonda mentale per la IEC 61499) per la realizzazione di moduli software che eseguano determinate funzionalità, nascondendone l implementazione. E caratterizzato ס da: Una interfaccia di parametri (segnali) di ingressouscita. Una struttura dati locale privata. Un algoritmo interno, scritto in uno dei linguaggi IEC (ma non solo). E definito come tipo e utilizzato come istanza ס (classe/oggetto). 32