Specifying dynamic software architectures with dynamic description logic
Dynamic software architectures provide support for building long running and reconfigurable applications. Formal specification is useful to the design of correct and robust dynamic software architectures. In this paper, dynamic software architectures are specified with dynamic description logic. Dynamic description logic inherits the expressiveness and decidability of description logic and it has the ability to represent state changes. Reconfigurable dataflow model, which is an extension of the widely used dataflow model, is used as the architecture meta-model. Architectures, reconfiguration operations, and reconfiguration plans are represented in a unified framework from the view point of data flow. Three levels of constraints have been proposed to aid designers in predetermining the possible side effects of reconfiguration plans. The work can guide the development of dynamic software systems from component definition to reconfiguration plan design.