The design of the control software for complex systems is a difficult task. It requires the modeling, the simulation, the integration and the adaptation of a multitude of interconnected entities and behaviors. To tackle this complexity, the approach proposed consists in combining architectural concepts, Design Patterns and object-oriented modeling with unified modeling language (UML). In this context, the present paper describes a modeling framework to take greater advantage of these concepts and to design flexible, intelligible control software. It proposes to objectify the behaviors, which leads to a two-level architecture based on three concepts: resources software images of the controlled system-behaviors applied to these resources, and meta-behaviors, i.e. means for behavior integration and adaptation. Two Design Patterns are proposed to describe how to specify behaviors and define the means to combine and adapt them. The first pattern, Polymorphic Behavior, provides the means to...