A Dual Language Approach to the Development of Time-Critical Systems with UML