Towards a Rigorous Semantics of UML Supporting its Multiview Approach