Continuous Model Validation using Reference Attribute Grammars
Just like current software systems, models are characterised by increasing complexity and rate of change, for instance for knowledge bases of self-adaptive systems. Yet, these models only become useful if they can be continuously evaluated and validated. Thus, large and constantly changing models require means to be analyzed incrementally.
Reference Attribute Grammars (RAGs) offer mechanisms to perform an incremental analysis efficiently using dynamic dependency tracking. However, not all features used in conceptual modelling are directly available in RAGs. In particular, support for non-containment model relations is only available through manual implementation.
We present an approach to directly model directed and undirected non-containment relations in RAGs and provide efficient means of navigating and editing them. This approach is evaluated using a scalable benchmark for incremental model editing and the JastAdd system.
Our work demonstrates the suitability of RAGs for validating complex and continuously changing models of current software systems.