Využití SysML pro tvorbu modelů v systémovém inženýrství Antonín Srna, Ústav informatiky, Provozně ekonomická fakulta, Mendelova univerzita v Brně, xsrna2@mendelu.cz Abstrakt Článek se zaobírá univerzálním modelovacím jazykem systémů (SysML) v moderním softwarovém inženýrství a jeho aplikací, jakožto prostředku k doplnění stávajících dokumentům ke specifikaci požadavků při modelování systémů. Klíčová slova Systémové inženýrství, SysML, modelovací jazyk system, UML Úvod a cíl Vývoj systémů se obecně zaměřuje zejména na kroky, jakými jsou sběr požadavků, analýza, návrh, verifikace či validace. Sběr požadavků můžeme definovat jako účelnou komunikaci se zákazníky s cílem získat veškeré kladené požadavky na navrhovaný systém. Analýza požadavků je rozšifrování neevidentních požadavků, kompletace požadavků atd. A nakonec záznam požadavků je samotné dokumentování požadavků (textová specifikace případů užití, specifikace procesů či samotné textové dokumenty). A právě pro záznam požadavků je v současném systémovém inženýrství (dále jen SI) hojně rozšířeno využívání dokumentů. V těch bývají sepsány náležitosti, vstupující do procesu rozhodování o nezbytnostech a předpokladech, které jsou kladeny na produkt. Tato forma záznamu však není úplně ten nejlepší způsob. Alternativu v tomto poskytuje zejména možnost využívání různých modelů, jako tomu již je zvykem v jiných inženýrských disciplínách, např. softwarovém, mechanickém či elektrickém inženýrství. Zmíněné využívání modelů, při vývoji systémů, se osvědčilo natolik, že v současné době je snaha podobný přístup zakomponovat i do SI a systémové inženýrství založené na modelech je jednou z vizí v oblasti SI (INCOSE, 2007). Cílem článku je představit modelovací jazyk SysML, jako nástroj pro tvorbu modelů v rámci systémového inženýrství a jeho možnosti pro zapojení do výuky patřičných předmětů na naší fakultě. Systémové inženýrství je jedním ze stěžejních předmětů navazujícího stupně studia informatických oborů na Provozně ekonomické fakultě.
Materiály a metody Konsorcium OMG OMG (Object Management Group) je konsorcium pro specifikace v počítačovém průmyslu. Vyvíjí standardy podnikové integrace pro širokou škálu technologií a průmyslových odvětví. OMG také hostí radu pro uživatelsky řízené sdílení informací (CSCC), či skupinu pro standardizaci kvality software v IT průmyslu (CISQ). Modelovací standardy OMG zahrnují UML (Unified Modeling Language) a MDA (Model Driven Architecture), které umožňují vizuální návrh, realizaci a údržbu software a jiných procesů. Vývoj OMG SysML SysML vyvinutý jako projekt specifikací, zahrnuje open-source licenci pro distribuci a užití. Ke konečnému zveřejnění OMG SysML v1.3 došlo v červenci 2012. SysML rozšiřuje UML využitím jeho profilu (viz obr. 1). Pro výměnu modelovacích dat využívá OMG XMI (Metadata Interchange), která má být kompatibilní s rozvíjející se normou ISO 10303-233 (standard pro výměnu dat v systémovém inženýrství). OMG SysML Zdroj: http://www.omgsysml.org/#what-is_sysml 1: Vztah SysML k UML SysML je univerzální grafický modelovací jazyk pro specifikaci, analýzu, návrh, a validaci komplexních systému (mohou obsahovat hardware, software, informace, personál, procesy a vybavení). Nabízí grafické znázornění, doplněné o významový základ, pro požadavky využívané k integraci s ostatními modely analýz systémového inženýrství (systém modelování, chování, struktura či parametričnost). (SysML Forum, 2011)
Struktura SysML Diagram SysML se skládá ze tří základních částí: Diagram chování Zahrnuje use-case diagram, diagram aktivit, sekvenční diagram a stavový diagram. Use-case diagram poskytuje vysokou úroveň popisu funkcionality, které je dosaženo interakcí mezi systémy či jejich částmi. Diagram aktivit představuje tok dat a řídicích signálů mezi aktivitami. Sekvenční diagram znázorňuje interakci mezi spolupracujícími částmi systému. Stavový diagram popisuje změny stavů, které systém nebo jeho části vykonávají v reakci na události. Zdroj: http://www.omgsysml.org/#what-is_sysml 2: SysML z pohledu stavby diagramů Diagram požadavků Pospíšil (2010) říká, že SysML zahrnuje grafickou konstrukci k reprezentaci textových požadavků ve vztahu k jiným prvkům modelu. Požadavek popisuje jeden nebo více vlastností nebo chování systému, specifikuje toky a podmínky po seznámení se systémem. Diagram požadavků zachycuje požadavky na hierarchii a jejich odvozeniny. Při splnění požadavků je modeláři umožněno připojit další požadavky, globálnějšího charakteru. Diagram požadavků poskytuje můstek mezi typickými nástroji pro správu požadavků a systémovými modely. Diagram struktury Blok je základní jednotkou struktury SysML a může být využit ke znázornění hardwaru, softwaru, vybavení, personálu či jakéhokoli jiného systémového prvku. Struktura systému je reprezentována diagramy definovaných bloků a vnitřními diagramy bloků. Diagram
definovaných bloků popisuje systémovou posloupnost a klasifikaci systému/jeho komponent. Vnitřní diagram bloků popisuje vnitřní strukturu systému ve smyslu jeho částí, portů či konektorů. Balíčkový diagram se používá k uspořádání modelu. Vnitřní diagram bloků zahrnuje také parametrický diagram, jenž představuje omezení na hodnoty systémových vlastností, jako jsou výkonnost, spolehlivost, fyzikální vlastnosti, a slouží jako prostředek k integraci specifikace a k designu modelů pomocí modelů analýz systémového inženýrství (OMG, 2011). Zdroj: http://www.omgsysml.org/#what-is_sysml 3: Čtyři pilíře SysML
Výsledky a diskuze SysML nabízí řadu zlepšení proti UML, jež tíhne k zejména softwarové orientaci: Sémantika SysML je flexibilnější a výmluvnější. SysML redukuje omezení, způsobená softwarovou orientací UML a přidává dva nové diagramy: diagram požadavků (lze použít pro požadavky inženýrství) a parametrický diagram (k výkonnostním a kvantitativním analýzám). V návaznosti na tyto vylepšení vytváří SysML široké spektrum modelů systémů, jež mohou zahrnovat hardware, software, informace, vybavení, procesy či personál (Kleidermacher, 2012, s. 180); SysML je jednodušší jazyk co do naučení tak i do aplikace. Odstraněním některých UML softwarově orientovaných konstrukcí je navíc méně obsáhlý; UML poskytuje omezenou podporu tabulkových zápisů, zatímco SysML nabízí flexibilní alokační tabulky (podporují alokaci požadavků, alokaci funkcí a alokaci struktur). Tímto poskytuje automatické ověřování a schvalování, a analýzu nedostatků. SysML zahrnuje i alokační vztahy, znázorňující např. alokaci funkcí k fyzickým či logickým komponentám, softwaru či hardwaru; SysML rozšiřuje možnosti UML i tím, že konstrukce modelu řízení v SysML podporuje modely, zobrazení, a stanoviska. Tyto konstrukce jsou architektonicky sladěny s normou IEEE-Std-1471-2000 (IEEE Recommended Practice for Architectural Description of Software Intensive Systems). Výhody jsou zřetelnější, využijeme-li konkrétní případ (viz tab. I) I: Rozdíl UML a SysML na příkladu modelování systému automobilu SysML UML Lze využít diagram požadavků k efektivnímu Podléháme omezením use-case diagramu definicí zachycení funkčních a výkonnostních funkčních požadavků nejvyšší úrovně požadavků a požadavků na rozhraní Lze využít parametrický diagram k přesné Nemáme žádný přímý mechanismus k zachycení definici výkonnostních a kvantitativních zákl. vlastností a kvantitativních informací omezení (max. zrychlení, min. pohotovostní (max. zrychlení, min. pohotovostní hmotnost či hmotnost či celkový rozsah klimatizace) celkový rozsah klimatizace) Můžeme využít diagram aktivit či diagram stavů ke specifikaci řídící logiky vestavěného softwaru a informačních toků např. pro palubní počítače. Další diagramy (struktury a chování) lze využít k vytvoření modelu továren, které automobily konstruují, stejně jako pro rozhraní mezi odděleními pracovních skupin v těchto továrnách.
Závěr Dle Browna (2011) je důležitou vlastností, kterou modelovací jazyky (jako je SysML) vynikají, schopnost popisu významově bohatých vztahů mezi prvky modelu. Model může ukázat, jak jeden subsystém závisí na jiném, jak komponenta je součástí subsystému nebo jak je jeden požadavek odvozen z jiného. SysML nabízí pro tvorbu modelů v rámci systémového inženýrství vhodnější prostředí než UML. Sémantika SysML lépe odpovídá požadavkům kladeným na tuto disciplínu. Ze všech UML diagramů SysML používá pouze sedm (stavový, sekvenční, případu užití, balíčkový a upravené diagramy aktivit, definovaných bloků a vnitřních bloků). Tyto doplňuje o dva nové diagram požadavků a parametrický diagram. Diagram požadavků umožňuje názornější specifikaci funkčních a výkonnostních požadavků, a spolu s požadavky na uživatelské rozhraní je přiřazuje ostatním elementům u daného modelu. Tímto rozšiřuje možnosti Use Case diagramů. Parametrický diagram umožňuje výkonnostní a kvantitativní analýzy a lze jej využít k přesné definici daných omezení, kladených na systémové vlastnosti např. na výkon, spolehlivost nebo kvantitu. SysML zaujímá platné místo v oblasti SI, kde je pracováno s velmi komplexními systémy. Je definován na základě UML (jehož profil využívá), oproti němu však poskytuje jednodušší uživatelské prostředí a dva nové typy diagramů. Porovnáním UML se SysML, docházíme k závěru, že pro systémové inženýrství lze očekávat jazyk SysML jako jednodušší k naučení (méně rozsáhlý jazyk, přizpůsobený na míru aplikací v systémovém inženýrství), zatímco UML (vzhledem ke své softwarové orientaci) je vhodnější pro vývojáře softwaru. Literatura BROWN, B., 2011: Model-based systems engineering: Revolution or evolution? IBM Rational, str. 5 [online]. Dostupné z: http://public.dhe.ibm.com/common/ssi/ecm/en/raw14289usen/raw14289usen.pdf INCOSE, 2007: Systems engineering vision 2020. Dostupné z: http://www.incose.org/productspubs/pdf/sevision2020_20071003_v2_03.pdf KLEIDERMACHER, D., KLEIDERMACHER, M., 2012: Embedded Systems Security: Practical Methods for Safe and Secure Software and Systems Development, s. 180. Newnes. ISBN 978-0123868862. OMG, 2011: Systems Modeling Language. Konsorcium OMG [online]. Dostupné z: http://www.omgsysml.org/#what-is_sysml
POSPÍŠIL, J., 2010: Objektově orientovaná analýza v systémovém inženýrství. Zlín, 2010. Diplomová práce. Univerzita Tomáše Bati ve Zlíně, Fakulta aplikované informatiky, Ústav informatiky a umělé inteligence, str. 28 [online]. Dostupné z: https://dspace.k.utb.cz/bitstream/handle/10563/13113/posp%c3%ad%c5%a1il_2010_dp.pdf SYSML FORUM, 2011: SysML FAQ. PivotPoint Technology [cit. 2013-10-10] [online]. Dostupné z: http://www.sysmlforum.com/sysml-faq/