Graph Transformation Planning via Abstraction
This work addresses the need for self-adaptive software systems to autonomously manage architectural changes, though it is incremental as it builds on existing graph transformation and planning methods.
The paper tackles the problem of autonomous planning for software architecture reconfigurations using graph transformation systems, and shows that their domain-independent heuristic, based on abstraction solution length, outperforms existing heuristics in experimental tests on two domains.
Modern software systems increasingly incorporate self-* behavior to adapt to changes in the environment at runtime. Such adaptations often involve reconfiguring the software architecture of the system. Many systems also need to manage their architecture themselves, i.e., they need a planning component to autonomously decide which reconfigurations to execute to reach a desired target configuration. For the specification of reconfigurations, we employ graph transformations systems (GTS) due to the close relation of graphs and UML object diagrams. We solve the resulting planning problems with a planning system that works directly on a GTS. It features a domain-independent heuristic that uses the solution length of an abstraction of the original problem as an estimate. Finally, we provide experimental results on two different domains, which confirm that our heuristic performs better than another domain-independent heuristic which resembles heuristics employed in related work.