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 speci cation 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.





University of Almeria, SPAIN

Valid
                  HTML 4.01 Transitional