Architectural concepts and Design Patterns for behavior modeling and integration
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 define new behaviors for a system and to plug them dynamically. The second one, Structured Behavior, provides the means to use finite state machines for behavior switching. The originality of the framework is that it defines concepts, a UML-based notation and heuristics which specifies how to apply these concepts. To illustrate the elements mentioned, this paper uses the control software of a walking robot as a running example. (c) 2005 IMACS. Published by Elsevier B.V. All rights reserved.
design patterns control software object-oriented modeling software architecture complex behaviors