The paper is structured as follows. The second
section describes the related works. The third section
presents proposed approach. Finally, the section
conclusion summarizes results of the research and
suggests the future works.
2 RELATED WORKS
Consider the papers that discuss the processing of
SM XMI representation.
Authors of the paper (Yuan at el, 2003) propose
to use DOM specification and consider XML file as
no ordered DOM tree. Structures of XML files are
compared by means of collaboration of some
operations (mostly Insert() and Delete() ) for
processing different tree parts. To speed up the
comparison process the hashing operations are used.
If hash meanings are different, than more precise
operations for comparison XML files fragments are
used. The authors propose the detailed analysis of
described algorithms effectiveness. But the results of
two XML files comparison depend upon accurate
processing of hash values.
One of the priorities of development Model-
Driven Software Engineering (MDSE) is a code
generation approach. That’s why more attention is
paid to development of software model processing
techniques and tools processing class diagrams. One
of the examples of such tools is ICER Tool
(Robinson, A., and Bates, C., 2015). This tool uses
an XMI representation of class diagram. A class
diagram is designed in IBM Rational Rose. The
ICER tool performs the next steps:
― looking iteratively through all the class
diagram classes;
― checking OCL constrains matching to
design patterns,
― identifying to which design pattern a class
diagram matches.
Also the limitation of ICER tool is that names of
the classes on class diagram should match to the
names of the classes in the OCL constrains file.
The authors of paper (Ran Wei et al, 2016) have
presented an approach that enables partial loading of
XMI-based models. Their proposed approach realize
the scenarios where read-only access to SM is
sufficient and where the parts of the model (typically
a small subset of the entire model) that are of
interest are loaded. To load the information about
software model built in parser is used. The parser
allows recognizing software model elements and
links between them. The principle of working parser
is the next: The parser maintains a stack of model
elements to keep track of its current position in the
XMI document. This is needed in order to determine
what object to create next. When the XMI file is
read, the callback method startElement() is
triggered, and it is decided which objects of partial
diagram should be created. All created objects are
pushed into the object stack. Then the parser
processes the top of the stack together with the
element and decides that an instance of objects
should be created and instances to them are added.
The created instance is also pushed into the object
stack. Once all XML elements have been processed,
a tree structure has been constructed in memory. But
functionality of the parser is limited
Analyzing the review of the related works it is
summarized that designing of the transformation
approach that defines constituents of SM without
limitations of names (as OCL constrains), providing
complex SM processing (given by abstract and
concrete syntax trees), and allowing designing
flexible comparison rules and performing many
other tasks for SM processing is an actual and
important task.
3 THE PROPOSED APPROACH
A general schema of the approach is represented on
the Figure 1.
The text to model transformation operation is
performed by the following steps:
1. An XMI representation of a SM is parsed.
Recognized SM elements and links between them
are stored in the memory (Figure 1, Link 1).
2. Then chains from linked SM elements are
formed. Every chain stores information about a part
of an algorithm or a business process, represented in
a behavioral SM (Figure 1, Link 2).
In order to perform the transformation from text
to model the next Research Problems (RPs) should
be solved:
RP1: to investigate regularities of the SM
elements stored in an XMI file.
RP2: to propose an algorithm for defining linked
SM elements in the XMI file for different types of
UML diagrams.
RP3: to design an analytical foundation for SM
representation and forming of linked chains.
RP4: to introduce a concept of behavioral SM
decomposition into chains of linked elements with
further restoring of its structure.
RP 4.1: to introduce a concept of composing
chains of linked elements for behavioral SM;
An Approach of Text to Model Transformation of Software Models
433