UOST: UML/OCL Aggressive Slicing Technique for Efficient Verification of Models

  • Asadullah Shaikh
  • Uffe Kock Wiil
  • Nasrullah Memon
Part of the Lecture Notes in Computer Science book series (LNCS, volume 6598)

Abstract

In Model Driven Development (MDD), model errors are a primary concern in development methodology. UML/OCL models have increased both in size and complexity due to its popularity in model design and development. Consequently, the efficiency of the verification process is being affected. The verification of these models is each time more laborious because of their complex design and size thus prolonging the verification process. In this paper, we propose an algorithm of an aggressive slicing technique that works on UML/OCL models (a collection of classes, associations, inheritance hierarchies, and OCL constraints) which improves the efficiency of the verification process. With this technique, the submodels of an original model are computed through partitioning those classes and multiplicities that are not used in written constraints and at the same time, ensuring that the model behavior is not affected. We attempt to quantify the speed-up achieved by adding the slicing technique to two different tools (1) UMLtoCSP and (2) Alloy. The purpose behind showing the results in UMLToCSP and Alloy is to demonstrate that the developed slicing technique is neither tool dependent nor formalism dependent.

Keywords

Non Disjoint UML/OCL Slicing Model Slicing Verification of UML/OCL Models Non Disjoint Slicing of UML/OCL Class Diagrams 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Bae, J.H., Lee, K., Chae, H.S.: Modularization of the UML Metamodel Using Model Slicing. In: ITNG, pp. 1253–1254. IEEE Computer Society, Los Alamitos (2008)Google Scholar
  2. 2.
    Cabot, J., Clarisó, R.: UML/OCL Verification in Practice. In: MoDELS 2008. Workshop on Challenges in MDE, ChaMDE 2008 (2008)Google Scholar
  3. 3.
    Cabot, J., Clariso, R., Riera, D.: Papers and Researchers: An Example of an Unsatisfiable UML/OCL Model, http://gres.uoc.edu/UMLtoCSP/examples/Papers-Researchers.pdf
  4. 4.
    Cabot, J., Clarisó, R., Riera, D.: UMLtoCSP: A Tool for the Formal Verification of UML/OCL Models Using Constraint Programming. In: ASE 2007, pp. 547–548. ACM, New York (2007)Google Scholar
  5. 5.
    Cabot, J., Clarisó, R., Riera, D.: Verification of UML/OCL Class Diagrams Using Constraint Programming. In: ICSTW 2008, pp. 73–80. IEEE Computer Society, Los Alamitos (2008)Google Scholar
  6. 6.
    Georg, G., Bieman, J., France, R.B.: Using Alloy and UML/OCL to Specify Run-time Configuration Management: A case study. In: Workshop of the UML-GroupGoogle Scholar
  7. 7.
    Stafford, D.J.R.J.A., Wolf, A.L.: Chaining: A Software Architecture Dependence Analysis Technique. Technical Report, University of Colorado, Department of Computer Science (1997)Google Scholar
  8. 8.
    Jackson, D.: Alloy: A Lightweight Object Modelling Notation. ACM Transactions on Software Engineering and Methodology 11(2), 256–290 (2002)CrossRefGoogle Scholar
  9. 9.
    Choi, J.-D., Field, J.H., Ramalingam, G., Tip, F.: Method and Apparatus for Slicing Class Hierarchies, http://www.patentstorm.us/patents/6179491.html
  10. 10.
    Kagdi, H.H., Maletic, J.I., Sutton, A.: Context-free Slicing of UML Class Models. In: ICSM 2005, pp. 635–638. IEEE Computer Society, Los Alamitos (2005)Google Scholar
  11. 11.
    Kellomäki, P.: Verification of Reactive Systems Using DisCo and PVS. In: Fitzgerald, J.S., Jones, C.B., Lucas, P. (eds.) FME 1997. LNCS, vol. 1313, pp. 589–604. Springer, Heidelberg (1997)CrossRefGoogle Scholar
  12. 12.
    Kim, T., Song, Y.-T., Chung, L., Huynh, D.T.: Dynamic Software Architecture Slicing. In: COMPSAC, pp. 61–66. IEEE Computer Society, Los Alamitos (1999)Google Scholar
  13. 13.
    Lallchandani, J.T., Mall, R.: Slicing UML Architectural Models. In: ACM / SIGSOFT SEN, vol. 33, pp. 1–9 (2008)Google Scholar
  14. 14.
    Lanubile, F., Visaggio, G.: Extracting Reusable Functions by Flow Graph-based Program Slicing. IEEE Trans. Softw. Eng. 23(4), 246–259 (1997)CrossRefGoogle Scholar
  15. 15.
    Ojala, V.: A Slicer for UML State Machines. Technical Report 25, Helsinki University of Technology (2007)Google Scholar
  16. 16.
    Qi Lu, J.Q., Zhang, F.: Program Slicing: Its Improved Algorithm and Application in Verification. Journal of Computer Science and Technology 3, 29–39 (1988)CrossRefGoogle Scholar
  17. 17.
    Shaikh, A., Clarisó, R., Wiil, U.K., Memon, N.: Verification-driven Slicing of UML/OCL Models. In: ASE, pp. 185–194 (2010)Google Scholar
  18. 18.
    Weiser.sk, M.: Program Slicing. IEEE Trans. Software Eng., 352–357 (1984)Google Scholar
  19. 19.
    Zhao, J.: Applying Alicing Technique to Software Architectures. CoRR, cs.SE/0105008 (2001)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2011

Authors and Affiliations

  • Asadullah Shaikh
    • 1
  • Uffe Kock Wiil
    • 1
  • Nasrullah Memon
    • 1
  1. 1.The Maersk Mc-Kinney Moller InstituteUniversity of Southern DenmarkDenmark

Personalised recommendations