\begin{tikzpicture} \begin{umlsystem}[x=4, y=0, fill=black!15]{CACC/Platooning} \umlusecase[x=0, y=0, width=18mm, fill=green!30]{\nameref{UC:showStatus}} \umlusecase[x=5, y=-12, width=18mm, fill=blue!20]{\nameref{UC:createPlatoon}} \umlusecase[x=5, y=-5, width=18mm, fill=blue!20]{\nameref{UC:runPlatoon}} \umlusecase[x=5, y=-15, width=18mm, fill=blue!40]{\nameref{UC:joinPlatoon}} \umlusecase[x=1, y=-11, width=18mm, fill=blue!40]{\nameref{UC:leavePlatoon}} \umlusecase[x=1, y=-8, width=18mm, fill=blue!20]{\nameref{UC:deletePlatoon}} \umlusecase[x=7, y=-2, width=18mm, fill=red!30]{\nameref{UC:laneKeeping}} \umlusecase[x=3, y=-2, width=18mm, fill=red!30]{\nameref{UC:distKeeping}} \umlusecase[x=1, y=-5, width=28mm, fill=green!30]{\nameref{UC:changePlatoonData}} \umlusecase[x=3, y=-17, width=34mm, fill=green!30]{\nameref{UC:changeSpeed}} \end{umlsystem} \umlactor[x=0, y=-10]{Operator} \umlactor[x=14, y=-10]{LV} \umlactor[x=14, y=-5]{FV} \umlactor[x=14, y=-15]{PFV} \umlactor[x=14, y=1]{GV} \umlHVHinherit[arm2=10mm]{LV}{GV} \umlHVHinherit[arm2=10mm]{FV}{GV} \umlHVHinherit[arm2=10mm]{PFV}{GV} \umlassoc{Operator}{usecase-1} \umlassoc{Operator}{usecase-4} \umlassoc{Operator}{usecase-5} \umlassoc{Operator}{usecase-9} \umlassoc{Operator}{usecase-10} \umlassoc{LV}{usecase-3} \umlassoc{LV}{usecase-4} \umlassoc{LV}{usecase-5} \umlassoc{LV}{usecase-6} \umlassoc{LV}{usecase-9} \umlassoc{FV}{usecase-3} \umlassoc{FV}{usecase-5} \umlassoc{FV}{usecase-6} \umlassoc{PFV}{usecase-4} \umlassoc{PFV}{usecase-2} \umlassoc{PFV}{usecase-10} \umlassoc{GV}{usecase-1} \umlassoc{GV}{usecase-7} \umlassoc{GV}{usecase-8} \umlinclude[pos stereo=0.25]{usecase-2}{usecase-3} \umlinclude{usecase-3}{usecase-7} \umlinclude{usecase-3}{usecase-8} \umlextend{usecase-4}{usecase-2} \umlextend{usecase-5}{usecase-6} \end{tikzpicture}