Published in:
12th Workshop for PhD Students in Object-Oriented Systems (PhDOOS 2002), 16th European Conference on Object-Oriented Programming (ECOOP 2002), p. 48-49: Lecture Notes in Computer Science 2548, Málaga (Spain), June 10-14 2002.
Download:
http://gplsi.dlsi.ua.es/almacenes/ver.php?pdf=34
Presentation on how to chat with PDF using ChatGPT code interpreter
Multidimensional Modeling using UML and XML
1. Departamento de Lenguajes y
Sistemas Informáticos
Multidimensional Modeling using
UML and XML
Sergio Luján-Mora
(sergio.lujan@ua.es / @sergiolujanmora)
Published in:
12th Workshop for PhD Students in Object-Oriented Systems
(PhDOOS 2002), 16th European Conference on Object-Oriented
Programming (ECOOP 2002), p. 48-49: Lecture Notes in Computer
Science 2548, Málaga (Spain), June 10-14 2002.
Download:
http://gplsi.dlsi.ua.es/almacenes/ver.php?pdf=34
2. Departamento de Lenguajes y
Sistemas Informáticos
Multidimensional Modeling using
UML and XML
Sergio Luján-Mora
3. Multidimensional Modeling using UML and XML
Contents
• Introduction
•
•
•
•
•
OO Multidimensional Modeling
UML Extension for MD Modeling
MD Modeling in Rational Rose
MD Models in XML
Conclusions and Future Work
4. Multidimensional Modeling using UML and XML
Introduction
• Multidimensional (MD) modeling Data
warehouses, MD databases, OLAP
applications
• Many years of historical information
• Different approaches for the conceptual
design:
–
–
–
–
Golfarelli et al
Sapia et al
Tryfona et al
…
Own graphical
notations
5. Multidimensional Modeling using UML and XML
Introduction
• UML Standard OO modeling
language for software systems
• Minimize the efforts in learning new
notations
• Extensible language Stereotypes,
tagged values, and constraints
• Allow introducing new elements for
specific domains
6. Multidimensional Modeling using UML and XML
Introduction
• UML extension for MD modeling based
on an object-oriented approach (Trujillo
et al, IEEE Computer 34, 2001):
– Easily considers MD properties at the
conceptual level:
•
•
•
•
Many-to-many relationships
Degenerate dimensions
Multiple and alternative path hierarchies
...
7. Multidimensional Modeling using UML and XML
Introduction
• MD models are stored in XML
documents XML Schema defines the
correctness
• Then, we use XSLT to automatically
generate HTML pages that can
represent different presentations of the
same MD model
8. Multidimensional Modeling using UML and XML
Introduction
UML extension for MD
MD models
XML documents
XSLT stylesheet
XSLT processor
HTML
Rational
Rose
2000
9. Multidimensional Modeling using UML and XML
Contents
• Introduction
• OO Multidimensional Modeling
•
•
•
•
UML Extension for MD Modeling
MD Modeling in Rational Rose
MD Models in XML
Conclusions and Future Work
10. Multidimensional Modeling using UML and XML
OO MD modeling
• The MD modeling approach represents
both the structural and dynamic parts of
MD modeling using the UML
• MD modeling structural properties are
specified by means of a UML class
diagram
• Facts and dimensions are considered
by fact classes and dimension classes
11. Multidimensional Modeling using UML and XML
OO MD modeling
Sales
Shared
aggregation
Dimension
class
{OID}: ticket_num
qty: integer
price: real
/total: integer
inventory: integer
*
*
1..*
Product
…
Fact class
1
…
Time
…
Dimension
class
•Fact classes are specified as composite classes in
shared aggregation relationships of n dimension
classes
12. Multidimensional Modeling using UML and XML
OO MD modeling
{inventory is (AVG,MIN,MAX) along Time}
Sales
{OID}: num_ticket
qty: integer
price: real
/total: integer
inventory: integer
Additivity
rule
*
*
1..*
Product
…
1
…
Time
…
•All measures in the fact class are considered additive
•Non-additive measures Additivity rules defined as
constraints
13. Multidimensional Modeling using UML and XML
OO MD modeling
{inventory is (AVG,MIN,MAX) along Time}
Sales
{OID}: num_ticket
qty: integer
price: real
/total: integer
inventory: integer
{total = qty * price}
*
*
1..*
Derivation
rule
Product
…
1
…
Time
…
•Derived measures are defined by means of derivation rules
•Identifying attributes {OID} Represent degenerate
dimensions
14. Multidimensional Modeling using UML and XML
OO MD modeling
Time
*
1
…
{OID}: cod_time
{D}: day_of_week
*
*
1
Week
*
Season
…
Classification
hierarchy
*
*
1
Year
…
Month
*
…
Base
class
•An association of classes specifies the relationships between
two levels of a classification hierarchy
•Every classification hierarchy level is specified by a class called
base class
15. Multidimensional Modeling using UML and XML
OO MD modeling
Time
*
{OID}: cod_time
{D}: day_of_week
1
…
{dag}
*
*
1
Week
*
Season
…
*
*
1
Year
…
Month
…
*
•The classes in a classification hierarchy must define a Directed
Acyclic Graph (DAG) rooted in the dimension class ({dag})
•Every classification hierarchy level must have an identifying
attribute ({OID}) and a descriptor attribute ({D})
16. Multidimensional Modeling using UML and XML
OO MD modeling
Time
*
{OID}: cod_time
{D}: day_of_week
1
…
{dag}
*
*
1
Week
*
Season
…
*
*
1
Year
…
Month
…
{completeness}
*
•The multiplicity 1 and 1..* addresses the concepts of strictness
and non-strictness
•The {completeness} constraint addresses the completeness
of a classification hierarchy
17. Multidimensional Modeling using UML and XML
OO MD modeling
Product
{OID}: cod_prod
{D}: description
Food
type
family
Meat
Fish
Drink
…
•The categorization of dimensions is considered by
means of generalization-specialization relationships
18. Multidimensional Modeling using UML and XML
Contents
• Introduction
• OO Multidimensional Modeling
• UML Extension for MD Modeling
• MD Modeling in Rational Rose
• MD Models in XML
• Conclusions and Future Work
19. Multidimensional Modeling using UML and XML
UML Extension for MD Modeling
• UML extensible language Extension
mechanisms: stereotypes, tagged
values, and constraints
• Allow introducing new elements for
specific domains (web design, data
modeling, etc.)
• UML can be adapted to fit a specific
method, organization, or user
20. Multidimensional Modeling using UML and XML
UML Extension for MD Modeling
• Stereotype: a new model element that
specializes a UML element (Class,
Attribute, Package, Association, etc.)
• Tagged value: a new property of a
model element
• Constraint: refines the semantics of a
model element Informal or formal
(Object Constraint Language)
21. Multidimensional Modeling using UML and XML
UML Extension for MD Modeling
• Extension summary:
– 8 stereotypes:
• Class: Fact, Dimension, and Base
• Attribute: FactAttribute, DimensionAttribute,
OID, and Descriptor
• Association: Completeness
– 2 tagged values:
• isTime and derivationRule
– 23 constraints
22. Multidimensional Modeling using UML and XML
UML Extension for MD Modeling
• Facts and dimensions Fact and
Dimension stereotypes
• Derived measures: derivationRule
tagged value
• Classification hierarchies Association
between Dimension and Base
stereotypes
• Completeness Completeness
stereotype
23. Multidimensional Modeling using UML and XML
UML Extension for MD Modeling
• Name: Fact
• Base class: Class
• Description: Classes of this stereotype
represent facts in a MD model
• Icon:
• Tagged values: None
24. Multidimensional Modeling using UML and XML
UML Extension for MD Modeling
• Constraints:
– All attributes of a Fact must be OID or
FactAttribute:
self.feature->select(oclIsKindOf(Attribute))->
forAll(oclIsTypeOf(OID) or oclIsTypeOf(FactAttribute))
– All associations of a Fact must be aggregations:
self.association->forAll(aggregation = #aggregate)
– A Fact can only be associated to Dimension
classes:
self.allOppositeAssociationEnds->
forAll(participant.oclIsTypeOf(Dimension))
25. Multidimensional Modeling using UML and XML
Contents
• Introduction
• OO Multidimensional Modeling
• UML Extension for MD Modeling
• MD Modeling in Rational Rose
• MD Models in XML
• Conclusions and Future Work
26. Multidimensional Modeling using UML and XML
MD Modeling in Rational Rose
• Rational Rose is one of the most well-known
visual modeling tools
• RR is extensible by means of add-ins through
the Rose Extensibility Interface:
–
–
–
–
–
–
–
Main menu items
Stereotypes
Properties (tagged values)
Data types
Event handling
Scripts
…
27. Multidimensional Modeling using UML and XML
MD Modeling in Rational Rose
• Our add-in customizes:
– Stereotypes Stereotype configuration
file
– Properties Property configuration file
– Menu item Menu configuration file
• Menu Tools:
– MD Validate
– XML Export
30. Multidimensional Modeling using UML and XML
Contents
•
•
•
•
Introduction
OO Multidimensional Modeling
UML Extension for MD Modeling
MD Modeling in Rational Rose
• MD Models in XML
• Conclusions and Future Work
31. Multidimensional Modeling using UML and XML
MD Models in XML
• XML is being adopted as a standard
syntax for the interchange of semistructured data
• We use XML to store MD models
• Correct structure? XML Schema
32. Multidimensional Modeling using UML and XML
MD Models in XML
• Main advantages of XML Schema over
DTD:
– They are written in the same syntax as
XML documents
– They can define new data types
– The references are more precisely defined
• We have chosen a “Russian doll”
design (nested, anonymous complex
types)
34. Multidimensional Modeling using UML and XML
MD Models in XML
• Goal: provide different presentations of
MD models in the web
• Common web browsers partly support
XML
• We are currently forced to transform
XML documents into HTML pages in
order to publish them in the web
• How?
35. Multidimensional Modeling using UML and XML
MD Models in XML
• XSLT is the best method: it is a
language for transforming XML
documents into other XML documents
(XML XHTML)
• XML documents can be tailored (filtered
and reordered) to represent different
presentations of the same MD model
using XSLT stylesheets
36. Multidimensional Modeling using UML and XML
MD Models in XML
FACT CLASS 1
FACT CLASS 2
XML document
containing
MD model
XSLT
stylesheet
XSLT
processor
HTML
presentation
for
FACT CLASS 1
HTML
presentation
for
FACT CLASS 2
38. Multidimensional Modeling using UML and XML
Contents
•
•
•
•
•
Introduction
OO Multidimensional Modeling
UML Extension for MD Modeling
MD Modeling in Rational Rose
MD Models in XML
• Conclusions and Future Work
39. Multidimensional Modeling using UML and XML
Conclusions and Future Work
• UML extension for MD modeling: allows
us to represent structural MD properties
at the conceptual level
• OCL to specify the constraints, avoiding
an arbitrary use of the extension
• Main advantage: UML Avoids
developers learning a new graphical
notation
40. Multidimensional Modeling using UML and XML
Conclusions and Future Work
• MD models are stored in XML
documents We provide an XML
Schema
• Different presentations from the same
MD model in HTML We provide
XSLT stylesheets
41. Multidimensional Modeling using UML and XML
Conclusions and Future Work
• PhD: define a methodology for MD modeling
• Until now: graphical notation, static part,
representation in XML, some design
guidelines
• Future work: dynamic part, UML package
diagrams, automatic generation of database
schema into OO and OR databases, more
design guidelines, …
42. Multidimensional Modeling using UML and XML
Departamento de Lenguajes y
Sistemas Informáticos
Multidimensional Modeling using
UML and XML
Sergio Luján-Mora
Hinweis der Redaktion
{"38":"To conclude (kon’klu:d), let us present some conclusions (kon’klsu:shn) and future (’fiucha) work.\n","16":"The multiplicity (malti’plisiti) 1 and 1..* addresses the concepts of strictness and non-strictness.\nThe {completeness} (kom’pli:tness) constraint addresses the completeness of a classification hierarchy.\n","5":"On the other hand, the Unified Modeling Language has been widely accepted as the standard object-oriented (OO) modeling language for modeling various aspects of software systems.\nAny approach using the UML will minimize the effort of developers in learning new notations.\nThe UML is an extensible language: it provides mechanisms, such as stereotypes, tagged values, and constraints that allow introducing new elements for specific domains\n","33":"Here, we can see the presentation of the previous (’pri:vios) XML document (‘dokjument) in Microsoft Internet Explorer. The document is not presented in a “pretty” way.\n","11":"Fact classes are specified as composite (’kompozit) classes in shared aggregation relationships of n dimension classes.\n","17":"Finally, the categorization of dimensions is considered by means of generalization-specialization relationships.\n","6":"In this paper, we present a UML extension for MD modeling based on an object-oriented approach based on the UML, as it easily considers main MD properties at the conceptual level, such as the many-to-many relationships between facts and dimensions, degenerate (di’lleneret) dimensions, multiple (’maltipl) and alternative path classification hierarchies, and other features.\n","34":"Therefore, another relevant issue of our approach was to provide different presentations of the MD models in the web.\nHowever, nowadays only some web browsers (’brausars) partly (’pa:rtli) support XML.\nTherefore, we are currently forced to transform XML documents into HTML pages in order to publish them in the web. How can we achieve this goal?\n","12":"All measures in the fact class are considered additive. For non-additive measures, additivity rules (ru:l) are defined as constraints and are placed in somewhere around the fact class.\n","1":"Good morning to everybody, my name is Sergio Luján-Mora.\nThe paper I am going to present (pri’zent) is entitled (in’taitl) “Multidimensional Modeling using UML and XML”. This work has been carried out in the “Departamento de Lenguajes y Sistemas Informáticos” at the “Universidad de Alicante” in Spain.\n","40":"MD models are stored in XML documents. Because of this, we provide an XML Schema, that defines the correct structure of XML documents.\nFurthermore, we generate different presentations from the same MD model in HTML, thanks to the use of XSLT stylesheets.\n","18":"Now, I will present our UML extension for MD modeling.\n","7":"Furthermore, MD models are stored in XML documents (‘dokjuments). Then, we use the XML Schema to validate (’vaelideit) the XML documents.\nThen, we use XSLT stylesheets to automatically generate HTML pages that can represent different presentations of the same MD model.\n","35":"The best method to accomplish this task is the use of XSLT, a language for transforming XML documents into other XML documents.\nXML documents can be tailored (filtered and reordered) to represent different presentations of the same MD model using XSLT stylesheets.\n","13":"Furthermore, derived measures are defined by means of derivation rules, that are also placed in somewhere around the fact class.\nOur approach also allows to define identifying attributes in the fact class by placing the constraint {OID} next to a measure name. In this way, we can represent degenerate dimensions.\n","2":"Good morning to everybody, my name is Sergio Luján-Mora.\nThe paper I am going to present (pri’zent) is entitled (in’taitl) “Multidimensional Modeling using UML and XML”. This work has been carried out in the “Departamento de Lenguajes y Sistemas Informáticos” at the “Universidad de Alicante” in Spain.\n","30":"Now, I will present how we use XML documents that represent (repre’zent) MD models and how we generate (llenereit) HTML pages from them.\n","8":"In short, this is work I am going to present today:\nI propose a UML extension for MD modeling\nThis extension allows us to design MD models\nThe MD models are stored in XML documents\nFinally, the XML documents are automatically (oto’matikli) transformed in HTML pages\n","36":"This figure illustrates the overall (ouver’ol) transformation process for a MD model composed of two fact classes sharing common dimensions. The MD model is stored in an XML document and an XSLT stylesheet is provided to generate different presentations of the MD model as different HTML pages.\n","25":"Now, I will show how we use our MD extension in Ration Rose.\n","14":"Moreover, an association of classes specified the relationships between two levels of a classification hierarchy.\nEvery classification hierarchy level is specified by a class called base (beis) class.\n","3":"I have divided my presentation into six main points.\nFirstly, I will start with a brief (bri:f) introduction to my work.\nThen, in the second section I will describe (di’skraib) the basis of our conceptual multidimensional modeling approach (a’proch) based on the UML.\nNext, I will show our proposal of UML extension for MD modeling.\nFollowing this proposal, I will show how we use our MD extension in Ration Rose.\nAnd then, I will go on to explain how we use XML documents (‘dokjument) to store multidimensional models and how we use XSLT stylesheets to automatically (oto’matikli) generate (llenereit) HTML pages from XML documents (‘dokjuments).\nFinally, I will end my presentation with the main conclusions and future work.\nLet us start with the first part of the presentation.\n","42":"Thank you very much for your time and attention (a’tenshon).\n","20":"The UML extension mechanisms are stereotypes, tagged values, and constraints.\n","9":"After this brief introduction, let us see the basis of our object-oriented conceptual multidimensional modeling approach.\n","37":"The resulting HTML pages allow us to navigate through the different presentations of the model on a web browser. All the information about MD properties of the model is represented in the HTML pages.\nFor example, this page shows the information about the selected fact class: name, measures, methods, etc. In this example, Sales contains four measures, ticket_number, qty (quantity), price, and inventory; and two methods, Destroy and New.\n","15":"The classes in a classification hierarchy must define a Directed (di’rektid) Acyclic (a’saiklik) Graph (DAG) rooted in the dimension class (constraint {dag} placed next to every dimension class).\nEvery classification hierarchy level must have an identifying attribute ({OID}) and a descriptor attribute ({D}).\n","4":"Multidimensional (MD) modeling is the foundation of data warehouses, MD databases, and OLAP applications. These systems provide companies with many years of historical information for the decision making process.\nDifferent approaches for the conceptual design of MD systems have been proposed in the last few years. Some of the most well-known are Golfarelli, Sapia, and Tryfona. These approaches provide their own graphical notations.\n","32":"We started our research using a DTD, but XML Schemas present some advantages (ad’vantichis) over DTD. For example, they are written (’riten) in the same syntax (’sintaks) as XML documents, they can define new data types, and the references are more precisely defined.\nWe have chosen a “Russian doll” design (also known as nested or anonymous (a’nonimas) complex types) because it allows us to define each element and attribute (a’tribju:t) within its context in an embedded manner. We find this design “more natural”.\n","21":"The summary of our UML extension is:\n","10":"The MD modeling approach represents both the structural (’strakcharol) and dynamic (dai’naemik) parts of MD modeling using the UML. In this work, I do not address the dynamic part.\nIn this approach, main MD modeling structural properties are specified by means of a UML class diagram.\nFacts and dimensions (dai’menshn) are considered by fact classes and dimension classes.\n"}