The Software Campus UHUS project is about updating the software components of distributed systems at runtime. It’s goals are to provide mechanisms to implement hot updates on individual devices, and provide planning strategies to coordinate update plans on many systems. We are working on identifying dependencies between software components, such as communicating devices in smart environments, or communicating robotics machinery in production environments, focusing on components whose interaction is dominated by stateless event-based communication. Using identified dependencies, optimized software updates planning subject to Quality of Service constraints is conducted–for example, to minimize duration of a distributed update, while not missing any communicated events.