Slicing of Model Collections
Efficient analysis and transformation of inter-related models critically depends on the ability to identify and extract model slices that are relevant to the development task at hand, while accounting for the complex relationships between the models. For example, in a large system, to verify that a given requirement is indeed satisfied by the system’s design, it is often necessary to extract slices of multiple inter-related design models (e.g. class, state, sequence, activity diagrams) that contribute to the satisfaction of the requirement. In addition, slicing is a prerequisite for the use of model operations because an operation typically takes only a part of a model collection as input. For human-centric tasks such as inspections, slicing helps reduce cognitive load, thus improving comprehension and further making it less likely that important issues will be missed. For automated tasks such as inconsistency detection and resolution (see Activity 1.2), slicing can lead to substantial improvements in scalability by reducing the size of the state space, thus making computationally-expensive techniques such as search applicable to large systems.
Planned steps and method
Our research on slicing of model collections will build directly on the notions of model relationships identified and formalized in Activity 3.1. We are going to augment these relationships with domain-specific information to remove ambiguities in the relations and to deduce finer-grained relations between model elements. These augmented relationships will then be used for devising formal algorithms to automatically extract minimized slices of a collection of models relevant to a particular task. We will evaluate the usefulness and practical utility of our algorithms on the NECSIS Exemplars. Slices of model collections are often subject to various quality criteria. In particular, (1) the slices have to be consistent with the source models, e.g., for behavioural models, the temporal ordering of actions in the source models should be preserved by the slices; (2) the slices have to be consistent with one another, e.g. a UML sequence diagram slice cannot refer to class methods that do not appear in the corresponding UML class diagram slice; (3) the slices have to include sufficient information from the original (non-sliced) models to enable conclusive analysis and eliminate the need to referring back to the original models for verification and validation tasks. Elaborating these quality criteria and ensuring that they are met by our slicing algorithms will be an integral part of our research. In year 3 of the project, we will integrate our efforts with Task-Based Model Slicing (Theme 1).
Advancement of the state of the art
Most of the existing work on slicing is concerned with program code. In this context, slicing is used primarily as an aid for debugging, motivated by the observation that a slice corresponds to the mental abstractions that developers make while debugging [Wei81]. More recently, slicing has been studied for models as well, and various model slicing techniques have been proposed, e.g. [KSH+03] provides a technique for the slicing of state-based models using dependence analysis, and [KMS05, SCW+10] techniques for slicing UML class models based on constraint annotations in the models. These approaches focus exclusively on slicing of individual models and do not address slicing of model collections which will be the focus of the research we propose here.
[AHL+09] Adam Antonik, Michael Huth, Kim Guldstrand Larsen, Ulrik Nyman, and Andrzej Wasowski. Exptime-complete decision problems for modal and mixed specifications. Electr. Notes Theor. Comput. Sci., 242(1):19--33, 2009.
[BKLS09] Nikola Benes, Jan Kretnsky, Kim Guldstrand Larsen, and Jiri Srba. Checking thorough refinement on modal transition systems is Exptime-complete. In ICTAC, pages 112--126, 2009.
[Ber03] Bernstein, P.: Applying Model Management to Classical Meta Data Problems. In Proc. Conf. on Innovative Database Research, pp. 209-220, 2003.
[BCE+06] G. Brunet, M. Chechik, S. Easterbrook, S. Nejati, N. Niu, M. Sabetzadeh. A Manifesto for Model Merging. In Proceedings of ICSE’06 International Workshop on Global Integrated Model Management (GAMMA'06), May 2006.
[BLO+06] L.C. Briand, Y. Labiche, L. O'Sullivan, and MM Sówka. Automated impact analysisof UML models. Journal of Systems and Software, 79(3):339--352, 2006.
[CLN+09] M. Chechik, W. Lai, S. Nejati, J. Cabot, Z. Diskin, S. Easterbrook, M. Sabetzadeh, R. Salay. Relationship-Based Change Propagation: A Case Study. In Proceedings of ICSE’09 International Workshop on Modeling in Software Engineering, 2009.
[DBV06] Del Fabro, M., Bezivin, J. and Valduriez, P.:Weaving models with the Eclipse AMW plugin. In Proc. of Eclipse Modeling Symposium, Eclipse Summit Europe (2006).
[Eg07] A. Egyed. "Fixing Inconsistencies in UML Design Models". In Proceedings of 29th International Conference on Software Engineering (ICSE’07), pages 297-301, Minneapolis, MN, USA, May 2007.
[Eg10] A. Egyed. "Automatically Detecting and Tracking Inconsistencies in Software Design Models". In IEEE Transactions on Software Engineering, Preprint, March 2010.
[ELF08] A. Egyed, E. Letier, and A. Finkelstein. Generating and Evaluating Choices for Fixing Inconsistencies in UML Design Models. In Proceedings of ASE'08, pages 99--108. IEEE Computer Society, 2008.
[EMP10] The Eclipse Modeling Platform whitepaper. http://wiki.eclipse.org/images/7/7e/Modeling_Platform_v1_-_Feb_17.pdf, 2010.
[FBDCU10] D. Fischbein, G. Brunet, N D’Ippolito, M. Chechik, S. Uchitel. Weak Alphabet Merging of Partial Behaviour Models. ACM Transactions on Software Engineering and Methodology (TOSEM), 2010, 49 pages. In press.
[JVB+10] Jouault, F., Vanhooff, B., Brunelière, H., Doux, G., Berbers, Y., and Bezivin, J.: Inter- DSL Traceability and Navigability Support by Combining Megamodeling and Model Weaving. Special Track on the Coordination Models, Languages and Applications at SAC 2010, March 2010.
[KMS05] H. Kagdi, J. Maletic, A. Sutton, Context-free slicing of UML class models. In Proceedings of 21st IEEE International Conference on Software Maintenance (ICSM'05), 2005, pp. 635–638.
[KPP08] Kolovos, D.S. and Paige, R.F. and Polack, F.A.C.: Novel features in languages of the epsilon model management platform. In Proceedings of the 2008 international workshop on Models in software engineering, pp. 69—73, 2008.
[KS03] Kalfoglou, Y. and Schorlemmer, M.: Ontology mapping: the state of the art. The Knowledge Engineering Review 18(1) pp. 1-31. 2003
[KSH+03] B. Korel, I. Singh, L. Ho Tahat, B. Vaysburg, Slicing of state-based models. In Proceedings of 19th International Conference on Software Maintenance (ICSM'03), 2003, pp. 34–43.
[LT88] Kim Guldstrand Larsen and Bent Thomsen. A modal process logic. In Proceedings of the 5th Annual IEEE Symposium on Logic in Computer Science (LICS'88), pages 203--210, 1988.
[MMW02] Mens, K., Mens, T. and Wermelinger, M.: Maintaining software through intentional source-code views. In proc. of the 14th International Conference on Software engineering and knowledge engineering (2002)
[MV06] T. Mens, R. Van Der Straeten, M. D'Hondt. "Detecting and Resolving Model Inconsistencies Using Transformation Dependency Analysis". In Proceedings of 9th International Conference on Model Driven Engineering Languages and Systems (MoDELS’06), pages 200-214, Genova, Italy, October 2006.
[Mug10] Muggleton, S.H.: webpage on Inductive Logic Programming. http://www.doc.ic.ac.uk/~shm/ilp.html (2010).
[NE01] B. Nuseibeh, S. Easterbrook, and A. Russo. "Making Inconsistency Respectable in Software Development". The Journal of Systems and Software, 58(2):171-180, 2001.
[NKF94] Nuseibeh, B., Kramer J. and Finkelstein, A. : A Framework for Expressing the Relationships Between Multiple Views in Requirements Specifications. IEEE Transactions on Software Engineering, vol. 20, no. 10, pp. 760--773 (1994)
[OMG10] Software Process Engineering Metamodel V2.0 specification. Object Management Group. July 2010.
[SCW+10] A. Shaikh, R. Clarisó, U. Wiil, N. Memon, Verification-driven slicing of UML/OCL models,. In Proceedings of 25th IEEE/ACM International Conference on Automated Software Engineering (ASE'10), 2010, pp. 185-194.
[SE05] Sabetzadeh, M. and Easterbrook, S.: An Algebraic Framework for Merging Incomplete and Inconsistent Views. 13th IEEE RE Conference, Paris, France, 2005.
[SN07] M. Sabetzadeh, S. Nejati, S. Liaskos, S. Easterbrook, M. Chechik. "Consistency Checking of Conceptual Models via Model Merging". In Proceedings of 15th IEEE International Requirements Engineering Conference (RE’07), pages 221-230, New Delhi, India, October 2007.
[SN08] M. Sabetzadeh, S. Nejati, S. Easterbrook, M. Chechik. "Global Consistency Checking of Distributed Models with TReMer+". In Proceedings of 30th International Conference on Software Engineering (ICSE’08), pages 815-818, Leipzig, Germany, May 2008. Formal Research Demonstration.
[SC07] R. Salay, M. Chechik, S. Easterbrook, Z. Diskin, S. Nejati, M. Sabetzadeh, P. McCormick, P. Viriyakattiyaporn. An Eclipse-Based Model Management Framework. In Proceedings of OOPSLA'07 Workshop on Eclipse Technology, November 2007.
[SME09] Salay, R., Mylopoulos, J., Easterbrook, S.M.: Using Macromodels to Manage Collections of Related Models. In Proc. CAiSE 2009, pp. 141--155 (2009).
[SM09] Salay, R., Mylopoulos, J.: Improving Model Quality Using Diagram Coverage Criteria. In Proc. CAiSE 2009, pp. 186--200 (2009).
[SM10] Salay, R., Mylopoulos, J.:The Model Role Level – A Vision. To appear in ER 2010 (2010).
[Wei81] M. Weiser, Program slicing, in: Proceedings of the 5th International Conference on Software Engineering (ICSE'81), 1981, pp. 439–449.
[Wij05] J. Wijsen: Database Repairing using Updates. ACM Transactions on Database Systems, 30(3):722--768, 2005.