Professional Documents
Culture Documents
net/publication/267917115
CITATIONS READS
6 7,504
3 authors, including:
Some of the authors of this publication are also working on these related projects:
Information System to Solve Industrial Planning and Scheduling Problems View project
Analysis, Characterization, Design and Development of Advanced Planning Systems to Optimize Manufacturing Processes View project
All content following this page was uploaded by Aldo Vecchietti on 04 March 2015.
The formalization of these elements in order to its where isAbstract is a qualifier to indicate whether the
subsequent transformation into object-relational schemas class can be instantiated or not. Superclass corresponds
is specified below. to the name from which the class inherits properties and
operations. Operations specify a set of methods the class
are the navigable association ends that link the type such as integer, real, character, LOB, etc.
association class with the classes participating in the
association to which it belongs; and PA is the finite set Reference Type
of the pseudoattributes of the association class. A Reference Type is a datatype that contains a value that
According to Fig. 8 the association class is defined using reference an object corresponding to a structured type.
the expressions 3, 4 and 9, as follows: This datatype is defined as:
If lower and upper limits are well known, then an o If the multiplicity is undefined (specified by an
array should be used with a specific length; it *) it is transformed into a multiset of reference
eventually it may grow if it is necessary. types.
In the previous expression Mult stands for multiset; o If the multiplicity is of 1, the pseudoattribute is
eType corresponds to the element type composing it. transformed as an attribute of the structured
type corresponding to the part.
In all the previous cases the type of eType matches the
type of attributeType of the class. f:PA(name, multiplicity = 1..1,
isComposite = ‘Yes’, navigable =
(26)
Pseudoattribute Transformation ‘Yes’, endType = ‘none’) AST(name,
When a class participates in a relationship (association, type = OST)
aggregation, composition, association class) and it has
navigable ends, these can be considered as o If the multiplicity has a maximum of n, it is
pseudoattributes of the class presented in the opposite transformed into an array of length n of the
side of the relationship. These ends involve a structured type of the part.
multiplicity, a navigability and a type, among others
properties. f:PA(name, multiplicity = 1..n,
Pseudoattributes become crucial in the transformation of isComposite = ‘Yes’, navigable =
(27)
class relationships. Mapping functions are generated ‘Yes’, endType = ‘none’) AST(name,
with the objective of preserving relationship semantic, as type = Arr(OST, n))
follows:
If the pseudoattribute is not composite (isComposite o If the multiplicity is undefined (*), it is
= ‘No’) and its endType property is “none” or transformed into a multiset of structured types.
“aggregate”, it is transformed using references,
having into account its multiplicity. f:PA(name, multiplicity = 1..*,
o If the multiplicity is 1, it is transformed into a isComposite = ‘Yes’, navigable =
(28)
reference type single attribute. ‘Yes’, endType = ‘none’) AST(name,
type = Mult(OST))
f:PA(name, multiplicity = 1..1,
isComposite = ‘No’, navigable = ‘Yes’, For the previous cases, OST is the opposite structured
(23) type of the relationship corresponding to the part of the
endType = ‘none’/‘aggregate’)
AST(name, type = Ref(OST)) composition relationship.
where OST is the opposite structured type of the Pseudoattributes whose eType property is “composite”
relationship. represent the whole of a composition relationship. In
agreement with the definition the whole of a
o If the multiplicity is defined and it has a composition is not navigable. Therefore,
maximum of n, it is transformed into an array pseudoattributes of type before mentioned are not
of reference types of length n. converted into the object-relational layer.
treatment is performed in a simple manner because its where name indicates the name assigned to the typed
analysis goes beyond the scope of this article. Having table; and ST specifies the structured type which origins
this issue into account, the UML operations are it.
transformed into methods of the structured types by
means of the following function: To complete the mapping of this layer, the designer must
enter additional information which is not included in the
f:O M (29) metamodels of the previous ones. The first case is
related with table restrictions (primary key, unique key,
where O is a finite set of operations; and M is a finite set not null restrictions, check type restrictions, etc.), which
of methods. do not have an equivalent neither UML class diagram
nor object-relational layer. The other one corresponds to
Generalization - Specialization Relationship the transformation of generalization-specialization
Transformation relationships from the object-relational layer to typed
In the UML class diagram as well as in the object- tables. In the latter, the user must choose the mapping
relational layer generalization - specialization from the three different possibilities that exist:
relationships are specified by means of qualifiers Flat Model: this model includes the definition of a
(isAbstract, superclass, inheritFrom, isInstantiable). The single table for the whole hierarchy. It must create a
transformation of this relationship type is made using typed table for the supertype, with the
those ones. The mapping function defined to the substitutability property that enables the storage of
generalization-specialization relationship is: subtypes in the same supertype table.
Vertical Partition: in this mapping a typed table for
f:C(name, isAbstract = ‘No’,… , superclass = every class in the hierarchy is created. The
‘superclass_name’) ST(name,…, isInstantiable (30) substitutability property is removed, so only the
= ‘Yes’, inheritFrom = ‘supertype_name’) appropriated structured types can be stored in those
tables.
Class Transformation Horizontal Partition: in this transformation typed
tables for subtypes are created, translating all
Classes of the UML diagram of the conceptual design supertype attributes to them. The substitutability
are mapped into a structured type the object-relational property is removed.
technology.
On the other hand, XML has also a number of The architecture is based on different abstraction levels
advantages for application development that justifies its [10]:
use for the automation process of ORDB schemes. These Metamodel Level: contains XML schemas
are: generated for the three metamodels used for the
It is a formal and concise language, from the point transformations: UML class diagramas, SQL:2003
of view of the data and the way of storing them. Data Types and SQL:2003 Schema. Besides, XSLT
It is extensible, which means that once the structure transformation rules between the XML schemas are
of a document was designed and put into defined in this level.
production, it is possible to extend it with the Model Level: contains the XML documents
addition of new tags, allowing the model evolution. fulfilling the XML Schemas defined in the
It is expressive, its files are easy to read and edit. If metamodel level. The first XML document
a third person chooses to use a complying with the UML metamodel represents the
document created in XML, it is easy to understand hierarchical and structured information of the
its structure and process it, which improves the application. Mappings from one XML document to
compatibility among applications. another are performed executing the XSLT rules
There are commercial and free tools that facilitate defined in the metamodel level.
its implementation, programming and the Data Level: this level contains the input and output
production of different systems. of the model level. The UML class diagram
corresponding to the application requirements is the
The XML schema definition language [26] has become a input while the output is the code of the object-
dominant technology to describe the type and the relational database schema.
structure of XML documents. This capability makes it
appropriate for the definition of the metamodels used in The transformation method starts with the definition of
this work. XML schemas provide the basic infrastructure the application UML class diagram which is converted
for building interoperable systems because they provide into an XML document complying with the
a common language for the XML document description. corresponding XML Schema after that. Mapping rules
The specification of the XML transformations (XSLT) defined between the UML and the SQL:2003 data types
defines a language for expressing rules which allows metamodels are then executed. The XML document of
transforming an XML document into another. XSLT the SQL:2003 data type obtained in the previous step is
[14] has many of the traditional constructors of the converted into a XML document fulfilling the SQL:2003
programming languages, including variables, functions, schema executing the XSLT rules defined between
iterators and conditional sentences, so XSLT can be them. Finally, a Java code generates the object-relational
thought as a programming language. Furthermore, database script having this last XML document as input.
XSLT documents are also useful as general purpose
language to express transformations from an XML This architecture was implemented in a tool prototype
schema to another. In fact, the use of XSLT documents employing the Altova XMLSpy tool [2]. It provides a
can be imagined as an XML translation engine, so this flexible and efficient environment to create and edit
technology was selected for this, for the implementation XML schemas and XML files. For writing the rules in
of mapping rules. XSLT language a graphical interface of Altova
MapForce [1] was used. MapForce has a complete set of
5.1 Transformation Methodology Architecture graphic functions that allows an easy writing,
modification and deletion of the rules, providing a great
The architecture to perform the model transformation is flexibility and modificability of the transformations.
IJCSI International Journal of Computer Science Issues, Vol. 8, Issue 3, No. 2, May 2011
ISSN (Online): 1694-0814
www.IJCSI.org 21
[21] Mukerji, J., & Miller, J. (2003). MDA Guide Version M.F. Golobisky obtained his PhD degree in Engineering, major
1.0.1. Object Management Group. Revised June 12, 2003, in Information Systems Engineering, in 2009, at Universidad
from http://www.omg.org/cgi-bin/doc?omg/03-06-01. Tecnológica Nacional, Facultad Regional Santa Fe, Argentina.
She is Professor at this University and research fellow of
[22] Rumbaugh, J., Jacobson, I., & Booch, G. (1999). The
CONICET.
Unified Modeling Language. Reference Manual. Addison-
Wesley. A Vecchietti. Obtained his PhD degree in 2000 in Chemical
[23] OMG (2005). Unified modeling language: Superstructure, Engineering at Facultad de Ingeniería Química Universidad
Version 2.0. OMG Final Adopted Specification. Retrieved Nacional del Litoral, Argentina. He is a researcher of CONICET
July 2005, from and Professor at Universidad Tencnológica Nacional, Facultad
http://www.omg.org/spec/UML/2.0/Superstructure/PDF Regional Santa Fe, Argentina.
[24] OMG (2006). Unified modeling language: Infrastructure,
Version 2.0. OMG Final Adopted Specification. Object
Management Group. Retrieved July 2005, from
http://www.omg.org/spec/UML/2.0/Infrastructure/PDF
[25] Quest Software (2010). ToadTM Data Modeler 3. Quest
Software, Inc.
http://www.casestudio.com/enu/default.aspx
[26] W3C (2004). XML Schema. Revised October 28, 2004,
from XML Schema Working Group Public Page,
http://www.w3.org/XML/Schema