TY - JOUR
T1 - Relational reference attribute grammars: Improving continuous model validation
AU - Mey, Johannes
AU - Schöne, René
AU - Hedin, Görel
AU - Söderberg, Emma
AU - Kühn, Thomas
AU - Fors, Niklas
AU - Öqvist, Jesper
AU - Assmann, Uwe
PY - 2020/4/1
Y1 - 2020/4/1
N2 - Just like current software systems, conceptual models are characterised by increasing complexity and rate of change. Yet, these models only become useful if they can be continuously evaluated, validated and serialized. To achieve sufficiently low response times for large models, incremental analysis is required. Reference Attribute Grammars (RAGs) offer mechanisms to perform incremental analysis efficiently using dynamic dependency tracking. However, not all features used in conceptual modelling are directly available in RAGs. In particular, support for noncontainment model relations is only available through encodings. We present an approach called Relational RAGs to directly model uni- and bidirectional noncontainment relations in RAGs and provide efficient means for navigating and editing them. Furthermore, we discuss the efficient and inter-operable serialization and deserialization of such model instances. This approach is evaluated using a scalable benchmark for incremental model editing and the JastAdd RAG system. Our work demonstrates the suitability of RAGs for validating complex and continuously changing models of current software systems.
AB - Just like current software systems, conceptual models are characterised by increasing complexity and rate of change. Yet, these models only become useful if they can be continuously evaluated, validated and serialized. To achieve sufficiently low response times for large models, incremental analysis is required. Reference Attribute Grammars (RAGs) offer mechanisms to perform incremental analysis efficiently using dynamic dependency tracking. However, not all features used in conceptual modelling are directly available in RAGs. In particular, support for noncontainment model relations is only available through encodings. We present an approach called Relational RAGs to directly model uni- and bidirectional noncontainment relations in RAGs and provide efficient means for navigating and editing them. Furthermore, we discuss the efficient and inter-operable serialization and deserialization of such model instances. This approach is evaluated using a scalable benchmark for incremental model editing and the JastAdd RAG system. Our work demonstrates the suitability of RAGs for validating complex and continuously changing models of current software systems.
KW - Incremental model evaluation
KW - Bidirectional relations
KW - Reference attribute grammars
U2 - 10.1016/j.cola.2019.100940
DO - 10.1016/j.cola.2019.100940
M3 - Article
SN - 2590-1184
VL - 57
JO - Journal of Computer Languages
JF - Journal of Computer Languages
ER -