UML State Diagrams. Nondeterminismo. Macchina a Stati Finiti (Automa a stati finiti, Finite State Machine, FSM)

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "UML State Diagrams. Nondeterminismo. Macchina a Stati Finiti (Automa a stati finiti, Finite State Machine, FSM)"

Transcript

1 Macchina a Stati Finiti (Automa a stati finiti, Finite State Machine, FSM) Descrizione grafica del comportamento di una FSM on UML State Diagrams Lamp On A. Fantechi 1/4/2010 off on Lamp Off off Macchina a Stati Finiti (Automa a stati finiti, Finite State Machine, FSM) Descrizione formale del comportamento di una FSM: Una FSM M è una quadrupla (S, s 0, E, R) dove: S è un insieme finito di stati s 0 S è lo stato iniziale E è un insieme di eventi (trigger) R S x E xs è la relazione di transizione. Nondeterminismo Spesso si usa una funzione di transizione invece di una relazione di transizione: R: S x E S In questo modo il prossimo stato è sempre determinato univocamente dall evento di input. Caso di nondeterminismo --> (s 1, e, s 2 ) R si scrive anche s 1 e s 2 1

2 Uscite, azioni Uscite generate dall automa: off Lamp On Lamp Off on print( print( on ) off Macchina di Mealy Lamp On print( on ) off Lamp Off on on off Macchina di Moore Descrizione formale macchine Mealy e Moore Una Macchina di Mealy è una sestupla (S, s 0, E, R, O, o) dove: S è un insieme finito di stati s 0 S è lo stato iniziale E è un insieme di eventi (trigger) R : S x E S è la funzione di transizione. O è un insieme di possibili uscite o : S x E O è la funzione di uscita Una Macchina di Moore è una sestupla (S, s 0, E, R, O, o) dove: S è un insieme finito di stati s 0 S è lo stato iniziale E è un insieme di eventi (trigger) R : S x E S è la funzione di transizione. O è un insieme di possibili uscite o : S O è la funzione di uscita (determinismo) Extended Finite State Machines (EFSM) Estensione con variabili ( extended state ) ctr : Integer off Lamp On Lamp Off on ctr := ctr + 1 off EFSM Una EFSM (di Mealy) è definita da: Un insieme di segnali di input (input alphabet) Un insieme di segnali di output (output alphabet) Un insieme di stati Un insieme di transizioni segnale di trigger guardia azione Un insieme di variabili (extended state variables) Un indicazione di stato iniziale (stato iniziale + valore iniziale delle variabili) Un insieme di stati finali (vuoto nel caso di macchina non terminante) 2

3 Harel Statecharts Basic UML Statechart Diagram Create da David Harel (I-Logix) alla fine degli anni 80, come ulteriore estensione delle EFSM Formano la base del modello comportamentale di UML Supportano Stati annidati (gerarchie di stati) Azioni su Transizioni Entry (ingresso in uno stato) Exit (uscita da uno stato) Attività eseguite all interno di uno stato (Do) Guardie History Eventi di Broadcast Regioni Ortogonali (AND-States) Initial pseudostate Transition Final state top state top Ready Done stop /ctr := 0 stop State Trigger Action 9 Che tipo di comportamento? In generale, le EFSM sono adatte per descrivere un comportamento dicreto, event-driven inappropriate per modellare comportamento continuo in UML non ci sono strumenti per modellare un comportamento continuo threshold time Comportamento Event-Driven Evento = un tipo di occorrenza di qualcosa di osservabile interazioni: Invocazione sincrona di un metodo di un oggetto (call event) Ricezione asincorna di un segnale (signal event) Occorrenza di istanti di tempo (time event) Scadenza di un intervallo Tempo di clock o di calendario Aggiornamento del vlore di una variabile (change event) Istanza di un Evento (Event Instance) = un istanza di un tipo di evento che accade in un certo istante di tempo e che non ha durata 3

4 Comportamento Event-Driven - UML Comportamento di un oggetto Passivo - Modello Generale In linea di principio, si può parlare di comportamento eventdriven per un qualsiasi tipo di sistema In UML, il comportamento event-driven è quello manifestato dagli oggetti. Quindi possiamo associare agli oggetti di una classe un comportamento event-driven specificato attraverso uno state diagram. La semantica degli state diagram UML è data principalmente in relazione ad oggetti attivi Trattamento dello specifico metodo richiesto void:offhook (); {busy = true; obj.reqdialtone(); }; Initialize Wait Wait for for Handle Terminate Oggetti Passivi e Macchine a Stati Oggetti e flussi di controllo (threads) mapping: Initialize Wait for Event Handle Event Terminate on Lamp On print( on ) off off Lamp Off stop Oggetti Passivi: flusso di controllo esterno Oggetti Attivi: proprio flusso di controllo Initialize Initialize Wait Wait for for Handle Handle Terminate Terminate Initialize Initialize Wait Wait for for Handle Handle Terminate Terminate 4

5 Flussi concorrenti Initialize Initialize Wait Wait for for Handle Handle Terminate Terminate Oggetti Attivi e Macchine a Stati Oggetti Attivi con il proprio flusso di controllo anactive #currentevent : Event poll/defer created start + start ( ) + poll ( ) + stop ( ) start/^master.ready() ready ready stop/ Un oggetto passivo può essere attraversato da flussi concorrenti: --> problema di sincronizzazione Un oggetto attivo ha un proprio, unico, flusso: la concorrenza si ottiene con due oggetti attivi, istanze distinte della stessa classe poll/^master.ack() Le variabili di stato esteso sono gli attributi dell oggetto. Semantica degli Oggetti Attivi Run-to-completion model Coda di eventi Run-to-completion model Active: Il run-to-completion model step definisce come avviene una transzione tra due configurazioni della macchina a stati. Configurazione = stato corrente + valore delle variabili di stato esteso + situazione della coda in ingresso Un evento in coda (received) può essere prelevato (dispatched) dalla coda e trattato solo quando l elaborazione dell evento precedente è terminata (consumed). Durante uno step di run-to-completion può essere eseguita una sequenza di varie attività, che possono includere la modifica di un attributo locale, l invio di un segnale, l invocazione di un metodo di un altro oggetto, la rimozione di un evento dalla coda di ingresso 5

6 Stati UML Sintassi completa Initializing Valve ValveOk: Boolean = FALSE ValveAperture: int = 0 cmdsize: int entry / ValveOK = TestValve( ) do / OpenTo(cmdSize: int) exit / printmessage(valveaperature) A event parameters event name entry / g(x), h(y) exit / m(a), n(b) do / act(a,y,z) defer / e1, e2 e3 / p(x,y), q(z) T1(int r)[r < 0] / f(r) entry actions exit actions activities deferred events internal transition state name state guard action list B 22 Un evento può essere: Eventi Una condizione che diventa vera (guardia) Ricezione di un esplicito segnale da un altro oggetto Ricezione di una chiamata a un metodo da un altro oggetto Timeout (passage of a specified interval) Eventi possono causare transizioni di stato (etichette sulle) Transizioni event-name (parameter list) [guard] / action expression event-name nome dell evento di trigger per la transizione parameter list parametri con tipo (opzionale) guard espressione Booleana sui parametri e sugli attributi dell oggetto (variabili) action-expression lista di operazioni da eseguire quando la transizione viene selezionata: la lista è eseguita atomicamente 6

7 Esempi di etichette sulle transizioni Tipi di Eventi JustDoIt JustDoIt(x) JustDoIt(x: int) JustDoIt(x) [x>0] JustDoIt [y<10] / print(y) JustDoIt(x,y) [x>y+10] / print (x+y); target->gensignal(nike.makemoney(muchodollaro)) UML definisce 4 tipi di eventi Signal Event Ricezione di un segnale Asinchrono e.g. evflameon Call Event Ricezione di un invocazione di un metodo e.g. op(a,b,c) Change Event Aggiornamento del valore di una variabile (condivisa) Time Event Scadenza di un tempo Relativo (intervallo) Raggiungimento di un tempo Assolute e.g. tm(pulsewidthtime) State Entry and Exit Actions Ordine delle Azioni: un caso semplice Exit actions precedono le transizioni Entry action seguono le transizioni LampOn entry/lamp.on(); exit/lamp.off(); e1 e2 LampOn entry/lamp.on(); exit/printf printf( exiting ); off/printf printf( to to off ); Sequenza di azioni risultante printf( exiting ); printf( to to off ); lamp.off(); LampOff entry/lamp.off(); exit/printf printf( exiting ); off/printf printf( needless ); printf( exiting ); printf( needless ); needless ); lamp.off(); 7

8 Transizioni Interne State ( Do ) Activities Self-transitions Non provocano l esecuzione di entry e exit actions transizione interna triggered da un off event LampOff entry/lamp.off(); exit/printf printf( exiting ); off/null; thread concorrente che esegue fino a che: l attività è completata oppure si esce dallo stato con una transizione uscente Error entry/printf printf( error! error! ) do/while (true) alarm.ring(); do activity Guardie Esecuzione Condizionale di transizioni Le guardie (predicati Booleani) non devono avere side-effect bid [value < 100] /reject Selling bid [value >= 200] /sell Happy Static Conditional Branching Abbreviazione grafica per evidenziare una signola transizione uscente Selling Happy bid bid [(value >= 100) & (value < 200)] /sell [value < 100] /reject [value >= 200] /sell [(value >= 100) & (value < 200)] /sell Unhappy Unhappy 8

9 Dynamic Conditional Branching Choice pseudostate: le guardie vengono valutate solo quando viene raggiunto lo pseudostato. Macchine a stati gerarchiche stati decomposti ricorsivamente in macchine a stati [gain < 100] /reject Dynamic choicepoint Selling Unhappy bid /gain := calculatepotentialgain(value) [gain >= 200] /sell [(gain >= 100) & (gain < 200)] /sell Happy LampOff entry/lamp.off() off/ LampOn entry/lamp.on() flash/ LampFlashing 1sec/ FlashOn entry/lamp.on() 1sec/ FlashOff entry/lamp.off() OR States Sintassi state Migliorano la scalabilità Migliorano la comprensibilità Permettono la decomposizione gerarchica di un problema (divide-and conquer) Possibilità: Stati annidati sullo stesso diagramma Stati annidati su diagrammi separati aka submachines or-states ev_2 nested state 35 9

10 OR States Statechart gerarchica entry/ Print(ErrCode) Group Transitions Transizioni a più alto livello nella gerarchia di stati Default transition to the initial pseudostate Completion Transitions Triggered da un evento di completion generato automaticamente quando uno macchina immediatamente annidata termina LampOff entry/lamp.off() off/ flash/ LampFlashing FlashOn entry/lamp.on() Committing Phase1 completion transition (no trigger) LampOn entry/lamp.on() 1sec/ 1sec/ FlashOff entry/lamp.off() Phase2 CommitDone Group transition 10

11 Regole di Triggering Due o più transizioni possono avere lo stesso evento trigger La transizione più interna ha la precedenza Un evento in coda è consumato sia che attivi una transizione sia che non attivi alcuna transizione. LampFlashing off/ FlashOn FlashOff Ordine delle azioni annidate Da fuori a dentro le azioni entry Da dentro a fuori le azioni exit U U1 entry: x(c) exit: y() entry: f() exit: g(a,b) first f() then x(c) A first y() then g(a,b) 42 Deferred Events Ordine delle Azioni: Caso Complesso Gli eventi in coda che non possono attivare una transizione vengono scartati, fino a che un evento in grado di attivare una transizione non venga trovato nella coda. Deferred events Se però un evento è in una deferred list, non viene scartato e rimane in coda (finchè rimane nella deferred list) Se l oggetto transisce in uno stato dove l evento non è più presente in una deferred list, tale evento viene scartato. Deferred event off/ LampOff entry/lamp.off() off/defer LampOn entry/lamp.on() S1 exit/exs1 S11 exit/exs11 E/actE S2 entry/ens2 inits2 S21 entry/ens21 sequenza di esecuzione delle Azioni, in caso di triggering della transizione exs11 exs1 acte ens2 inits2 ens21 11

12 Ortogonalità Viste multiple simultanee sulla stessa entità age Child Adult Retiree Person financialstatus Poor Rich AND-States Gli stati possono essere decomposti in OR-States Uno stato (super-stato) può essere decomposto in un numero qialsiasi di OR-States Quando l oggetto si trova in un super-stato, deve trovarsi in UNO dei suoi OR-substates. oppure AND-State Uno stato (super-stato) può essere decomposto in un numero qialsiasi di AND-States (regioni ortogonali) Quando l oggetto si trova in un super-stato, deve trovarsi in TUTTI i suoi AND-substates attivi. Regioni separate da linee tratteggiate Regioni Ortogonali AND-States Combinazione di descrizioni multiple simultanee age financialstatus Child Poor Adult age financialstatus Retiree Child Rich Adult Poor Retiree Rich 12

13 AND-States Regioni Ortogonali - Semantica transition Tutte le regioni ortogonali reagiscono allo stesso evento, (in principo) simultaneamente. state legalstatus financialstatus initial pseudostate LawAbiding Poor robbank/ robbank/ conditional pseudostate and-states Outlaw Rich AND-States & Concorrenza Gli AND-states non sono necessariamente concorrenti Semantica degli AND-states tipicamente a interleaving Uso concettualmente errato dell ortogonalità Uso di regioni per modellare oggetti attivi independenti Person1 Person2 UML usa la concorrenza tra oggetti attivi come principale modo di modellare la concorrenza Gli AND-states possono essere implementati come threads concorrenti, ma questa non è l unica strategia di implementazione corretta. Person1 Child Adult Retiree Person2 Child Adult Retiree Soluzione: --> due istanze dello stesso oggetto attivo!!! 13

14 Catch22 sanitystatus Interazioni tra Regioni Tipicamente, attraverso variabli condivise o riferimenti a cambio di stato delle altre regioni. request Grounding/ Crazy entry/sane := false; (flying)/ Sane entry/sane := true; sane : Boolean flying : Boolean flightstatus Flying entry/flying := true; (~sane)/ Grounded entry/flying := false; (sane)/ AND-State Communication Gli AND-states possono communicare via: Broadcast events Ricevuti da tutti gli AND-states attivi Propagated events Una transizione in un AND-state può inviare un evento sentito da un altro AND-state Guardie [IS_IN( state )] usa il substate di un AND-state in una guardia Attributi Siccome gli AND-states fano parte dello stesso oggetto, vedono tutti gli attributi dell oggetto (variabili condivise) Propagazione e Broadcast Fork e Join Transizioni verso/da regions ortogonali: age / Child Adult Retiree Staff Member Manager employee 55 14

15 Transizioni Complesse pseudostates fork S1 S S1_1 e2 S1_2 e5 join initial pseudostate history pseudostate A B e1 e5 S2_1 e3 S2_2 S2 conditional pseudostate e4 C terminal pseudostate Pseudostates History C Symbol or Symbol Name Branch Pseudostate (type of junction pseudostate) Symbol H Symbol Name (Shallow) History Pseudostate Ritorno a uno stato gerarchico già visitato deep /shallow history T * or or n Terminal or Final Pseudostate Synch Pseudostate H* (Deep) History Pseudostate Initial or Default Pseudostate suspend/ Diagnostic1 Diagnosing Diagnostic2 [g] Fork Pseudostate Join Pseudostate Junction Pseudostate Merge Junction Pseudostate (type of junction pseudostate) resume/ H* Step11 Step12 Step21 Step22 [g] Choice Point Pseudostate label Stub Pseudostate 15

16 Deep History Shallow History Synch Pseudostate Synch Pseudostate Data Processing Permette di far scattare una transizione solo quando un insieme di transizioni è avvenuto Memorizza che una o più specifiche transizioni sono avvenute, Simile al posto (piazza, place) di una Rete di Petri Permette di sincronizzare più AND-States Waiting for Processing Logging Data Datum Data datasignal Synch Pseudostate with unbounded multiplicity synch state * User Monitoring Applying /active alarm ct = 0 Alarm Filters Idle Waiting to Process done tm(displaytime) Alarms alarmraised C [active alarm ct > 0]/ gensignal(alarmraised) Waiting to [else] accept /active alarm ct = 0 Displaying Alarms accept Alarm Processing 1 synch state 16

17 Stub Notation Abbreviazione notazionale: nessuna aggiunta semantica LampOff entry/lamp.off() flash/ LampFlashing stub state reference toon(mode: tmode) defaultmode = mode; Submachines: Reference Self Testing include / BITSubmachine device Test RAM Test On done(defaultmode) Operating include / OpsSubmachine dotest Normal Failsafe off/ FlashOn Off Abort doramtest dodevicetest [else] [recoverok] LampOn entry/lamp.on() FlashOff tooff Unrecoverable Error submachine indicator C errorfound errorhandled Submachines: Referenced Uso degli State Diagrams submachine stub state Testing ROM device Test Testing Components Logging Test Results BITSubmachine entry / iserror = false; done done Testing RAM errorfound/ iserror = true; C Abort [else] RAM Test [iserror == false] Normal OpsSubmachine (m: tmode) C Failsafe [else] Normal Mode [m == normal] Demo Mode [m == failsafe] Failsafe Mode tooff errorfound doramtest subend dotest Normal dodevicetest Specifica del comportamento di un sistema (necessita di uno strumento di editing) Simulazione (necessita di uno strumento di simulazione) Verifica (Model checking) (necessita di uno strumento di verifica) Generazione automatica del codice (necessita di un generatore di codice) 17

18 Formal Verification Development Cycle - 1 Natural Language Formalized Modelization Phase Architectural Design Detailed Design Software Requirements Document (Finite State) Model Architectural Design Document Detailed Design Document Coding Source code Formalization Phase Formal Verification Integration Test Unit Test Properties (formal expr. of Requirements) Test Case Generation Test Suite Functional test Formal Verification Development Cycle - 2 Model Driven Development Natural Language Formalized Modelization Phase Software Requirements Document (Finite State) Model Code Generation Source code Formalization Phase Formal Verification Properties (formal expr. of Requirements) Test Suite Test Case Generation Functional test Model Checking (Clarke/Emerson, Queille/Sifakis) ACTL Formula in logica temporale p Modello a stati finiti AG([p] EF<q> true) q MC si algoritmo no p q q q Contro-esempio Il modello deve rappresentare tutti i comportamenti Specifica: relazioni tra Class Diagrams, Sequence Diagrams e State Diagrams Il diagramma delle classi definisce le relazioni tra le classi del sistema: alcune delle classi definissono oggetti passivi, altre oggetti attivi Il comportamento di ogni oggetto attivo viene specificato attraverso uno state diagram, associato alla relativa classe Un sequence diagram definisce un possibile schema di interazione (scenario) tra oggetti attivi o passivi, istanze di classi definite nel class diagram. 18

19 PBX Main Class Diagram PBX Connection Statechart PBX Line Statechart PBX Telephone Statechart 19

20 PBX Main? Call Connect Scenario (1 of 4) User? Credits Bruce Powel Douglass, Real-Time UML, Slides, Ilogix Gunnar Övergaard, Bran Selic, Conrad Bock, Behavioral Modeling, Modeling with OMG UML Tutorial Series, UML Revision Task Force, Nov

UML State Diagrams. A. Fantechi 1/4/2010. Macchina a Stati Finiti. (Automa a stati finiti, Finite State Machine, FSM)

UML State Diagrams. A. Fantechi 1/4/2010. Macchina a Stati Finiti. (Automa a stati finiti, Finite State Machine, FSM) UML State Diagrams A. Fantechi 1/4/2010 Macchina a Stati Finiti (Automa a stati finiti, Finite State Machine, FSM) Descrizione grafica del comportamento di una FSM on Lamp On on off Lamp Off off Macchina

Dettagli

LEZIONE 7 - STATE MACHINE DIAGRAM

LEZIONE 7 - STATE MACHINE DIAGRAM Laboratorio di Ingegneria del Software a.a. 2013-2014 LEZIONE 7 - STATE MACHINE DIAGRAM Catia Trubiani Gran Sasso Science Institute (GSSI), L Aquila catia.trubiani@gssi.infn.it Riepilogo della lezione

Dettagli

Modulo 13. Diagrammi degli stati

Modulo 13. Diagrammi degli stati Modulo 13 Diagrammi degli stati Stato degli oggetti Descrive una macchina a stati specifica i vari stati che un oggetto può assumere durante la sua vita in risposta agli eventi uno stato è una condizione

Dettagli

Activity Diagrams. Ing. Orazio Tomarchio Orazio.Tomarchio@diit.unict.it

Activity Diagrams. Ing. Orazio Tomarchio Orazio.Tomarchio@diit.unict.it Activity Diagrams Ing. Orazio Tomarchio Orazio.Tomarchio@diit.unict.it Dipartimento di Ingegneria Informatica e delle Telecomunicazioni Università di Catania Agenda Cosa è un Activity Diagram Quando si

Dettagli

Statechart Diagrams. Ing. Orazio Tomarchio Orazio.Tomarchio@diit.unict.it

Statechart Diagrams. Ing. Orazio Tomarchio Orazio.Tomarchio@diit.unict.it Statechart Diagrams Ing. Orazio Tomarchio Orazio.Tomarchio@diit.unict.it Dipartimento di Ingegneria Informatica e delle Telecomunicazioni Università di Catania Agenda Cosa è uno Statechart Diagram Quando

Dettagli

I metodi formali nel processo di sviluppo del software

I metodi formali nel processo di sviluppo del software I metodi formali nel processo di sviluppo del software I metodi formali consentono di creare una specifica più completa, uniforme e non ambigua di quelle prodotte usando i metodi convenzionali ed orientati

Dettagli

Sequence Diagram e Collaboration Diagram

Sequence Diagram e Collaboration Diagram Sequence Diagram e Collaboration Diagram Ing. Orazio Tomarchio Orazio.Tomarchio@diit.unict.it Dipartimento di Ingegneria Informatica e delle Telecomunicazioni Università di Catania Sommario Interaction

Dettagli

A intervalli regolari ogni router manda la sua tabella a tutti i vicini, e riceve quelle dei vicini.

A intervalli regolari ogni router manda la sua tabella a tutti i vicini, e riceve quelle dei vicini. Algoritmi di routing dinamici (pag.89) UdA2_L5 Nelle moderne reti si usano algoritmi dinamici, che si adattano automaticamente ai cambiamenti della rete. Questi algoritmi non sono eseguiti solo all'avvio

Dettagli

UML. Analisi Modellazione e altro. Macchine a stati, Diagrammi di attività.. UML aa 2006/7 G.Bucci 1

UML. Analisi Modellazione e altro. Macchine a stati, Diagrammi di attività.. UML aa 2006/7 G.Bucci 1 UML Analisi Modellazione e altro Macchine a stati, Diagrammi di attività.. PROVVISORIO UML aa 2006/7 G.Bucci 1 Macchine a stati in UML Sono una versione estesa (derivante dalle StateChart [Harel]) delle

Dettagli

Descrizione di un algoritmo

Descrizione di un algoritmo Descrizione di un algoritmo Un algoritmo descrive due tipi fondamentali di oper: calcoli ottenibili tramite le oper primitive su tipi di dato (valutazione di espressioni) che consistono nella modifica

Dettagli

Sistemi elettronici per la sicurezza dei veicoli: presente e futuro. Il ruolo della norma ISO 26262 per la Sicurezza Funzionale

Sistemi elettronici per la sicurezza dei veicoli: presente e futuro. Il ruolo della norma ISO 26262 per la Sicurezza Funzionale La Sicurezza Funzionale del Software Prof. Riccardo Sisto Ordinario di Sistemi di Elaborazione delle Informazioni Dipartimento di Automatica e Informatica Sicurezza Funzionale del Vari Aspetti Sicurezza

Dettagli

Unified Modeling Language UML 2.0 -Sequence, Communication and Interaction Overview diagrams -

Unified Modeling Language UML 2.0 -Sequence, Communication and Interaction Overview diagrams - Unified Modeling Language UML 2.0 -Sequence, Communication and Interaction Overview diagrams - Henry Muccini Università degli Studi dell'aquila muccini@di.univaq.it http://www.henrymuccini.com Engineering

Dettagli

Business Process Modeling and Notation e WebML

Business Process Modeling and Notation e WebML Business Process Modeling and Notation e WebML 24 Introduzione I Web Service e BPMN sono standard de facto per l interoperabilità in rete a servizio delle imprese moderne I Web Service sono utilizzati

Dettagli

Modellazione di sistema

Modellazione di sistema Corso di Laurea Specialistica in Ingegneria Informatica Corso di Ingegneria del Software A. A. 2008 - Modellazione di sistema E. TINELLI Contenuti Approcci di analisi Linguaggi di specifica Modelli di

Dettagli

Tipi primitivi. Ad esempio, il codice seguente dichiara una variabile di tipo intero, le assegna il valore 5 e stampa a schermo il suo contenuto:

Tipi primitivi. Ad esempio, il codice seguente dichiara una variabile di tipo intero, le assegna il valore 5 e stampa a schermo il suo contenuto: Tipi primitivi Il linguaggio Java offre alcuni tipi di dato primitivi Una variabile di tipo primitivo può essere utilizzata direttamente. Non è un riferimento e non ha senso tentare di istanziarla mediante

Dettagli

Artifact Centric Business Processes (I)

Artifact Centric Business Processes (I) Introduzione Autore: Docente: Prof. Giuseppe De Giacomo Dipartimento di Informatica e Sistemistica SAPIENZA - Universitá di Roma 16 Novembre 2008 Una visione assiomatica La modellazione dei processi di

Dettagli

Sistemi Informativi. Introduzione. Processi fisici. Tipologie di processi. Processi informativi. Processi aziendali

Sistemi Informativi. Introduzione. Processi fisici. Tipologie di processi. Processi informativi. Processi aziendali Introduzione Sistemi Informativi Linguaggi per la modellazione dei processi aziendali Paolo Maggi Per progettare un sistema informativo è necessario identificare tutti i suoi elementi

Dettagli

Corso di Linguaggi di Programmazione

Corso di Linguaggi di Programmazione Corso di Linguaggi di Programmazione Lezione 19 Alberto Ceselli alberto.ceselli@unimi.it Dipartimento di Tecnologie dell Informazione Università degli Studi di Milano 18 Maggio 2010 idea: sfruttare i

Dettagli

Requisiti normativi, standard, template

Requisiti normativi, standard, template Schemi di rappresentazione delle procedure Costituiscono al tempo stesso modalità di analisi (o descrizione) e di progettazione. Sono schemi di rappresentazione utilizzati anche per descrivere i workflow.

Dettagli

Organizzazione degli archivi

Organizzazione degli archivi COSA E UN DATA-BASE (DB)? è l insieme di dati relativo ad un sistema informativo COSA CARATTERIZZA UN DB? la struttura dei dati le relazioni fra i dati I REQUISITI DI UN DB SONO: la ridondanza minima i

Dettagli

Arduino: Programmazione

Arduino: Programmazione Programmazione formalmente ispirata al linguaggio C da cui deriva. I programmi in ARDUINO sono chiamati Sketch. Un programma è una serie di istruzioni che vengono lette dall alto verso il basso e convertite

Dettagli

Semantica dei programmi. La semantica dei programmi è la caratterizzazione matematica dei possibili comportamenti di un programma.

Semantica dei programmi. La semantica dei programmi è la caratterizzazione matematica dei possibili comportamenti di un programma. Semantica dei programmi La semantica dei programmi è la caratterizzazione matematica dei possibili comportamenti di un programma. Semantica operazionale: associa ad ogni programma la sequenza delle sue

Dettagli

FSM: Macchine a Stati Finiti

FSM: Macchine a Stati Finiti FSM: Macchine a Stati Finiti Sommario Introduzione Automi di Mealy Automi di Moore Esempi Introduzione Metodo per descrivere macchine di tipo sequenziale Molto utile per la descrizione di Unità di controllo

Dettagli

Macchine a stati finiti. Sommario. Sommario. M. Favalli. 5th June 2007

Macchine a stati finiti. Sommario. Sommario. M. Favalli. 5th June 2007 Sommario Macchine a stati finiti M. Favalli 5th June 27 4 Sommario () 5th June 27 / 35 () 5th June 27 2 / 35 4 Le macchine a stati si utilizzano per modellare di sistemi fisici caratterizzabili mediante:

Dettagli

Lezione 8. La macchina universale

Lezione 8. La macchina universale Lezione 8 Algoritmi La macchina universale Un elaboratore o computer è una macchina digitale, elettronica, automatica capace di effettuare trasformazioni o elaborazioni su i dati digitale= l informazione

Dettagli

Gestione Automatizzata di una Lista Nozze

Gestione Automatizzata di una Lista Nozze Gestione Automatizzata di una Lista Nozze Si deve progettare un sistema per la gestione di liste nozze on line. Il sistema rende possibile la consultazione di un catalogo on line, la creazione di una lista

Dettagli

Scheduling della CPU. Sistemi multiprocessori e real time Metodi di valutazione Esempi: Solaris 2 Windows 2000 Linux

Scheduling della CPU. Sistemi multiprocessori e real time Metodi di valutazione Esempi: Solaris 2 Windows 2000 Linux Scheduling della CPU Sistemi multiprocessori e real time Metodi di valutazione Esempi: Solaris 2 Windows 2000 Linux Sistemi multiprocessori Fin qui si sono trattati i problemi di scheduling su singola

Dettagli

Macchine a stati finiti. Sommario. Sommario. M. Favalli. Le macchine a stati si utilizzano per modellare di sistemi fisici caratterizzabili mediante:

Macchine a stati finiti. Sommario. Sommario. M. Favalli. Le macchine a stati si utilizzano per modellare di sistemi fisici caratterizzabili mediante: Sommario Macchine a stati finiti M. Favalli Engineering Department in Ferrara 4 Sommario (ENDIF) Analisiesintesideicircuitidigitali / 35 (ENDIF) Analisiesintesideicircuitidigitali 2 / 35 4 Le macchine

Dettagli

Registratori di Cassa

Registratori di Cassa modulo Registratori di Cassa Interfacciamento con Registratore di Cassa RCH Nucleo@light GDO BREVE GUIDA ( su logiche di funzionamento e modalità d uso ) www.impresa24.ilsole24ore.com 1 Sommario Introduzione...

Dettagli

Dall Algoritmo al Programma. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni

Dall Algoritmo al Programma. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni Dall Algoritmo al Programma Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni IL PROGRAMMA Gli algoritmi sono modelli di descrizione astratti e per controllarne il funzionamento devono essere

Dettagli

Sistemi Informativi I Caso di studio con applicazione di UML

Sistemi Informativi I Caso di studio con applicazione di UML 9 CASO DI STUDIO CON APPLICAZIONE DI UML...2 9.1 IL CASO DI STUDIO...2 9.1.1 Il sistema attuale...2 9.2 IL PROBLEM STATEMENT...3 9.2.1 Formulazione del Problem statement per il caso proposto...3 9.3 USE

Dettagli

Esempio - Controllo di un ascensore

Esempio - Controllo di un ascensore Costruiamo un modello ground a partire dai requisiti. Dimostriamo le proprietà di correttezza desiderate n ascensori m piani che soddisfano i seguenti requisiti: 1. Ogni ascensore ha per ogni piano un

Dettagli

Introduzione ai tipi di dato astratti: applicazione alle liste

Introduzione ai tipi di dato astratti: applicazione alle liste Universitàdegli Studi di L Aquila Facoltàdi Scienze M.F.N. Corso di Laurea in Informatica Corso di Laboratorio di Algoritmi e Strutture Dati A.A. 2005/2006 Introduzione ai tipi di dato astratti: applicazione

Dettagli

Realizzazione di Politiche di Gestione delle Risorse: i Semafori Privati

Realizzazione di Politiche di Gestione delle Risorse: i Semafori Privati Realizzazione di Politiche di Gestione delle Risorse: i Semafori Privati Condizione di sincronizzazione Qualora si voglia realizzare una determinata politica di gestione delle risorse,la decisione se ad

Dettagli

Cosa significa che il SW è non lineare? Piccoli cambiamenti nel codice portano a grandi cambiamenti di comportamento

Cosa significa che il SW è non lineare? Piccoli cambiamenti nel codice portano a grandi cambiamenti di comportamento Cosa significa che il SW è non lineare? Piccoli cambiamenti nel codice portano a grandi cambiamenti di comportamento Cosa s'intende per Information Hiding? Impedire l'accesso a dettagli implementativi

Dettagli

Automazione Industriale (scheduling+mms) scheduling+mms. adacher@dia.uniroma3.it

Automazione Industriale (scheduling+mms) scheduling+mms. adacher@dia.uniroma3.it Automazione Industriale (scheduling+mms) scheduling+mms adacher@dia.uniroma3.it Introduzione Sistemi e Modelli Lo studio e l analisi di sistemi tramite una rappresentazione astratta o una sua formalizzazione

Dettagli

Siti web centrati sui dati Architettura MVC-2: i JavaBeans

Siti web centrati sui dati Architettura MVC-2: i JavaBeans Siti web centrati sui dati Architettura MVC-2: i JavaBeans 1 ALBERTO BELUSSI ANNO ACCADEMICO 2009/2010 Limiti dell approccio SEVLET UNICA La servlet svolge tre tipi di funzioni distinte: Interazione con

Dettagli

2. Simulazione discreta: approcci alla simulazione

2. Simulazione discreta: approcci alla simulazione Anno accademico 2007/08 Elementi di un programma di simulazione Controllore Tempo di simulazione Generatore dei dati di input Entità Eventi Attività Stati Processi Simulazione per eventi: le classi L approccio

Dettagli

Modello dei processi. Riedizione delle slide della Prof. Di Stefano

Modello dei processi. Riedizione delle slide della Prof. Di Stefano Modello dei processi Riedizione delle slide della Prof. Di Stefano 1 Processi Modello di Processi asincroni comunicanti Process Scheduling Operazioni sui Processi Cooperazione tra Processi Interprocess

Dettagli

(anno accademico 2008-09)

(anno accademico 2008-09) Calcolo relazionale Prof Alberto Belussi Prof. Alberto Belussi (anno accademico 2008-09) Calcolo relazionale E un linguaggio di interrogazione o e dichiarativo: at specifica le proprietà del risultato

Dettagli

Idee guida. Finite State Machine (1) Un automa a stati finiti è definito da una 5- pla: FSM = <Q,,, q0, F>, dove: Finite State Machine (2)

Idee guida. Finite State Machine (1) Un automa a stati finiti è definito da una 5- pla: FSM = <Q,,, q0, F>, dove: Finite State Machine (2) Idee guida ASM = FSM con stati generalizzati Le ASM rappresentano la forma matematica di Macchine Astratte che estendono la nozione di Finite State Machine Ground Model (descrizioni formali) Raffinamenti

Dettagli

Modello a scambio di messaggi

Modello a scambio di messaggi PRIMITIVE PER LO SCAMBIO DI MESSAGGI Un messaggio si può considerare costituito da: origine, destinazione e contenuto Modello a scambio di messaggi type messaggio = record origine: ; destinazione: ; contenuto:

Dettagli

Il Sistema Operativo

Il Sistema Operativo Il Sistema Operativo Il Sistema Operativo Il Sistema Operativo (S.O.) è un insieme di programmi interagenti che consente agli utenti e ai programmi applicativi di utilizzare al meglio le risorse del Sistema

Dettagli

Ingegneria del Software T

Ingegneria del Software T Home Finance 1 Requisiti del cliente 1 Si richiede di realizzare un sistema per la gestione della contabilità familiare. Il sistema consente la classificazione dei movimenti di denaro e la loro memorizzazione.

Dettagli

UML Component and Deployment diagram

UML Component and Deployment diagram UML Component and Deployment diagram Ing. Orazio Tomarchio Orazio.Tomarchio@diit.unict.it Dipartimento di Ingegneria Informatica e delle Telecomunicazioni Università di Catania I diagrammi UML Classificazione

Dettagli

Claudia Raibulet raibulet@disco.unimib.it

Claudia Raibulet raibulet@disco.unimib.it Classi e stati Claudia Raibulet raibulet@disco.unimib.it la classe Cane modella le proprietà comuni di un insieme di oggetti quali attributi ha un cane peso colore come si comporta abbaia morde quali comandi

Dettagli

Reti sequenziali sincrone

Reti sequenziali sincrone Reti sequenziali sincrone Un approccio strutturato (7.1-7.3, 7.5-7.6) Modelli di reti sincrone Analisi di reti sincrone Descrizioni e sintesi di reti sequenziali sincrone Sintesi con flip-flop D, DE, T

Dettagli

Java Virtual Machine

Java Virtual Machine Java Virtual Machine programmi sorgente: files.java compilatore files.class bytecode linker/loader bytecode bytecode Java API files.class interprete macchina ospite Indipendenza di java dalla macchina

Dettagli

Architettura MVC-2: i JavaBeans

Architettura MVC-2: i JavaBeans Siti web centrati sui dati Architettura MVC-2: i JavaBeans Alberto Belussi anno accademico 2008/2009 Limiti dell approccio SEVLET UNICA La servlet svolge tre tipi di funzioni distinte: Interazione con

Dettagli

Gestione del workflow

Gestione del workflow Gestione del workflow Stefania Marrara Corso di Tecnologie dei Sistemi Informativi 2004/2005 Progettazione di un Sistema Informativo Analisi dei processi Per progettare un sistema informativo è necessario

Dettagli

Università di Torino Facoltà di Scienze MFN Corso di Studi in Informatica. Programmazione I - corso B a.a. 2009-10. prof.

Università di Torino Facoltà di Scienze MFN Corso di Studi in Informatica. Programmazione I - corso B a.a. 2009-10. prof. Università di Torino Facoltà di Scienze MFN Corso di Studi in Informatica Programmazione I - corso B a.a. 009-10 prof. Viviana Bono Blocco 9 Metodi statici: passaggio parametri, variabili locali, record

Dettagli

Laurea Specialistica in Informatica

Laurea Specialistica in Informatica Corso di Laurea in FISICA Laurea Specialistica in Informatica Fisica dell informazione 1 Elementi di Architettura degli elaboratori Prof. Luca Gammaitoni Informazioni sul corso: www.fisica.unipg unipg.it/gammaitoni/fisinfoit/gammaitoni/fisinfo

Dettagli

Struttura del calcolatore

Struttura del calcolatore Struttura del calcolatore Proprietà: Flessibilità: la stessa macchina può essere utilizzata per compiti differenti, nessuno dei quali è predefinito al momento della costruzione Velocità di elaborazione

Dettagli

Organizzazione aziendale Lezione 16 BPMN. Ing. Marco Greco m.greco@unicas.it Tel.0776.299.3641 Stanza 1S-28

Organizzazione aziendale Lezione 16 BPMN. Ing. Marco Greco m.greco@unicas.it Tel.0776.299.3641 Stanza 1S-28 Organizzazione aziendale Lezione 16 BPMN Ing. Marco Greco m.greco@unicas.it Tel.0776.299.3641 Stanza 1S-28 Nozioni di base Un sistema è una collezione di entità (es. persone o macchine) che interagiscono

Dettagli

GESTIONE INFORMATICA DEI DATI AZIENDALI

GESTIONE INFORMATICA DEI DATI AZIENDALI GESTIONE INFORMATICA DEI DATI AZIENDALI Alberto ZANONI Centro Vito Volterra Università Tor Vergata Via Columbia 2, 00133 Roma, Italy zanoni@volterra.uniroma2.it Rudimenti di programmazione Programming

Dettagli

Progettaz. e sviluppo Data Base

Progettaz. e sviluppo Data Base Progettaz. e sviluppo Data Base! Progettazione Basi Dati: Metodologie e modelli!modello Entita -Relazione Progettazione Base Dati Introduzione alla Progettazione: Il ciclo di vita di un Sist. Informativo

Dettagli

Ciclo di Istruzione. Ciclo di Istruzione. Controllo. Ciclo di Istruzione (diagramma di flusso) Lezione 5 e 6

Ciclo di Istruzione. Ciclo di Istruzione. Controllo. Ciclo di Istruzione (diagramma di flusso) Lezione 5 e 6 Ciclo di Istruzione Può essere suddiviso in 4 tipi di sequenze di microoperazioni (cioè attività di calcolo aritmetico/logico, trasferimento e memorizzazione dei dati), non tutte necessariamente da realizzare

Dettagli

Sistema Operativo. Fondamenti di Informatica 1. Il Sistema Operativo

Sistema Operativo. Fondamenti di Informatica 1. Il Sistema Operativo Sistema Operativo Fondamenti di Informatica 1 Il Sistema Operativo Il Sistema Operativo (S.O.) è un insieme di programmi interagenti che consente agli utenti e ai programmi applicativi di utilizzare al

Dettagli

L API socket ed i daemon

L API socket ed i daemon L API socket ed i daemon Massimo Bernaschi Istituto per le Applicazioni del Calcolo Mauro Picone Consiglio Nazionale delle Ricerche Viale del Policlinico, 137-00161 Rome - Italy http://www.iac.cnr.it/

Dettagli

Testo Esercizio. Un modello è ragionevole quando contiene queste tre caratteristiche.

Testo Esercizio. Un modello è ragionevole quando contiene queste tre caratteristiche. Testo Esercizio Un negozio di musica vende anche libri e riviste musicali. Si intende automatizzare l intero processo, dall approvvigionamento alla vendita. Si analizzino i requisiti e se ne rappresentino

Dettagli

Diagrammi di stato Statechart Diagrams

Diagrammi di stato Statechart Diagrams ,6 PRG % &RUVR GL,QJHJQHULD GHO 6RIWZDUH Bibliografia: Diagrammi di stato Statechart Diagrams - Slide UML Tutorial Series tratte dal sito: www.omg.org documento: 01-03-03.ppt - Bozze del corso di Ambriola,

Dettagli

Mitho PL KNX Pannello combinato KNX/videocitofonia. Mitho HA KNX Pannello di comando e visualizzazione KNX. Manuale Tecnico

Mitho PL KNX Pannello combinato KNX/videocitofonia. Mitho HA KNX Pannello di comando e visualizzazione KNX. Manuale Tecnico Mitho PL KNX Pannello combinato KNX/videocitofonia Mitho HA KNX Pannello di comando e visualizzazione KNX Mitho PL KNX Mitho HA KNX Manuale Tecnico 1 Sommario 1 2 3 4 5 6 7 Introduzione... 3 Applicazione...

Dettagli

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 2

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 2 Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 2 Dispensa E08 Soluzione Esercizi F. Gasparetti, C. Limongelli Marzo 2008 http://www.dia.uniroma3.it/~java/fondinf1/ Soluzione Esercizi

Dettagli

Testi di Esercizi e Quesiti 1

Testi di Esercizi e Quesiti 1 Architettura degli Elaboratori, 2009-2010 Testi di Esercizi e Quesiti 1 1. Una rete logica ha quattro variabili booleane di ingresso a 0, a 1, b 0, b 1 e due variabili booleane di uscita z 0, z 1. La specifica

Dettagli

Macchine a Stati finiti

Macchine a Stati finiti Macchine a Stati finiti Prof. Alberto Borghese Dipartimento di Scienze dell nformazione borghese@di.unimi.it Università degli Studi di Milano Riferimento al Patterson: Sezione B.0 /3 Sommario Macchine

Dettagli

Cenni su algoritmi, diagrammi di flusso, strutture di controllo

Cenni su algoritmi, diagrammi di flusso, strutture di controllo Cenni su algoritmi, diagrammi di flusso, strutture di controllo Algoritmo Spesso, nel nostro vivere quotidiano, ci troviamo nella necessità di risolvere problemi. La descrizione della successione di operazioni

Dettagli

Sviluppo di processi per l automatizzazione del testing per applicazioni Android

Sviluppo di processi per l automatizzazione del testing per applicazioni Android tesi di laurea Sviluppo di processi per l automatizzazione del testing per applicazioni Anno Accademico 2011/2012 relatori Ch.mo prof. Porfirio Tramontana candidato Enrico Solimeo Matr. 534002361 Contesto:

Dettagli

Modellazione dei dati in UML

Modellazione dei dati in UML Corso di Basi di Dati e Sistemi Informativi Modellazione dei dati in UML Angelo Montanari Dipartimento di Matematica e Informatica Università degli Studi di Udine Introduzione UML (Unified Modeling Language):

Dettagli

Appunti del corso di Informatica 1 (IN110 Fondamenti) 2 Algoritmi e diagrammi di flusso

Appunti del corso di Informatica 1 (IN110 Fondamenti) 2 Algoritmi e diagrammi di flusso Università Roma Tre Facoltà di Scienze M.F.N. Corso di Laurea in Matematica Appunti del corso di Informatica 1 (IN110 Fondamenti) 2 Algoritmi e diagrammi di flusso Marco Liverani (liverani@mat.uniroma3.it)

Dettagli

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

Sommario. Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi. Algoritmi 1 Sommario Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi. 2 Informatica Nome Informatica=informazione+automatica. Definizione Scienza che si occupa dell

Dettagli

Università di Padova Facoltà di Scienze MM.FF.NN Informatica - anno Corso di Ingegneria del Software - B UML

Università di Padova Facoltà di Scienze MM.FF.NN Informatica - anno Corso di Ingegneria del Software - B UML v. 2.3 Università di Padova Facoltà di Scienze MM.FF.NN Informatica - anno 2008-09 Corso di Ingegneria del Software - B UML Diagramma di macchina a stati (state machine diagram) Renato Cte - UML Diagrammi

Dettagli

Algebra Booleana ed Espressioni Booleane

Algebra Booleana ed Espressioni Booleane Algebra Booleana ed Espressioni Booleane Che cosa è un Algebra? Dato un insieme E di elementi (qualsiasi, non necessariamente numerico) ed una o più operazioni definite sugli elementi appartenenti a tale

Dettagli

Il problema. ! Si chiede di sviluppare un applicazione per la

Il problema. ! Si chiede di sviluppare un applicazione per la Il problema! Si chiede di sviluppare un applicazione per la gestione del sistema bibliotecario universitario. La soluzione deve implementare le operazioni basilari per la gestione della biblioteca ed inoltre

Dettagli

Analizzatore lessicale o scanner

Analizzatore lessicale o scanner Analizzatore lessicale o scanner Lo scanner rappresenta un'interfaccia fra il programma sorgente e l'analizzatore sintattico o parser. Lo scanner, attraverso un esame carattere per carattere dell'ingresso,

Dettagli

Università di Pisa Polo Sistemi Logistici Economia e Legislazione dei Sistemi Logistici. Informatica per la Logistica. Lezioni

Università di Pisa Polo Sistemi Logistici Economia e Legislazione dei Sistemi Logistici. Informatica per la Logistica. Lezioni Università di Pisa Polo Sistemi Logistici Economia e Legislazione dei Sistemi Logistici Le grandi e complesse organizzazioni aziendali sono la manifestazione tangibile della tecnologia avanzata, più delle

Dettagli

Soluzione dell esercizio del 12 Febbraio 2004

Soluzione dell esercizio del 12 Febbraio 2004 Soluzione dell esercizio del 12/2/2004 1 Soluzione dell esercizio del 12 Febbraio 2004 1. Casi d uso I casi d uso sono riportati in Figura 1. Figura 1: Diagramma dei casi d uso. 2. Modello concettuale

Dettagli

INFORMATICA GENERALE Prof. Alberto Postiglione Dipartimento Scienze della Comunicazione Università degli Studi di Salerno

INFORMATICA GENERALE Prof. Alberto Postiglione Dipartimento Scienze della Comunicazione Università degli Studi di Salerno INFORMATICA GENERALE Prof. Alberto Postiglione Dipartimento Scienze della Comunicazione Università degli Studi di Salerno UD 3.1b: Costrutti di un Algoritmo Dispense 1.2 I Costrutti di base 13 apr 2010

Dettagli

Scheduling. Sistemi Operativi e Distribuiti A.A. 2004-2005 Bellettini - Maggiorini. Concetti di base

Scheduling. Sistemi Operativi e Distribuiti A.A. 2004-2005 Bellettini - Maggiorini. Concetti di base Scheduling Sistemi Operativi e Distribuiti A.A. 2-25 Bellettini - Maggiorini Concetti di base Il massimo utilizzo della CPU si ottiene mediante la multiprogrammazione Ogni processo si alterna su due fasi

Dettagli

Implementazione di sistemi real time

Implementazione di sistemi real time Implementazione di sistemi real time Automazione 28/10/2015 Vincenzo Suraci STRUTTURA DEL NUCLEO TEMATICO HARDWARE ABSTRACTION LAYER IMPLEMENTAZIONE EVENT-DRIVEN IMPLEMENTAZIONE TIME-DRIVEN SISTEMI DI

Dettagli

Object Oriented Programming

Object Oriented Programming OOP Object Oriented Programming Programmazione orientata agli oggetti La programmazione orientata agli oggetti (Object Oriented Programming) è un paradigma di programmazione Permette di raggruppare in

Dettagli

Tricks & Tips. [Access] Tutorial - ActiveX - Controllo Tree View. - Michele de Nittis - Versione: 1 Data Versione: venerdì 30 agosto 2002

Tricks & Tips. [Access] Tutorial - ActiveX - Controllo Tree View. - Michele de Nittis - Versione: 1 Data Versione: venerdì 30 agosto 2002 Tricks & Tips [Access] - Michele de Nittis - Tutorial - ActiveX - Controllo Tree View Versione: 1 Data Versione: venerdì 30 agosto 2002 1 SOMMARIO PREMESSA...3 INSERIMENTO DEL CONTROLLO...3 AGGIUNTA DELLE

Dettagli

Lezione 4. Modello EER

Lezione 4. Modello EER Lezione 4 Modello EER 1 Concetti del modello EER Include tutti i concetti di modellazione del modello ER Concetti addizionali: sottoclassi/superclassi, specializzazione, categorie, propagazione (inheritance)

Dettagli

I file di dati. Unità didattica D1 1

I file di dati. Unità didattica D1 1 I file di dati Unità didattica D1 1 1) I file sequenziali Utili per la memorizzazione di informazioni testuali Si tratta di strutture organizzate per righe e non per record Non sono adatte per grandi quantità

Dettagli

Concetti di base di ingegneria del software

Concetti di base di ingegneria del software Concetti di base di ingegneria del software [Dalle dispense del corso «Ingegneria del software» del prof. A. Furfaro (UNICAL)] Principali qualità del software Correttezza Affidabilità Robustezza Efficienza

Dettagli

19. LA PROGRAMMAZIONE LATO SERVER

19. LA PROGRAMMAZIONE LATO SERVER 19. LA PROGRAMMAZIONE LATO SERVER Introduciamo uno pseudocodice lato server che chiameremo Pserv che utilizzeremo come al solito per introdurre le problematiche da affrontare, indipendentemente dagli specifici

Dettagli

Pronto Esecuzione Attesa Terminazione

Pronto Esecuzione Attesa Terminazione Definizione Con il termine processo si indica una sequenza di azioni che il processore esegue Il programma invece, è una sequenza di azioni che il processore dovrà eseguire Il processo è quindi un programma

Dettagli

Strumenti di modellazione. Gabriella Trucco

Strumenti di modellazione. Gabriella Trucco Strumenti di modellazione Gabriella Trucco Linguaggio di modellazione Linguaggio formale che può essere utilizzato per descrivere (modellare) un sistema Il concetto trova applicazione soprattutto nell

Dettagli

MODELLAZIONE DEI PROCESSI AZIENDALI. workflow 1

MODELLAZIONE DEI PROCESSI AZIENDALI. workflow 1 MODELLAZIONE DEI PROCESSI AZIENDALI workflow 1 I Processi Definizione: Un Processo è un insieme di attività elementari svolte per raggiungere un certo obiettivo Tipologie di processi: Processi Fisici es.

Dettagli

ESERCIZIO 1 (b) Dove è memorizzato il numero del primo blocco del file? Insieme agli altri attributi del file, nella cartella che contiene il file.

ESERCIZIO 1 (b) Dove è memorizzato il numero del primo blocco del file? Insieme agli altri attributi del file, nella cartella che contiene il file. ESERCIZIO 1 Si consideri un hard disk formattato la cui memoria è suddivisa in 16 blocchi (numerati da 0 a 15). Si supponga che sull hard disk sia memorizzato un unico file, contenuto, nell ordine, nei

Dettagli

Modello Workflow - WIDE

Modello Workflow - WIDE Modello Workflow - WIDE Prof.ssa Gentile a.a. 2011-2012 Modello Wide Workflow on an Intelligent and Distributed database Environment Descrive processi come insiemi di attività tra loro collegate da vincoli

Dettagli

Introduzione a Visual Basic Lezione 1 Concetti base e istruzioni condizionali

Introduzione a Visual Basic Lezione 1 Concetti base e istruzioni condizionali a Visual Basic Lezione 1 Concetti base e istruzioni condizionali Mario Alviano Introduzione all informatica Università della Calabria http://alviano.net/introinfo A.A. 2008/09 Introduzione Un esempio:

Dettagli

FONDAMENTI di INFORMATICA L. Mezzalira

FONDAMENTI di INFORMATICA L. Mezzalira FONDAMENTI di INFORMATICA L. Mezzalira Possibili domande 1 --- Caratteristiche delle macchine tipiche dell informatica Componenti hardware del modello funzionale di sistema informatico Componenti software

Dettagli

Introduzione ai Metodi Formali

Introduzione ai Metodi Formali Intruzione ai Meti Formali Sistemi software anche molto complessi regolano la vita quotidiana, anche in situazioni life-critical (e.g. avionica) e business-critical (e.g. operazioni bancarie). Esempi di

Dettagli

Tecniche di Simulazione: Introduzione. N. Del Buono:

Tecniche di Simulazione: Introduzione. N. Del Buono: Tecniche di Simulazione: Introduzione N. Del Buono: 2 Che cosa è la simulazione La SIMULAZIONE dovrebbe essere considerata una forma di COGNIZIONE (COGNIZIONE qualunque azione o processo per acquisire

Dettagli

Test di unità con JUnit4

Test di unità con JUnit4 Test di unità con JUnit4 Richiamo sul test di unità Il test d unità è una metodologia che permette di verificare il corretto funzionamento di singole unità di codice in determinate condizioni. Nel caso

Dettagli

Nozione di algoritmo. Gabriella Trucco

Nozione di algoritmo. Gabriella Trucco Nozione di algoritmo Gabriella Trucco Programmazione Attività con cui si predispone l'elaboratore ad eseguire un particolare insieme di azioni su particolari informazioni (dati), allo scopo di risolvere

Dettagli

Macchine a stati finiti G. MARSELLA UNIVERSITÀ DEL SALENTO

Macchine a stati finiti G. MARSELLA UNIVERSITÀ DEL SALENTO Macchine a stati finiti 1 G. MARSELLA UNIVERSITÀ DEL SALENTO Introduzione Al più alto livello di astrazione il progetto logico impiega un modello, la cosiddetta macchina a stati finiti, per descrivere

Dettagli

PROGETTAZIONE DEL SOFTWARE

PROGETTAZIONE DEL SOFTWARE PROGETTAZIONE DEL SOFTWARE EMILIANO CASALICCHIO DIPARTIMENTO DI INFORMATICA E SISTEMISTICA SAPIENZA UNIVERSITÀ DI ROMA SEDE DI RIETI HTTP://WWW.CE.UNIROMA2.IT/COURSES/PSW! Cos è UML UNIFIED MODELING LANGUAGE!

Dettagli

Socket & RMI Ingegneria del Software - San Pietro

Socket & RMI Ingegneria del Software - San Pietro Socket & RMI Ingegneria del Software - San Pietro Socket È possibile trattare la comunicazione di rete allo stesso modo con cui è possibile trattare la lettura da file. La classe Socket rappresenta la

Dettagli

MODELLAZIONE DEI PROCESSI AZIENDALI. workflow 1

MODELLAZIONE DEI PROCESSI AZIENDALI. workflow 1 MODELLAZIONE DEI PROCESSI AZIENDALI workflow 1 I Processi Definizione: Un Processo è un insieme di attività elementari svolte per raggiungere un certo obiettivo Tipologie di processi: Processi Fisici es.

Dettagli