ProgettoMartinelli2023/CS Smart Grid 2.5-FDG/CS Smart Grid 2.5-FDG-secti...

157 lines
8.2 KiB
Plaintext
Executable File
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

3.3.3.3 Il formalismo SAN, il tool Mobius e alcuni esempi di modelli sviluppati
Per definire e valutare i modelli proposti, è stato utilizzato il
flessibile e potente ambiente
di modellazione Möbius [DCCDDDSW02(5)] implementato dall'omonimo tool [CGK09(57)]
(i cui componenti principali sono mostrati in Figura xx1),
che supporta una molteplicità di formalismi di modellazione e di
risolutori e le loro interazioni.
Il modello complessivo dell'ambiente Möbius è ottenuto mediante uno o
più sottomodelli composti gerarchicamente (come mostrato in Figure
xx1) al livello di Abstract Functional Interface (AFI) [DCCDDDSW02(5),DKSC02(59)]
utilizzando operatori, come Join e Rep [SM91(33)], basati
sulla condivisione di variabili di stato (SV) o azioni.
SV e azioni sono primitive che generalizzano a livello di AFI i posti
e le transizioni delle reti di Petri.
Ogni sottomodello può essere atomico o a sua volta composto.
Sul modello risultante vengono definite prima le variabili di
performance (che rappresentano le misure di interesse), basate su
strutture di guadagno, ed infine gli
studi da valutare in base alla variabilità dei parametri del modello.
Tutti i formalismi e i risolutori supportati da Möbius sono basati sul
linguaggio di programmazione orientato ad oggetti C++.
Pertanto, lo strumento supporta l'utilizzo del codice C++ nelle
primitive usate per i modelli,
in particolare strutture dati C++ esterne
staticamente definite al momento della compilazione ed il collegamento
di librerie C++ esterne, come mostrato in Figura xxx per le librerie
di risoluzione delle equazioni di flusso di potenza e del problema di
ottimizzazione per trovare la migliore configurazione della Smart Grid
a seguito di un cambiamento di stato.
Tra i formalismi per la definizione dei modelli atomici, è stato
scelto quello delle Stochastic Activity Network (SAN) [SM01(53)], una
estensione stocastica delle reti di Petri basata sulle seguenti
primitive grafiche: posti semplici o estesi (rappresentati da cerchi
blu e arancioni, rispettivamente), attività temporizzate o istantanee
(barre verticali vuote o sottili), porte di input
e di output (triangoli con la punta a sinistra o a destra). In
particolare, un posto semplice rappresenta il tipo "short" del
linguaggio C++, mentre un posto esteso representa tipi di dati di base
primitivi (come "short", "float", "double") e tipi "struct" o "array"
di tipi primitivi o di posti estesi.
Il tempo al completamento di una attività è una variabile casuale
indipendente che
può avere una qualunque delle numerose distribuzioni
supportate da Möbius. Ad ogni attività può essere associato uno o più
case (piccoli cerchietti alla destra dell'attività) che rappresentano
l'incertezza probabilistica al completamento dell'attività. Infine i
gate permettono di specificare condizioni di abilitazione e regole di
completamento delle attività a cui sono connessi.
Il modello composto è ottenuto seguendo l'approccio modulare e
composizionale DARep [CDM17(13),CDM21] che estende Möbius con un nuovo
operatore D (basato su script Perl che modificano i file xml generati
da Möbius) per la replicazione indicizzata di
uno o più modelli atomici "template". Un template rappresenta un
componente generico del sistema modellato in cui possono essere
definite variabili di stato (SV) "dependency-aware", cioè SV che sono
condivise solo tra alcune istanze del template in base ad una
specifica topologia associata a ciascuna di esse (a
differenza di quelle "common" o "local" che sono condivise tra tutte le
istanze o solo locali a ciascuna di esse, rispettivamente).
Figura 3.13 è il template di SAN atomica MV_DS_SAN che rappresenta un
generico generatore distribuito (DG) ed il suo ambiente esterno.
In particolare
esso modella la generazione di potenza attiva e reattiva (P e Q,
tramite le porte WeatherChange e l'attività WPChange), la
previsione di potenza generata e l'errore di previsione (tramite le
porte isWPset e ForecastError, e le attività WP_NextSchedT and
WPForecastChange), l'occorrenza dei fallimenti e le conseguenti azioni
di ripristino (nella parte in basso ed in alto a destra di Figura
3.13). Il posto UpdateEState è di tipo "dependency-aware" essendo
condiviso tra ogni singola istanza di MV_DS_SAN e il sottomodello
ESTATE_SAN.
Figura 6.3 è il template di SAN atomica (con una sola istanza)
ESTATE_SAN che rappresenta i cambiamenti dello stato
elettrico dell'infrastruttura EI (mediante la risoluzione delle
equazioni di flusso di potenza) e la politica di controllo della
tensione elettrica (tramite risoluzione di un problema di ottimizzazione)
come descritta in Figura 2, condividendo posti (cioè SV) con tutte le
altre istanze di template SAN.
In dettaglio, la stima del nuovo stato è
attivata dalla porta di input inUpdate, che abilita l'attività
update non appena UpdateEState==1,
ed è effettuata dalla porta di
output NewES, che in base ai risultati delle equazioni di flusso
aggiorna i valori dei posti P, Q, V, Delta, F
(flusso di potenza sulle linee) e I (flusso di corrente sulle linee)
che rappresentano le grandezze elettriche di EI e richiede un'azione
di controllo aggiornando il valore del posto VOLT_CTRL.
I parametri elettrici sono memorizzati in place di tipo
"dependency-aware" e sono condivisi con istanze di altri template.
Altri place di tipo "dependency-aware" sono condivisi con altre
istanze di SAN template, come ad esempio DG_CTRL_P, che viene usato
dal controllo per identificare un cambiamento di potenza
generata o il fallimento (DG_CTRL_P==0) in una istanza
di MV_DS_SAN.
Le azioni di controllo, eseguite dalla porta di output VoltageCTRL,
sono attivate quando il place VOLT_CTRL==1.
Questo accade ad intervalli di tempo regolari, quando la porta di
output PromoteVoltageCTRL aggiorna il valore di VOLT_CTRL, o quando
avviene un cambiamento di stato in cui ci sono bus con il voltaggio
fuori dai limiti.
Infine, quando a seguito dell'aggiornamento di uno stato viene messo
un token nel posto Blackout, la porta di output TurnOff si
occupa delle situazioni di
blackout aggiornando opportunamente i posti (ad
esempio, ponendo a zero i valori elettrici di potenza e tensione di
tutti i carichi).
Riferimenti:
[5] D. D. Deavours, G. Clark, T. Courtney, D. Daly, S. Derisavi,
J. M. Doyle, W. H. Sanders, and P. G. Webster, “The Möbius framework
and its implementation,” IEEE Trans. on Softw. Eng., vol. 28, no. 10,
pp. 956969, 2002.
[13] S. Chiaradonna, F. Di Giandomenico, and G. Masetti, “A stochastic
modeling approach for an efficient dependability evaluation of large
systems with non-anonymous interconnected components,” in The 28th
Int. Symp. on Softw. Reliab. Eng.-IEEE, Toulouse, France, Oct. 2017,
pp. 4655.
[33] W. H. Sanders and J. F. Meyer, “A unified approach for specifying
measures of performance, dependability and performability,” in
Dependable Computing for Critical Applications, Vol. 4 of Dependable
Computing and Fault-Tolerant Systems, A. Avizienis and J. Laprie,
Eds. Springer Verlag, 1991, pp. 215237.
[53] W. H. Sanders and J. F. Meyer, “Stochastic activity networks:
Formal definitions and concepts,” in Lectures on formal methods and
performance analysis: first EEF/Euro summer school on trends in
computer science, Berg en Dal, The Netherlands, July 3-7, 2000,
Revised Lectures, ser. LNCS, E. Brinksma, H. Hermanns, and
J. P. Katoen, Eds. Springer-Verlag, 2001, vol. 2090, pp. 315343.
[57] T. Courtney, S. Gaonkar, K. Keefe, E. W. D. Rozier, and
W. H. Sanders, “Möbius 2.3: An extensible tool for dependability,
security, and performance evaluation of large and complex system
models,” in 39th Annu. IEEE/IFIP Int. Conf. on Dependable Syst. and
Netw. (DSN 2009), Estoril, Portugal, June 2009, pp. 353358.
[59] S. Derisavi, P. Kemper, W. H. Sanders, and T. Courtney, “The m
̈obius state-level abstract functional interface,” in Computer
Performance Evaluation: Modelling Techniques and Tools, T. Field,
P. G. Harrison, J. Bradley, and U. Harder, Eds. Berlin, Heidelberg:
Springer Berlin Heidelberg, 2002, pp. 3150.
[CDM21] S. Chiaradonna, F. Di Giandomenico, G. Masetti, “On
identity-aware replication in stochastic modeling for simulation-based
dependability analysis of large interconnected
systems”. Perform. Evaluation 147: 102192 (2021).