
An Integrated Operational Semantics for a UML Core Based on Graph Transformation
Paul Ziemann(Author)
Logos Berlin (Publisher)
Published in February 2006
Book
Paperback/Softback
159 pages
978-3-8325-1071-8 (ISBN)
Description
Today, the Unified Modeling Language (UML) is widely accepted as a
standard for modeling object-oriented software systems. However, its
semantics is defined only in an informal way. In this thesis, we present
an approach that gives a formal semantics to an important subset of UML.
We cover substantial aspects of UML use case, class, object, statechart,
and interaction diagrams. Additionally, full OCL is supported in the
common UML fashion. The presented approach is based on the translation
of a UML model into a graph transformation system consisting of graph
transformation rules and a graph that represents the system state. By
applying the rules on the graph, the evolution of the modeled system is
simulated.
To define a formal semantics, we first fix the considered subset of UML
by means of a metamodel. This metamodel resembles the UML 1.5 metamodel
of the OMG but is more compact. The metamodel approach is employed here
with the UML community in mind that is used to this way of language
definition. The concept of a system state that includes information of
the system at a specific point in time during execution is likewise
introduced by means of a metamodel. Aside from objects, attribute values
and relationships between the objects, a system state includes processes
that represent operations in execution. The actual execution is
performed by applying graph transformation rules that refer to a process
and modify the system state according to the semantics of the
corresponding operation. This is either specified by means of an
interaction diagram or is predefined. In the central part of this
thesis, we describe in detail how the graph transformation rules for a
given UML model are constructed. The approach is implemented in a tool
that supports the user in simulating the execution of models before
actually having implemented it. During the simulation, the current
system state can always be checked with respect to OCL constraints. It
can also be inspected with OCL queries. The modeler can check specific
sequences of operation calls and gains insight into the modeled system.
By analyzing the model in this way, errors can be located or the model
can be validated to be correct. Therefore, this thesis contributes to
the goal of improving the quality of software.
standard for modeling object-oriented software systems. However, its
semantics is defined only in an informal way. In this thesis, we present
an approach that gives a formal semantics to an important subset of UML.
We cover substantial aspects of UML use case, class, object, statechart,
and interaction diagrams. Additionally, full OCL is supported in the
common UML fashion. The presented approach is based on the translation
of a UML model into a graph transformation system consisting of graph
transformation rules and a graph that represents the system state. By
applying the rules on the graph, the evolution of the modeled system is
simulated.
To define a formal semantics, we first fix the considered subset of UML
by means of a metamodel. This metamodel resembles the UML 1.5 metamodel
of the OMG but is more compact. The metamodel approach is employed here
with the UML community in mind that is used to this way of language
definition. The concept of a system state that includes information of
the system at a specific point in time during execution is likewise
introduced by means of a metamodel. Aside from objects, attribute values
and relationships between the objects, a system state includes processes
that represent operations in execution. The actual execution is
performed by applying graph transformation rules that refer to a process
and modify the system state according to the semantics of the
corresponding operation. This is either specified by means of an
interaction diagram or is predefined. In the central part of this
thesis, we describe in detail how the graph transformation rules for a
given UML model are constructed. The approach is implemented in a tool
that supports the user in simulating the execution of models before
actually having implemented it. During the simulation, the current
system state can always be checked with respect to OCL constraints. It
can also be inspected with OCL queries. The modeler can check specific
sequences of operation calls and gains insight into the modeled system.
By analyzing the model in this way, errors can be located or the model
can be validated to be correct. Therefore, this thesis contributes to
the goal of improving the quality of software.
More details
Series
Thesis
Doctoral thesis
Universität Bremen
Language
English
Place of publication
Germany
Product notice
Paperback (trade)
Unsewn / adhesive bound
Dimensions
Height: 21 cm
Width: 14.5 cm
Weight
539 gr
ISBN-13
978-3-8325-1071-8 (9783832510718)
Schweitzer Classification