JavaScript is currently disabled.Please enable it for a better experience of Jumi. UML-diagram för systemingenjörer

UML (Unified Modeling Language) används av majoriteten av alla programvaruutvecklare. Men språket har en inriktning som skrämmer bort många systemingenjörer. Det är synd eftersom systemeringen är kritisk del av de tidiga faserna av utvecklingsprocessen. Därför föreslog styrgruppen Object Management Group (OMG) i mars 2003 en systemteknisk version av UML. Den ska stödja modellering av både maskinvara, programvara, data, personal, rutiner och resurser.
Alan Moore har under 18 år utvecklat metodologier för objektorientering och realtidssystem. Han ansvarar för utvecklingen av Artisans egen realtidssystemutvecklingsprocess - Real-time Perspective och är en aktiv medlem av Object Management Group (OMG). Han är ordförande i granskningsgruppen "UML Profile for Schedulability and Performance and Time" och i arbetsgruppen "Real-time Analysis and Design". Och han är Artisans tekniska ledare i SysML-konsortiet. Hans arbetsgivare Artisan Software (www.artisansw.com) har en prototypimplementering av SysML. 

ImageUML (Unified Modeling Language) används av majoriteten av alla programvaruutvecklare. Men språket har en inriktning som skrämmer bort många systemingenjörer. Det är synd eftersom systemeringen är kritisk del av de tidiga faserna av utvecklingsprocessen.

Därför föreslog styrgruppen Object Management Group (OMG) i mars 2003 en systemteknisk version av UML. Den ska stödja modellering av både maskinvara, programvara, data, personal, rutiner och resurser.

Mycket av det som en systemingenjör behöver kan i och för sig uttryckas direkt i UML 2.0. Till exempel sofistikerade dataflöden som inte är tillståndsmaskiner, hierarkiska strukturer och skalbara interaktionsbeskrivningar. Men SysML lägger till mer: kravanalys, kontinuerligt beteende, parametriserade ekvationer och fysiska strukturer och gränssnitt.

SysML har två nivåer - en grundläggande som är en UML 2.0-profil och en avancerad som går utöver UML 2.0.

Kravfrasen «requirement» ligger i den grundläggande nivån. Ett «requirement» representerar krav på systemet och kan användas för att utvidga klasser, användningsfall (use cases), paket och restriktioner (constraints).

«Trace» och «satisfy» beskriver hur krav härleds från andra krav respektive hur konstruktionen uppfyller dem. «Verify» visar kopplingen mellan testfall och de krav de verifierar. För att beskriva krav och deras beroendeförhållanden använder man kravdiagram (se figur 1).

Aggregatet är en hierarkisk mekanism som abstraherar bort detaljer i programvaran. Med det kan man modellera återanvända komponenter. Aggregatfrasen «assembly» anger vilken systemstruktur en UML-klass har.

Ett SysML-aggregat består av en samling delar med förbindelser för kommunikation och annan samverkan. Portar utnyttjas som förbindelsepunkter när aggregatet används inom en större struktur. En del av ett aggregat kan i sig vara ett aggregat (se figur 2).

UML:s enkla inkapslingsregler räcker inte för att beskriva fysiska system eftersom de ofta inte är enkla svarta lådor.

Därför finns konceptet "djupt inkapslad förbindelse" i den avancerade nivån av SysML. De representerar fysiska strukturer och beskriver parametriserade samband mellan systemegenskaper.

Det huvudsakliga beteendetillägget i SysML är stödet för kontinuerligt beteende. UML-aktiviteter har getts nya egenskaper såsom möjligheten till ett kontinuerligt flöde, aktiviteter som kan kopplas ifrån under utförandet snarare än att löpa linan ut, samt styrmanövrer som skapar flöden som styr andra aktiviteter. Dessutom stöds utbyten med utökade funktionella blockflödesdiagram (EFFBD:er).

SysML kan beskriva samband mellan egenskaper som exempelvis prestanda- och tillförlitlighet. sådana samband kallas parametriserade restriktioner och kan uttryckas i formler ("F=ma") och i termer av andra parametriserade restriktioner.

Restriktioner kan kombineras med aggregat till en fullständig analysmodell som identifierar kritiska prestandaparametrar och deras relationer.

Så kallad "allokering" betecknar den organiserade tvärkopplingen av delar mellan olika aspekter av en användarmodell. Allokering visar samband mellan modellerade systemdelar som funktion och struktur, postflöde och fysisk förbindelse och mellan logiska och fysiska strukturer eller funktioner. Tekniken används tidigt för att säkra att utvecklingsmodellen "hänger ihop". Och till exempel för att se till att en logisk struktur stöds på rätt sätt av den fysiska strukturen.

Byggstenen som stöder allokeringar i SysML heter «allocation».

SysML-begreppet kvantitet ("quantity") innehåller de vanligaste SI-enheterna, som längd i meter, och grundläggande statistiska fördelningar som normal- och intervallfördelningar.

UML 2.0 introducerade begreppet informationsflöde. SysML lägger till postflöden (Item Flow) som även omfattar mass- och energiflöden och beskriver flöden i systembeskrivningen.

För att vara ett språk som inte ännu är komplett och inte ens existerar, har SysML varit anmärkningsvärt framgångsrikt. Det har fått positiva kommentarer från såväl industrin som verktygsleverantörerna. Organisationer som INCOSE, EASST och NASA deltar i specificeringen av SysML. Och försvarsdepartementen i både USA och Storbritannien överväger att använda SysML.

SysML-konsortiet befinner sig i slutfasen av sitt arbete och hoppas säkra ett OMG-godkännande av SysML-specifikationen under andra eller tredje kvartalet av 2005. Följ utvecklingen på adressen www.sysml.org.

Prenumerera på Elektroniktidningens nyhetsbrev eller på vårt magasin.


MER LÄSNING:
 
KOMMENTARER
Kommentarer via Disqus

Rainer Raitasuo

Rainer
Raitasuo

+46(0)734-171099 rainer@etn.se
(sälj och marknads­föring)
Per Henricsson

Per
Henricsson
+46(0)734-171303 per@etn.se
(redaktion)

Jan Tångring

Jan
Tångring
+46(0)734-171309 jan@etn.se
(redaktion)