In open multi-agent systems, we can make only little assumptions about the system's scale, the behaviour of participating agents, and its environment. Especially with regard to mission-critical systems, the ability to deal with a large number of heterogeneous agents that are exposed to an uncertain environment becomes a major concern: Because failures can have massive consequences for people, industries, and public services, it is of utmost importance that such systems achieve their goals under all circumstances. A prominent example are power management systems whose paramount goal is to balance production and consumption. In this context, we tackle challenges comprising how to specify and design these systems to allow for their efficient and robust operation. Among other things, we introduce constraint-based specification techniques to address the system's heterogeneity and show trust models that allow to measure, anticipate, and deal with uncertainties. On this basis, we present algorithms for self-organisation and self-optimisation that enable the formation of scalable system structures at runtime and allow for efficient and robust resource allocation under adverse conditions. Throughout the chapter, the problem of balancing production and consumption in decentralised autonomous power management systems serves as a case study.