\tikzset{uml box/.style={draw, text width=3cm, minimum height=1.5cm, text badly centered, font=\sffamily\bfseries}, uml class/.style={rectangle split, rectangle split parts=2, draw, minimum width=0, font=\sffamily}, uml directed/.style={thick, -angle 90}, uml aggregation head/.style={shape=diamond, aspect=.5, anchor=north, thick, draw}, uml composition head/.style={shape=diamond, aspect=.5, anchor=north, thick, filldraw}, uml generalization head/.style={shape=isosceles triangle, isosceles triangle apex angle=60, shape border rotate=90, scale=.8, draw, thick, anchor=apex}, uml cardinality start/.style={very near start, auto, font=\sffamily}, uml cardinality end/.style={very near end, auto, font=\sffamily}, uml role start/.style={very near start, auto, font=\footnotesize\sffamily}, uml role end/.style={near end, auto, font=\footnotesize\sffamily}, uml association name/.style={midway, auto, font=\footnotesize\sffamily}, }%