For specifying behavior, UML provides a formal language, state charts, and activity diagrams. Natural languages are easy to understand and easy to use. They are, however, also imprecise, and this lack ...