SlideShare ist ein Scribd-Unternehmen logo
1 von 42
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
Departamento de Lenguajes y
Sistemas Informáticos

Multidimensional Modeling using
UML and XML

Sergio Luján-Mora
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
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
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
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
...
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
Multidimensional Modeling using UML and XML

Introduction
UML extension for MD
MD models
XML documents

XSLT stylesheet

XSLT processor

HTML

Rational
Rose
2000
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
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
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
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
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
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
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})
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
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
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
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
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)
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
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
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
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))
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
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
…
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
Multidimensional Modeling using UML and XML
Multidimensional Modeling using UML and XML
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
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
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)
Multidimensional Modeling using UML and XML
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?
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
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
Multidimensional Modeling using UML and XML
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
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
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
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, …
Multidimensional Modeling using UML and XML

Departamento de Lenguajes y
Sistemas Informáticos

Multidimensional Modeling using
UML and XML

Sergio Luján-Mora

Weitere ähnliche Inhalte

Andere mochten auch

Andere mochten auch (9)

vision11
vision11vision11
vision11
 
Curso HTML 5 & jQuery - Leccion 11
 Curso HTML 5 & jQuery - Leccion 11 Curso HTML 5 & jQuery - Leccion 11
Curso HTML 5 & jQuery - Leccion 11
 
Rahul kapoor corporate profile
Rahul kapoor   corporate profileRahul kapoor   corporate profile
Rahul kapoor corporate profile
 
The Level Next Game
The Level Next Game The Level Next Game
The Level Next Game
 
Antonius Pentaho Webinar
Antonius Pentaho WebinarAntonius Pentaho Webinar
Antonius Pentaho Webinar
 
Rahulkapoor Motivational Speakers Bangalore-Profile
Rahulkapoor Motivational Speakers Bangalore-ProfileRahulkapoor Motivational Speakers Bangalore-Profile
Rahulkapoor Motivational Speakers Bangalore-Profile
 
Pancake recipe
Pancake recipePancake recipe
Pancake recipe
 
Work wise book sample -Rahul Kapoor Author
Work wise book sample -Rahul Kapoor AuthorWork wise book sample -Rahul Kapoor Author
Work wise book sample -Rahul Kapoor Author
 
Visual Data Vault
Visual Data VaultVisual Data Vault
Visual Data Vault
 

Mehr von Sergio Luján Mora - Universidad de Alicante

Mehr von Sergio Luján Mora - Universidad de Alicante (20)

Delivering location-based services using GIS, WAP, and the Web: two applications
Delivering location-based services using GIS, WAP, and the Web: two applicationsDelivering location-based services using GIS, WAP, and the Web: two applications
Delivering location-based services using GIS, WAP, and the Web: two applications
 
Clustering of Similar Values, in Spanish, for the Improvement of Search Systems
Clustering of Similar Values, in Spanish, for the Improvement of Search SystemsClustering of Similar Values, in Spanish, for the Improvement of Search Systems
Clustering of Similar Values, in Spanish, for the Improvement of Search Systems
 
XML: Ejemplos de uso
XML: Ejemplos de usoXML: Ejemplos de uso
XML: Ejemplos de uso
 
XML: Introducción
XML: IntroducciónXML: Introducción
XML: Introducción
 
XML: HTML y XHTML
XML: HTML y XHTMLXML: HTML y XHTML
XML: HTML y XHTML
 
Cookies: ¿Cómo funcionan?
Cookies: ¿Cómo funcionan?Cookies: ¿Cómo funcionan?
Cookies: ¿Cómo funcionan?
 
Cookies: ¿Qué son y para qué sirven?
Cookies: ¿Qué son y para qué sirven?Cookies: ¿Qué son y para qué sirven?
Cookies: ¿Qué son y para qué sirven?
 
Cookies: Uso en JavaScript
Cookies: Uso en JavaScriptCookies: Uso en JavaScript
Cookies: Uso en JavaScript
 
Curso Introduccion accesibilidad web
Curso Introduccion accesibilidad webCurso Introduccion accesibilidad web
Curso Introduccion accesibilidad web
 
¿Qué es un CAPTCHA? Origen y uso
¿Qué es un CAPTCHA? Origen y uso¿Qué es un CAPTCHA? Origen y uso
¿Qué es un CAPTCHA? Origen y uso
 
¿Qué es un CAPTCHA? Futuro
¿Qué es un CAPTCHA? Futuro¿Qué es un CAPTCHA? Futuro
¿Qué es un CAPTCHA? Futuro
 
Errores web: Tame
Errores web: TameErrores web: Tame
Errores web: Tame
 
Errores web: Renfe y las fechas
Errores web: Renfe y las fechasErrores web: Renfe y las fechas
Errores web: Renfe y las fechas
 
Errores web: Renfe y los nombres de las ciudades
Errores web: Renfe y los nombres de las ciudadesErrores web: Renfe y los nombres de las ciudades
Errores web: Renfe y los nombres de las ciudades
 
Errores web: El País
Errores web: El PaísErrores web: El País
Errores web: El País
 
Errores web: Amadeus y su calendario
Errores web: Amadeus y su calendarioErrores web: Amadeus y su calendario
Errores web: Amadeus y su calendario
 
Errores web: Rumbo y su calendario
Errores web: Rumbo y su calendarioErrores web: Rumbo y su calendario
Errores web: Rumbo y su calendario
 
Herramientas de trabajo colaborativo
Herramientas de trabajo colaborativoHerramientas de trabajo colaborativo
Herramientas de trabajo colaborativo
 
Herramientas educativas
Herramientas educativasHerramientas educativas
Herramientas educativas
 
Recursos 2.0 de la Universidad de Alicante
Recursos 2.0 de la Universidad de AlicanteRecursos 2.0 de la Universidad de Alicante
Recursos 2.0 de la Universidad de Alicante
 

Kürzlich hochgeladen

The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 

Kürzlich hochgeladen (20)

The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
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

  1. {"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"}