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
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsPreview
Unable to display preview. Download preview PDF.
References
Mellor, S.J., Balcer, M.J.: Executable UML; A Foundation for Model-Driven Architecture. Addison-Wesley, Reading (2002)
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)
Mellor, S.J., Agile, M.D.A.: MDA Journal (2004) [Accessed: July 16, 2007], http://www.omg.org/mda/mda_files/Agile_MDA.pdf
Mellor, S.J.: Introduction to Executable and Translatable UML, Application Development Toolkit, Whitepapers CNET Networks (2005)
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
Unified Modeling Language: Superstructure. Version 2.1. Object Management Group (OMG) document ptc/06-04-02 (2004), http://www.omg.org
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)
Harrold, M.J., Rothermel, G.: Performing Data Flow Testing on Classes, SIGSOFT 1994- 12/94 New Orleans, LA, USA. © ACM, New York (1994)
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
Tsai, B.Y., Stobart, S., Parrington, N.: Employing Data Flow Testing on Object-oriented Classes. IEE Proceedings-Software 148(2) (April 2001)
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)
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 Raton
Harrold, M.J., Rothermel, G.: Performing Data Flow Testing on Classes, SIGSOFT 1994, 12/94 New Orleans, LA, USA. © ACM, New York (1994)
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)
Carter, K.: http://www.kc.com
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)
Nucleus UML Suite, www.mentor.com/products/embedded_software/nucleus_modeling/index.cfm
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, USA
Pathfinder Solutions. Platform independent Action language, version 2.2 (December 2004), http://PathfinderMDA.com
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)
Kabira Technologies, http://www.kabira.com
Skiena, S.: Adjacency Matrices. In: Implementing Discrete Mathematics: Combinatorics and Graph Theory with Mathematica, pp. 81–85. Addison-Wesley, Reading (1990); Cambridge University Press
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)
Ammons, G., Larus, J.R.: Improving Data-flow Analysis with Path Profiles. In: SIGPLAN 1998, Montreal, Canada. © ACM, New York (1998)
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)
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)
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-9
Oviedo, E.I.: Control flow, data flow, and program complexity. In: Mcgraw-Hill International Series In Software Engineering. Mcgraw-Hill Inc., USA (1993)
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)
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)
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)
Jorgensen, P.C.: Software Testing: A Craftsman’s Approach, 2nd edn., pp. 137–174. CRC Press Inc., Boca Raton (2002)
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)
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)
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 2008 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Waheed, T., Iqbal, M.Z.Z., Malik, Z.I. (2008). Data Flow Analysis of UML Action Semantics for Executable Models. In: Schieferdecker, I., Hartman, A. (eds) Model Driven Architecture – Foundations and Applications. ECMDA-FA 2008. Lecture Notes in Computer Science, vol 5095. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-69100-6_6
Download citation
DOI: https://doi.org/10.1007/978-3-540-69100-6_6
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-69095-5
Online ISBN: 978-3-540-69100-6
eBook Packages: Computer ScienceComputer Science (R0)