Abstract. Software engineering uses UML diagrams as a standard technique for specification and development of software. Various UML diagrams are used for specification of different aspects of the application. Their interpretation, extension, revision and integration becomes awful difficult if developers use the full freedom of UML, apply their own semantics and do not agree an common parts. We propose an approach that limits this freedom to the necessary extend. Developers have the full freedom on parts of the specification that is independent from others and are committed to fulfill contracts on parts of the specification that is also used by other developers. Due to a lack of semantics the integration of various UML diagrams is often left to the intuition of software engineers, which bears the risk of UML-based software development becoming error-prone. In this paper we propose the use of Abstract State Machines (ASMs) as a means to support the integration of UML diagrams by means of...