Incrementally slicing editable submodels

Model slicers are tools which provide two services: (a) finding parts of interest in a model and (b) displaying these parts somehow or extract these parts as a new, autonomous model, which is referred to as slice or sub-model. This paper focuses on the creation of editable slices, which can be processed by model editors, analysis tools, model management tools etc. Slices are useful if, e.g., only a part of a large model shall be analyzed, compared or processed by time-consuming algorithms, or if sub-models shall be modified independently. We present a new generic incremental slicer which can slice models of arbitrary type and which creates slices which are consistent in the sense that they are editable by standard editors. It is built on top of a model differencing framework and does not require additional configuration data beyond those available in the differencing framework. The slicer can incrementally extend or reduce an existing slice if model elements shall be added or removed, even if the slice has been edited meanwhile. We demonstrate the usefulness of our slicer in several scenarios using a large UML model. A screencast of the demonstrated scenarios is provided at http://pi.informatik.uni-siegen.de/projects/SiLift/ase2017.

[1]  Udo Kelter,et al.  Consistency-preserving edit scripts in model versioning , 2013, 2013 28th IEEE/ACM International Conference on Automated Software Engineering (ASE).

[2]  Stefan Kowalewski,et al.  Flow Sensitive Slicing for MATLAB/Simulink Models , 2016, 2016 13th Working IEEE/IFIP Conference on Software Architecture (WICSA).

[3]  Baowen Xu,et al.  A brief survey of program slicing , 2005, SOEN.

[4]  David W. Binkley,et al.  Program slicing , 2008, 2008 Frontiers of Software Maintenance.

[5]  Gabriele Taentzer,et al.  Henshin: advanced concepts and tools for in-place EMF model transformations , 2010, MODELS'10.

[6]  Mark Harman,et al.  State-based model slicing: A survey , 2013, CSUR.

[7]  Pierre Kelsen,et al.  A generic model decomposition technique and its application to the Eclipse modeling framework , 2015, Software & Systems Modeling.

[8]  Timo Kehrer,et al.  Henshin: A Usability-Focused Framework for EMF Model Transformation Development , 2017, ICGT.

[9]  Udo Kelter,et al.  Workspace updates of visual models , 2014, ASE.

[10]  Mehrdad Sabetzadeh,et al.  A SysML-based approach to traceability management and design slicing in support of safety certification: Framework, tool support, and case studies , 2012, Inf. Softw. Technol..

[11]  Andrew M. Sutton,et al.  Context-free slicing of UML class models , 2005, 21st IEEE International Conference on Software Maintenance (ICSM'05).

[12]  Gilles Vanwormhoudt,et al.  From subsets of model elements to submodels , 2013, Software & Systems Modeling.

[13]  Nicolas Guelfi,et al.  OO-SPL modelling of the focused case study , 2011, MODELS 2011.

[14]  Udo Kelter,et al.  Understanding model evolution through semantically lifting model differences with SiLift , 2012, 2012 28th IEEE International Conference on Software Maintenance (ICSM).

[15]  Jaiprakash T. Lallchandani,et al.  A Dynamic Slicing Technique for UML Architectural Models , 2011, IEEE Transactions on Software Engineering.

[16]  Benoît Combemale,et al.  Kompren: modeling and generating model slicers , 2012, Software & Systems Modeling.

[17]  Thomas Thüm,et al.  Applying Incremental Model Slicing to Product-Line Regression Testing , 2016, ICSR.

[18]  Udo Kelter,et al.  Automatically Deriving the Specification of Model Editing Operations from Meta-Models , 2016, ICMT.

[19]  Ákos Horváth,et al.  Query-driven incremental synchronization of view models , 2014, VAO '14.

[20]  Udo Kelter,et al.  Automatic Generation of Consistency-Preserving Edit Operations for MDE Tools , 2014, MoDELS.