Interaction diagrams are a widely-used UML notation, however in contrast to class diagrams or state machines there is a lack of formal semantics for interaction diagrams. We propose a formal semantics for the notation, and consider applications of this semantics for checking the consistency of interaction diagrams with other UML models, and for diagrammatic formal specification of real-time properties.