Progetto di Controllo dei Processi

Slides:



Advertisements
Presentazioni simili
I Linguaggi di programmazione
Advertisements

Interazione Uomo - Macchina
Analisi e progettazione
INTRODUZIONE Il framework.NET. Un po di storia Sin dalla prima versione del sistema operativo Windows (1990 circa), nacque la necessità di far comunicare.
Unified Modeling Language
Recupero debito quarto anno Primo incontro
Sistemi informativi e Sistemi informatici
PHP.
Hard disk.
Metodologie di Programmazione = decomposizione basata su astrazioni
Principi di Programmazione Object-Oriented
Acquisti OnLine Progetto
Principi di Programmazione Object-Oriented
4 – Progettazione – Introduzione e Modello E-R
DIFFICOLTA’ DEL LINGUAGGIO
Il Software: Obiettivi Programmare direttamente la macchina hardware è molto difficile: lutente dovrebbe conoscere lorganizzazione fisica del computer.
MACCHINE DI TURING Le macchine di Turing sono dispositivi astratti per la manipolazione di simboli, ideati nel 1936 dal matematico e logico britannico.
Programmazione Un programma descrive al computer, in estremo dettaglio, la sequenza di passi necessari a svolgere un particolare compito L’attività di.
Gestione di Progetti Software 2 (A.A. 2004/2005) - Lezione 2 1 JAVA: obiettivi di progetto del linguaggio Nota storica: Il linguaggio JAVA (inizialmente.
Unità Didattica 2 I Linguaggi di Programmazione
SOFTWARE I componenti fisici del calcolatore (unità centrale e periferiche) costituiscono il cosiddetto Hardware (alla lettera, ferramenta). La struttura.
Progettazione di una base di dati
Strategia bottom-up Nella strategia bottom-up le specifiche iniziali sono suddivise in componenti via via sempre più piccole, fino a descrivere frammenti.
A.Natali DL Maggio1999 Oggetti Concetti fondamentali.
Introduzione alla modellazione di sistemi interattivi
1 Programmazione = decomposizione basata su astrazioni (con riferimento a Java)
L’ingegneria del software
Lo sviluppo del progetto informatico
Il modello di riferimento OSI
User stories Claudio Maccari Mail:
Programma di Informatica Classi Prime
Scelta di un modello di processo: esempio
Commenti alle Attività Generiche. Attività Generiche (Pressman) Principali: Comunicazioni; Pianificazione; Modellazione; Costruzione, Dispiegamento Collaterali:
Commenti all’esempio del treno Nell’esempio del treno si è iniziato dalle attività generiche e/o attività operative che tipicamente costituiscono i passi.
Esercitazioni di Ingegneria del Software con UML
VHDL per FPGA Courtesy of S. Mattoccia.
Progettazione concettuale di SI basati su Web
Whole-body dynamic behavior and control of human-like robots. Analisi di un articolo del dipartimento di scienze informatiche dell’università di Stanford.
PROGRAMMA IL FUTURO Anno Scolastico 2014 / 2015
LABVIEW Sommario Che cosa è uno strumento virtuale (VI) creato con LABVIEW Parti di un VI: pannello frontale diagramma a blocchi Confronto tra il principio.
I processi.
Programmazione ad oggetti
Nemesi Creazione e pubblicazione di una rivista online tramite l’utilizzo di Java Message Service.
Variabili temporali Analisi statistica
Diagramma delle Classi
10 azioni per lo scheduling su Grid Uno scheduler per Grid deve selezionare le risorse in un ambiente dove non ha il controllo diretto delle risorse locali,
INTERFACCE Schede elettroniche che permettono al calcolatore di comunicare con le periferiche, che possono essere progettate e costruite in modo molto.
Informatica 3 V anno.
Analisi dei requisiti Il primo passo di “qualsiasi” processo di sviluppo è la definizione dei requisiti  Definizione del Business Model  Solitamente.
Fondamenti di Informatica 2 Ingegneria Informatica Docente: Giovanni Macchia a.a
LINGUAGGI DI PROGRAMMAZIONE Per comunicare comandi e dati ad un computer occorre un particolare linguaggio detto LINGUAGGIO MACCHINA, che è un insieme.
Progettazione di una base di dati Ciclo di vita di un sistema informativo Studio di fattibilità definisce le varie alternative possibili, i relativi costi.
Ingegneria del software Modulo 1 -Introduzione al processo software Unità didattica 4 -Progettazione del software Ernesto Damiani Università degli Studi.
Algoritmi.
Reti di calcolatori LS1 Service Middleware Reti di calcolatori LS progetto di Andrea Belardi Infrastruttura dedicata alla gestione di servizi disponibili.
UML: Introduzione Corso IS I /03 Gianna Reggio Versione 0.0.
Strategie di progetto Si possono utilizzare le strategie tipiche dello sviluppo di un processo di ingegnerizzazione (es. ingegneria del software). Strategie.
Sistemi operativi di rete Ing. A. Stile – Ing. L. Marchesano – 1/18.
Progettazione di basi di dati: metodologie e modelli
Algoritmi e Programmazione (in C) Stefano Cagnoni e Monica Mordonini
Progettazione concettuale di SI basati su Web B. Pernici.
Le basi di dati.
Unified Modeling Language. –un linguaggio (e notazione) universale, per rappresentare qualunque tipo di sistema software –uno standard OMG (Object Management.
UML Unified Modelling Language Linguaggio per la modellazione unificato.
Laboratorio di Architettura Degli Elaboratori1 Macchine a stati finiti – un automa di Mealy generale con 1 bit d’ingresso, 1 di uscita e 2 di stato.
Dal problema al programma – ciclo di sviluppo del software La scrittura del programma è solo una delle fasi del processo di sviluppo di un'applicazione.
Parsing ricorsivo discendente Il parsing ricorsivo discendente (recursive descent parsing) è un metodo di tipo top-down che può essere facilmente codificato.
Unità di apprendimento 6
ALGORITMI, LINGUAGGI E PROGRAMMI Facoltà di Lingue e Letterature Straniere Corso di laurea in Relazioni Pubbliche.
Introduzione alle Classi e agli Oggetti in Java 1.
Transcript della presentazione:

Progetto di Controllo dei Processi DA UML A MATLAB Come ricavare un modello di simulazione in ambiente Matlab partendo da una descrizione in linguaggio UML Studenti: Roberto Nicolino, Nicola di Lecce

Brevemente Partendo da una analisi approfondita sulle potenzialità che oggi offre Unified Modeling Language si mostrerà come questo linguaggio si ponga da tramite tra cliente e committente, per evitare inutili incomprensioni e per permettere la realizzazione di un modello completo e dettagliato di un sistema. Grazie ad UML è possibile realizzare simulazioni in ambiente Matlab percorrendo un processo di integrazione completo tra le due piattaforme di sviluppo.

Si procederà descrivendo Cosa è UML e a cosa serve Come integrare il linguaggio Uml con Matlab o altri ambienti di simulazione Quali procedure adottare per tradurre un modello descritto in UML in un modello utile alla simulazione

1/2 Intoduzione ad UML Lo Unified Modeling Language è un linguaggio per specificare, costruire, visualizzare e documentare manufatti sia di sistemi software, che di altri sistemi non strettamente software. UML rappresenta una collezione di best practices di ingegneria, dimostratesi vincenti nella modellazione di vasti e complessi sistemi. UML permette di visualizzare, per mezzo di un formalismo rigoroso, “manufatti” dell’ingegneria, consentendo di illustrare idee, decisioni prese, e soluzioni adottate. Tale linguaggio favorisce, inoltre, la divulgazione delle informazioni, in quanto standard internazionale non legato alle singole imprese.

2/2 Intoduzione ad UML Lo UML dispone di tutti i meccanismi necessari per la specifica di qualsiasi dettaglio ritenuto rilevante in ogni fase del ciclo di vita del progetto e quindi, in ultima analisi, per produrre modelli accurati. Lo UML, permette di realizzare modelli che si prestano ad essere implementati con diversi linguaggi di programmazione e ambienti di simulazione tipo Matlab Sul mercato sono presenti diversi tool, in grado di generare codice a partire dal relativo modello, sia interattivamente durante la fase di disegno, sia su richiesta. L’esistenza di queste funzionalità, sebbene ancora non del tutto mature, dovrebbe far capire che l’implementazione è veramente un dettaglio del disegno, specie con linguaggi come Java. lo UML fornisce sia dei meccanismi molto formali, sia del testo libero da aggiungere, ogni qual volta lo si ritenga necessario, a parti ritenute poco chiare o particolarmente complesse, al fine di aumentarne il livello di dettaglio.

Perché utilizzare UML ?

1/2 Perché utilizzare UML Ogni qualvolta, in una disciplina dell’ingegneria, vi sia la necessità di realizzare un “manufatto”, indipendentemente dalla dimensione e dal settore di interesse (una casa, un grattacielo, un particolare meccanismo, un ponte, un dipartimento di un’azienda, e così via) si procede cercando di realizzarne un modello. L’obiettivo è produrre, in tempi relativamente brevi e soprattutto a costi contenuti, una versione razionalizzata e semplificata del sistema reale che, tuttavia, consenta di evidenziarne l’aspetto finale e di studiarne prestazioni, affidabilità e comportamento. Si provi a immaginare che cosa potrebbe accadere se si avviasse la progettazione di un ponte a partire da specifiche sommarie, magari comunicate verbalmente o, peggio ancora, se si partisse subito a costruirlo materialmente, magari affidandosi all’esperienza di qualche costruttore

Il risultato sarebbe il seguente: 2/2 Perché utilizzare UML Il risultato sarebbe il seguente:

Questo è il motivo per cui è importante utilizzare un linguaggio di modellizzazione universale

Attualmente è possibile sfruttare le caratteristiche descrittive offerte da UML attraverso numerosi software free disponibili in rete, tra questi si segnala: Argo UML http://argouml.tigris.org/

Componenti UML

1/14 Componenti UML Il linguaggio UML contiene svariati elementi grafici che vengono messi insieme durante la creazione dei diagrammi. Dato che l'UML è un linguaggio, come tale utilizza delle regole per combinare i componenti nella creazione dei diagrammi. L'obiettivo dei diagrammi è quello di costruire molteplici viste di un sistema tutte correlate tra di loro. La notazione UML include dieci tipi di diagrammi, divisi in cinque categorie. Si tenga presente che è assolutamente possibile costruire e aggiungere dei diagrammi differenti dagli standard (che vengono definiti ibridi) rispetto a quelli definiti dal linguaggio. La tabella seguente mostra le categorie e i diagrammi corrispondenti.

Categoria Diagrammi Diagrammi per analisi dei requisiti Diagrammi dei casi d’uso (use case) Diagammi di struttura statica Diagrammi dei package Diagrammi delle classi (class) Diagrammi degli oggetti (object) Diagrammi di interazione Diagrammi di sequenza (sequence) Diagrammi di collaborazione (collaboration) Diagrammi di stato Diagrammi di stato (statechart) Diagrammi di attività (activity) Diagrammi di implementazione Diagramma dei componenti (component) Diagrammi di dilocamento (deployment)

Componenti UML: Class Diagrams 3/14 Componenti UML: Class Diagrams Per avere una idea immediata di cosa sia una classe è possibile usare come esempio il fatto che tutti gli oggetti o esseri viventi, spesso, sono riconducibili a determinate categorie (computers, automobili, piante, animali). Queste categorie costituiscono le classi. Una classe è una categoria o un gruppo di oggetti (con questo termine si includono, per comodità anche gli esseri viventi) che hanno attributi simili e comportamenti analoghi. I Class Diagrams forniscono le rappresentazioni utilizzate dagli sviluppatori.

Componenti UML: Object Diagrams 4/14 Componenti UML: Object Diagrams Un oggetto è una istanza di una classe, ovvero una qualcosa di specifico che ha dei valori determinati per i suoi attributi e dei comportamenti specifici.

Componenti UML: Use Case Diagrams 5/14 Componenti UML: Use Case Diagrams Uno Use Case (caso d'uso) è una descrizione di un comportamento particolare di un sistema dal punto di vista dell'utente. Per gli sviluppatori, gli use case diagram rappresentano uno strumento notevole: infatti tramite tali diagrammi, essi possono agevolmente ottenere una idea chiara dei requisiti del sistema dal punto di vista utente e quindi scrivere il codice senza timore di non aver recepito bene lo scopo finale. Nella rappresentazione grafica, viene utilizzato un simbolo particolare per l'actor (l'utente o un altro sistema che interagisce) che si vedrà in seguito. L'actor è l'entità che interagisce con uno use case facendo partire la sequenza di azioni descritte dallo use case stesso e, eventualmente, ricevendo delle precise risposte dal sistema. Può essere una persona o anche un altro sistema.

Componenti UML: State Diagrams 6/14 Componenti UML: State Diagrams Ad un determinato istante, durante il funzionamento del sistema, un oggetto si trova in un particolare stato. Gli State Diagrams rappresentano tali stati, ed i loro cambiamenti nel tempo. Ogni state diagram inizia con un simbolo che identifica lo stato iniziale (Start State) e termina con un altro simbolo che rappresenta lo stato finale (End State). Per esempio, ogni persona può essere identificato dai seguenti stati: neonato, bambino, adolescente, adulto, anziano.

Componenti UML: Sequence Diagrams 7/14 Componenti UML: Sequence Diagrams I class diagrams e gli object diagrams rappresentano informazione statica. In un sistema funzionante, tuttavia, gli oggetti interagiscono l'uno con l'altro, e queste interazioni avvengono in relazione al trascorrere del tempo. Il sequence diagram mostra le dinamiche, basate sul tempo, delle varie interazioni tra gli oggetti.

Componenti UML: Activity Diagrams 8/14 Componenti UML: Activity Diagrams Le attività che si riscontrano all'interno di use case o all'interno del comportamento di un oggetto accadono, tipicamente, in una sequenza ben definita. Tale sequenza si rappresentata con gli activity diagrams.

Componenti UML: Collaboration Diagrams 9/14 Componenti UML: Collaboration Diagrams Gli elementi di un sistema lavorano insieme per realizzare e soddisfare le necessità del sistema. Un linguaggio di modellazione deve avere un modo per rappresentare tale cooperazione. Il Collaboration Diagram nasce proprio per questa ragione.

Componenti UML: Component Diagrams 10/14 Componenti UML: Component Diagrams Oggi, nell'ingegneria del software si utilizza sempre più il modello di organizzazione secondo il quale ognuno nel team di lavoro lavora su un componente differente. Il component diagram descrive questa importante caratteristica.

Componenti UML: Deployment Diagrams 11/14 Componenti UML: Deployment Diagrams Il Deployment Diagram mostra l'architettura dal punto di vista fisico e logistico di un sistema. Tale diagramma può descrivere i vari dispositivi presenti, mostrare le varie connessioni che intercorrono tra di essi e, ancora, il software che è installato su ogni macchina.

I simboli grafici Elementi Strutturali Elementi Comportamentali 12/14 Deployment Component Class Interface Use Case Elementi Comportamentali :Name2 :Name1 Sequence Activity Collaboration :Name1 :Name2 1:Messages State

I simboli grafici Relazioni Raggruppamento 13/14 Association Generalization Dependency Realization Raggruppamento Package

I simboli grafici Estensioni Annotazioni ed Actor 14/14 <<Stereotipo>> {Constraint} Annotazioni ed Actor Note Actor

UML: Considerazioni Nell’effettuare la traduzione di un sistema descritto in ambiente UML in un sistema descritto in ambiente Matlab ci si serve prevalentemente di: Class Diagram State Diagram Collaboration Diagram Sequence Diagram

Ambiente Matlab Esistono principalmente due modi per poter simulare un sistema descritto in UML attraverso le funzionalità offerte da Matlab: Mediante Simulink e Stateflow utilizzati rispettivamente per simulare sistemi continui e ad eventi discreti (macchine a stati) Mediante scrittura di codice in linguaggio S-Function, anch’esso integrato pienamente in Matlab. Si procederà ora analizzando prima lo Stateflow che risulta essere lo strumento più semplice per poter rappresentare sistemi di tipo discreto o ibridi (in aggiunta a Simulink) e che rispetto ad S-function è più “User Friendly”

Ambiente Matlab: Stateflow 1/5 Ambiente Matlab: Stateflow Lo stateflow è uno strumento di sviluppo grafico per sistemi basati sulla teoria delle macchine a stati finiti ossia sistemi di controllo logici (controllore on-off, scheduler), o sistemi di supervisione (controllori ad alto livello, ecc). Una macchina a stati finiti, dunque, non è altro che la rappresentazione di un sistema a eventi discreti la cui evoluzione è regolata dal susseguirsi di condizioni vere o false. L’approccio utilizzato da Stateflow per descrivere un sistema a stati discreti è quello di modellarne il comportamento, in termini di transizioni attraverso gli stati. Lo stato attivo è determinato basandosi sul susseguirsi di eventi sotto determinate condizioni. Pertanto le transizioni e gli stati nel loro complesso non sono altro che delle rappresentazioni grafiche basate su questo tipo di approccio.

Ambiente Matlab: Stateflow 2/5 Ambiente Matlab: Stateflow Le macchine a stati finiti che questo ambiente di sviluppo permette di descrivere, sono caratterizzate da uno stato, un ingresso ed un’uscita e si connettono fra di loro mediante delle transizioni. In dettaglio: Stato: è la condizione (modo) di funzionamento della macchina; Transizione: è la condizione di cambiamento dello stato della macchina; Ingressi: sono informazioni provenienti dall’esterno (eventi, segnali); Uscite: sono segnali verso l’esterno il cui valore può essere funzione degli stati o delle transizioni.

Ambiente Matlab: Stateflow 3/5 Ambiente Matlab: Stateflow Di seguito è riportato un semplice esempio di controllo On-Off di un forno per porre in evidenza le parti caratterizanti di una Macchina a Sati descritta in Stateflow:

Ambiente Matlab: Stateflow 4/5 Ambiente Matlab: Stateflow Le macchine a stati finiti che questo ambiente di sviluppo permette di descrivere, sono caratterizzate da uno stato, un ingresso ed un’uscita e si connettono fra di loro mediante delle transizioni. In dettaglio: Stato: è la condizione (modo) di funzionamento della macchina; Transizione: è la condizione di cambiamento dello stato della macchina; Ingressi: sono informazioni provenienti dall’esterno (eventi, segnali); Uscite: sono segnali verso l’esterno il cui valore può essere funzione degli stati o delle transizioni.

Ambiente Matlab: Stateflow 5/5 Ambiente Matlab: Stateflow Le transizioni avvengono al verificarsi di un evento che può coincidere ad esempio con la variazione di un “oggetto Dato” o “Tempo”. Tali oggetti sono variabili di tipo numerico utilizzate da Stateflow per scambiare informazioni con Simulink, e quindi con il Workspace di Matlab, o con altre Macchine a Stati.

Ambiente Matlab: Considerazioni Come già anticipato, è anche possibile tradurre una descrizione UML in ambiente Matlab attraverso le S-Function, rispettando le regole di scrittura ampiamente trattate in letteratura. Una S-Function è una descrizione, di un sistema dinamico, realizzata attraverso un linguaggio di programmazione, il cui codice può essere scritto utilizzando i linguaggi Matlab o C. Mediante S-Function è possibile descrivere un sistema ibrido completo e pronto per la simulazione, semplicemente analizzando la descrizione UML.

Da UML a Matlab: Un Esempio

UML-Matlab: Esempio Si vedrà ora quali procedure adottare per poter realizzare un modello di simulazione Matlab-Simulink partendo da una descrizione UML di un sistema di tipo ibrido. Verrà considerato come sistema una cella di lavoro da poter utilizzare in catene di montaggio industriali Il sistema, costituito da due bracci robotici, da una rastrelliera, da una attrezzatura su cui eseguire la saldatura, da un nastro trasportatore, e da un pallet svolge ciclicamente le seguenti azioni: Prelievo pezzo A con Movimentatore da rastrelliera; Deposito pezzo A su attrezzatura di saldatura; Prelievo pezzo B con Movimentatore da rastrelliera; Deposito pezzo B su attrezzatura di saldatura; Esecuzione saldatura a punti (Saldatore); Posizionamento dell’assieme su pallet (Movimentatore); Ripetizione saldatura per un secondo pezzo; Allontanamento del pallet con due pezzi saldati dalla cella.

UML-Matlab: Esempio Analizzando tale cella sarà possibile modellare la dinamica dei robots con uno schema Simulink tempo continuo e il funzionamento di tutti gli altri componenti come una sequenza di operazione discrete, ottenendo un sistema complessivamente Ibrido. Verrà elaborata prima una descrizione del sistema in UML, seguendo le procedure già descritte ossia la realizzazione di: Class Diagram State Diagram Collaboration Diagram Sequence Diagram In seguito, servendosi dello State Diagram, si rappresenteranno mediante precise regole di traduzione, le componenti discrete del sistema in ambente Stateflow.

UML-Matlab: Esempio La soluzione adottata per la cella di lavoro prevede che il robot2 (Saldatore) sia posto rispetto alla tavola girevole dalla parte opposta al robot1 (Movimentatore). In figura si indicano schematicamente con Ras la rastrelliera, con R1 e R2 rispettivamente il robot1 e il robot2, con TG la tavola girevole, con P il pallet e con Tr il trasportatore.

Class Diagram Una volta scelti i componenti del sistema si procede con la realizzazione del Class Diagram che servirà a specificare quali oggetti costituiscono il sistema e a grandi linee che relazioni ci sono tra questi tipi di oggetti, ossia che operazioni compiono. Il diagramma contiene pertanto una classe generica Robot e due istanze di tale classe: Saldatore e Movimentatore. Associate ad esse vi è una classe Pezzo, che è a sua volta associata, con molteplicità 2, alla classe Assemblato (composizione dei pezzi A e B). La comunicazione tra i vari elementi della cella è garantita da 3 segnali presenza_pezzo, finecorsa_nastro e presenza assemblato, inviati ai due Robot dalle classi Rastrelliera, TavolaGirevole e NastroTrasportatore. La Dinamica è trattata come una classe a se in cui andranno specificate attraverso delle Note o delle Constraint le equazioni differenziali che regolano il funzionamento del braccio Saldatore e del braccio Movimentatore.

State Diagram Nella realizzazione dello State Diagram si è tenuto conto che il sistema è costituito da due elementi fondamentali che risultano essere i due Robots. Il funzionamento della cella di lavoro nel suo complesso si basa infatti sulle azioni che i due Robots devono compiere per poter effettuare la movimentazione dei pezzi e la saldatura. Le altre componenti ossia la Tavola Girevole, la Rastrelliera e il Nastro Trasportatore sono visti come degli elementi passivi di cui i Robots si servono per poter ricavare delle informazioni o per poter impartire dei comandi.

State Diagram Si è scelto dunque di realizzare due State Diagram: uno per il robot Movimentatore; uno per il robot Saldatore. Di seguito per completezza sono riportati i rispettivi schemi

Collaboration Diagram Il Collaboration Diagram visualizza lo scambio dei messaggi che avviene tra i vari componenti del sistema, come rappresentato in figura:

Sequence Diagram La realizzazione del Sequence Diagram risulta abbastanza semplice, basta considerare infatti la sequenza delle interazioni che avvengono durante il funzionamento del sistema e rappresentarle secondo la sintassi.

Matlab: Simulink e Stateflow Una volta terminata la realizzazione dei diagrammi UML si passa alla traduzione del sistema in un modello di simulazione all’interno di Matlab. Pertanto si procede con la descrizione della componente continua attraverso dei blocchetti simulink e con la descrizione della componente discreta mediante una macchina a stati.

Regole di Traduzione Si riportano per completezza i passaggi che devono essere effettuati per poter trasformare la descrivere un sistema in UML e poi trasformare tale descrizione in un modello Matlab: Analisi dei componenti e delle specifiche di progetto Descrizione dettagliata della dinamica del sistema Realizzazione di opportuni controllori che consentano il rispetto delle specifiche Scrittura del Class Diagram UML Scrittura dello State Diagram Scrittura del Collaboration Diagram e del Sequence Diagram Realizzazione del modello Matlab (componenti continue con Simulink e discrete con Stateflow) Eventuale generazione di codice per la configurazione e la programmazione dei componenti del sistema.

Regole di Traduzione L’unicità di questa procedura è garantita anche grazie ai numerosi strumenti offerti da UML per realizzare la descrizione di un sistema, tra questi assume rilevante importanza il costrutto constraint. La sua funzione è quella di fornire dei vincoli che garantiscano le specifiche determinanti del sistema.

Sviluppi Futuri UML, che di fatto oggi è uno standard, si pone al vertice tra gli strumenti che consentano di strutturare in differenti fasi un qualsiasi tipo di progettazione. Pertanto si rivela estremamente utile nella produzione di software, o in altri campi dell’ingegneria, tra cui anche quello dell’automazione industriale. Se si utilizzasse UML come tramite ossia come punto di unione tra chi ha il compito di descrivere e progettare e chi ha invece il compito di realizzare si potrebbero eliminare inutili e spiacevoli incomprensioni che spesso sono alla base del fallimento di un determinato processo produttivo e di sviluppo. Uno sviluppo futuro potrebbe essere quello di racchiudere le regole di traduzione da UML a Matlab in un software che permetta di generare in modo univoco codice in formato S-Function inserendo i parametri della dinamica e fornendo i file dei diagrammi UML del sistema.

Sviluppi Futuri Questo permetterebbe senza dubbio di descrivere un sistema attraverso un linguaggio universale che non risulti legato a nessun tipo di programma (Matlab, Scilab e così via) ma che attraverso regole simili a quelle per Matlab permetta di sfruttare quella descrizione su qualsiasi piattaforma di simulazione e con qualsiasi sistema operativo (Linux, Windows).