Data Flow Analysis of UML Action Semantics for Executable Models

  • Tabinda Waheed
  • Muhammad Zohaib Z. Iqbal
  • Zafar I. Malik
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 5095)

Abstract

Executable modeling allows the models to be executed and treated as prototype to determine the behavior of a system. These models use precise action languages to specify the algorithms and computational details required for execution. These action languages are developed on the basis of UML action semantics metamodel that provides the abstract syntax. The use of a concrete action language makes a traditional model work like an executable one. The actions specified by the action language might involve variables and their data values that are useful to be analyzed in terms of data flow. In this paper, we provide data flow analysis (DFA) of the standard UML action semantics that can be used with executable models. The analysis provides a generic data flow at the abstract syntax level and allows a mapping to any of the action languages providing the concrete syntax. Our approach does not focus on a particular action language; therefore it can easily be applied to any concrete syntax. We apply the proposed approach to a case study and identify the data flow from executable UML state machine.

Keywords

Executable modeling Executable UML Data Flow Analysis Action Semantics 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Mellor, S.J., Balcer, M.J.: Executable UML; A Foundation for Model-Driven Architecture. Addison-Wesley, Reading (2002)Google Scholar
  2. 2.
    Eakman, G.T.: Verification of Platform Independent Models. In: UML Workshop: Model Driven Architecture in the Specification, Implementation and validation of Object-oriented Embedded Systems, San Francisco, California (October 2003)Google Scholar
  3. 3.
    Mellor, S.J., Agile, M.D.A.: MDA Journal (2004) [Accessed: July 16, 2007], http://www.omg.org/mda/mda_files/Agile_MDA.pdf
  4. 4.
    Mellor, S.J.: Introduction to Executable and Translatable UML, Application Development Toolkit, Whitepapers CNET Networks (2005)Google Scholar
  5. 5.
    Ambler, S.W.: Be Realistic About the UML: It’s Simply Not Sufficient, AmbySoft Inc. (2005) [Accessed: September 12, 2006], http://www.agilemodeling.com/essays/realisticUML.htm
  6. 6.
    Unified Modeling Language: Superstructure. Version 2.1. Object Management Group (OMG) document ptc/06-04-02 (2004), http://www.omg.org
  7. 7.
    Sunyé, G., Pennaneac’h, F., Ho, W., Guennec, A.L., Jézéquel, J.M.: Using UML Action Semantics for Executable Modeling and Beyond. In: Proceedings of the 13th International Conference on Advanced Information Systems Engineering. ACM, New York (2001)Google Scholar
  8. 8.
    Harrold, M.J., Rothermel, G.: Performing Data Flow Testing on Classes, SIGSOFT 1994- 12/94 New Orleans, LA, USA. © ACM, New York (1994)Google Scholar
  9. 9.
    Mellor, S.J., Tockey, S., Arthaud, R., Leblane, P.: Software-Platform-independent, Precise Action Specifications for UML (2006), Available: Project Technology [Accessed December 5, 2006], http://www.projtech.com
  10. 10.
    Tsai, B.Y., Stobart, S., Parrington, N.: Employing Data Flow Testing on Object-oriented Classes. IEE Proceedings-Software 148(2) (April 2001)Google Scholar
  11. 11.
    Rapps, S., Weyuker, E.J.: Data Flow Analysis Techniques for Test Data Selection. In: Proceedings of the 6th International Conference on Software Engineering, Tokyo, Japan, pp. 0270–5257. IEEE, Los Alamitos (1982)Google Scholar
  12. 12.
    Gupta, N., Gupta, R.: Data Flow Testing, The Compiler Design Handbook: Optimization and Machine Code Generation, ch.7, 1st edn., pp. 247–267. CRC Press, Boca RatonGoogle Scholar
  13. 13.
    Harrold, M.J., Rothermel, G.: Performing Data Flow Testing on Classes, SIGSOFT 1994, 12/94 New Orleans, LA, USA. © ACM, New York (1994)Google Scholar
  14. 14.
    Hutchins, M., Foster, H., Goradia, T., Ostrand, T.: Experiments on the Effectiveness of Dataflow and Controlflow-based Test Adequacy Criteria. In: Proceedings of the 16th International Conference on Software Engineering, Sorrento, Italy, pp. 191–200. IEEE Computer Society Press, Los Alamitos (1994)CrossRefGoogle Scholar
  15. 15.
    Carter, K.: http://www.kc.com
  16. 16.
    Wilkie, I., King, A., Clarke, M., Weaver, C., Raistrick, C., Francis, P.: UML ASL Reference Guide, ASL Language Level 2.5, Manual Revision D (2003)Google Scholar
  17. 17.
  18. 18.
    Trong, T.D., Ghosh, S., France, D.: JAL: Java like Action Language, Specification 1.1 – Beta version. CS Technical Report 06-102. Department of Computer Science, Colorado State University, Fort Collins, USAGoogle Scholar
  19. 19.
    Pathfinder Solutions. Platform independent Action language, version 2.2 (December 2004), http://PathfinderMDA.com
  20. 20.
    Dubrovin, J.: JUMBALA – An Action Language for UML State Machines, HUT-TCS-A101. Research Reports 101. Laboratory for Theoretical Computer Science, Helsinki University of Technology, Espoo, Finland (March 2006)Google Scholar
  21. 21.
    Kabira Technologies, http://www.kabira.com
  22. 22.
    Skiena, S.: Adjacency Matrices. In: Implementing Discrete Mathematics: Combinatorics and Graph Theory with Mathematica, pp. 81–85. Addison-Wesley, Reading (1990); Cambridge University PressGoogle Scholar
  23. 23.
    Sagiv, M., Reps, T., Horwitz, S.: Precise interprocedural dataflow analysis with applications to constant propagation. In: Mosses, P.D., Schwartzbach, M.I., Nielsen, M. (eds.) CAAP 1995, FASE 1995, and TAPSOFT 1995. LNCS, vol. 915. Springer, Heidelberg (1995)Google Scholar
  24. 24.
    Ammons, G., Larus, J.R.: Improving Data-flow Analysis with Path Profiles. In: SIGPLAN 1998, Montreal, Canada. © ACM, New York (1998)Google Scholar
  25. 25.
    Moonen, L.: A Generic Architecture for Data Flow Analysis to Support Reverse Engineering. In: Proceedings of the Second International Workshop on the Theory and Practice of Algebraic Specifications (ASF+SDF 1997), Electronic Workshops in Computing, Amsterdam. Springer, Heidelberg (1997)Google Scholar
  26. 26.
    Kramer, R., Gupta, R., Soffa, M.L.: The Combining DAG: A technique for Parallel Data Flow Analysis. IEEE Transactions on Parallel and Distributed Systems 5(8) (August 1994)Google Scholar
  27. 27.
    Atkinson, D.C., Griswold, W.G.: Implementation Techniques for Efficient Data-Flow Analysis of Large Programs. In: Proceedings of International Conference on Software Maintenance, Florence, Italy. IEEE, Los Alamitos (2001); 0-7695-1189-9Google Scholar
  28. 28.
    Oviedo, E.I.: Control flow, data flow, and program complexity. In: Mcgraw-Hill International Series In Software Engineering. Mcgraw-Hill Inc., USA (1993)Google Scholar
  29. 29.
    Tai, K.C.: A Program Complexity Metric based on Data Flow Information in Control Graphs. In: Proceedings of the 7th International Conference on Software Engineering, Orlando, Florida, United States, pp. 239–248. IEEE, Los Alamitos (1984)Google Scholar
  30. 30.
    Varea, M., Al-Hashimi, B.M.: Dual Flow Nets: Modeling the Control/Data-Flow Relation in Embedded Systems. ACM Transactions on Embedded Computing Systems (TECS). ACM Press, USA (2006)Google Scholar
  31. 31.
    Farwer, B., Varea, M.: Object-based Control/Data-flow Analysis, Technical Report DSSE-TR-2005-1, Declarative Systems and Software Engineering Group, University of Southampton, Southampton (2005)Google Scholar
  32. 32.
    Jorgensen, P.C.: Software Testing: A Craftsman’s Approach, 2nd edn., pp. 137–174. CRC Press Inc., Boca Raton (2002)Google Scholar
  33. 33.
    Kim, Y.G., Hong, H.S., Cho, S.M., Bae, D.H., Cha, S.D.: Test Cases Generation from UML State Diagrams. In: IEE Proceedings-Software, vol. 146, pp. 187–192 (August 1999)Google Scholar
  34. 34.
    Briand, L.C., Labiche, Y., Lin, Q.: Improving State chart testing Criteria Using Data Flow Information. In: Proceedings of the 16th IEEE International Symposium on Software Reliability Engineering (ISSRE 2005). IEEE, Los Alamitos (2005)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2008

Authors and Affiliations

  • Tabinda Waheed
    • 1
  • Muhammad Zohaib Z. Iqbal
    • 2
  • Zafar I. Malik
    • 3
  1. 1.Department of Computer Science, Military College of SignalsNational University of Science & TechnologyRawalpindiPakistan
  2. 2.Department of Computer ScienceInternational Islamic UniversityIslamabadPakistan
  3. 3.Academy of Education and PlanningMinistry of EducationIslamabadPakistan

Personalised recommendations