\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}
