Object-Role Modeling (ORM/NIAM)

advertisement
Gkerpini Nikol: 3766926
Group Number 3
Final Paper Assignment
Object-Role Modeling (ORM/NIAM)
Nikol Gkerpini
Department of Information and Computing Sciences
Utrecht University
Utrecht, The Netherlands
n.gkerpini @ students.uu.nl
Abstract. Object-Role Modeling (ORM) is a method for analysing and
modeling data by using concepts. In order to position ORM design
procedure (CSDP) in the IS Lifecycle and to illustrate its activities and
their connection with the deliverables, a meta-model of the method will
be presented. The ORM meta-model can be considered a helpful tool not
only for IS Analysts, Data Designers and other practitioners, but also for
method engineers, interested in extending, modifying or even
reconsidering the method or fragments of the method.
Keywords: Object-Role Modeling, conceptual level, Information
Systems Lifecycle, ORM meta-model, Process-Deliverable Diagram
April, 2012
1
1
Introduction
An Overview
The need of modeling Information Systems using easily understood natural language and
mapping the conceptual level with the logical level, led researchers to the development of
a fact-oriented modeling approach (Halpin, 1997). Object-Role Modeling (ORM) is a
method for modeling and querying information systems using concepts. The deliverables
of ORM provide a formal representation of the Universe of Discourse (UoD), i.e. the
domain area. In other words, this method is aimed at depicting reality by defining objects
(value types and entities) that play roles and take part in relationships (Halpin, 1998).
Other methods of the same domain are Entity-Relationship (ER) and Object-Oriented
(OO) approaches, such as the widely acknowledged Unified Modeling Language (UML).
The basic difference between ORM and the other approaches is that the former does not
explicitly use attributes (Haplin, 1998). For example, instead of using Building as an
attribute of Classroom, the relationship Classroom is located in Building would be used.
Attributes are parts of entities or relationships and, thus, are sensitive to changes in the
model and may need to be reformed to relationships. On the contrary, the lack of attributes
proves stability to the models created with ORM (Balsters & Halpin, 2007).
The method originated back in the 1970s. The concept of verbalizing representative
instances of facts of the reality, gained the interest of many researchers. Falkenberg was
the first to establish a framework which allows n-ary relationships (Halpin, 1998) and then
Nijssen (1976) initiated Natural Language Information Analysis Method (NIAM). Later,
in 1989 his colleague, Halpin, continued the research on the topic, described thoroughly
the method and renamed it as Object-Role Modeling to highlight that its purpose is to
objectify facts and explicitly describe the roles and relationships (Halpin, 1997).
Nijssen and Halpin worked together till 1989 and gave a description of conceptual
database design procedure for NIAM in nine steps, usually referred to as “cookbook”
(Navathe & Pernul, 1992). When Halpin renamed and extended the method in 1989, he
provided his own structure of ORM (Halpin, 1997). The so called Conceptual Schema
Design Procedure (CSDP) consists of seven particular steps. This study focuses on this
version of the method, due to the fact that it is the latest and because most of the
extensions are based on it.
Conceptual Schema Design Procedure (CSDP)
The Information Systems Lifecycle (Figure 1) involves typically requirements analysis,
conceptual design (data analysis and data design), logical mapping, and, in case of DBMS,
querying (Halpin, 1998). Thus, the CSDP describes the Data Analysis and the Data Design
of IS that use as inputs the deliverables of the requirements analysis and provide output to
the Logical and Querying activities. All these activities lead to a complete data modeling
solution.
Requirements
Analysis
Data
Data
Analysis
Analysis
CSDP
Data
Data
Design
Design
Logical
Mapping
Querying
Data
Modeling
Solution
Figure 1: CSDP position in the Information Systems Lifecycle
2
The actors that are taking part in the procedure are the IS Analyst, the Data Designer and
the UoD expert from the side of the client (Halpin, 1997). The first two roles are not
clearly distinguished, but as the meta-model aims to clarify the activities, hence their
actors too, in this paper we will consider that IS Analyst is taking part into the Data
Analysis and the Data Designer in the Data Design activity.
The Conceptual Schema Design Procedure as analysed in Halpin’s paper (1998) and a
description of the steps provided by the author, are given below.
Step 1: Transform familiar information examples into elementary facts, and apply quality
check.
The analyst discusses with experts on the domain area (UoD) over the verbalization of
examples of information that needs to be conceptualized. This means that the information
is transformed into facts expressed in natural language, understandable to the client. Then
the experts are able to control the quality of the result by checking whether the objects are
well identified.
Step 2: Derive fact types, apply population check and draw draft conceptual schema
The analyst derives the fact types from the fact table that should be populated with at least
one fact (Halpin, 1998). The client is able to check the validity of the model and the
analyst draws a draft conceptual schema consisting of objects and roles.
Step 3: Check for entity types that should be combined, add values and note arithmetic
derivations
Different degrees of same information may be combined into one entity and described by
entity types. Values types should be added. Arithmetic notes may be derived by counting
objects that take part in a specific relationship (see example).
Step 4: Add uniqueness constraints, check arity of fact types
The designer adds these constraints to roles that depict one-to-one or one-to-many
relationships. The arity of fact types should be defined at this point. Unary, binary or n-ary
predicates are added.
Step 5: Add mandatory role constraints, and check for logical derivation
In this step roles that are mandatory should be distinguishable from optional roles with a
dot added in the line segment of the draft conceptual schema. Logical derivations will be
noted in case that any fact type can be derived from another without using arithmetic.
Step 6: Add value, set comparison and sub-typing constraints
The designer may need to restrict or compare the population of an object type by using
value constraints and comparison constraints. Additionally, the designer needs to add subtyping constraints in order to show the hierarchy or generalization of object types.
Step 7: Add other constraints and perform final checks.
To finish the conceptual schema, the designer may add other constraints (frequency, ring
and asterisk constraints) not to be further analysed in the context of this paper, and to
check the validity of the final version of the conceptual schema with the client.
CSDP dismantled
Before providing an example of the procedure it is very important to clarify the
activities and the actors involved in the CSDP. From the description of the steps, it
is logically ensued that there are discernible sub-steps that are performed by
different actors, executed in a specific order and that consist part of either Data
Analysis or Data Design phase. These issues will be the criteria to inevitably
3
dismantle the CSPD, in order to later be able to design a meta-model of ORM
method. Table 1, consists of 4 columns containing the original steps of the CSDP,
the sub-steps derived after applying the aforementioned criteria, the actors
performing the sub-step, and the phase that the sub-step is logically involved in.
The table maps the original steps with the sub-steps and is the preliminary
elaboration of the meta-modeling design.
CSDP
Step
Step 1
Step 2
Step 3
SubStep
1
2
3
4
5
6
Step 5
7
8
9
10a
Step 6
10b
11
Step 4
Step 7
12
13
Sub-Step Description
Transform information into
elementary facts
Perform quality checks
Derive fact types
Perform population check
Draw Objects and Roles based
on Facts
Combine Entity Types and
Values
Note Arithmetic Derivations
Check Arity of Fact Types
Add Uniqueness Constraints
Add Mandatory Role
Constraints
Note Logical Derivations
Add Value, Comparison and
Sub-typing Constraints
Add other Constraints
Perform final checks
Actor
Phase
IS Analyst
Data Analysis
UoD Expert
IS Analyst
IS Analyst
Data Designer
Data Analysis
Data Analysis
Data Analysis
Data Design
Data Designer
Data Design
Data Designer
Data Designer
Data Designer
Data Designer
Data Design
Data Design
Data Design
Data Design
Data Designer
Data Designer
Data Design
Data Design
Data Designer
Data Designer
Data Design
Data Design
Table 1: The mapping of the original CSDP steps to the dismantled sub-steps, the relevant
actors and the IS Lifecycle phase.
An example of the procedure is provided in the second part of the paper in order to
make the steps clearer to the reader. The third part contains an illustration of the
ORM method depicted using a Process-Deliverable Diagram. Finally, the forth part
of the paper, provides a literature review in order to complete the overview of the
subject.
2
Example
In the next paragraphs an example is presented in order to explain the procedure of
designing conceptual schemas with ORM method. The example shows the creation of a
conceptual model that a company needs for developing a database of its employees’
information.
Step 1 - Transform familiar information examples into elementary facts, and apply quality
checks: The analyst discuss transforms UoD examples into facts expressed in natural
language, understandable to the client. For example the instances (i) of the real world are
written down by the analyst as elementary facts (Table 2):
4
i1
Instances
Employee with EmpNum
EmpName ‘George Smith’
i2
i3
Facts
‘381’
has
f1
Employee has EmpName
Employee with EmpNum ‘381’ works for
Department named ‘Marketing’
f2
Employee works for
Department
Employee with EmpNum ‘381’ works on
Project named ‘Advertising X Product’
f3
Employee works on Project
Table 2: Transforming instances into elementary facts and fact types
This column is produced by the sub-step 1. Then the experts control the quality of the
result by checking whether the objects are well identified. Informally, sub-step 2, is a note
that recognizes the approval of the instances. In the APPENDIX, the template provided in
the Appendix (Table 5) contains additionally one column to formalize this approval.
Step 2 – Derive fact types, apply population check and draw draft conceptual schema:
The analyst derives the fact types from the fact table that should be populated with at least
one fact (sub-step 3) and the right column of Table 2 is completed. The client is able to
check the validity of the model (sub-step 4). Figure 2 shows the draft schema that depicts
the aforementioned facts (Table 2) drawn by the designer (sub-step 5).
Works for
has
EmpName
Department
(DeptName)
Employee
(EmpNum)
Works on
Project
(ProjName)
Figure 2: Draft schema of fact types mentioned in Step 1
Step 3 – Check for entity types that should be combined and add values and note
arithmetic derivations: In figure 3 someone may notice that the entity Contract (Figure 3)
may combine (sub-step 6) the two different types of contract (part-time contract and fulltime contract) using the codes ‘P’ and ‘F’. EmpName is considered a value. Step three is
also about deriving arithmetic notes. One may wonder how many employees are working
part-time and that is derivable if and only if there is a way to count it in the schema (substep 7).
Step 4 – Add uniqueness constraints, check arity of fact types: In our example an
employee is working for only one department, so the uniqueness constraint is added below
the role ‘works for’ (sub-step 8). The arity of fact types may differ (unary, binary, ternary).
To depict the fact ‘Employee has Contract till Date’ where Contract is defined as an entity,
a ternary predicate is needed, as shown in Figure 3 (sub-step 9).
Step 5 – Add mandatory role constraints, and check for logical derivations: In our
example (Figure 3), every employee works for a department and this role is mandatory.
The black dot is added in the line segment in order to distinguish it from optional roles
(sub-step10a). Sometimes the designer is able to derive logically information from the
schema (sub-step 10b). This may be noted to avoid later changes. The two sub-steps are
not ordered.
5
Step 6 – Add value, set comparison and sub-typing constraints: A value constraint is that
Contract code is restricted to (‘P’, ‘F’) as mentioned before. To give an example of sub
typing constraints, Manager and OfficeEmployee are defined as subcategories of the
Entity Employee. A comparison constraint is drawn in the figure (dotted arrow between
‘works for’ and ‘manages’) to show that the Manager who manages a department must
work for the same department. Step 6 is mapped to sub-step 11.
Step 7 – Add other constraints and perform final checks: To finish the conceptual schema,
the designer may add other constraints, such as frequency, ring and asterisk constraints
(sub-step 12), and to check the validity of the final version with the client (sub-step 13).
OfficeEmployee
Manager
{‘P’,’ F’}
Manages/is managed
ContractCode
Date
(mdy)
Until….. Signed…….has
has
EmpName
Works for
Employee
(EmpNum)
Works on
Department
(DeptName)
Project
(ProjName)
Figure 3: Final Conceptual Schema
Once the final Conceptual Schema is designed it is delivered to the IS modelers and
usually is mapped to a relational database schema. The description of the Database
Management System is well communicated to the client by showing an easily
understandable and close to the natural language schema.
3
PDD, Deliverable Table and Activity Table
Process-Deliverable Diagram (PDD)
In this part, the Object Role Modeling method will be depicted using Process-Deliverable
Diagram, a meta-modeling technique, designed in 2008 by Weerd and Brinkkemper. The
technique combines UML activity and class diagrams, in order to reveal the relations
between the activities and the deliverables of the illustrated method (Weerd &
Brinkkemper, 2008).
As mentioned in the introductory part, ORM is a data modeling method widely used for
the development of DBMS. In other words, ORM provides a data modeling solution
taking into consideration the customers needs of data structures and providing input for the
logical mapping and querying development of a DBMS (Figure 1). The naming of the
activities represents the phases of IS Lifecycle (noun), whereas the naming of the sub
activities represents the steps of the CSDP (sentence starting with verb). This procedure
and its deliverables will be illustrated in Figure 5.
A closer view on the PDD
On the left side of the PDD (Figure 5) the procedure of the method is presented as a set of
activities and sub-activities. The seven steps of the Conceptual Schema Design Procedure
6
(CSDP) are depicted in detail. Data Analysis and Data Design are the basic activities
broken down into sub-activities that illustrate the sub-steps mentioned in Table 1.
Due to the uniformity of some sub-steps concerning constraints addition, a second PDD is
designed. The reason of this division is to simplify the view of the PDD and to facilitate
the reader that is not interested in designing details. This decision led to the creation of the
open sub-activity ‘Add Constraints’, which is further analysed in the sub-PDD. The rest of
the DBMS development activities are illustrated as closed activities (Requirements
Analysis, Logical Mapping and Querying) as their details will not add important
information to the context of the paper. However, it is important to depict them, so as to
position the CSDP in the IS Lifecycle and illustrate its inputs and outputs.
The right side of the PDD, presents the deliverables (concepts) of the activities. Some
concepts (closed) are deliberately not analysed in detail for two reasons; either because
they are not considered relevant with the method (REQUIREMENTS, LOGICAL
SCHEMA, QUERY), or, because their extensive analysis would complicate and unbalance
the diagram and disorient the reader from the actual goal of this paper (ROLE, OBJECT,
ENTITY, VALUE).
The advantages of the design method of the ORM PDD are multiple. First, the previously
unclear roles of the sub-steps are being clarified. Second, the activities are being
distributed in the CSDP phases. Finally, the division of the original steps into sub-steps
simplifies the view of the PDD. This is because most of the sub-steps (sub-activities)
produce one or at most two deliverables, whereas the original steps would all produce
more than two.
The sub-PDD
The creation of the sub-PDD, facilitates the observation and understanding of the main
PDD and provides double-level abstraction. Readers that are interested in detailed Data
Design may easily distinguish the number of constraints and the order of their addition to
the conceptual schema. On the other hand, readers interested in a lower lever of
abstraction may skip the sub-PDD and have an overview of the method.
CONSTRAINT
Add Constraints
Add Uniqueness Constraints
Data Designer
UNIQUENESS
CONSTRAINT
Add Mandatory Role Constraints
Data Designer
MANDATORY ROLE
CONSTRAINT
C
VALUE
CONSTRAINT
Add Value, Comparison and Subtyping
Constrains
Data Designer
COMPARISON
CONSTRAINT
SUBTYPING
CONSTRAINT
Add other Constrains
Data Designer
OTHER
CONSTRAINT
Figure 4: The sub-Process-Deliverable Diagram. Depicts the sub-activity ‘Add Constraints’
of the main PDD and delivers to it the open concept CONTRAINT.
7
Requirements Analysis
DATA MODELING
SOLUTION
REQUIREMENT
IS Analyst
SolutionID
FragementID
DateIssued
Author
1..*
Derives from
Data Analysis
1..*
ELEMENTARY FACT
Transform information into elementary facts
IS Analyst
Number
Description
Quality Check
Fact Type Number
Perform quality checks
UoD Expert
1..*
1..*
[else]
[approved]
1
1
FACT
TABLE
1
FACT TYPE
1
Number
Description
Population Check
Arity
1..*
consists of
consists of
Perform population check
IS Analyst
[else]
[approved]
1..*
1
1
is based on
Derive fact types
IS Analyst
Data Design
1
CONCEPTUAL
SCHEMA
1
1
DRAFT
CONCEPTUAL
SCHEMA
1..*
ROLE
1..*
1..*
plays
1..*
Draw Objects and Roles based on Facts
Data Designer
OBJECT
Combine Entity Types and Values
Data Designer
Note Arithmetic Derivations
Check Arity of Fact Types
1
0..*
1..*
D
ENTITY
VALUE
Data Designer
Data Designer
Add Constraints
Data Designer
0..*
ARITHMETIC
NOTE
0..*
CONSTRAINT
0..*
LOGICAL
DERIVATION
Note Logical Derivations
Data Designer
Perform final checks
Data Designer
[else]
Is mapped to
[approved]
1..*
Logical Mapping
IS Modeler
LOGICAL
SCHEMA
1
derives
1..*
Querying
IS Developer
1..*
QUERY
Figure 5: The main Process Deliverable Diagram (PDD) of Object-Role Modeling (ORM) method.
The figure depicts the activities and concepts of ORM method.
8
Activity Table
Apart from the Concept table, a PDD is accompanied with an Activity table (Table 3).
This table enlists the activities with the relevant sub-activities and sub-sub-activities (from
the sub-PDD) and their descriptions. The description not only defines the sub-activities,
but also verbalizes the derivation of concepts depicted in PDD (Figure 5).
Activity
Sub-Activity
Sub-SubActivity
Requiremen
ts Analysis
Data
Analysis
The IS Analyst interviews the client, user
or UoD expert to collect their needs
(REQUIREMENTs) for data structure. This
information is used to derive
ELEMENTARY FACTs.
REQUIREMENTS are used to derive
conceptual examples of the UoD
(ELEMENTARY FACTs) by the IS Analyst.
Transform
information
into elementary
facts
Perform
Quality Checks
Derive Fact
Types
Perform
population
check
Data
Modeling
Description
Draw objects
and roles based
on facts
Combine
Entity Types
Note
Arithmetic
Derivation
Check Arity of
Fact Types
Add
Constraints
Add
Uniqueness
Constraints
Add
Mandatory
Constraints
The UoD Expert uses his experience to
check the validity of the derived
ELEMENTARY FACTs.
If check of the ELEMENTARY FACTs is
approved, IS Analyst derives FACT TYPEs
from them.
The IS Analyst checks whether each FACT
TYPE has been populated with at least one
fact. FACT TYPES and associated
ELEMENTARY FACTs are depicted in a
FACT TABLE (see example in Table 2).
The FACT TABLE is added in the DATA
MODELING SOLUTION.
If population check is approved, the Data
Modeler draws OBJECTs and ROLEs to
create a DRAFT CONCEPTUAL SCHEMA
(see example in Figure 2).
On the DRAFT CONCEPTUAL SCHEMA
the Data Modeler redefines ENTITY(ies) to
eliminate duplicate types.
The Data Modeler enriches the DRAFT
CONCEPTUAL SCHEMA with
ARITHMETIC NOTEs when there are
possible computational opportunities.
The property Arity of each FACT TYPE is
calculated by the Data Modeler.
The Data Modeler enriches the DRAFT
CONCEPTUAL SCHEMA with a set of
CONSTRAINTs in order to add
information into the drawing.
The Data Modeler enriches the DRAFT
CONCEPTUAL SCHEMA with
UNIQUENESS CONSTRAINTs.
The Data Designer enriches the DRAFT
CONCEPTUAL SCHEMA with
MANDATORY CONSTRAINTs.
9
Add value, set
comparison
and
sub
typing
constraints
Add
other
constraints
The Data Designer enriches the DRAFT
CONCEPTUAL SCHEMA with VALUE
CONSTRAINTs, COMPARISON
CONSTRAINTs and SUBTYPING
CONSTRAINTs.
The Data Designer enriches the DRAFT
CONCEPTUAL SCHEMA with OTHER
CONSTRAINTs.
Note Logical
Derivation
The Data Designer enriches the DRAFT
CONCEPTUAL SCHEMA with LOGICAL
DERIVATIONs.
Perform Final
Checks
The Data Designer checks the enriched
DRAFT CONCEPTUAL SCHEMA in order
to formalize it into a final CONCEPTUAL
SCHEMA (see example in Figure 3), which
will become part of the DATA MODELING
SOLUTION.
If the final CONCEPTUAL SCHEMA is
Logical
Mapping
approved, the IS Designer abstracts its data
content into a LOGICAL SCHEMA, that is
added to the DATA MODELING
SOLUTION.
The IS Developer creates QUERIES that
correspond to the LOGICAL SCHEMA in
order to provide code for the DATA
MODELING SOLUTION. Sometimes this
activity is atomized. The QUERY(ies) are
added to the DATA MODELING
SOLUTION.
Querying
Table 3: Activity Table - Enlists the activities and sub-activities of the PDD.
Concept Table
Along with the PDD, it is important to list the concepts and their descriptions. The
description of each concept consists of its definition and presents the relationships with
other concepts. Table 4 enlists all the concepts that are illustrated in the PDD (Figure 5).
Concept
Description
REQUIREMENT
A REQUIREMENT is gathered information about customer’s DBMS needs
(Naiburg & Maksimchuck, 2001)
An ELEMENTARY FACT is a verbalized expression of UoD examples
derived from REQUIREMENTs (Halpin, 1993).
A FACT TYPE is an expression that models its associated ELEMENTARY
FACTs. FACT TYPEs consist of OBJECTs and ROLEs (Halpin, 1998).
A FACT TABLE is a table that consists of the association of
ELEMENTARY FACTs and FACT TYPEs (Halpin, 1998). It is part of the
DATA MODELING SOLUTION and it creates a mapping of the instances
A ROLE is a participation in a relationship between one or more OBJECTs
(Halpin, 1998). It is part of the DRAFT CONCEPTUAL SCHEMA thus the
CONCEPTUAL SCHEMA too (Halpin, 1998).
A VALUE is a lexical OBJECT type (Halpin, 1998). It is part of the DRAFT
CONCEPTUAL SCHEMA thus the CONCEPTUAL SCHEMA too (Halpin,
1998).
ELEMENTARY
FACT
FACT TYPE
FACT TABLE
ROLE
VALUE
10
ENTITY
OBJECT
ARITHMETIC
NOTE
LOGICAL
DERIVATION
UNIQUENESS
CONSTRAINT
MANDATORY
ROLE
CONSTRAINT
VALUE
CONSTRAINT
COMPARISON
CONSTRAINT
SUBTYPING
CONSTRAINT
OTHER
CONSTRAINT
CONSTRAINT
DRAFT
CONCEPTUAL
SCHEMA
CONCEPTUAL
SCHEMA
LOGICAL
SCHEMA
QUERY
DATA
MODELING
SOLUTION
ENTITY is an OBJECT distinguishable from other OBJECTS and refers to a
thing, person, event or concept of real life or Universe of Discourse (UoD)
(Pol & Ahuja, 2007).
OBJECT is either an ENTITY or VALUE (Halpin, 1998) that plays ROLES.
It is part of the DRAFT and formal CONCEPTUAL SCHEMA (Halpin, 1998).
ARITHMETIC NOTE is a rule derived from FACT TYPEs and noted in
order to add arithmetic information to a CONCEPTUAL SCHEMA (Halpin,
1993).
LOGICAL DERIVATION is a rule derived from FACT TYPEs. It expresses
functional relationships of interest that are not omitted so far. It consists part of
a DRAFT and formal CONCEPTUAL SCHEMA (Halpin, 1993).
UNIQUENESS CONSTRAINT is a type of CONSTRAINT used to declare
that instances for a ROLE are unique (Halpin, 1998).
MANDATORY CONSTRAINT is a type of CONSTRAINT used to declare
that instances in the ROLE’s OBJECT type must play that role (Halpin,
1998).
VALUE CONSTRAINT is a type of CONSTRAINT that its OBJECT type’s
population is restricted to certain values (Halpin, 1998).
COMPARISON CONSTRAINT is a CONSTRAINT that indicates whether a
ROLE is subset of, equal to or excluded from another ROLE (Halpin,
1998).
SUBTYPING CONSTRAINT is a CONSTRAINT that indicates that one
OBJECT is subtype of another (Halpin, 1998).
OTHER CONSTRAINT is a CONSTRAINT that may indicate frequency,
irreflexibility, intransitivity, acyclicity, asymmetry, anti-symmetry or
symmetry (Halpin, 1998).
CONSTRAINT is the generalization of UNIQUENESS CONSTRAINTs,
MANDATORY
ROLE
CONSTRAINTs,
VALUE
CONSTRAINTs,
COMPARISON CONSTRAINTs, SUBTYPING CONSTRAINTs and
OTHER CONSTRAINTs.
DRAFT CONCEPTUAL SCHEMA is a schema that initially consists of
ROLEs and OBJECTs and during the Data Modeling activity is enriched
with CONSTRAINTS, ARITHMETIC NOTEs and LOGICAL DERIVATIONs.
If checked for validity, it consists the basis for a formal CONCEPTUAL
SCHEMA (Halpin, 1998).
CONCEPTUAL SCHEMA is an enriched DRAFT CONCEPTUAL SCHEMA
validated through a check process (Halpin, 1998). It consists of ROLEs,
ENTITIEs,
CONSTRAINTs,
LOGICAL
DERIVATIONs
and
ARITHMETIC NOTEs (Halpin, 1998).
LOGICAL SCHEMA is a schema that abstracts the data content of a
CONCEPTUAL MODEL into database implementation specifications
(Yeung & Hall, 2007).
QUERY is a part of database language code, used for the development of a
database.
DATA MODELING SOLUTION is the document that derives from the
procedure of analysing and modeling data structures based on ORM, a
fact-oriented approach (Halpin, 2003). It consists of a FACT TABLE, a
CONCEPTUAL SCHEMA, a LOGICAL SCHEMA and QUERY(ies).
Table 4: Concept Table - Enlists the concepts of the PDD.
11
4
Related Literature
The field of information modeling has been extensively researched during the past 40
years. Falkenberg was the first researcher that came up with the idea of using n-ary
relationships to represent the conceptual level of information systems (Halpin, 1998).
Nijssen (1976) presented the fact-oriented modeling method, NIAM that was later
renamed as ORM and refined by Halpin (1997). Other approaches of conceptual modeling
are Entity-Relationship model (ER) and Unified Modeling Language (UML). Halpin
(1998) and Balsters (2007) made a comparison between the three modeling methods and
argue that the lack of attributes in ORM provide semantic-stability to its deliverables.
Apart from being a modeling method for database management systems and querying
method for information systems, Object-Role Modeling is applied in a variety of fields.
Some of them are the 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. Bakema, Zwart
and Lek (1996) introduced an extension of NIAM, called Fully Communication Oriented
Information Method (FCO-IM) that focuses on modelling the conceptual aspects of
communication that a DBMS should support and excluding implementation elements. In
2005, Halpin presented a second revised version of ORM. ORM 2 suggested changes in
the graphical notation of the method that would save the designer time, would provide
more compact deliverables than the first version, and would improve the tooling
perspective.
Commercial tools for Object-Role Modeling are available. Halpin, in collaboration with
Microsoft have automated the procedure with Microsoft Visio for Enterprise Architects.
CaseTalk is a fact based information workbench supporting FCO-IM. Other open source
tools are ORMLite, NormaModeler and Dogma.
5
Conclusions
This paper aimed at presenting an extended overview of the ORM conceptual design
method by adding a helpful meta-model in the related literature. The meta-model has
positioned the method’s design procedure in the IS Lifecycle, has clarified the necessary
inputs and has specified the contributed deliverables during the DBMS design.
The Process-Deliverable Diagram has been proven a substantial meta-modeling technique
to achieve the aforementioned objectives. First, because it provides (a) a clear distribution
of ORM activities in the IS Lifecycle, (b) a graphically presented order of the CSDP steps
and (c) and clarification of their actors for each one of them. Second, because the PDD is
accompanied with the activity and concept tables that provide an explicit description of
activities and deliverables. These can be considered as the dictionary of the ORM method.
Third, because the CSDP dismantled version occurred during the meta-modeling design.
Moreover, the creation of a sub-PDD that supports the main PDD, gives the opportunity to
the reader to obtain a level of abstraction, high or low, based on his needs. It is therefore
obvious that ORM meta-model, is a helpful tool for ORM practitioners, such as IS
Analysts, Database Designers, Modelers and Developers. Method Engineers, interested in
extending, modifying, reconsidering or using fragments of the ORM method may find the
meta-model useful too.
12
6
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. (2007). Modeling Data Federations in ORM. In R. Meersman,
Z. Tari, & P. Herrero (Eds.), On the Move to Meaningful Internet Systems 2007:
OTM 2007 Workshops, Lecture Notes in Computer Science (Vol. 4805, pp. 657–
666). Springer Berlin
Bird, L., Goodchild, A., & Halpin, T. A. (2000). Object-role modeling and XML
schema. Proceedings from 19th International Conference on Conceptual Modeling.
Salt Lake City, Utah: Springer.
Halpin, T. A. (1993). What is an elementary fact. Retrieved from www.orm.net
HU
U
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 www.orm.net
HU
U
Halpin, T. A. (1998). Object-Role Modeling (ORM/NIAM). In Bernus, P., Mertins, K. &
Schmidt, G. (Eds.). (2005) 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: SpringerVerlag.
13
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.
14
APPENDIX
SOLUTION ID:
FRAGMENT ID:
DATE ISSUED:
AUTHOR:
<code>
<code>
<date>
<name>
FACT TABLE AND APPROVAL
INSTANCE
CODE
INSTANCE DESCRIPTION
FACT CODE
i1
f1
i2
f2
i3
f3
in
fn
FACT DESCRIPTION
QUALITY
CHECK
Table 5: Template of Example of Table 2
15
Notice of Originality
I declare that this paper is my own work and that information derived from
published or unpublished work of others has been acknowledged in the text and
has been explicitly referred to in the list of references. All citations are in the text
between quotation marks (“ ”). I am fully aware that violation of these rules can
have severe consequences for my study at Utrecht University.
Signed:
Name: Nikol Gkerpini
Date: 13/05/2012
Place: Utrecht
16
Download