Extending the UML for Multidimensional Modeling

1,032 views

Published on

Published in:
5th International Conference on the Unified Modeling Language (UML 2002), p. 290-304: Lecture Notes in Computer Science 2460, Dresden (Germany), September 30 - October 4 2002.
 
Download:
http://gplsi.dlsi.ua.es/almacenes/ver.php?pdf=39

Published in: Technology, Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,032
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • Good morning to everybody, my name is Sergio Luján-Mora.
    The paper I am going to present (pri’zent) and I have developed (di’velopt) with my colleagues (‘koligs) Juan Trujillo and Il-Yeol Song is entitled (in’taitl) “Extending the UML for Multidimensional Modeling”. This work has been carried out in the “Departamento de Lenguajes y Sistemas Informáticos” at the “Universidad de Alicante” in Spain and the “College of Information Science and Technology” at Drexel University in the USA.
  • Good morning to everybody, my name is Sergio Luján-Mora.
    The paper I am going to present (pri’zent) and I have developed (di’velopt) with my colleagues (‘koligs) Juan Trujillo and Il-Yeol Song is entitled (in’taitl) “Extending the UML for Multidimensional Modeling”. This work has been carried out in the “Departamento de Lenguajes y Sistemas Informáticos” at the “Universidad de Alicante” in Spain and the “College of Information Science and Technology” at Drexel University in the USA.
  • I have divided my presentation into five main points.
    Firstly, I will start with a brief (bri:f) introduction to conceptual multidimensional modeling.
    Then, in the second section I will describe (di’skraib) the basis of our conceptual multidimensional modeling approach (a’proch) based on the UML.
    Next, I will show proposal of a UML extension for MD modeling.
    And then I will go on to show how to use our extension in Rational Rose.
    Finally, I will end my presentation with the main conclusions and future work.
    Let us start with the first part of the presentation.
  • Multidimensional (MD) modeling is the foundation of data warehouses (DW), MD databases, and On-Line Analytical Processing (OLAP) applications.
    These systems provide companies with many years of historical information for the decision making process.
    Different approaches for the conceptual design of MD systems have been proposed in the last few years, such as Golfarelli, Sapia, or Tryfona.
    These approaches provide their own graphical notations, which makes designers to learn a new specific model together with its corresponding notation for MD modeling.
  • On the other hand, the Unified Modeling Language (UML) has been widely accepted as the standard object-oriented (OO) modeling language for modeling various aspects of software systems.
    Therefore, any approach using the UML will minimize the effort of developers in learning new notations for every subsystem to be modeled.
    The UML is an extensible language, in the sense it provides mechanisms (stereotypes, tagged values, and constraints) that allow the user to introduce new elements for specific domains if necessary, such as wed applications, database applications, business modeling, and so on.
    In the UML world, an extension is usually called “a profile”.
  • In the past years, some proposals to extend the UML for database (DB) design have been presented, since the UML does not include a data model. Some of the most important approaches are: the Persistence Modeling by Ambler, the Data Modeling by Rational Software, the UML Profile for Database Design by Naiburg, and the Object-Relational Database Design Methodology by Marcos.
    Nevertheless, to the best of our knowledge, there is no proposal to extend the UML for MD modeling.
  • Therefore, in this work we present a UML profile for MD modeling based on our previously proposed approach. This extension can easily and elegantly consider main MD properties at the conceptual level such as the many-to-many relationships between fact and dimensions, degenerate dimensions, multiple and alternative path classification hierarchies, and so on.
    We have used the Object Constraint Language (OCL) for expressing well-fomedness rules of the new defined elements, thereby avoiding an arbitrary use of our extension.
    Moreover, to show the applicability of our approach, we have also programmed the UML extension in a well-known visual modeling tool such as Rational Rose.
  • Now, I will show how we use our MD extension in Ration Rose.
  • Our MD modeling approach represents both the structural and dynamic parts of MD modeling using the UML. However, in this work, we will not address the dynamic part.
    In this approach, main MD modeling structural properties are specified by means of a UML class diagram.
    Facts and dimensions are considered by fact classes and dimension classes.
  • Fact classes are specified as composite classes in shared aggregation relationships of n dimension classes.
    The flexibility of shared aggregation in the UML allows us to represent many-to-many relationships between facts and particular dimensions by indicating the 1..* (one-to-many) cardinality on the dimension class role.
  • All measures in the fact class are considered additive. For non-additive measures, additivity rules are defined as constraints and are placed in somewhere around the fact class.
  • Furthermore, derived measures are defined by means of derivation rules, that are also placed in somewhere around the fact class.
    Our approach also allows the user 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, thereby, representing other fact features in addition to the measures for analysis.
  • Moreover, 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.
  • The classes in a classification hierarchy must define a Directed Acyclic Graph (DAG) rooted in the dimension class (constraint {dag} placed next to every dimension class).
    Every classification hierarchy level must have an identifying attribute ({OID}) and a descriptor attribute ({D}).
  • The multiplicity 1 and 1..* addresses the concepts of strictness and non-strictness.
    The {completeness} constraint addresses the completeness of a classification hierarchy.
  • Finally, the categorization of dimensions is considered by means of generalization-specialization relationships.
  • The UML Extensibility Mechanism package is the subpackage from the UML metamodel that specifies how specific UML model elements are customized and extended with new semantics using stereotypes, tagged values, and constraints.
    In this way, the UML can be adapted to fit a specific method, organization, or user.
  • The UML extension mechanisms are stereotypes, tagged values, and constraints.
    A stereotype is a new model element that specializes a UML element.
    A tagged value is a new property of a model element.
    Finally, a constraint refines the semantics of a model element. A constraint can be defined by means of an informal explanation or by means of formal OCL expressions.
  • The summary of our UML extension is:
    8 stereotypes: three specialize the Class model element, four specialize the Attribute model element, and one specializes the Association model element.
    Two tagged values
    And 23 constraints expressed in natural language and OCL.
  • In this figure we have represented a portion of the UML metamodel to show where our stereotypes fit.
  • This is a summary of the UML elements we have used or defined to consider the more relevant MD properties.
    In our UML Extension, facts and dimensions are represented by means of Fact, Dimension, and Base stereotypes.
    Fact attributes are represented by means of OID and FactAttribute stereotypes.
    Dimension attributes are represented by means of OID, Descriptor, and DimensionAttribute stereotypes.
    Derived measures are represented by means of derivationRule tagged value.
    Classification hierarchies are represented by means of associations between Dimension and Base stereotypes.
    And finally, completeness is represented by means of Completeness stereotype.
  • As an example of our extension, we will show the definition of Fact and Dimension stereotypes.
  • Now, I will show how we use our MD extension in Ration Rose.
  • Rational Rose (RR) is one of the most well-known visual modeling tools.
    Rational Rose is extensible by means of add-ins, through the Rose Extensibility Interface (REI).
    An add-in is a collection of the following: main menu items, shortcut menu items, stereotypes, properties, etc.
  • Our add-in customizes the following elements:
    Stereotypes. We have defined the new stereotypes by means of a stereotype configuration file.
    Properties. We have defined the new tagged values by means of a property configuration file.
    Constraints. The Rose Extensibility Interface does not allow us to directly define new OCL constraints. However, it allows us to define a new menu item that runs a Rose script that validates a MD model: our script checks all the constraints we have defined in the UML extension.
  • The best way to understand our extension is to show a tangible example. For example, this figure shows a MD conceptual model of the well-known “Grocery” example as describe in Ralph Kimball’s book “The Data Warehouse Toolkit”.
    This example contains one Fact class (Sales) and four Dimension classes (Time, Product, Store, and Promotion).
    Every classification hierarchy level of a Dimension class is represented by a Base class. For example, the classification hierarchy of Time comprises the following Base classes: Month, Quarter, Semester, Year, and Season.
    For the sake of clarity, we do not show all the attributes and methods: only the attributes of Sales and Product are displayed.
    We can also notice that a stereotype can be displayed in different manners in Rational Rose.
  • Finally, we have defined a Rose script that validates the correctness of a MD model. In this fragment, we can notice the function VAssociationFact, which validates the associations of a Fact. It checks the OCL constraints we have previously presented in the Fact stereotype:
    All associations of a Fact must be aggregations.
    A Fact can only be associated to Dimension classes.
  • We have presented a UML extension that allows us to represent structural MD properties at the conceptual level.
    This extension contains the needed stereotypes, tagged values, and constraints for a complete and powerful MD modeling.
    We have used the OCL to specify the constraints attached to the new elements, thereby avoiding an arbitrary use of the extension.
    The main relevant advantage of this approach is that it uses the UML, a widely-accepted object-oriented modeling language, which avoids developers learning a new graphical notation.
  • We are currently working on including aspects regarding the dynamic part of MD models. We are also considering the automatic generation of database schema into object-oriented and object-relational databases from MD models.
    Our final goal is to develop a methodology for MD modeling based on the UML.
  • Thank you very much for your time and attention.
  • Extending the UML for Multidimensional Modeling

    1. 1. Extending the UML for Multidimensional Modeling Sergio Luján-Mora, Juan Trujillo, Il-Yeol Song (sergio.lujan@ua.es / @sergiolujanmora) Published in: 5th International Conference on the Unified Modeling Language (UML 2002), p. 290-304: Lecture Notes in Computer Science 2460, Dresden (Germany), September 30 - October 4 2002. Download: http://gplsi.dlsi.ua.es/almacenes/ver.php?pdf=39
    2. 2. Extending the UML for Multidimensional Modeling Sergio Luján-Mora Juan Trujillo Il-Yeol Song
    3. 3. Extending the UML for Multidimensional Modeling Contents • Introduction • • • • OO Multidimensional Modeling UML Extension for MD Modeling MD Modeling in Rational Rose Conclusions and Future Work
    4. 4. Extending the UML for Multidimensional Modeling Introduction • Multidimensional (MD) modeling  Data warehouses, MD databases, OLAP applications • Many years of historical information • Different approaches for the conceptual design: – – – – – Golfarelli et al Husemann et al Sapia et al Tryfona et al … Own graphical notations Learn a new notation
    5. 5. Extending the UML for Multidimensional Modeling Introduction • UML  Standard OO modeling language for software systems • Minimize the efforts in learning new notations • Extensible language  Stereotypes, tagged values, and constraints  Profile • Allows the user to introduce new elements for specific domains (web applications, business modeling, etc.)
    6. 6. Extending the UML for Multidimensional Modeling Introduction • Some proposals to extend the UML for DB design… – Persistence Modeling (Ambler) – Data Modeling (Rational Software) – UML Profile for DB Design (Naiburg et al) – Object-Relational DB Design Methodology (Marcos et al) • …but not for MD modeling
    7. 7. Extending the UML for Multidimensional Modeling Introduction • UML profile for MD modeling based on our previously proposed approach – Main MD properties: • many-to-many • degenerate dimensions • multiple and alternative path classification hierarchies – OCL: well-formedness rules of the new defined elements  Avoids an arbitrary use of our extension • Rational Rose
    8. 8. Extending the UML for Multidimensional Modeling Contents • Introduction • OO Multidimensional Modeling • UML Extension for MD Modeling • MD Modeling in Rational Rose • Conclusions and Future Work
    9. 9. Extending the UML for Multidimensional Modeling OO Multidimensional Modeling • Our 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
    10. 10. Extending the UML for Multidimensional Modeling OO Multidimensional Modeling Sales Shared aggregation Dimension class {OID}: num_ticket 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
    11. 11. Extending the UML for Multidimensional Modeling OO Multidimensional 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
    12. 12. Extending the UML for Multidimensional Modeling OO Multidimensional 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
    13. 13. Extending the UML for Multidimensional Modeling OO Multidimensional 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
    14. 14. Extending the UML for Multidimensional Modeling OO Multidimensional 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})
    15. 15. Extending the UML for Multidimensional Modeling OO Multidimensional 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
    16. 16. Extending the UML for Multidimensional Modeling OO Multidimensional Modeling Product {OID}: cod_prod {D}: description Food Meat family type Fish Drink … •The categorization of dimensions is considered by means of generalization-specialization relationships
    17. 17. Extending the UML for Multidimensional Modeling Contents • Introduction • OO Multidimensional Modeling • UML Extension for MD Modeling • MD Modeling in Rational Rose • Conclusions and Future Work
    18. 18. Extending the UML for Multidimensional Modeling UML Extension for MD Modeling • UML Extensibility Mechanism  Extension mechanisms: stereotypes, tagged values, and constraints • UML can be adapted to fit a specific method, organization, or user
    19. 19. Extending the UML for Multidimensional Modeling 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)
    20. 20. Extending the UML for Multidimensional Modeling 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
    21. 21. Extending the UML for Multidimensional Modeling UML Extension for MD Modeling
    22. 22. Extending the UML for Multidimensional Modeling UML Extension for MD Modeling • Facts and dimensions  Fact, Dimension, and Base • Fact attributes  OID and FactAttribute • Dimension attributes  OID, Descriptor, and DimensionAttribute • Derived measures: derivationRule tagged value • Classification hierarchies  Association between Dimension and Base • Completeness  Completeness stereotype
    23. 23. Extending the UML for Multidimensional Modeling 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. 24. Extending the UML for Multidimensional Modeling 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. 25. Extending the UML for Multidimensional Modeling UML Extension for MD Modeling • Name: Dimension • Base class: Class • Description: Classes of this stereotype represent dimensions in a MD model • Icon: • Tagged values: None
    26. 26. Extending the UML for Multidimensional Modeling UML Extension for MD Modeling • Constraints: – All attributes of a Dimension must be OID, Descriptor, or FactAttribute: self.feature->select(oclIsKindOf(Attribute))-> forAll(oclIsTypeOf(OID) or oclIsTypeOf(Descriptor) or oclIsTypeOf(FactAttribute)) – All associations of a dimension with a Fact must be aggregations at the opposite end: self.association.association>forAll(associationEnd.participant.oclIdTypeOf(Fact) implies associationEnd.aggregation = #aggregate)
    27. 27. Extending the UML for Multidimensional Modeling UML Extension for MD Modeling • Constraints: – All associations of a Dimension with a Fact must not be aggregations at its end: self.association.association>forAll(associationEnd.participant.oclIdTypeOf(Fact) implies aggregation <> #aggregate) – A Dimension cannot be associated to another Dimension: self.allOppositeAssociationEnds-> forAll(not participant.oclIsTypeOf(Dimension))
    28. 28. Extending the UML for Multidimensional Modeling UML Extension for MD Modeling • Name: Base • Base class: Class • Description: Classes of this stereotype represent dimension hierarchy levels in a MD model • Icon: • Tagged values: None
    29. 29. Extending the UML for Multidimensional Modeling UML Extension for MD Modeling • Constraints: – All attributes of a Base must be OID, Descriptor, or DimensionAttribute: self.feature->select(oclIsKindOf(Attribute))-> forAll(oclIsTypeOf(OID) or oclIsTypeOf(Descriptor) or oclIsTypeOf(DimensionAttribute)) – A Base must have an OID attribute and a Descriptor attribute: self.feature->select(oclIsKindOf(Attribute))-> exist(oclIsTypeOf(OID)) and self.feature-> select(oclIsKindOf(Attribute))->exist(oclIsTypeOf(Descriptor))
    30. 30. Extending the UML for Multidimensional Modeling UML Extension for MD Modeling • Constraints: – A Base can only be associated with another Base or another Dimension: self.allOppositeAssociationEnds-> forAll(participant.oclIsTypeOf(Base) or participant.oclIsTypeOf(Dimension)) – A Base can only be child in one generalization: self.generalization->size <= 1
    31. 31. Extending the UML for Multidimensional Modeling UML Extension for MD Modeling • Constraints: – A Base cannot simultaneously belong to a generalization/specialization hierarchy and an association hierarchy: (self.generalization->size > 0 or self.specialization->size > 0) implies (self.association->size = 0 )
    32. 32. Extending the UML for Multidimensional Modeling Contents • Introduction • OO Multidimensional Modeling • UML Extension for MD Modeling • MD Modeling in Rational Rose • Conclusions and Future Work
    33. 33. Extending the UML for Multidimensional Modeling 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 …
    34. 34. Extending the UML for Multidimensional Modeling MD Modeling in Rational Rose • Our add-in customizes: – Stereotypes  Stereotype configuration file – Properties  Property configuration file – Constraints  Menu item  Menu configuration file
    35. 35. Extending the UML for Multidimensional Modeling
    36. 36. Extending the UML for Multidimensional Modeling
    37. 37. Extending the UML for Multidimensional Modeling Contents • • • • Introduction OO Multidimensional Modeling UML Extension for MD Modeling MD Modeling in Rational Rose • Conclusions and Future Work
    38. 38. Extending the UML for Multidimensional Modeling 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
    39. 39. Extending the UML for Multidimensional Modeling Conclusions and Future Work • Future work: – Dynamic part – Automatic generation of database schema into object-oriented and object-relational databases – Methodology
    40. 40. Extending the UML for Multidimensional Modeling Extending the UML for Multidimensional Modeling Sergio Luján-Mora Juan Trujillo Il-Yeol Song

    ×