Volg Software Zaken

Systems engineering en SysML in de praktijk

| Joost Schalken-Pinkster | Other

Dit najaar geeft ICT Institute een cursus in SysML en System Engineering aan de opleiding Mechatronica van de Haagse Hogeschool. De skills uit deze cursus zijn belangrijk voor IT-projecten waarin hardware wordt ontwikkeld. Bij hardware-projecten kan SysML en systems engineering communicatieproblemen en andere misverstanden voorkomen.

Voorbeelden van systems engineering

guda-oly-ijtunnel-dichtSystem(s) engineering is een methodiek om complexe systemen te modelleren voordat ze worden gebouwd, om zo ontwerpfouten te voorkomen. Voorbeelden van complexe systemen zijn bijvoorbeeld vliegtuigen, treinen en spoorlijnen, maar ook tunnels. De IJ-tunnel in Amsterdam die in 2015 is geopend heeft bijvoorbeeld allerlei beveiligingssystemen. Denk aan de systemen om brand of botsingen te herkennen, de installaties die voor verse lucht zorgen en de borden en slagbomen die de toegang tot de tunnel regelen. De tunnel werkt op dit moment probleemloos, maar bij de ingebruikname was dat helaas niet zo, met kilometers file tot gevolg.
Andere voorbeelden van projecten waarbij systems engineering waardevol is, zijn een zender voor mobiel dataverkeer en software in auto’s. (zie Sabeur Lafi, e.a., Modeling Radio-frequency Front-ends Using Sysml: a Case Study of a UMTS Transceiver. In: MoDELS’08 ACES-MB Workshop Proceedings, 2008 en Holger Giese e.a. Industrial Case Study on the Integration of SysML and AUTOSAR with Triple Graph Grammars. Universität Potsdam, 2012)

De taal SysML

Om de modellen van systems engineers makkelijk te kunnen delen is het zinvol om een gemeenschappelijke taal te hebben. De Systems Modeling Language (SysML) is zo’n taal ontworpen voor systems engineering-modellen. SysML is door de Object Management Group ontwikkeld in samenspraak met de International Council on Systems Engineering (INCOSE). SysML maakt het makelijk om de requirements, het gedrag en de structuur van systemen vast te leggen. Het is een variant van de al bestaande taal UML, die veel in software wordt gebruikt. Het voordeel van het werken met SysML is dat er tools bestaan die het onderhoud van de documentatie makkelijker maken, door de consistentie tussen de verschillende modellen/gezichtspunten af te dwingen.

sysml-bdd-exampleVoor mensen die UML kennen: De meeste SysML-modellen lijk op UML diagrammen (use case diagram, acitivity diagram, sequence diagram, state machine diagram), maar daarnaast zijn er de nieuwe block-definition diagrammen, internal block diagrammen, requirements diagrammen en parametrische diagrammen. Een voorbeeld van een IBD staat in deze presentatie. Een BDD voorbeeld van een portable audio player staat naast deze paragraaf.  Net als bij UML gaat SysML uit van modelmatig werken. Wie iets wil veranderen in een diagram moet een wijziging maken in het achterliggende model. Deze wijziging wordt dan ook automatisch weergegeven in de andere diagrammen.

Wanneer wordt systems engineering toegepast

Het grootste nadeel van systems engineering is dat het een extra ontwerp- en documentatiefase is. Wie deze methodiek altijd toepast maakt kleine projecten onnodig groot en lastig. Systems engineering voegt met name waarde toe bij projecten waarin ook hardware wordt ontwikkeld. Bij deze projecten is het snel maken van werkende prototypes lastig en kan er dus tijd bespaard worden door eerst modellen te ontwikkelen. Voor grootschalige projecten waar het snel maken van prototypes maken is de methodiek dus aanbevolen. Binnen het vak aan de Haagse Hogeschool wordt systems engineering bijvoorbeeld gebruikt voor de ontwikkeling van een robot. Hierbij moet voorkomen worden dat de verkeerde hardware wordt besteld.
Bij projecten met alleen software is het vaak mogelijk om iteratief te werken en direct werkende prototype te maken. Ook bij sommige hardware-projecten kan dit door gebruik te maken van standaardcomponenten (bijvoorbeeld raspberry Pi, arduino) en 3D-printing. In deze situaties moet men niet teveel tijd besteden aan systems engineering maar kan men beter prototype-gedreven werken.

De cursus systems engineering en meer informatie

system-engineering-delta_bot-by-v-slavinskyICT Institute verzorgt de cursus systems engineering II aan de Haagse Hogeschool. Dit is een tweedejaars vak van de bachelor Mechatronica. In het vak wordt system engineering gebruikt voor het modelleren van de delta-robot, die pillen kan verplaatsen. Een ander praktijkvoorbeeld dat wordt gebruikt is een koffiezet-automaat. Net als bij ons vak software project management hebben we getracht het vak zo interactief mogelijk te maken. In de praktijk is dit vooral gelukt dankzij de vragen van studenten, en door alle studenten ook in de colleges hun eigen werk (hun Delta-robot) te laten presenteren.
Voor wie niet bij de cursus kan zijn maar zelf aan de slag wil: een ander goed boek is A Practical Guide to SysML van Friedenthal e.a. Daarnaast zijn er ook online bronnen beschikbaar. Er is een handige SysML referentiekaart en een SysML tutorial.  Ook is er een website over model-based systems engineering. Tenslotte heeft Rijkswaterstaat een Nederlandstalige handleiding over Systems Engineering net als een aantal sectorpartijen.
Wie meer advies wil of een review van modellen mag natuurlijk ook contact opnemen met het team van ICT Institute. Wij doen graag reviews van systemen en projecten, met en zonder systems engineering.

Image credit IJ-tunnel: Guda Oly cc. Artikel door Joost Schalken mmv Sieuwert van Otterloo. Hoofdafbeelding: fragment van de SysML referentie-kaart, door Tim Weilkiens. Foto Deltabot: V-Slavinsky, wikimedia commons.

Joost Schalken-Pinkster
Author: Joost Schalken-Pinkster