OBJECT-ROLE MODELING (ORM/NIAM) Nikol Gkerpini - 3766926 Department of Information and Computing Sciences Utrecht University Utrecht, The Netherlands n.gkerpini @ cs.uu.nl Group 3
Contents of the Presentation Introduction to ORM method Dismantled Version of ORM Design Procedure Example Process Description Related Literature Conclusions References
Introduction ORM: Similar methods: Origins: method for analyzing and modeling data at the conceptual level Formal representation of the UoD (i.e. the domain area) Objects that play roles and take part in relationships Similar methods: ER – Entity Relationship Models OO – Object-Oriented Approaches (example: UML) Difference: no attributes Origins: Falkenberg (1973): ORM framework; allowed n-ary relationships Nijssen (1976): Natural language Information Analysis Method; notation for roles and objects Halpin (1989): first full formalization of the method
Introduction (cont.) Information Systems Lifecycle CSDP (ORM Conceptual Schema Design Procedure) The original steps: #1: Transform familiar information into elementary facts, apply quality check. #2: Derive fact types, apply population check, draw draft conceptual schema #3:Check for entity types to be combined, add values, note arithmetic derivations #4: Add uniqueness constraints, check arity of fact types #5: Add mandatory role constraints, and check for logical derivation #6: Add value, set comparison and sub-typing constraints #7: Add other constraints and perform final checks. Data Analysis Design Requirements Analysis Logical Mapping Querying Data Modeling Solution CSDP
Introduction (cont.) Information Systems Lifecycle CSDP (ORM Conceptual Schema Design Method) The original steps: #1: Transform familiar information into elementary facts, apply quality check. #2: Derive fact types, apply population check, draw draft conceptual schema #3:Check for entity types to be combined, add values, note arithmetic derivations #4: Add uniqueness constraints, check arity of fact types #5: Add mandatory role constraints, and check for logical derivation #6: Add value, set comparison and sub-typing constraints #7: Add other constraints and perform final checks. Data Analysis Design Requirements Analysis Logical Mapping Querying Data Modeling Solution CSDP Independent Step Actor: Data Analyst Phase: Data Analysis Independent Step Actor: UoD Expert Phase: Data Analysis Independent Step Actor: Data Designer Phase: Data Design
Dismantled Version of ORM Design Procedure Criteria Independency Actors Phases
Example Step 1 - Transform familiar information examples into elementary facts, and apply quality checks. Step 2 – Derive fact types, apply population check and draw draft conceptual schema
Example (cont.) Step 3 – Check for entity types that should be combined, add values and note arithmetic derivations Step 4 – Add uniqueness constraints, check arity of fact types Step 5 – Add mandatory role constraints, and check for logical derivations Step 6 – Add value, set comparison and sub-typing constraints Step 7 – Add other constraints and perform final checks
Example (cont.) Step 3 – Check for entity types that should be combined and add values and note arithmetic derivations Step 4 – Add uniqueness constraints, check arity of fact types Step 5 – Add mandatory role constraints, and check for logical derivations Step 6 – Add value, set comparison and sub-typing constraints Step 7 – Add other constraints and perform final checks
Example (cont.) Step 3 – Check for entity types that should be combined and add values and note arithmetic derivations Step 4 – Add uniqueness constraints, check arity of fact types Step 5 – Add mandatory role constraints, and check for logical derivations Step 6 – Add value, set comparison and sub-typing constraints Step 7 – Add other constraints and perform final checks
Example (cont.) Step 3 – Check for entity types that should be combined and add values and note arithmetic derivations Step 4 – Add uniqueness constraints, check arity of fact types Step 5 – Add mandatory role constraints, and check for logical derivations Step 6 – Add value, set comparison and sub-typing constraints Step 7 – Add other constraints and perform final checks
Example (cont.) Step 3 – Check for entity types that should be combined and add values and note arithmetic derivations Step 4 – Add uniqueness constraints, check arity of fact types Step 5 – Add mandatory role constraints, and check for logical derivations Step 6 – Add value, set comparison and sub-typing constraints Step 7 – Add other constraints and perform final checks
Process Description The PDD Activities naming:IS Lifecycle Phases Sub-Activities naming: Sub-Steps of Dismantled CSDP Uniformity of Constraints addition steps led to sub-PDD creation.
Process Description (cont.)
Process Description (cont.)
Process Description (cont.)
Process Description (cont.) The Sub-PDD Adaptable abstraction level Design Details Less suppression in the main PDD Add Constraints
Related Literature Origins: ORM framework: Falkenberg (1973) NIAM notation: Nijssen (1976) Formalization: Halpin (1989) ORM first Overview: Halpin (1997) Comparison with ER and UML: (Balsters & Halpin, 2007): Other fields apart from DBMS Illustration of complex business rules (Halpin, 1996), Domain modeling (Proper, Bleeker & Hoppenbrouwers, 2004), Design of XML-Schemas (Bird, Goodchild & Halpin, 2000), Creation of metadata repositories (Shelstad, Hallock, Dela Cruz & Barden, 2007). Extensions of both the NIAM and the ORM method have been developed. Niam Extension FCO-IM: modelling the conceptual aspects of communication that a DBMS should support (Bakema, Zwart & Lek, 1996). ORM 2: changes in the graphical notation of the method (Halpin, 2005) Commercial tools Microsoft Visio for Enterprise Architects. CaseTalk is a fact based information workbench supporting FCO-IM. Other open source tools: ORMLite, NormaModeler and Dogma.
Conclusions Extended overview of the CSDP Added meta-model in the related literature Positioned CSDP in the IS Lifecycle (clarified inputs & outputs) PDDsubstantial meta-modeling technique distribution of ORM activities in the IS Lifecycle, graphically presented order of the CSDP steps clarification of their actors CSDP dismantled version occurred during the meta-modeling design. Adaptable abstraction level depending readers needs. Usefull to: ORM practitioners IS Analysts, Database Designers, Modelers and Developers Method Engineers extend, modify, reconsider or use fragments of the ORM method
References Bakema, G., Zwart, J., & Van der Lek, H. (1996). Fully Communication Oriented Information Modeling (1st ed.). The Hague: Ten Hagen Stam. Balsters, H. & Halpin, T. A. (2007). Modeling Data Federations in ORM. In Meersman, R., Tari, Z., Herrero, P. et al. (Eds.), On the move to Meaningful Internet Systems (pp. 657-666), Vilamoura: Springer. Bird, L., Goodchild, A., & Halpin, T. A. (2000). Proceedings from 19th International Conference on Conceptual Modeling. Salt Lake City, Utah: Springer. Halpin, T. A. (1993). What is an elementary fact. Retrieved from HUwww.orm.netU Halpin, T. A. (1996). Business rules and Object-Role Modeling. In Halpin, T.A. (Ed.), Database Programming and Design: Vol. 9. Halpin, T. A. (1997). Object-Role Modeling: An Overview. Retrieved from HUwww.orm.netU Halpin, T. A. (1998). Object-Role Modeling (ORM/NIAM). In Bernus, P., Mertins, K. & Schmidt, G. (Eds.), Handbook on architectures of information systems (pp. 81-101). Berlin: Springer-Verlag. Halpin, T., Evans, K., Hallock, P. & MacLean B. (2003). Database Modeling with Microsoft Visio for Enterprise Architects. San Francisco: Morgan Kaufmann Publishers, ISBN 1-55860-919-9. Halpin, T. A. (2005). ORM 2. In Meersman, R., Tari, Z., Herrero, P. et al. (Eds.) On the move to Meaningful Internet Systems (pp. 676-687), Heidelberg: Springer. Naiburg, E. J., & Maksimchuck, R.A. (2001). Requirements Definition. In UML for database design (pp. 53-74). Boston: Addison-Wesley Professional Navathe, S. B., Pernul, G. (1992). Conceptual and Logical Design of Relational Databases. In Marshall, C. Y. (Ed.), Advances in Computers (pp. 1-78). London: Academic Press Limited. Nijssen, G. M. (Eds.). (1976). A gross architecture for the next generation database management systems. Proceedings of IFIP Working Conf. on Modelling in Data Base Management Systems. Freudenstadt, Germany: North-Holland Publishing. Pol, A. A., & Ahuja, R.K. (1998). Entity-Relationship Modeling. In A.A. Pol (Ed.), Developing Web-Enabled Decision Support Systems (pp. 33-82). Belmont, Massachusetts: Dynamic Ideas. Proper, H. A., Bleeker, A. I., & Hoppenbrouwers, S. J. B. A (2004). Object-role modelling as a domain modelling approach. In Proceedings of Workshop on Evaluating Modeling Methods for Systems Analysis and Design. Riga, Latvia. Shelstad, B., Hallock, P., Dela Cruz, N., & Barden, D. (2007). Object Role Modeling Enabled Metadata Repository. In Meersman, R., Tari, Z., Herrero, P. et al. (Eds.) On the move to Meaningful Internet Systems (pp. 635-646), Berlin: Springer-Verlag. Weerd, I. van de, & Brinkkemper, S. (2008). Meta-modeling for situational analysis and design methods. In M.R. Syed, & S.N. Syed, (Eds.), Handbook of Research on Modern Systems Analysis and Design Technologies and Applications (pp. 38-58). Hersbey: Idea Group Publishing. Yeung, A.K.W., & Hall, G.B. (2007). Database Models and Data Modeling. In A.K.W. Yeung, & G.B. Hall (Eds.), Spatial database systems: design, implementation and project management (pp.55-92). Dordrecht: Springer Netherlands.
Questions?