{"id":41257,"date":"2020-02-06T20:43:44","date_gmt":"2020-02-06T17:43:44","guid":{"rendered":"https:\/\/prohoster.info\/blog\/blog_prohoster\/avtomaticheskaya-proverka-trebovanij-tz-v-proczesse-dinamicheskogo-modelirovaniya"},"modified":"2020-02-06T20:43:44","modified_gmt":"2020-02-06T17:43:44","slug":"avtomaticheskaya-proverka-trebovanij-tz-v-proczesse-dinamicheskogo-modelirovaniya","status":"publish","type":"post","link":"https:\/\/prohoster.info\/it\/blog\/avtomaticheskaya-proverka-trebovanij-tz-v-proczesse-dinamicheskogo-modelirovaniya","title":{"rendered":"Verifica automatica dei requisiti del capitolato tecnico durante la modellazione dinamica","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Continuando il tema <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/466215\/\">\u00abQuali sono le vostre prove?\u00bb<\/a><\/noindex>, analizziamo il problema della modellazione matematica da un'altra prospettiva. Dopo aver verificato che il modello corrisponde alla cruda verit\u00e0 della vita, possiamo rispondere alla domanda principale: \u00abcosa abbiamo esattamente qui?\u00bb. Creando un modello di un oggetto tecnico, di solito vogliamo assicurarci che questo oggetto soddisfi le nostre aspettative. Per questo motivo vengono effettuati calcoli dinamici dei processi e il risultato viene confrontato con i requisiti. Questo \u00e8 il gemello digitale, il prototipo virtuale e altre modernit\u00e0 che, nella fase di progettazione, risolvono il problema di come fare in modo di ottenere ci\u00f2 che abbiamo pianificato.<\/p>\n<p><\/p>\n<p>Come possiamo assicurarci rapidamente che il nostro sistema sia esattamente ci\u00f2 che stiamo progettando, voler\u00e0 o navigher\u00e0 la nostra costruzione? E se vola, quanto in alto? E se naviga, quanto in profondit\u00e0?<\/p>\n<p>\n<img decoding=\"async\" alt=\"Verifica automatica dei requisiti del capitolato tecnico durante la modellazione dinamica\" src=\"\/wp-content\/uploads\/2020\/02\/e26c4b7db4ee148c73586124dacb6025.jpg\" style=\"display:block;margin: 0 auto;\" \/><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<p>In questo articolo si esamina l'automazione del controllo del rispetto dei requisiti di un edificio tecnico nella creazione di modelli dinamici di sistemi tecnici. Come esempio, consideriamo un elemento del capitolato tecnico per il sistema di raffreddamento ad aria di un aereo.<\/p>\n<p><\/p>\n<p>Consideriamo i requisiti che possono essere espressi numericamente e verificati matematicamente sulla base di un modello di calcolo specifico. \u00c8 chiaro che questo \u00e8 solo una parte dei requisiti generali per qualsiasi sistema tecnico, ma \u00e8 proprio su di essi che spendiamo tempo, nervi e denaro per creare modelli dinamici dell'oggetto.<\/p>\n<p><\/p>\n<p>Nella descrizione dei requisiti tecnici sotto forma di documento, si possono evidenziare diverse tipologie di requisiti, ognuna delle quali richiede approcci diversi per la formazione del controllo automatico del rispetto dei requisiti.<\/p>\n<p><\/p>\n<p>Ad esempio, consideriamo un piccolo, ma reale, set di requisiti:<\/p>\n<p>\n<i><\/p>\n<ol>\n<li> Temperatura dell'aria atmosferica in ingresso al SVO:<br \/>\na terra \u2212 da -35 a 35 \u00baC,<br \/>\nin volo \u2212 da -35 a 39 \u00baC.<\/li>\n<li> Pressione statica dell'aria atmosferica in volo \u2212 da 700 a 1013 GPa (da 526 a 760 mmHg).<\/li>\n<li> Pressione totale dell'aria in ingresso al condotto d'aria del SVO in volo \u2212 da 754 a 1200 GPa (da 566 a 1050 mmHg).<\/li>\n<li> Temperatura dell'aria di raffreddamento:<br \/>\na terra \u2212 non superiore a 27 \u00baC, per i blocchi tecnici \u2212 non superiore a 29 \u00baC,<br \/>\nin volo \u2212 non pi\u00f9 di 25 \u00baC, per i blocchi tecnici \u2212 non pi\u00f9 di 27 \u00baC.<\/li>\n<li> Consumo dell'aria di raffreddamento:<br \/>\na terra \u2212 non meno di 708 kg\/h,<br \/>\nin volo \u2212 non meno di 660 kg\/h.<\/li>\n<li> La temperatura dell'aria nei compartimenti degli strumenti \u2212 non pi\u00f9 di 60 \u00baC.<\/li>\n<li> La quantit\u00e0 di umidit\u00e0 fine libera nell'aria di raffreddamento \u2212 non pi\u00f9 di 2 g\/kg di aria secca.<\/li>\n<\/ol>\n<p> <\/i><\/p>\n<p>Anche in un insieme cos\u00ec limitato di requisiti, si possono distinguere almeno due categorie che devono essere trattate in modo diverso nel sistema:<\/p>\n<p><\/p>\n<ul>\n<li> requisiti delle condizioni operative del sistema (p.p. 1-3);<\/li>\n<li> requisiti parametrici del sistema (p.p. 3-7).<\/li>\n<\/ul>\n<p><\/p>\n<p><i>Requisiti delle condizioni operative del sistema<\/i><br \/>\nLe condizioni esterne per il sistema in fase di sviluppo possono essere definite come condizioni al contorno o come risultato del funzionamento dell'intero sistema.<br \/>\nNella modellazione dinamica \u00e8 necessario assicurarsi che le modalit\u00e0 di funzionamento specificate siano coperte dal processo di modellazione.<\/p>\n<p><\/p>\n<p><i>Requisiti parametrici del sistema <\/i><br \/>\nQuesti requisiti rappresentano i parametri forniti dal sistema stesso. Durante la modellazione, possiamo ottenere questi parametri come risultati dei calcoli e assicurarci che i requisiti siano soddisfatti in ciascun calcolo specifico.<\/p>\n<p><\/p>\n<h3>Identificazione e codifica dei requisiti<\/h3>\n<p><\/p>\n<p>Per facilitare il lavoro con i requisiti, gli standard esistenti raccomandano di assegnare un identificatore a ciascun requisito. Durante l'assegnazione degli identificatori \u00e8 molto auspicabile utilizzare un unico sistema di codifica. <\/p>\n<p><\/p>\n<p>Il codice di un requisito pu\u00f2 essere semplicemente un numero che riflette il numero d'ordine del requisito, oppure pu\u00f2 contenere il codice del tipo di requisito, il codice del sistema o dell'aggregato a cui si applica, il codice del parametro, il codice della posizione e molto altro che un ingegnere possa immaginare. (per un esempio di utilizzo della codifica, vedere l'articolo)<\/p>\n<p><\/p>\n<p>Nella tabella 1 \u00e8 fornito un semplice esempio di codifica dei requisiti.<\/p>\n<p><\/p>\n<ol>\n<li> codice sorgente dei requisiti R- requisiti del capitolato tecnico; <\/li>\n<li> codice tipo di requisiti E \u2013 requisiti \u2013 parametri dell'ambiente esterno, o condizioni operative<br \/>\n S \u2014 requisiti forniti dal sistema;<\/li>\n<li> codice stato dell'aereo 0 \u2013 qualsiasi, G \u2013 a terra, F \u2013 in volo;<\/li>\n<li> codice tipo di parametri fisici T \u2013 temperatura, P \u2013 pressione, G \u2013 portata, umidit\u00e0 H;<\/li>\n<li> numero d'ordine del requisito.<\/li>\n<\/ol>\n<p><\/p>\n<table>\n<tr>\n<td><b>ID<br \/>\nRequisiti<\/b><\/td>\n<td><b>Descrizione<\/b><\/td>\n<td><b>Parametro<\/b><\/td>\n<\/tr>\n<tr>\n<td>REGT01<\/td>\n<td>La temperatura dell'aria atmosferica in ingresso al SVO: a sosta \u2014 da -35\u00baC a 35\u00baC.<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>REFT01<\/td>\n<td>La temperatura dell'aria atmosferica in ingresso al SVO: in volo \u2014 da -35 \u00baC a 39 \u00baC.<\/td>\n<td> <\/td>\n<\/tr>\n<tr>\n<td>REFP01<\/td>\n<td>La pressione statica dell'aria atmosferica in volo varia da 700 a 1013 hPa (da 526 a 760 mmHg).<\/td>\n<td> <\/td>\n<\/tr>\n<tr>\n<td>REFP02<\/td>\n<td>La pressione totale dell'aria in ingresso al condotto SVO in volo varia da 754 a 1200 hPa (da 566 a 1050 mmHg).<\/td>\n<td> <\/td>\n<\/tr>\n<tr>\n<td>RSGT01<\/td>\n<td>La temperatura dell'aria di raffreddamento: a sosta non superiore a 27 \u00baC. <\/td>\n<td> <\/td>\n<\/tr>\n<tr>\n<td>RSGT02<\/td>\n<td>La temperatura dell'aria di raffreddamento: a sosta, per i blocchi tecnici non superiore a 29 \u00baC. <\/td>\n<td> <\/td>\n<\/tr>\n<tr>\n<td>RSFT01<\/td>\n<td>La temperatura dell'aria di raffreddamento in volo non superiore a 25 \u00baC. <\/td>\n<td> <\/td>\n<\/tr>\n<tr>\n<td>RSFT02<\/td>\n<td>La temperatura dell'aria di raffreddamento: in volo, per i blocchi tecnici non superiore a 27 \u00baC. <\/td>\n<td> <\/td>\n<\/tr>\n<tr>\n<td>RSGG01<\/td>\n<td>Il flusso d'aria di raffreddamento: a sosta non inferiore a 708 kg\/h.<\/td>\n<td> <\/td>\n<\/tr>\n<tr>\n<td>RSFG01<\/td>\n<td>Il flusso d'aria di raffreddamento: in volo non inferiore a 660 kg\/h.<\/td>\n<td> <\/td>\n<\/tr>\n<tr>\n<td>RS0T01<\/td>\n<td>La temperatura dell'aria nei compartimenti strumenti non superiore a 60 \u00baC. <\/td>\n<td> <\/td>\n<\/tr>\n<tr>\n<td>RSH01<\/td>\n<td>La quantit\u00e0 di umidit\u00e0 fine libera nell'aria di raffreddamento non superiore a 2 g\/kg di aria secca.<\/td>\n<td> <\/td>\n<\/tr>\n<\/table>\n<p><\/p>\n<h3>Progetto del sistema di verifica dei requisiti.<\/h3>\n<p><\/p>\n<p>Per ogni requisito di calcolo esiste un algoritmo di valutazione della conformit\u00e0 tra i parametri calcolati e quelli definiti nel requisito. In sostanza, ogni sistema di controllo contiene sempre algoritmi di verifica dei requisiti per impostazione predefinita. Anche ogni regolatore li contiene. Se la temperatura supera i limiti, viene attivato il condizionatore. Pertanto, il primo passo di qualsiasi regolazione \u00e8 la verifica della conformit\u00e0 dei parametri al requisito.<\/p>\n<p><\/p>\n<p>E poich\u00e9 la verifica \u00e8 un algoritmo, \u00e8 possibile utilizzare gli stessi strumenti e mezzi che utilizziamo per creare programmi di controllo. Ad esempio, l'ambiente SimInTech consente di creare pacchetti di progetti che contengono parti diverse del modello, realizzate sotto forma di progetti separati (modello dell'oggetto, modello del sistema di controllo, modello dell'ambiente, ecc.).<\/p>\n<p><\/p>\n<p>Il progetto di verifica dei requisiti in questo caso diventa un progetto di algoritmi e si collega al pacchetto del modello. E in modalit\u00e0 di modellazione dinamica esegue l'analisi della conformit\u00e0 ai requisiti del capitolato.<\/p>\n<p><\/p>\n<p>Un possibile esempio di presentazione di un progetto di sistema \u00e8 mostrato nella figura 1.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Verifica automatica dei requisiti del capitolato tecnico durante la modellazione dinamica\" src=\"\/wp-content\/uploads\/2020\/02\/e57fda1fb5b835a6ac961639db2b1749.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Figura 1. Esempio di presentazione del progetto di verifica. <\/i><\/p>\n<p><\/p>\n<p>Allo stesso modo, per gli algoritmi di gestione, i requisiti possono essere organizzati come un insieme di fogli. Per facilitare il lavoro con gli algoritmi in ambienti di modellazione strutturale come SimInTech, Simulink, AmeSim vengono utilizzate le possibilit\u00e0 di creazione di strutture multi-livello sotto forma di sottomodelli. Questa organizzazione consente di raggruppare requisiti diversi in insiemi per semplificare il lavoro con la massa di requisiti, come si fa per gli algoritmi di gestione (vedi Fig. 2).<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Verifica automatica dei requisiti del capitolato tecnico durante la modellazione dinamica\" src=\"\/wp-content\/uploads\/2020\/02\/726ad4d5df1975131e71fc8a14ce71fe.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Figura 2. Struttura gerarchica del modello di verifica dei requisiti. <\/i><\/p>\n<p><\/p>\n<p>Ad esempio, nel caso in esame sono state individuate due gruppi: requisiti per l'ambiente e requisiti direttamente legati al sistema. Pertanto, si utilizza una struttura dati a due livelli: due gruppi, ciascuno dei quali \u00e8 un foglio dell'algoritmo.<\/p>\n<p><\/p>\n<p>Per collegare i dati al modello si utilizza uno schema standard di formazione di un database di segnali, in cui vengono memorizzati i dati per lo scambio tra le parti del progetto.<\/p>\n<p><\/p>\n<p>Durante la creazione e il collaudo del software, in questo database vengono inserite le letture dei sensori (analoghi ai sensori reali del sistema) utilizzati dal sistema di gestione.<br \/>\n Per il progetto di verifica, in questo stesso database possono essere salvati qualsiasi parametri calcolati nel modello dinamico e in tal modo utilizzati per verificare il rispetto dei requisiti.<\/p>\n<p>\nIl modello dinamico, in questo caso, pu\u00f2 essere realizzato in qualsiasi sistema di modellazione matematica o anche sotto forma di un programma eseguibile. L'unico requisito \u00e8 la presenza di interfacce software per l'emissione di dati di modellazione verso l'ambiente esterno.<\/p>\n<p><img decoding=\"async\" alt=\"Verifica automatica dei requisiti del capitolato tecnico durante la modellazione dinamica\" src=\"\/wp-content\/uploads\/2020\/02\/ac56799b7a022325f72d0639cd85eba2.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Figura 3. Collegamento del progetto di verifica al modello complesso. <\/i><\/p>\n<p><\/p>\n<p>Un esempio di foglio di verifica dei requisiti \u00e8 mostrato in figura 4. Dal punto di vista dello sviluppatore, si presenta come uno schema di calcolo ordinario, in cui l'algoritmo di verifica dei requisiti \u00e8 rappresentato graficamente.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Verifica automatica dei requisiti del capitolato tecnico durante la modellazione dinamica\" src=\"\/wp-content\/uploads\/2020\/02\/467f3217a65e0b4a1def034ce75c747e.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Figura 4. Foglio di verifica dei requisiti. <\/i><\/p>\n<p><\/p>\n<p>Le parti principali del foglio di verifica sono descritte nella figura 5. L'algoritmo di verifica \u00e8 formato analogamente agli schemi di calcolo degli algoritmi di gestione. Nella parte destra si trova un blocco che legge i segnali dal database. In questo blocco avviene l'accesso al database dei segnali durante la modellazione.<\/p>\n<p><\/p>\n<p>I segnali ricevuti vengono analizzati per calcolare le condizioni di verifica dei requisiti. Nel caso in esame, viene eseguita un'analisi dell'altezza per determinare la posizione dell'aereo (se \u00e8 in sosta o in volo). A questo scopo, \u00e8 possibile utilizzare anche altri segnali e parametri calcolati del modello.<\/p>\n<p><\/p>\n<p>Le condizioni di verifica e i parametri da verificare vengono trasmessi a blocchi di verifica standardizzati, nei quali viene effettuata l'analisi di questi parametri per verificarne la conformit\u00e0 ai requisiti stabiliti. I risultati vengono registrati nel database dei segnali in modo tale da essere utilizzabili per la creazione automatica di una checklist.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Verifica automatica dei requisiti del capitolato tecnico durante la modellazione dinamica\" src=\"\/wp-content\/uploads\/2020\/02\/1aa7778f56190bf51c112e29eab8a13c.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Figura 5. Struttura del foglio di calcolo per la verifica dei requisiti.<\/i><\/p>\n<p><\/p>\n<p>Non \u00e8 necessario utilizzare come parametri da verificare i segnali contenuti nel database, gestiti da parametri calcolati durante il processo di modellazione. Non c'\u00e8 nulla che impedisca nel progetto dei requisiti di effettuare calcoli aggiuntivi, cos\u00ec come calcoliamo le condizioni di verifica.<\/p>\n<p><\/p>\n<p>Ad esempio, un requisito del genere:<\/p>\n<p><\/p>\n<p> <i>Il numero di attivazioni del sistema di correzione durante il volo verso l'obiettivo non deve superare 5, e il tempo totale di funzionamento del sistema di correzione non deve superare i 30 secondi.<\/i><\/p>\n<p><\/p>\n<p>In questo caso, nell'architettura di calcolo del progetto dei requisiti viene aggiunto un algoritmo contatore per le attivazioni e il tempo totale di funzionamento.<\/p>\n<p><\/p>\n<h3>Blocchi di verifica standardizzati per i requisiti.<\/h3>\n<p><\/p>\n<p>Ogni blocco standardizzato per i requisiti \u00e8 destinato a calcolare l'adeguatezza di un requisito di un determinato tipo. Ad esempio, nei requisiti ambientali \u00e8 presente un intervallo di temperature operative dell'aria circostante sia in sosta che in volo. Questo blocco deve ricevere come parametro la temperatura dell'aria nel modello e determinare se questo parametro copre l'intervallo di temperature specificato.\n<\/p>\n<p>Il blocco contiene due porte di ingresso, param e condition.<\/p>\n<p><\/p>\n<p>Alla prima viene fornito il parametro da verificare. In questo caso, \"Temperatura ambiente esterna\".<\/p>\n<p><\/p>\n<p>Alla seconda porta viene fornita una variabile booleana - la condizione per l'esecuzione della verifica.<\/p>\n<p><\/p>\n<p>Se alla seconda porta arriva TRUE (1), il blocco esegue il calcolo della verifica del requisito.<\/p>\n<p><\/p>\n<p>Se sul secondo ingresso arriva FALSE (0), le condizioni di verifica non vengono eseguite. Questo \u00e8 necessario per considerare le condizioni di calcolo. Nel nostro caso, questo ingresso viene utilizzato per attivare o disattivare la verifica in base allo stato del modello. Se l'aeromobile \u00e8 a terra durante la simulazione, i requisiti relativi al volo non vengono verificati, e viceversa: se l'aeromobile \u00e8 in volo, non vengono verificati i requisiti relativi al lavoro in stazionamento.<\/p>\n<p><\/p>\n<p>Questo ingresso pu\u00f2 essere utilizzato anche per configurare il modello, ad esempio, nelle fasi iniziali del calcolo. Quando il modello viene portato nelle condizioni richieste, i blocchi di verifica sono disattivati, ma non appena il sistema entra nella modalit\u00e0 di funzionamento richiesta, i blocchi di verifica vengono attivati.<\/p>\n<p><\/p>\n<p>I parametri di questo blocco sono:<\/p>\n<p><\/p>\n<ul>\n<li>condizioni di confine: limiti superiori (UpLimit) e inferiori (DownLimit) delle gamme che devono essere verificate;<\/li>\n<li> tempo di mantenimento richiesto del sistema sui limiti di confine (TimeInterval) in secondi;<\/li>\n<li>identificatore del requisito ReqName;<\/li>\n<li>ammissibilit\u00e0 di uscita dall'intervallo Out_range \u2013 una variabile booleana che determina se l'uscita del valore dal range controllato \u00e8 una violazione del requisito.<\/li>\n<\/ul>\n<p><\/p>\n<p>In alcuni casi, l'uscita del valore controllato indica che il sistema ha un margine e pu\u00f2 operare oltre il range di lavoro. In altri casi, l'uscita indica che il sistema non \u00e8 in grado di mantenere i parametri stabiliti all'interno del range.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Verifica automatica dei requisiti del capitolato tecnico durante la modellazione dinamica\" src=\"\/wp-content\/uploads\/2020\/02\/3cd48fd6597d1ee11ecaea9931c3fbbb.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Figura 6. Blocco tipico di verifica delle propriet\u00e0 nello schema e i suoi parametri.<\/i><\/p>\n<p><\/p>\n<p>A seguito del calcolo di questo blocco, viene generata una variabile Result in uscita, che pu\u00f2 assumere i seguenti valori:<\/p>\n<p><\/p>\n<ul>\n<li>0 \u2013 rNone, valore non definito;<\/li>\n<li>1 \u2013 rDone, requisito soddisfatto;<\/li>\n<li>2 \u2013 rFault, requisito non soddisfatto.<\/li>\n<\/ul>\n<p><\/p>\n<p>L'immagine del blocco contiene:<\/p>\n<p><\/p>\n<ul>\n<li> testo dell'identificatore;<\/li>\n<li> visualizzazioni numeriche dei parametri dei limiti di misura;<\/li>\n<li> identificatore di stato del parametro di colore.<\/li>\n<\/ul>\n<p><\/p>\n<p>All'interno del blocco potrebbe trovarsi uno schema di deduzione logica piuttosto complesso.<\/p>\n<p>Ad esempio, per controllare il range operativo delle temperature del blocco mostrato nella figura 6, lo schema interno \u00e8 presentato nella figura 7.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Verifica automatica dei requisiti del capitolato tecnico durante la modellazione dinamica\" src=\"\/wp-content\/uploads\/2020\/02\/9ce085c82417fdbc5230056de37af65a.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Figura 7. Schema interno del blocco di determinazione dell'intervallo di temperature.<\/i><\/p>\n<p><\/p>\n<p>All'interno del blocco si utilizzano propriet\u00e0 definite nei parametri del blocco.<br \/>\nOltre all'analisi della conformit\u00e0 ai requisiti, lo schema interno del blocco contiene un grafico necessario per visualizzare i risultati della simulazione. Questo grafico pu\u00f2 essere utilizzato sia per la visualizzazione durante il calcolo che per l'analisi dei risultati dopo il calcolo.<\/p>\n<p><\/p>\n<p>I risultati del calcolo vengono trasferiti in uscita dal blocco e contemporaneamente registrati in un file di report generale, che viene creato sulla base dei risultati dell'intero progetto. (vedi fig. 8)<\/p>\n<p><\/p>\n<p>Un esempio di report, creato in base ai risultati della simulazione, \u00e8 un file html, creato secondo un formato specificato. Il formato pu\u00f2 essere configurato liberamente per adattarsi a quello adottato da una particolare organizzazione.<\/p>\n<p><\/p>\n<p>All'interno del blocco si utilizzano propriet\u00e0 definite nei parametri del blocco.<br \/>\nOltre all'analisi della conformit\u00e0 ai requisiti, lo schema interno del blocco contiene un grafico necessario per visualizzare i risultati della simulazione. Questo grafico pu\u00f2 essere utilizzato sia per la visualizzazione durante il calcolo che per l'analisi dei risultati dopo il calcolo.<\/p>\n<p><\/p>\n<p>I risultati del calcolo vengono trasferiti in uscita dal blocco e contemporaneamente registrati in un file di report generale, che viene creato sulla base dei risultati dell'intero progetto. (vedi fig. 8)<\/p>\n<p><\/p>\n<p>Un esempio di report, creato in base ai risultati della simulazione, \u00e8 un file html, creato secondo un formato specificato. Il formato pu\u00f2 essere configurato liberamente per adattarsi a quello adottato da una particolare organizzazione.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Verifica automatica dei requisiti del capitolato tecnico durante la modellazione dinamica\" src=\"\/wp-content\/uploads\/2020\/02\/8ff948417d799bce621e34c709154116.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Figura 8. Esempio di file di report basato sui risultati della simulazione.<\/i><\/p>\n<p><\/p>\n<p>In questo esempio, la configurazione della forma del report viene eseguita direttamente nelle propriet\u00e0 del progetto, e il formato \u00e8 specificato nella tabella come segnali globali del progetto. In questo caso, SimInTech si occupa della configurazione del report, mentre il blocco di registrazione dei risultati nel file utilizza queste righe per registrare nel file di report.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Verifica automatica dei requisiti del capitolato tecnico durante la modellazione dinamica\" src=\"\/wp-content\/uploads\/2020\/02\/bbe363bf1d81d00aebb67ca29a35811b.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Figura 9. Configurazione del formato del report nei segnali globali del progetto.<\/i><\/p>\n<p><\/p>\n<h3>Utilizzo del database dei segnali per i requisiti.<\/h3>\n<p><\/p>\n<p>Per automatizzare il lavoro con le impostazioni delle propriet\u00e0 per ogni blocco standard, viene creata una struttura standard nel database dei segnali. (vedi fig. 10)<\/p>\n<\/p>\n<p><img decoding=\"async\" alt=\"Verifica automatica dei requisiti del capitolato tecnico durante la modellazione dinamica\" src=\"\/wp-content\/uploads\/2020\/02\/7e20a24ca5dadd2da6542325e964ec00.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Figura 10. Esempio di struttura del blocco di verifica dei requisiti nel database dei segnali.<\/i><\/p>\n<p><\/p>\n<p>Il database dei segnali fornisce:<\/p>\n<p><\/p>\n<ul>\n<li> Conservazione di tutti i parametri necessari a soddisfare i requisiti del sistema.<\/li>\n<li> Visualizzazione conveniente dei requisiti esistenti nel progetto basati sui parametri specificati e sui risultati correnti della simulazione.<\/li>\n<li> Impostazione di un blocco o di un gruppo di blocchi utilizzando un linguaggio di scripting. Le modifiche nel database dei segnali portano a cambiamenti nei valori delle propriet\u00e0 del blocco nello schema.<\/li>\n<li> Conservazione di descrizioni testuali, collegamenti ai punti del capitolato o identificatori nel sistema di gestione dei requisiti.<\/li>\n<\/ul>\n<p><\/p>\n<p>Le strutture del database dei segnali per i requisiti possono essere facilmente configurate per lavorare con sistemi di gestione dei requisiti di terze parti. Lo schema generale di interazione con i sistemi di gestione dei requisiti \u00e8 illustrato nella figura 11.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Verifica automatica dei requisiti del capitolato tecnico durante la modellazione dinamica\" src=\"\/wp-content\/uploads\/2020\/02\/3f6d67b8160255fd39d0d8bedf8be655.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Figura 11. Schema di interazione con il sistema di gestione dei requisiti.<\/i><\/p>\n<p><\/p>\n<p>La sequenza di interazione del progetto di test SimInTech con il sistema di gestione dei requisiti \u00e8 la seguente:<\/p>\n<p><\/p>\n<ol>\n<li> Il compito tecnico viene suddiviso in requisiti.<\/li>\n<li> Vengono identificati i requisiti del compito tecnico che possono essere verificati tramite modellazione matematica dei processi tecnici.<\/li>\n<li> Gli attributi dei requisiti identificati vengono trasferiti nel database dei segnali SimInTech nelle strutture dei blocchi standard (ad esempio, temperatura massima e minima).<\/li>\n<li> Durante il calcolo, i dati delle strutture vengono trasferiti negli schemi di calcolo dei blocchi, viene eseguita l'analisi e i risultati vengono salvati nel database dei segnali.<\/li>\n<li> Al termine del calcolo, i risultati dell'analisi vengono trasferiti al sistema di gestione dei requisiti.<\/li>\n<\/ol>\n<p><\/p>\n<p>Le fasi di lavoro con i requisiti 3 - 5 possono ripetersi durante il processo di progettazione, quando si verificano cambiamenti nella costruzione e\/o nei requisiti e, di conseguenza, \u00e8 necessaria una nuova verifica dell'impatto delle modifiche apportate.<\/p>\n<p><\/p>\n<h3>Conclusioni.<\/h3>\n<p><\/p>\n<ul>\n<li> Il prototipo creato del sistema consente una significativa riduzione del tempo di analisi dei modelli esistenti rispetto ai requisiti del compito tecnico.<\/li>\n<li> La tecnologia di test proposta utilizza modelli dinamici gi\u00e0 esistenti e pu\u00f2 essere utilizzata anche per qualsiasi modello dinamico, inclusi quelli creati al di fuori dell'ambiente SimInTech.<\/li>\n<li> L'uso dell'organizzazione dati in pacchetti consente di creare pacchetti di verifica dei requisiti paralleli allo sviluppo dei modelli, o persino di utilizzare tali pacchetti come compiti tecnici per lo sviluppo di modelli.<\/li>\n<li> La tecnologia pu\u00f2 essere integrata con le esistenti sistemi di gestione dei requisiti senza significativi costi.<\/li>\n<\/ul>\n<p><\/p>\n<p>Per coloro che hanno letto fino in fondo, <noindex><a rel=\"nofollow\" href=\"https:\/\/youtu.be\/be9qPox4AXk\">link al video della dimostrazione del funzionamento del prototipo.<\/a><\/noindex><\/p>\n<p>Fonte: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/486336\/\">habr.com<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041f\u0440\u043e\u0434\u043e\u043b\u0436\u0430\u044f \u0442\u0435\u043c\u0443 \u00ab\u041a\u0430\u043a\u0438\u0435 \u0432\u0430\u0448\u0438 \u0434\u043e\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c\u0441\u0442\u0432\u0430?\u00bb, \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u043d\u0430 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0443 \u043c\u0430\u0442\u0435\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u043c\u043e\u0434\u0435\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0441 \u0434\u0440\u0443\u0433\u043e\u0439 \u0441\u0442\u043e\u0440\u043e\u043d\u044b. \u041f\u043e\u0441\u043b\u0435 \u0442\u043e\u0433\u043e \u043a\u0430\u043a \u043c\u044b \u0443\u0431\u0435\u0434\u0438\u043b\u0438\u0441\u044c, \u0447\u0442\u043e \u043c\u043e\u0434\u0435\u043b\u044c \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u0441\u0435\u0440\u043c\u044f\u0436\u043d\u043e\u0439 \u043f\u0440\u0430\u0432\u0434\u0435 \u0436\u0438\u0437\u043d\u0438, \u043c\u043e\u0436\u043d\u043e \u043e\u0442\u0432\u0435\u0447\u0430\u0442\u044c \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0439 \u0432\u043e\u043f\u0440\u043e\u0441: \u00ab\u0430 \u0447\u0442\u043e, \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e, \u043c\u044b \u0442\u0443\u0442 \u0438\u043c\u0435\u0435\u043c?\u00bb. \u0421\u043e\u0437\u0434\u0430\u0432\u0430\u044f \u043c\u043e\u0434\u0435\u043b\u044c \u0442\u0435\u0445\u043d\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u043e\u0431\u044a\u0435\u043a\u0442\u0430, \u043c\u044b, \u043a\u0430\u043a \u043f\u0440\u0430\u0432\u0438\u043b\u043e, \u0445\u043e\u0442\u0438\u043c \u0443\u0431\u0435\u0434\u0438\u0442\u044c\u0441\u044f, \u0447\u0442\u043e \u044d\u0442\u043e\u0442 \u043e\u0431\u044a\u0435\u043a\u0442 \u0431\u0443\u0434\u0435\u0442 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u043e\u0432\u0430\u0442\u044c \u043d\u0430\u0448\u0438\u043c \u043e\u0436\u0438\u0434\u0430\u043d\u0438\u044f\u043c. \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0438 \u043f\u0440\u043e\u0432\u043e\u0434\u044f\u0442\u0441\u044f [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":41258,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-41257","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.2 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041f\u0440\u043e\u0434\u043e\u043b\u0436\u0430\u044f \u0442\u0435\u043c\u0443 \u00ab\u041a\u0430\u043a\u0438\u0435 \u0432\u0430\u0448\u0438 \u0434\u043e\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c\u0441\u0442\u0432\u0430?\u00bb, \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u043d\u0430 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0443 \u043c\u0430\u0442\u0435\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u043c\u043e\u0434\u0435\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0441 \u0434\u0440\u0443\u0433\u043e\u0439 \u0441\u0442\u043e\u0440\u043e\u043d\u044b.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/it\/blog\/avtomaticheskaya-proverka-trebovanij-tz-v-proczesse-dinamicheskogo-modelirovaniya\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2\" \/>\n\t\t<meta property=\"og:locale\" content=\"it_IT\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0410\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0430\u044f \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u0439 \u0422\u0417 \u0432 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435 \u0434\u0438\u043d\u0430\u043c\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u043c\u043e\u0434\u0435\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041f\u0440\u043e\u0434\u043e\u043b\u0436\u0430\u044f \u0442\u0435\u043c\u0443 \u00ab\u041a\u0430\u043a\u0438\u0435 \u0432\u0430\u0448\u0438 \u0434\u043e\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c\u0441\u0442\u0432\u0430?\u00bb, \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u043d\u0430 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0443 \u043c\u0430\u0442\u0435\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u043c\u043e\u0434\u0435\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0441 \u0434\u0440\u0443\u0433\u043e\u0439 \u0441\u0442\u043e\u0440\u043e\u043d\u044b.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/it\/blog\/avtomaticheskaya-proverka-trebovanij-tz-v-proczesse-dinamicheskogo-modelirovaniya\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2020-02-06T17:43:44+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-02-06T17:43:44+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Verifica automatizzata dei requisiti del compito tecnico durante la modellazione dinamica | ProHoster","description":"Continuando il tema \u00abQuali sono le vostre prove?\u00bb, diamo un'occhiata al problema della modellazione matematica da un'altra prospettiva.","canonical_url":"https:\/\/prohoster.info\/it\/blog\/avtomaticheskaya-proverka-trebovanij-tz-v-proczesse-dinamicheskogo-modelirovaniya","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"it_IT","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0410\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0430\u044f \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u0439 \u0422\u0417 \u0432 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435 \u0434\u0438\u043d\u0430\u043c\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u043c\u043e\u0434\u0435\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f | ProHoster","og:description":"\u041f\u0440\u043e\u0434\u043e\u043b\u0436\u0430\u044f \u0442\u0435\u043c\u0443 \u00ab\u041a\u0430\u043a\u0438\u0435 \u0432\u0430\u0448\u0438 \u0434\u043e\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c\u0441\u0442\u0432\u0430?\u00bb, \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u043d\u0430 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0443 \u043c\u0430\u0442\u0435\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u043c\u043e\u0434\u0435\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0441 \u0434\u0440\u0443\u0433\u043e\u0439 \u0441\u0442\u043e\u0440\u043e\u043d\u044b.","og:url":"https:\/\/prohoster.info\/it\/blog\/avtomaticheskaya-proverka-trebovanij-tz-v-proczesse-dinamicheskogo-modelirovaniya","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2020-02-06T17:43:44+00:00","article:modified_time":"2020-02-06T17:43:44+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"41257","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 00:20:47","updated":"2022-10-01 02:07:44","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/41257","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/comments?post=41257"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/41257\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/media\/41258"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/media?parent=41257"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/categories?post=41257"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/tags?post=41257"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}