UML-based
Software
Development
Jesus Almendros
(1) -
-
Luis Iribarne
(2)
(1) Information System Group
jalmen@ual.es
http://www.ual.es/~jalmen
(2) Applied Computing Group
Luis.Iribarne@ual.es
http://www.ual.es/~liribarn
University
of Almeria
04120 Almeria
SPAIN
XQuery as Model Transformation Language
|
Abstract
XQuery is a programming language designed for
querying XML documents. XQuery can be used, in particular, for
transforming XML documents. Model Driven Engineering is an emerging
approach for software development and it emphasizes the construction of
models from which the implementation is derived by applying model
transformations. Most of languages for describing models (UML, BPM,
Petri Nets, WebML, etc) have an XML-based representation (XMI, XPDL,
PNML, IFML, etc). Thus XQuery can be used for describing
transformations in many modeling languages. In this paper we
propose a framework for model transformation in XQuery. Our proposal
aims to provide the elements for using XQuery as transformation
language. With this aim, our framework provides a mechanism for
automatically obtaining an XQuery library for a given meta-model.
Meta-models are defined as XML schemas, and the XQuery library serves
to query and create elements of an XML Schema. Transformations abstract
from XML representation, in the sense of, elements from meta-models are
encapsulated by XQuery functions. We have also studied how to use
our framework for model validation. Source and target models are
validated by considering pre and post conditions on transformations,
and transformations are validated by considering invariants. The
framework has been tested with a case study of transformation in UML,
where the XML-based representation of models is achieved by the
standardized language XMI.
Running
Example
|
Transformation
and Validation with SWRL and OWL of ODM based
Models |
Abstract
The Ontology Definition Meta-model
(ODM) has been proposed as a profile for UML
models of the Web Ontology Language (OWL).
In this context, transformations of UML models
can be mapped to ODM/OWL transformations. OWL is
equipped with the Semantic Web Rule Language
(SWRL) whose aim is to provide a mechanism for
rule based specifications. SWRL can be used for
enriching OWL models via SWRL inferences. In
this paper, we present an approach for the
specification of transformations and validations
of ODM models. Adopting a SWRL/OWL based
approach we will show how transform and validate
models. Model to model transformations are
described with SWRL rules, and validation of
source and target model is achieved with OWL and
SWRL. Properties to be validated range from
structural and semantic requirements of models
(pre and post conditions) to properties of the
transformation (invariants). The approach has
been applied to the well-known example of model
transformation: the Entity-Relationship (ER) to
Relational Model (RM) transformation.
Running
Example
|
PTL: A
Model Transformation Language based on Logic
Programming |
Abstract
In this paper we present a model transformation language based on logic programming. The language, called PTL (Prolog based Transformation Language),
can be considered as a hybrid language in which ATL-style rules are
combined with logic rules for defining transformations. ATL-style rules
are used to define mappings from source models to target models while
logic rules are used as helpers. The language has been implemented so
that a Prolog program is automatically obtained from a PTL program.
Thus, PTL makes use of Prolog as a transformation engine. The encoding
of PTL programs by Prolog is based on a Prolog library for handling
meta-models. We have equipped our language with debugging and tracing
capabilities which help developers to detect programming errors in PTL
rules. Debugging detects PTL rules that cannot be applied to source
models, and tracing shows rules and source elements used to obtain a
given target model element. The proposed language can be also used for
model validation, that is, for checking pre and post conditions as well
as invariants of transformations. We have developed an Eclipse plugin
allowing edition of PTL programs, handling of models and meta-models as
well as debugging, tracing and validation.
Running
Example
|
Model
Validation in Ontology Based Transformations |
Abstract
Model Driven Engineering (MDE) is an
emerging approach of software engineering. MDE
emphasizes the construction of models from which
the implementation should be derived by applying
model transformations. The Ontology Definition
Meta-model (ODM) has been proposed as a profile
for UML models of the Web Ontology Language
(OWL). In this context, transformations of
UML models can be mapped to ODM/OWL
transformations. On the other hand, model
validation is a crucial task in model
transformation. Meta-modeling permits to give a
syntactic structure to source and target models.
Nevertheless, semantic requirements have to be
imposed to source and target models. A given
transformation will be sound when source and
target models fulfill the syntactic and semantic
requirements. In this paper, we present an
approach for model validation in ODM based
transformations. Adopting a logic programming
based transformational approach we will show how
transform and validate models. Properties to be
validated range from structural and semantic
requirements of models (pre and post conditions)
to properties of the transformation
(invariants). The approach has been applied to
the well-known example of model transformation:
the Entity-Relationship (ER) to Relational Model
(RM) transformation.
Running
Example
|
Ontology-based
Model Transformation using Prolog
|
Abstract
In this paper we present a framework
for the specication of model transformations by
means Prolog rules, using the representation of
UML models by means of an ontology. Our approach
will be applied to a well-known example of model
transformation in which a UML class diagram
representing a database (as an
entity-relationship diagram) is transformed into
a UML diagram representing a relational
database. We have validated our proposal by
means of a prototype developed under SWI-Prolog.
Running
Example
|
A
Prolog-based Approach for Model Transformation
|
Abstract
In this paper we present a framework
for using logic programming (in particular,
Prolog) for specifying model transformations
in the context of UML. Our approach describes
how the UML metamodel can be represented in
Prolog, and how model transformations
can be expressed by means of Prolog rules. It
uses rules for specifying queries in source
models and rules for expressing how to
build the target model. Therefore we can
distinguish between a model query language and a
model creation/update language. In addition,
our approach shows how Prolog can be used for
checking constraints on source and target models
by means of a model verification
language. Our approach will be applied to a
well-known example of model transformation in
which an UML class diagram representing a
database (as an entity-relationship diagram) is
transformed into an UML diagram representing a
relational database. We have validated
our proposal by means of a prototype developed
under SWI-Prolog.
Case
Study
|
A
Framework for Model Transformation in Logic
Programming
|
J.
Almendros
and
L.
Iribarne. (2008)
A Framework for Model Transformatioin in Logic
Programming. PROLE'2008. 7-10 Oct, Gijón,
Asturias (Spain).
Abstract
In this paper we will present a
framework for using logic programming (in
particular, Prolog) for specifying model
transformations in the context of UML. Our
approach describes how the UML metamodel can be
represented in Prolog, and how model
transformations can be expressed by means of
Prolog rules. Our approach uses rules for
specifying queries in source models and rules
for expressing how to build the target model.
Therefore we can distinguish between a model
query language and a transformation language.Our
approach will be applied to a well-known example
of model transformation in which a UML class
diagram for a database can be transformed into a
UML diagram representing a relational database.
Running
Example
|
UML
Modeling of User and Database Interaction (UDBI)
|
J. Almendros and
L. Iribarne. (2008, in press)
UML modeling of user and database interaction.
The Computer Journal. doi:10.1093/comjnl/bxn028
Abstract
In this work, we present a modeling
technique for user and database interaction
based on UML. User interaction will be modeled
by means of UML activity diagrams and database
interaction by means of UML sequence diagrams.
The proposed modeling technique establishes how
to integrate both diagrams in order to describe
the user interface and database interaction of a
software system. A case study of a Internet Book
Shopping system will be shown to ilustrate the
proposal.
Case
Study: The UDBI of the IBS (Internet Book
Shopping) project
|
A
Unified Model for Use Cases
|
J. Almendros and
L. Iribarne. (2007)
Describing use case relationships with
activity diagrams. The Computer Journal,
50(1):116-128. doi:10.1093/comjnl/bxl053
Abstract
One of the key
tools of the Unified Modeling Language (UML)
for behaviour modeling is the Use Case model.
The behaviour of a use case can be described
by means of interaction diagrams (sequence and
collaboration), activity charts and states
diagrams, or by pre-conditions and
post-conditions, as well as natural language
text, where appropriate. However, along the
development of UML, use cases and use case
relationships: inclusion, generalization and
extension have received several
interpretations, reflecting a great deal of
confusion among experts and developers. In
this paper we present a unified proposal for
use case modelling. The proposal defines use
case inclusion, generalization and extend
relationships in such a way that each one has
its own meaning and use for use case
modelling. It also uses sequence diagrams to
describe use cases, and it compares sequence
diagrams in order to define sequence diagram
relationships for identifying and defining use
case relationships. Besides, in this paper we
also present a discussion on how the
development process and in general the ability
and wishes of the developer afects in both use
case modelling and sequence diagram modelling.
Through the paper we have used an ATM system
case study to illustrate our proposal.
Case
Study:
An Automated Teller Machine (ATM) System
Please,
try
here
if
you have problems on visualizing the ATM
project
|
Designing
GUI components from UML Use Cases |
J. Almendros and
L. Iribarne. (2008)
An extension of UML for the modeling of WIMP
user interfaces. Journal of Visual Languages
and Computing, 19(6):695-720. doi:10.1016/j.jvlc.2007.12.004
Abstract
The use case
model help the designers to identify the
requirements of the system and to study its
high level functionality. In this paper we
present a methodology for graphical user
interface design using the UML use case model.
Given a use case diagram representing the
actors and use cases of a system, and a set of
activity diagrams describing each use case,
our technique allows us to generate a
prototype of each user interface together with
a set of GUI components. Our technique handles
the and generalization relationships on use
cases, in such a way that they are interpreted
from the point of view of the GUI design.
Case
Study:
An Internet Shopping
|
User
Interaction and Interface Design with UML
|
J. Almendros and
L. Iribarne. (2007)
User interaction and interface design with
UML. Chapter in the book "Visual Languages for
Interactive Computing: Definitions and
Formalizations" Fernando Ferri (eds.), IGI
Global. Pages 202-222.
Abstract
The Unified
Modeling Language (UML) provides system
architects working on analysis and design
(A&D) with one consistent language for
specifying, visualizing, constructing, and
documenting the artifacts of software
systems, as well as for the business
modeling. The user interface (UI), as a
significant part of most applications,
should also be modeled using UML. In this
paper, we describe how to use and specialize
UML diagrams in order to describe the user
interfaces of a software system. Use case
diagrams are used for extracting the main
user interfaces. Use cases are described by
means of user-interaction diagrams, an
special kind of activity diagrams in which
states represent data output actions and
transitions represents data input events.
Input and output interactions in the
user-interaction diagrams help the designer
to extract the Graphical User Interface
(GUI) components used in each user
interface. A new and specialized version of
the use case diagram for representing the
user interface design —called user-interface
diagram— and a class diagram for GUI
components —called GUI-class diagram— are
obtained. The user-interaction,
user-interface and GUI-class diagrams, can
be seen as the UML-based User Interface
models of the system. Finally, GUI
prototypes can be generated from GUI-class
diagrams. As case study of our technique, we
will describe an Internet book shopping
system.
Case
Study:
A purchase GUI testbed
|
More |
J. Almendros and L. Iribarne. (2005)
Describing use cases with activity charts.
Metainformatics Symposium. Salzburg, Austria,
15-18 September 2004. Springer Verlag Berlin,
LNCS 3511, pp. 141-159.
doi:10.1007/11518358_12
J. Almendros and L. Iribarne. (2005)
Designing GUI components from UML Use Cases.
12th Annual IEEE International Conference and
Workshop on the Engineering of Computer-Based
Systems (ECBS 2005), 4-5 April 2005 in
Greenbelt, Maryland, USA. IEEE Computer
Society, pp. 210-217.
J. Almendros and L. Iribarne. (2004)
A method based on UML use cases for GUI
design. Proceedings of the JISBD2004, IX
Jornadas de Ingeniería del Software y
Bases de Datos, pp. 483-490, ISBN
84-688-8983-0. Málaga, Spain, 10-12
Nov.
|
|