A Formal Framework for Incremental Model Slicing (bibtex)
by Taentzer, Gabriele, Kehrer, Timo, Pietsch, Christopher and Kelter, Udo
Abstract:
Program slicing is a technique which can determine the simplest program possible that maintains the meaning of the original program w.r.t. a slicing criterion. The concept of slicing has been transferred to models, in particular to statecharts. In addition to the classical use cases of slicing adopted from the field of program understanding, model slicing is also motivated by specifying submodels of interest to be further processed more efficiently, thus dealing with scalability issues when working with very large models. Slices are often updated throughout specific software development tasks. Such a slice update can be performed by creating the new slice from scratch or by incrementally updating the existing slice. In this paper, we present a formal framework for defining model slicers that support incremental slice updates. This framework abstracts from the behavior of concrete slicers as well as from the concrete model modification approach. It forms a guideline for defining incremental model slicers independent of the underlying slicer's semantics. Incremental slice updates are shown to be equivalent to non-incremental ones. Furthermore, we present a framework instantiation based on the concept of edit scripts defining application sequences of model transformation rules. We implemented two concrete model slicers for this instantiation based on the Eclipse Modeling Framework.
Reference:
A Formal Framework for Incremental Model Slicing (Taentzer, Gabriele, Kehrer, Timo, Pietsch, Christopher and Kelter, Udo), In Fundamental Approaches to Software Engineering (Russo, Alessandra, Schürr, Andy, eds.), Springer International Publishing, 2018.
Bibtex Entry:
@InProceedings{Taentzer2018,
  author        = {Taentzer, Gabriele and Kehrer, Timo and Pietsch, Christopher and Kelter, Udo},
  title         = {{A Formal Framework for Incremental Model Slicing}},
  booktitle     = {Fundamental Approaches to Software Engineering},
  year          = {2018},
  editor        = {Russo, Alessandra and Sch{\"u}rr, Andy},
  pages         = {3--20},
  address       = {Cham},
  publisher     = {Springer International Publishing},
  __markedentry = {[piets:1]},
  abstract      = {Program slicing is a technique which can determine the simplest program possible that maintains the meaning of the original program w.r.t. a slicing criterion. The concept of slicing has been transferred to models, in particular to statecharts. In addition to the classical use cases of slicing adopted from the field of program understanding, model slicing is also motivated by specifying submodels of interest to be further processed more efficiently, thus dealing with scalability issues when working with very large models. Slices are often updated throughout specific software development tasks. Such a slice update can be performed by creating the new slice from scratch or by incrementally updating the existing slice. In this paper, we present a formal framework for defining model slicers that support incremental slice updates. This framework abstracts from the behavior of concrete slicers as well as from the concrete model modification approach. It forms a guideline for defining incremental model slicers independent of the underlying slicer's semantics. Incremental slice updates are shown to be equivalent to non-incremental ones. Furthermore, we present a framework instantiation based on the concept of edit scripts defining application sequences of model transformation rules. We implemented two concrete model slicers for this instantiation based on the Eclipse Modeling Framework.},
  isbn          = {978-3-319-89363-1},
}
Powered by bibtexbrowser