134 lines
6.6 KiB
Plaintext
Executable File
134 lines
6.6 KiB
Plaintext
Executable File
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 [DCC02] implementato dall'omonimo tool [CGK09]
|
|
(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,DKSC02]
|
|
utilizzando operatori, come Join e Rep [SM91], basati
|
|
sulla condivisione di variabili di stato o azioni.
|
|
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++, consentendo
|
|
l'utilizzo di codice C++ nei modelli.
|
|
Pertanto, lo strumento supporta strutture dati C++ esterne
|
|
staticamente definite al momento della compilazione ed il collegamento
|
|
di librerie C++ esterne.
|
|
|
|
Tra i formalismi per la definizione dei modelli atomici, è stato
|
|
scelto quello delle Stochastic Activity Network (SAN) [SM01], 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 dal tool. 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.
|
|
|
|
Il modello composto è ottenuto seguendo l'approccio modulare e
|
|
composizionale DARep [CDM17,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 essere, rispettivamente).
|
|
|
|
Figure 3.13 è il template di SAN atomica che rappresenta un generico
|
|
generatore distribuito (DG).
|
|
|
|
|
|
the generation of active and reactive power (gate WeatherChange and
|
|
activity WPChange), the generation forecast and error (gates isWPset
|
|
and ForecastError, activities WP NextSchedT and WPFore- castChange),
|
|
the occurrence of failures and the recovery actions (at bottom and top
|
|
right of the SAN ).
|
|
|
|
|
|
Figura 6.3 è il template di SAN atomica (con una sola istanza)
|
|
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,
|
|
|
|
|
|
|
|
i posti P, Q, V, Delta, F (flusso di potenza sulle
|
|
linee), I (flusso di corrente sulle linee) rappresentano le grandezze
|
|
elettriche di EI e sono SV condivise tra tutti i
|
|
|
|
|
|
l'attività ScheduledVoltageCTRL rappresenta gli
|
|
intervalli di tempo tra successivi inteventi del sistema di controllo
|
|
del voltaggo (MVGC o LVGC, a seconda del livello MV o LV rappresentato
|
|
dal modello).
|
|
|
|
|
|
it shares places with all the other SAN template instances and it is
|
|
responsible for the PFEs solution and the optimization problem.
|
|
|
|
|
|
|
|
• ESTATE SAN, depicted in Figure 6.3, is responsible for the EI state
|
|
estimation and the voltage control policy formalized by Algorithm
|
|
1. The DARep approach replicates only once ESTATE SAN, producing
|
|
ESTATESANSANDAREP0 depicted in Figure 6.4.
|
|
|
|
|
|
|
|
|
|
|
|
Very briefly, SANs are a variant of Stochastic Petri Nets (SPN) with a graphical
|
|
representation consisting of places, timed and instantaneous activities, and input
|
|
and output gates. Activities are equivalent to transitions in SPN. The amount of time
|
|
to complete a timed activity may be exponentially or nonexponentially distrib- uted.
|
|
Cases can be associated to activities (represented graphically as circles on the right
|
|
side of an activity) and permited to model uncertainty upon completion of an activity.
|
|
The use of gates permits a greater flexibility in specifying enabling conditions and
|
|
completion rules than simple SPN.
|
|
|
|
|
|
|
|
The Mo ̈bius modeling framework and its supporting tool Mo ̈bius [3] are briefly recalled in the following.
|
|
Our models are defined using the SAN formalism [28], a stochastic extension of Petri nets based
|
|
on the following primitives: plain and extended places (blue and orange circles) represent
|
|
SVs, timed and instantaneous activities (hollow and solid vertical bars) with linked input and output gates
|
|
(triangles pointing left or right) represent actions. Extended places represent complex data
|
|
types (like int, float, double, structures and arrays).
|
|
Input gates control when an activity is enabled.
|
|
The delay between enabling and completing of timed activities is a generally distributed random variable,
|
|
whereas enabling and completing of instantaneous activities take place at the same time.
|
|
SVs changes occur when an activity completes, as defined by the input and output gates.
|
|
The SAN primitives are defined by C++ statements, supporting external C++ data structures and
|
|
the linking to external C++ libraries.
|
|
In Mo ̈bius, the Join and Rep state-sharing compositional operators [28] are supported at level of
|
|
AFI [23, 3] as already described in Section 4. The auxiliary functions Index() and Deps(), and
|
|
the operator D are implemented through a Perl program [34, 20] which manipulates the xml files
|
|
describing the models defined in M ̈obius.
|
|
|