Decomposing Models Through Dependency Graphs

In Model-Driven Engineering (MDE), models are the primary artifacts of software development life cycles. Being an abstraction of the real systems, models are generally believed to be less complex and better suited for developing, comprehending, communicating, and analyzing systems. However, such an advantage is decreasing with the tendency of models themselves getting more and more complex. In this paper we propose a model decomposition technique for reducing model size and consequently complexity by exploiting the notion of dependency graphs. Compared to its predecessor, this new model decomposition technique is more effective in terms of both the number of derived sub-models (more), the size of sub-models (finer), and the quality of sub-models (better). We demonstrate the improved effectiveness by applying both the previous and the new algorithm to a common example and comparing the results.

[1]  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..

[2]  Kevin Lano,et al.  Slicing Techniques for UML Models , 2011, J. Object Technol..

[3]  Pierre Kelsen,et al.  Models within Models: Taming Model Complexity Using the Sub-model Lattice , 2011, FASE.

[4]  Jim Steel,et al.  On model typing , 2007, Software & Systems Modeling.

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

[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]  Arnor Solberg Navigating the MetaMuddle , 2005 .

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

[10]  Udo Kelter,et al.  Incrementally slicing editable submodels , 2017, 2017 32nd IEEE/ACM International Conference on Automated Software Engineering (ASE).

[11]  Jean-Marc Jézéquel,et al.  Meta-model Pruning , 2009, MoDELS.

[12]  Kevin Lano,et al.  Slicing of UML models using model transformations , 2010, MODELS'10.

[13]  Marsha Chechik,et al.  Splitting Models Using Information Retrieval and Model Crawling Techniques , 2014, FASE.

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

[15]  Benoît Combemale,et al.  Modeling model slicers , 2011, MODELS'11.

[16]  Uffe Kock Wiil,et al.  Verification-driven slicing of UML/OCL models , 2010, ASE.

[17]  Anneke Kleppe,et al.  The Object Constraint Language: Getting Your Models Ready for MDA , 2003 .

[18]  Heung Seok Chae,et al.  Modularization of the UML Metamodel Using Model Slicing , 2008, Fifth International Conference on Information Technology: New Generations (itng 2008).

[19]  Mark Harman,et al.  Amorphous Slicing of Extended Finite State Machines , 2013, IEEE Transactions on Software Engineering.