Concurrency Tradeoffs in Dynamic Adaptation

Software systems need to adapt as requirements change, environment conditions vary, and bugs are discovered and fixed. In context of verification of these adaptive systems, the verification needs to be done for the system before adaptation, for the system during adaptation, and for the system after adaptation. In our previous work, we presented an approach based on transitional-invariant lattice for verifying the correctness of dynamic adaptation. The size (number of nodes and edges) of the lattice affects the complexity of verifying and testing the adaptation. The size of the lattice itself is dependent on the number of steps in the adaptation, and the concurrency (dependency) among those steps. In this paper, we discuss various tradeoffs that arise because of concurrency during adaptation.