FME 2001: Formal Methods for Increasing Software Productivity

Volume 2021 of the series Lecture Notes in Computer Science pp 259-277


Components, Contracts, and Connectors for the Unified Modelling Language UML

  • Claus PahlAffiliated withSchool of Computer Applications, Dublin City University


The lack of a component concept for the UML is widely acknowledged. Contracts between components can be the starting point for introducing components and component interconnections. Contracts between service providers and service users are formulated based on abstractions of action and operation behaviour using the pre- and postcondition technique. A valid contract allows to establish an interconnection - a connector - between the provider and the user. The contract concept supports the re-use of components by providing means to establish and modify component interconnections. A flexible contract concept shall be based on a refinement relation for operations and classes, derived from operation abstractions. Abstract behaviour, expressed by pre- and postconditions, and refinement are the key elements in the definition of a formal and flexible component and component interconnection approach.