UML-RSDS solution from Kevin Lano