Using XML/XMI for tool supported evolution of UML models (original) (raw)

Evolving XML Schemas and Documents Using UML Class Diagrams

Lecture Notes in Computer Science, 2005

The widespread use of XML brings new challenges for its integration into general software development processes. In particular, it is necessary to keep the consistency between different software artifacts and XML documents when evolution tasks are carried out. In this paper we present an approach to evolve XML schemas and documents conceptually modeled by means of UML class diagrams. Evolution primitives are issued on the UML class diagram and are automatically propagated down to the XML schema. The XML documents are also automatically modified to conform to the new XML schema. In this way, the consistency between the different artifacts involved is kept. This goal is achieved by using an intermediate component which reflects how the UML diagrams are translated into the XML schemas.

Viewpoint for Maintaining UML Models against Application Changes

2006

The urgency that characterizes many requests for evolution forces the system administrators/developers of directly adapting the system without passing through the adaptation of its design. This creates a gap between the design information and the system it describes. The existing design models provide a static and often outdated snapshot of the system unrespectful of the system changes. Software developers spend a lot of time on evolving the system and then on updating the design information according to the evolution of the system. To this respect, we present an approach to automatically keep the design information (UML diagrams in our case) updated when the system evolves. The UML diagrams are bound to the application and all the changes to it are reflected to the diagrams as well.

UML to XML-Schema Transformation: a Case Study in Managing Alternative Model Transformations in MDA

IEEE/ASME Journal of Microelectromechanical Systems - J MICROELECTROMECHANICAL SYST, 2003

In a Model Driven Architecture (MDA) software development process, models are repeatedly transformed to other models in order to finally achieve a set of models with enough details to implement a system. Generally, there are multiple ways to transform one model into another model. Alternative target models differ in their quality properties and the selection of a particular model is determined on the basis of specific requirements. Software engineers must be able to identify, compare and select the appropriate transformations within the given set of requirements. The current transformation languages used for describing and executing model transformations only provide means to specify the transformations but do not help to identify and select from the alternative transformations. In this paper we propose a process and a set of techniques for constructing a transformation space for a given transformation problem. The process uses a source model, its meta-model and the meta-model of th...

Odyssey-SCM: An integrated software configuration management infrastructure for UML models

Science of Computer Programming, 2007

Model-driven development is becoming a reality. Different CASE tool vendors support this paradigm, allowing developers to define high-level models and helping to transform them into refined models or source code. However, current software configuration management tools use a file-based data model that is barely sufficient to manipulate source code. This file-based data model is not adequate to provide versioning capabilities for software modeling environments, which are strongly focused on analysis and architectural design artifacts. The existence of a versioned repository of high-level artifacts integrated with a customized change control process could help in the development and maintenance of such model-based systems. In this work, we introduce Odyssey-SCM, an integrated software configuration management infrastructure for UML models. This infrastructure is composed of a flexible version control system for fine-grained UML model elements, named Odyssey-VCS, and two complementary components: a customizable change control system tightly integrated with the version control system, and a traceability link detection tool that uses data mining to discover change traces among versioned UML model elements and provides the rationale of change traces, automatically collected from the integrated software configuration management infrastructure.

Automating Support for Software Evolution In UML

Automated Software Engineering, 2000

Disciplined support for evolution of software artifacts is important in all phases of the software lifecycle. In order to achieve this support, a uniform underlying foundation for software evolution is necessary. While, in the past, reuse contracts have been proposed as such a formalism in a number of different domains, this paper generalises the formalism, and integrates it into the UML metamodel. As such, support for evolution becomes readily available for many kinds of UML models, ranging from requirements to the implementation phase.

Towards a Bidirectional Transformation of UML and XML Models

2008

Since the end of the nineties, XML has become the standard to exchange and send information on Internet. The W3C has recommended the use of XML Schema to define the structure of XML documents. To date, the graphical modelling of XML Schema models is not standardized. The introduction of a models definition formalism is a mean to make modelling more accessible. UML is a modelling object language which is more and more used and recognized as a standard in the software engineering field, which makes it an ideal candidate for modelling of XML Schema models. In this paper, we introduce the specificities of UML formalism to facilitate the definition of XML models. A semantic enrichment is done in UML and XML Schema with the aim of achieving a bi-directional mapping between these two standards.

Making UML models exchangeable over the Internet with XML: UXF approach

1998

As Unified Modeling Language (UML) provides most of the concepts and notations that are essential for documenting object-oriented models, it has been widely accepted in the software engineering area. However, UML does not have an explicit format for exchanging its models intentionally. The ability to exchange the models is quite important, because it is likely that a development team resides in separate places on the network environment, and because most current development tools don't provide the interconnectivity of the model information. This paper addresses this problem and proposes UXF (UML eXchange Format), which is an exchange format for UML models, based on XML (Extensible Markup Language). It is a format powerful enough to express, publish, access and exchange UML models and a natural extension from the existing Internet environment. It serves as a communication vehicle for developers, and as a well-structured data format for development tools. UXF shows an important step in sharing and exchanging the model information, and indicates a future direction of the interconnectivity between UML compliant tools.

Experiments with XMI based transformations of software models

Workshop on Transformations in …, 2001

The eXtensible Markup Language (XML) and its related technologies provide a promising tool for the implementation of transformations of UML models, not only for research prototypes but also for the interaction of different commercial CASE tools. We report on our experiments with XML query and transformation languages in the context of object-oriented software development. Especially we use the XML Metadata Interchange Format (XMI) as a tool for the transformation of object-oriented models. We outline XMI based scenarios in the forward and reverse engineering of different applications. As an example, we show how XMI and a standardized XML query/transformation language such as XSLT can be used for the generation of SQL database schemas based on UML models, and for design recovery from legacy code.