Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Robotics and
System
CONTROL Università degli Studi
di Modena e Reggio Emilia
Automazione Industriale
5 - Il linguaggio descrittivo UML
Ingegneria Meccatronica
Ingegneria della Gestione Industriale
AA 2010/2011
Automation
Robotics and
System
CONTROL Università degli Studi
di Modena e Reggio Emilia
UNIFIED MODELING
LANGUAGE
Settembre - Dicembre Automazione Industriale - 5. UML 2
2010
Analisi e Progettazione
ּסAnalisi: studio di cosa deve fare il sistema e come esso è
composto (dal punto di vista “logico”)
ּסProgettazione: studio di come implementare il sistema
(dal punto di vista “tecnico”)
ּסNel ciclo di ciclo di sviluppo e con l’approccio OO, la
distinzione tra le due attività può essere sottile: analizzare i
requisiti funzionali significa anche identificare possibili
oggetti e classi concettuali (base della progettazione
dettagliata)
ּסIl punto cruciale è definire dei metodi adeguati per la
descrizione delle specifiche risultanti sia dall’analisi che
dalla progettazione (relazioni tra classi, interazioni,
struttura del sistema, comportamento, ecc.)
Settembre - Dicembre Automazione Industriale - 5. UML 3
2010
Importanza dei metodi
descrittivi
ּסI metodi di Ingegneria del Software hanno l'obiettivo di
fornire al progettista strumenti indipendenti dai
linguaggi di programmazione per strutturare
l’applicativo.
ּסQuesti strumenti devono permettere di fare fronte alla
complessità dei problemi, utilizzando solo i concetti
caratteristici dell’approccio progettuale, piuttosto che i
costrutti del linguaggio usato per l’implementazione.
ּסTali strumenti sono i linguaggi descrittivi (di specifica)
con i quali ottenere le Descrizioni concettuali (Modelli)
per l’analisi e la progettazione.
ּסTra gli anni 70’ e 90’ sono state proposti molti metodi di
analisi e progettazione (Booch, Object Modeling o OMT
Schaler/Mellor, etc.), e linguaggi di specifica.
ּסLe numerose similitudini tra questi linguaggi hanno fatto
nascere l’esigenza di una standardizzazione.
ּסStandard: Unified Modeling Language pubb.da OMG
(Object Management Group).
http://www.uml.org/
Sistema
Distribuisci azienda
dividendi
Paga
tasse
Acquista materie
prime
Stato
Fornitore
Settembre - Dicembre Automazione Industriale - 5. UML 23
2010
Un esempio: un sistema Azienda
(cont.)
Sistema
vendite
Sistema Acquirente
produzione
Sistema
amministrazione
Settembre - Dicembre Automazione Industriale - 5. UML 25
2010
Come descrivere i “casi
d’uso”?
ּסI casi d’uso definiscono una vista statica delle specifiche.
ּסIl comportamento del caso d’uso (vista dinamica) è definito
con descrizioni testuali o con altri diagrammi UML (es.
Sequence Diagrams, State Diagrams, etc.)
ּסPossiamo collegare agli Use Case Diag le info:
– documenti “informali” scambiati con il cliente.
– i requisiti non funzionali a quelli funzionali (es. vincoli
sulle prestazioni, elenco messaggi ed eventi scambiati
con l’utente).
– descrizioni più dettagliate (es. con Sequence Diagrams)
di scenari base (funzionamento normale) e alternativi
(funzionamento anomalo), da usare per i test di
validazione.
Settembre - Dicembre Automazione Industriale - 5. UML 26
2010
Flusso delle attività (esempio)
Caso d’uso: “Afferra pezzo grezzo”
ּסPrecondizione: Il braccio deve essere collocato sul pezzo.
ּסFlusso di attività (passi):
1. Apri pinza
2. Scendi sul pezzo
3. Chiudi pinza
4. Sali in posizione di volo
ּס Postcondizione: Braccio collocato sul pezzo, pezzo
afferrato.
CLASS DIAGRAMS
Attributi (dati)
1
1
1
1
1
1
1
1 1
1
High Speed
High Flex
Asep.& Fill.
Main
El. Cab. High
Flex
Chemicals
ASU
ASU--m Forming FFU High
Unit Speed
Portion
High
Speed
High Flex High High Family
Speed Speed
Portion Family
Settembre - Dicembre Automazione Industriale - 5. UML 45
2010
<<Specialized Module>>
High Speed Family forming unit
<<Module>>
<<Physical unit>> Forming Unit
Main Electrical Cabin
<<Specialized Module>>
High speed portion flexible unit
<<Module>>
Automatic Splicing <<Specialized Module>>
Unit Flexible forming unit
<<Machine supervisor>>
Filling Machine
<<Specialized Module>>
High Speed Family final
<<Module>> folder unit
Chemical Unit
<<Specialized Module>>
<<Module>> <<Module>> High speed portion final folder
Aseptic unit Final Folder Unit unit
<<Specialized Module>>
Flexible final folder unit
TempSensor ProximitySensor
SDIWindow MDIWindow
DeviceIO MotorControl
SimpleDevice * Motor
Register
ADConverter StepperMotor
DIAGRAMMI D’INTERAZIONE:
SEQUENCE E
COLLABORATION DIAGRAM.
Settembre - Dicembre Automazione Industriale - 5. UML 61
2010
Diagrammi d’interazione: Sequence e
Collaboration Diagrams
Link Messaggio
“Send” stimolo
“Return” stimolo
“Focus of control”
dell’oggetto
Stati
Transizioni
Attivita’
Azioni
State1 State2
State5
State3 State4
State1 State2
State5
State3 State4
Supertati, Macrostati
Settembre - Dicembre Automazione Industriale - 5. UML 84
2010
Limitazione dei diagrammi di
stato tradizionali (SFC)
( ּס2) Distinguibilita’: in alcuni casi, uno stato non può
essere decomposto in una singola sotto-sequenza
ּסEsempio: un dispositivo può essere:
{SPENTO, ACCESO}, ma quando ACCESO può essere
sia {IN ATTESA, OPERATIVO, BLOCCATO} che {CON
DISPLAY ACCESO, CON DISPLAY SPENTO}
SuperstateA SuperstateB
State3
State1
State4
State2
State5
ּסAzioni e attività
ּסSelf-transition
dove:
– Evento è lo stimolo che “scatena” (trigger) la transizione
– Condizione è un espressione booleana (guard), che deve
essere vera all’istante dell’evento “trigger”, altrimenti la
transizione non viene effettuata
– Eventi gen sono eventi “generati” dalla Macchina a Stati, verso
altri oggetti o verso regioni concorrenti della stessa Macchina a
Stati
– Azioni sono, come detto, operazioni o semplici assegnamenti
da compiere all’atto dell’esecuzione della transizione
State5
State1 State2
State1
State2
[Cond2]
[Cond1]
[Cond3]
C
State3
ev1
State4
Settembre - Dicembre Automazione Industriale - 5. UML 99
2010
Esempio con Fork/Join