Semantics for UML model transformation and generation of regular grammar

  • Authors:
  • Deepak Arora;Bramah Hazela;Vipin Saxena

  • Affiliations:
  • Amity University, Lucknow, India;Amity University, Lucknow, India;University, Lucknow, India

  • Venue:
  • ACM SIGSOFT Software Engineering Notes
  • Year:
  • 2012

Quantified Score

Hi-index 0.00

Visualization

Abstract

Graphs are one of the most popular non linear data structures used to represent various data objects. These graphical structures can further be classified into directed and undirected graph representations. For modeling purpose, UML has adopted the phenomenon of directed graphical structures as statechart diagrams, to exhibit dynamic specification of any software or non software system. These diagrams are important as they are used to represent all possible values that an object can retain throughout its life cycle. Three key components are required to change the state of any object namely transition function, action and possible inputs. Statechart diagrams are also useful to determine all possible paths that an object will undergo during its entire life span, while changing its state. Further these paths can be represented with the help of various established graphical modeling techniques like Finite State Automata. The mapping and further analysis of these path structures can be very helpful in determining the correctness of the diagram as well as to highlight the possible deficiencies in the diagram. In the present work, authors have proposed semantics for automatic transformation of UML statechart diagram into its equivalent finite state automata, by taking the advantage of both of the models. Authors have also presented an approach to generate regular grammar for the generated finite state automata. This equivalent grammar can further be useful to generate various test cases, to test UML statechart diagram, against various test conditions. To better illustrate, authors have also presented a case study of an ATM machine and demonstrated that how this approach is helpful to verify the correctness of design