Mechatronic systems combine mechanical parts, electrical parts, control-engineering parts and software parts that interact tightly with each other. Examples of such systems are given by modern cars or the RailCab system. Such systems are exposed to hard real-time constraints that require operations of the system to be completed at a specific point in time. An example is an airbag controller which must open the airbag with 20ms after a crash. These hard real-time constraints increase the complexity of the software development. In addition, advanced mechatronic systems have the ability to adapt themselves to a changing environment at run-time. This allows, e.g., to shutdown parts of a cars software that are not currently in use to reduce the energy consumption of the on-board network. These new requirements to software development introduce the need for new development approaches for handling the complexity and safety requirements of mechatronic systems.

MechatronicUML is a domain specific visual language that targets the development of software of advanced mechatronic systems. A key difference to other modeling languages is that MechatronicUML explicitly addresses the modeling of real-time constraints and run-time adaptation. For ensuring high quality of the software, MechatronicUML enables formal verification of safety and liveness requirements early in the development process. That ensures that undesired system states will never occur (safety) while desired behavior will eventually be executed (liveness). The verification explicitly addresses the real-time constraints and the adaptation of the system under construction. MechatronicUML is based on a well-defined process and provides a complete and precise definition of its syntax and semantics.

MechatronicUML has been introduced in course of the Collaborative Research Centre 614 „Self-optimizing concepts and structures in mechanical engineering” (CRC 614). It has been used and evaluated in several industrial projects. Currently, we apply MechatronicUML as a modeling language in the project „Design methods for intelligent Mechatronics“ (ENTIME).

A reference implementation of MechatronicUML is given by the Fujaba Real-Time Tool Suite. The Fujaba Real-Time Tool Suite is implemented as a set of plugins to the Eclipse Rich Client Platform (RCP). It provides a meta-model for MechatronicUML based on the Eclipse Modeling Framework (EMF) and graphical editors for creating MechatronicUML models.