UML und Embedded Systeme Use-Cases in Echtzeit

Die Verbreitung von objektorientierten Methoden nimmt jährlich stark zu, und die UML trägt als Quasistandard für die Modellierung ihren Teil dazu bei. Viele Unternehmen, die Echtzeit- und eingebettete Systeme entwickeln, sehen sich daher auch nach objektorientierten Methoden um. Leider...

UML und Embedded Systeme

Die Verbreitung von objektorientierten Methoden nimmt jährlich stark zu, und die UML trägt als Quasistandard für die Modellierung ihren Teil dazu bei. Viele Unternehmen, die Echtzeit- und eingebettete Systeme entwickeln, sehen sich daher auch nach objektorientierten Methoden um. Leider bieten die meisten UML-Bücher lediglich Beispiele für kommerzielle Software, die nicht in die Welt von Unternehmen passen, die Fabrikanlagen steuern, Telekommunikation modernisieren und medizinische Geräte entwickeln. Doch lassen sich Use-Cases in die Welt von eingebetteten Systemen und Systemen mit Echtzeitanforderungen übertragen.

Von Chris Rupp, Carsten Pflug

Was ist das Besondere an Echtzeit- und Embedded Systemen (RTE-Systeme)? Warum ist es nicht so einfach, alle Erfahrungen und Vorgaben aus der kommerziellen Softwaremodellierung unreflektiert in diesen Bereich zu übernehmen? RTE-Systeme erfordern eine andere Sichtweise. Die Akteure solcher Systeme sind häufig nicht Menschen, sondern es gilt, die Nachbarsysteme als »Nutzer« zu betrachten, welche die »User Goals« für das System stellen. Auch das System selbst unterscheidet sich. Bei RTE-Systemen besteht das System nicht nur aus Software sondern auch aus Hardware.

Um RTE-Systeme erfolgreich zu spezifizieren, ist also ein ganzheitlicher Ansatz nötig, der sich nicht sofort auf die Einzelteile des Systems (etwa Hardware oder Software) konzentriert, sondern das System als Gesamtheit von außen – aus der Nutzersicht – betrachtet. Dementsprechend eignen sich Use-Cases für die erste Beschreibung eines RTE-Systems hervorragend.

Systeme funktional zerlegen

Die meisten Systeme, die wir heute erstellen oder weiterentwickeln, sind relativ umfangreich und komplex – zu komplex, um sie »am Stück« zu begreifen. Deshalb gilt es, diese irgendwie in mundgerechte, verdaubare Bissen zu zerteilen. Mit dem Use-Case-Ansatz lässt sich das auf funktionaler Ebene bewerkstelligen. Dabei betrachtet man das System von außen – eine Black-Box – und überlegt, welches die Akteure außerhalb des Systems sind. Wenn die Akteure bekannt sind, hält der Systemarchitekt fest, was diese vom System erwarten. Dadurch erhält der Architekt die Use-Cases des Systems, was automatisch eine funktionale Zerlegung des Systems in leichter fassbare Einheiten bewirkt.