Využití modelování a simulace při testování řídicích programů. Miroslav ZBOŘIL Vysoké učení technické v Brně, Fakulta strojního inženýrství Ústav automatizace a informatiky Technická 2, Brno Abstrakt: Příspěvek poukáže na význam a potřebu realizace modelů a využití počítačové simulace pro testování řídicích programů, které nelze testovat na skutečných reálných soustavách, protože při chybě v programu by mohlo dojít ke katastrofickým scénářům. Nejdříve bude popsán současný stav v oblasti simulace a modelování a jaké modely se nejčastěji používají pro testování software. V hlavní části příspěvku bude v několika bodech rozebrána navrhovaná metodika pro modelování a testování software. Na závěr budou uvedeny možné návrhy pro zlepšení testovacích postupů v oblasti testování a modelování software. Klíčová slova: Jakost, software, simulace, modelování, model, testování
1
Úvod
Při testování programů, které řídí rozsáhlé složité soustavy, často nelze použít experimentování se skutečným originálem. Při chybě v programu by pak následně mohlo dojít k velké havárii, která by mohla mít za následek obrovské finanční ztráty, dopady na životní prostředí a v nejhorším případě by mohlo dojít i ke katastrofám jako je např. havárie jaderné elektrárny. Řešením takovéto situace je nejprve provedení experimentů na speciálně vytvořeném modelu. Tento fakt má významný dopad na celý postup testování řídících systémů. Jedná se o problémy, které musí vyřešit několik etap testování takového modelu, jde o návrh takového modelu, realizaci modelu, verifikaci modelu atd.
2
Současný stav
Software je určitým způsobem součástí každého současného automatizačního projektu. Jakožto součást nějakého systému je důležitou složkou zajišťující funkčnost, bezpečnost a spolehlivost takového systému. Problematika tvorby a testování softwaru v automatizovaných systémech je součástí jejich návrhu a realizace. Testování softwaru je v těchto aplikacích těžkým úkolem, který přináší komplikace. Mimořádný je jeho význam zejména v souvislosti se zajišťováním spolehlivosti a bezpečnosti a klíčovou úlohu hraje v automatizačních aplikacích v energetice, především jaderné, v dopravě apod. Simulační modely umožňují návrh a seřízení algoritmů řídících a bezpečnostních systémů, zvýšení spolehlivosti a bezpečnosti systému a optimalizaci procesu. Za tímto účelem byly vytvořeny simulační modely SIMED a DYTE, které popisují chování řídícího a bezpečnostního systému jaderných elektráren Dukovany a Temelín. V poslední době byly tyto modely použity především při spouštění jaderné elektrárny Temelín pro ověření návrhu zkoušek a analýze provedených zkoušek a při ověřování algoritmů v rámci obnovy SKŘ jaderné elektrárny Dukovany.[1], [2]
2.1
Simulátory SIMED a DYTE
Modely jsou založeny na simulačním jazyku MODYS a byly představeny odborné veřejnosti i na konferenci ARAP. Tyto simulátory jsou určeny pro simulaci chování jaderného bloku jaderné elektrárny Temelín a jaderné elektrárny Dukovany při normálních a abnormálních režimech na PC. Umožňují monitorovat časové průběhy technologických parametrů jako jsou výkon, teplota, tlak a hladiny v jednotlivých složkách jaderné elektrárny. Dále pak umožňují sledovat stav regulačních a ochranných systémů.
Moduly, ze kterých je simulátor sestaven, můžeme rozdělit do 5-ti skupin:
•
moduly vstupních dat – jsou zadány základní data, definovány aproximace a dopočteny zbývající parametry (např. jmenovité hodnoty, které nelze zadat přímo)
•
moduly popisující jednotlivé technologické celky – soustavy diferenciálních a algebraických rovnic popisujících dynamiku jednotlivých částí jaderné elektrárny (AZ – aktivní zóna , TG – turbína atd.)
•
moduly regulačních obvodů - soustavy diferenciálních a algebraických rovnic popisujících dynamiku měřících čidel, regulátorů. Simulované řídící algoritmy respektují znalosti řídícího systému. (U jaderné elektrárny Dukovany např.:TVER – původní regulátor turbíny, ARM – původní analogový regulátor reaktoru; u jaderné elektrárny Temelín pak regulace bloku TCS – řídící systém turbíny, RLCS – limitační systém a regulátor reaktoru)
•
moduly ochranného systému technologických celků – rovnice logických vztahů popisujících limitační a blokovací podmínky (u elektrárny Dukovany se jedná o tyto systémy: RTS – systém pro rychlé odstavení reaktoru, ESFAS – systém pro spouštění technických prostředků pro zajištění bezpečnosti bloku apod.)
•
moduly pro výstup výsledků – a) pro výstup analogových veličin – tabulky a uživatelský výstup s definovanými veličinami b) výstup logických hodnot veličin – zápis souborů na disk – soubor pak lze převést do souboru ve znakové formě a seřadit buď podle veličin nebo podle času změn
Více o inženýrských simulátorech, o jejich struktuře a příkladech použití na jaderných elektrárnách Dukovany a Temelín lze najít v [1] a [2].
2.2
Sestavení modelu
Aby modelování a simulace při testování programů přinesly očekávaný efekt, je nutno postupovat systematicky. Na potřebu systematického přístupu k návrhu modelu, jeho realizaci a následně k simulačním experimentům bylo upozorněno již na semináři, který se zabýval modelováním a simulací v oblasti projektového řízení [5]. Zde uvádím přehled základních kroků, které byly autorem referátu doporučeny a budou předmětem doplnění a úprav s ohledem na potřeby přípravy modelu pro testování software: 1.
Úvodní workshop
Seznámení zainteresovaných pracovníků s problematikou modelování a simulace. Provede se nejlépe vstupní instruktáží přizvaným lektorem z poradenské firmy nebo vysoké školy, který účelově vysvětlí zúčastněním pracovníkům principy a základní pojmy z této oblasti, aby se usnadnila komunikace při tvorbě modelu. 2.
Formulace zadání Pověření pracovníci sestaví studii, která obsahuje: - účel a cíle modelování - očekávané přínosy - omezující podmínky - stručný popis skutečného systému, který se má stát originálem modelu a jeho významné charakteristiky z hlediska modelování a simulace - plánovaný časový harmonogram průběhu prací - stanovení týmu pro sestavení modelu včetně výběru poradenské firmy - návrh kontaktních pracovníků, kteří jsou schopni upřesnit popis modelovaného systému, a seznam těch, kteří budou pracovat s modelem v praxi - odhadované náklady na sestavení modelu.
3.
Analýza systému a stanovení koncepce modelu
Pro úspěšné sestavení modelu je potřeba co možná nejvěrněji popsat modelovaný systém z hlediska účelu a cílů modelování. Popis modelovaného systému může být proveden slovně, graficky, prostřednictvím symbolického aparátu matematiky a logiky. Důležité je stanovení hodnot proměnlivých parametrů, se kterými se bude experimentovat a určení rozsahu jejich uvažovaných hodnot. Pokud je nutno shromáždit určité údaje, je nutno zajistit jejich shromáždění (např. statistická data popisující počet objednávek různých výrobků v jednotlivých měsících od zákazníků za posledních pět let). Současně se stanoví kontrolní postup, který ověří správné chování modelu obvykle tím, že se sestaví několik zkušebních testovacích případů, kde k určité kombinaci vstupních parametrů známe příslušný výsledek tak, abychom prostřednictvím těchto případů mohli ověřit, že sestavený model pracuje správně. Na závěr se uvede výčet doporučení pro detailní sestavení modelu ( např. doporučený programový systém, návrh na dodavatele doporučeného systému, návrh na poradenskou firmu apod.). Zároveň se zpřesňuje odhad nákladů na detailní sestavení modelu. 4.
Detailní sestavení modelu
Teprve v této etapě sestavujeme vlastní model. Jeho sestavení se liší případ od případu podle typu modelu a použitých nástrojů při vytváření modelu. Obecně je možno doporučit začít nejprve se specifikací vlastností modelu z hlediska požadovaných funkcí a provozních vlastností. Specifikace se odvozuje jednak z formulace zadání, jednak z výsledků předchozí analýzy modelovaného systému a nakonec z požadavků na průběh experimentování s modelem. Při tvorbě modelu bychom se měli snažit, aby model byl snadno ovladatelný, poskytoval srozumitelné indikace pro obsluhu a eliminoval případné chyby nebo opomenutí obsluhy a aby nebyla v mimořádných situacích ohrožena obsluha (např. při uvolnění modelu letadla v aerodynamickém tunelu, přetržení hadice s tlakovým olejem u trenažéru). Model by měl být dostatečně kvalitně dokumentován a měl by být doprovázen jasnými a srozumitelnými pokyny pro pozdější uživatele, kterými bude používán. 5.
Testování modelu
Po vytvoření modelu musí dojít k jeho prověření, zda opravdu věrně odráží vlastnosti a funkce originálního modelovaného systému. K tomu slouží připravené zkušební testovací příklady, prostřednictvích kterých ověřujeme, zda model funguje správně. Kromě těchto testů bychom měli ověřit, zda model dovede odmítnout chybné zásahy a zadání obsluhy a jak se dovede vypořádat s různými havarijními situacemi ( např. přerušení proudu v el. síti). V průběhu testování nejen ověřujeme do jaké míry se shoduje chování modelu s modelovaným systémem, ale využíváme této etapy k získání významných údajů o době, potřebné k simulaci určitých případů, ke zjištění pracnosti přípravy jednotlivých experimentů apod. Shromáždění a vyhodnocení těchto údajů nám usnadní plánování pozdějších simulačních experimentů. Testy by měly být protokolovány a protokoly založeny, aby bylo možno testy zopakovat a porovnat výsledky, kdykoliv jsou pochybnosti o správném fungování modelu nebo když jsou pochybnosti o výsledcích experimentu. 6.
Příprava experimentů
Úspěch tohoto kroku nezáleží jen na skutečnosti, že pro experimenty použijeme dobře sestavený a testy ověření model. Je nutno si připravit systematický a promyšlení plán experimentů s modelem, který by prostřednictvím získaných výsledků dal odpovědi na řešené problémy. V žádném případě bychom neměli spoléhat pouze na nahodilé zadávání parametrů a spoléhat, že se nám šťastnou náhodou podaří modelováním vyřešit existující problém. Při sestavování plánu experimentů musíme mít na paměti účel a cíl modelování, musíme vzít v úvahu funkce modelu, využít získaných zkušeností z testování modelu a snažit se vytvořit efektivní plán experimentů. Tento fakt se často opomíjí k vlastní škodě uživatelů. Přitom by měl být plán modifikovatelný podle postupně získaných poznatků z provedených experimentů. 7.
Simulace
Vlastní simulace slouží k podpoře řešení problémů uživatele. Např. uživatel zadá požadovaný sortiment součástí, které mají být vyrobeny, stanoví několik možných variant jejich termínové realizace a způsobu výroby.
Model jako odpověď poskytne údaje o předpokládaných nákladech, potřebných k výrobě součástí, předpokládané vytížení strojů a výrobních pomůcek a potřebu dělníků jednotlivých profesí na určitých pracovištích v denním rozčlenění. Jednotlivé simulační experimenty by měly být vhodně protokolovány (obvykle s využitím možností modelu), abychom mohli zpětně experimenty vyhodnocovat. 8.
Interpretace výsledků
Interpretací výsledků simulace rozumíme jejich vyhodnocení a přijetí konkrétních závěrů pro řešení zadaného problému. 9)
Vyhodnocení modelu a návrhy na jeho inovaci
Součástí užívání modelu by měl být i stanovený postup, jak bude model v průběhu času ve stanovených okamžicích vyhodnocován a jak budou zpracovány návrhy na jeho inovaci. Tato činnost by měla také sloužit k vyhodnocení přínosů modelu. Simulace tedy přestavuje podmnožinu celé problematiky modelování, při níž hraje časové hledisko důležitou roli.
MODELOVÁNÍ
SIMULACE
Obr. 1. Simulace podmnožinou modelování
3
Cíle výzkumu
Vztah mezi originálem a modelem pro potřeby experimentování lze vyjádřit následujícím schématem, ze kterého lze vyčíst, že díky modelu můžeme za jistých předpokladů obejít existenci originálu (viz obr. 2. ):
Obr. 2. Vztah mezi originálem a modelem Právě tento aspekt je významný pro testování řídicích programů a umožňuje testovat programy nejprve s využitím simulace prostřednictvím příslušného modelu. Jedním z cílů doktorského výzkumu na ÚAI FSI VUT Brno, je analyzovat tento aspekt zejména z hlediska testování řídicích systémů a navrhnout vhodné postupy pro přípravu počítačových modelů, které by umožnily testování real-time aplikací. Zejména s ohledem na důkladnou verifikaci modelů, které by sloužily k testování řídicích algoritmů. Z hlediska kvality souvisí verifikace modelu s dobrou formální specifikací počítačového modelu, který se má vytvořit. Kromě výsledků výzkumu na VUT Brno lze předpokládat, že pro zlepšení současné situace bude nutno využít i celou řadu Nových, jiných metod např. metodu kritického množství [7] , při řešení tak složitých projektů, jako je vývoj softwaru pro automatické řízení
4
Závěr
Doktorský výzkum na ÚAI FSI VUT Brno v rámci výzkumného záměru „Inteligentní systémy v automatizaci“ se zabývá obecněji problematikou kvality programů pro automatické řízení. Na základě rozboru současného stavu se plánují následující cíle: a) Výzkum se zaměří na vytvoření modelu paralelních algoritmů a programů jeho formálního popisu tak, aby tento rys mohl být samostatně specifikován, popsán a testován. b) Na vybraných programech z praxe bude model ověřen a vyhodnocen prostřednictvím analýzy výsledků konkrétních testů. Předpokládá se stanovení souboru charakteristik, které by vymezily tři nejdůležitější specifika real-time řídících programů: • Charakteristiku časových závislostí. • Charakteristiku reakce na externí přerušovací signály. • Charakteristiku používání kritických sekcí. Pro tyto charakteristiky se plánuje návrh jejich měření a doporučení způsobů a postupů testování pro ověření kvality programů, u kterých jsou požadovány.
Pokud bude navržený model úspěšně odzkoušen a ověřen, je možno ho nabídnout pracovní komisi, která se zabývá návrhem nové normy ISO pro kvalitu programů v rámci projektu SQUARE, jehož výstupem má být nová norma ISO 25 000 – Jakost SW produktů. V této pracovní komisi se ČR podílí svými zástupci [6]. Dále bude zdůrazněn význam modelování a simulace pro oblast testování softwaru a v současnosti existující přístupy k testování a vypracováno doporučení pro specifikaci a verifikaci počítačových modelů pro simulaci složitých řízených soustav tak, aby např. ve srovnání s obecným postupem přípravy simulačního modelu (viz odst. 2.2. zpracovaný podle [5] ) , byl konkretizován pro oblast real-time aplikací. Teoretické přínosy disertační práce předpokládám v teorii softwarového inženýrství – oblast kvality software, která v současné době postrádá metodologii kvality SW pro řídící programy. Praktické přínosy disertace by měly mít význam zejména pro softwarové firmy, které se zabývají tvorbou programů pro automatické řízení. Doktorský výzkum byl tímto směrem zaměřen proto, že průzkum současného stavu v oblasti zejména real-time aplikací ukázal na velké problémy v této oblasti. Stále větší využívání zabudovaných mikroprocesorů nejen v oblasti automatizace, ale i v řadě jiných aplikací vede k velkému nárůstu aplikací řízení v reálném čase. Navíc problematika kvality softwaru pro aplikace řízení v reálném čase představuje jeden z vážných důvodů, proč je této problematice v poslední době věnována zvýšená pozornost. Např. v důsledku chyb v softwaru ztrácí ekonomika USA ročně 59,9 miliardy dolarů, jak ukázala studie National Institute of Standards and Technology v roce 2002. Studie také konstatovala, že i když v současné době při tvorbě software nelze všechny chyby odstranit, více než třetině chyb by bylo možno se vyhnout při dokonalejším systému zkoušek příslušných programů.
5 [1] [2] [3] [4] [5]
Literatura ROUBAL, S., PIROUTEK, Z., KMÍNEK, M.: Ověřování software bezpečnostních systémů jaderné elektrárny In: Sborník konference Tvorba software 2007. VŠB TU Ostrava 2007, str.180-187, ISBN 987-80-248-1427-8 ROUBAL, S., PIROUTEK, Z. : Simulační model jako prostředek ověření řídícího systému In: Sborník konference ARaP: Automatizace, Regulace a Procesy. ČVUT 2009, str. 27-34. JANÍČEK, P.: Systémové pojetí vybraných oborů pro techniky: Hledání souvislostí. Akademické nakladatelství CERM 2007, Brno, ISBN: 978-80-7204-554-9 NOSKIEWIČ, P.: Modelování a identifikace systémů, MONTANEX Ostrava 1999, ISBN: 80-7225-080-2 LACKO, B.: Modelování a simulace oblasti projektového řízení. In: Sborník semináře Modelování a simulace projektů – MSP 2001, Brno, ISBN: 80-214-1734-X
VANÍČEK, J.: Projekt SQUARE. Magazín ČSN, roč.12, (2002, č. 9, str. 267 – 273 [7] SVOBODOVÁ,R, VOŘÍŠKOVÁ, A.: Uplatnění metody kritického množství v oblasti Turnaround Project Managementu. In: Sborník prací z konference Agrární perspektivy XVIII., 2009
[6]
6
Poděkování
Tento příspěvek vznikl za podpory výzkumného záměru MSM 0021630529 „Inteligentní systémy v automatizaci“ MŠMT ČR.
Plné jméno s tituly: Pracoviště a jeho začlenění do instituce / firmy:
Ing. Miroslav Zbořil Vysoké učení technické v Brně, Fakulta strojního inženýrství, Ph. D. student
Adresa pro korespondenci:
Technická 2896/2, 616 69 Brno
E-mail: Fax: Telefon:
[email protected] 736725146