MODELING AND VERIFYING COMPOSITE DYNAMIC EVOLUTION OF SOFTWARE ARCHITECTURES USING HYPERGRAPH GRAMMARS
As software systems become more and more complex, there is need to consider not only data structures and algorithms but also the general structure or architecture of the system. Many researchers have presently focused on dynamic evolution of software architectures. Most of them usually emphasized on describing and analyzing the dynamic evolution process of software architectures, while lacking formally modeling and verifying composite dynamic evolution of software architectures. In this paper, we propose a formal method of modeling and verifying composite dynamic evolution of software architectures using hypergraph grammars. We represent software architectures with hypergraphs, give out corresponding composite evolution rules of software architectures, and then model composite dynamic evolution of software architectures according to those rules. At last we verify the liveness property of composite dynamic evolution of software architectures using model checking, and give out corresponding verification algorithms. Our approach provides a graphical representation for composite dynamic evolution of software architectures, and displays a formal theoretical basis on grammars.