november 2001, slide 1 p.habela, k.subieta: standard metamodel for object databases (1) standard...
TRANSCRIPT
![Page 1: November 2001, Slide 1 P.Habela, K.Subieta: Standard Metamodel for Object Databases (1) Standard Metamodel for Object Databases (1): Introduction Piotr](https://reader036.vdocument.in/reader036/viewer/2022083004/56649efe5503460f94c13448/html5/thumbnails/1.jpg)
November 2001, Slide 1P.Habela, K.Subieta: Standard Metamodel for Object Databases (1)
Standard Metamodel for Object Databases (1): Introduction
Piotr HabelaPolish-Japanese Institute of Information Technology, Warsaw
Kazimierz SubietaPolish-Japanese Institute of Information Technology, Warsaw
Institute of Computer Science PAS, Warsaw
![Page 2: November 2001, Slide 1 P.Habela, K.Subieta: Standard Metamodel for Object Databases (1) Standard Metamodel for Object Databases (1): Introduction Piotr](https://reader036.vdocument.in/reader036/viewer/2022083004/56649efe5503460f94c13448/html5/thumbnails/2.jpg)
November 2001, Slide 2P.Habela, K.Subieta: Standard Metamodel for Object Databases (1)
Database metamodel...
• Description of all database properties that are independent on a particular database state.
• Stores a database schema, together with other data, such as physical organization of database files, optimization information, access and security rules, etc.
• Metamodels are relatively simple in relational systems due to simplicity of relational data structures. Not so simple for O-R metamodels.
• The relational metamodel is implemented as a collection of system tables (catalogs).
![Page 3: November 2001, Slide 1 P.Habela, K.Subieta: Standard Metamodel for Object Databases (1) Standard Metamodel for Object Databases (1): Introduction Piotr](https://reader036.vdocument.in/reader036/viewer/2022083004/56649efe5503460f94c13448/html5/thumbnails/3.jpg)
November 2001, Slide 3P.Habela, K.Subieta: Standard Metamodel for Object Databases (1)
A metamodel in object databases
• OODBMS: rich data model inevitably increases the metamodel complexity.
• Won Kim: OODBMS leads to "metadata management nightmare". Is it true? Is it better for an O-R model?
• ODMG standard: ca. 150 interfaces, bi-directional relationships, inheritance relationships and operations.
• Some complexity of a metamodel is a minor cost of major advantages of an OO model.
• The metamodel proposed by ODMG is not a solution, but a starting point for research.
![Page 4: November 2001, Slide 1 P.Habela, K.Subieta: Standard Metamodel for Object Databases (1) Standard Metamodel for Object Databases (1): Introduction Piotr](https://reader036.vdocument.in/reader036/viewer/2022083004/56649efe5503460f94c13448/html5/thumbnails/4.jpg)
November 2001, Slide 4P.Habela, K.Subieta: Standard Metamodel for Object Databases (1)
ODMG metamodel: complexity...
RepositoryObject
Type
structure_type*
Specifiername
Member UnionCase Parameterparameter_mode
*type
operation
*
Operand
value
union_type*
Structure Union Operation
case_labels
*
Expressionoperator
*
the_operands
Literalliteral_value
ConstOperand
Constant
Collection
UnionCase
references
value_of
size_of
case_in
A part of the metamodel (~25%):
![Page 5: November 2001, Slide 1 P.Habela, K.Subieta: Standard Metamodel for Object Databases (1) Standard Metamodel for Object Databases (1): Introduction Piotr](https://reader036.vdocument.in/reader036/viewer/2022083004/56649efe5503460f94c13448/html5/thumbnails/5.jpg)
November 2001, Slide 5P.Habela, K.Subieta: Standard Metamodel for Object Databases (1)
Roles of a metamodel
• Description of a data model, for understanding it by all parties: system developers, users, administrators,...
• Implementation of DBMS: organization of a database catalog. Implementation of database operations, including administration, data access, security,...
• Schema evolution. Metamodel + operations on catalogs are necessary (but not sufficient) for schema evolution.
• Generic programming. Metamodel + access to catalogs become a part of the programmer’s interface to enable generic programming through reflection.
![Page 6: November 2001, Slide 1 P.Habela, K.Subieta: Standard Metamodel for Object Databases (1) Standard Metamodel for Object Databases (1): Introduction Piotr](https://reader036.vdocument.in/reader036/viewer/2022083004/56649efe5503460f94c13448/html5/thumbnails/6.jpg)
November 2001, Slide 6P.Habela, K.Subieta: Standard Metamodel for Object Databases (1)
Description of a data model
• It is important to provide possibly clear and unambiguous definition of data model primitives and their interrelations.
• Unified Modeling Language (UML): a metamodel provides informal definition of language constructs.
• Such a metamodel is not a description of UML semantics. It suffers from the ignotum per ignotum logical flaw.
• UML semantics should be defined through states and actions: mapping diagrams onto sets of states/actions.
• UML metamodel presents abstract syntax of diagrams, dependencies and constraints among introduced concepts.
![Page 7: November 2001, Slide 1 P.Habela, K.Subieta: Standard Metamodel for Object Databases (1) Standard Metamodel for Object Databases (1): Introduction Piotr](https://reader036.vdocument.in/reader036/viewer/2022083004/56649efe5503460f94c13448/html5/thumbnails/7.jpg)
November 2001, Slide 7P.Habela, K.Subieta: Standard Metamodel for Object Databases (1)
UML metamodelModelElement
Relationship
Constraint+value: Uninterpreted
Element
Dependency+ mapping: Uninterpreted
dependency
source target
0..*0..*
0..*
0..*0..*
name: Name
classificationStereotype+value: Uninterpreted
/dependency Note+value: Uninterpreted
/dependency
target source
source
0..*0..1
target
characteristic
0..1
name: Name
TaggedValue+value: Uninterpreted
0..*
tagset 0..1
0..*
A part of the metamodel (~10%):
![Page 8: November 2001, Slide 1 P.Habela, K.Subieta: Standard Metamodel for Object Databases (1) Standard Metamodel for Object Databases (1): Introduction Piotr](https://reader036.vdocument.in/reader036/viewer/2022083004/56649efe5503460f94c13448/html5/thumbnails/8.jpg)
November 2001, Slide 8P.Habela, K.Subieta: Standard Metamodel for Object Databases (1)
ODMG metamodel...
• The ODMG standard follows the UML metamodel style.• It presents interdependencies among concepts introduced
in the object model and covers the abstract syntax of ODL. • In contrast to UML, the ODMG metamodel is associated
with a number of retrieval/manipulation capabilities. • The intention behind the metamodel is the description of
database catalogs rather than pure description of concepts. • The style is taken from the CORBA Interface Repository.• Ambiguous! - undefined terms, no semantics, no
explanation, no diagrams, no motivation, no examples.
![Page 9: November 2001, Slide 1 P.Habela, K.Subieta: Standard Metamodel for Object Databases (1) Standard Metamodel for Object Databases (1): Introduction Piotr](https://reader036.vdocument.in/reader036/viewer/2022083004/56649efe5503460f94c13448/html5/thumbnails/9.jpg)
November 2001, Slide 9P.Habela, K.Subieta: Standard Metamodel for Object Databases (1)
Metamodel in DBMS Implementation
• Simplicity: easy to understand and use.• Universality: support for all database operations. • Performance: fast run-time access and updating.• Information on physical data structures: file
organizations, indices, data for optimization, etc.• Privacy and security: information on the rules.• Extensibility, to support further development and
extensions of DBMS functionalities.
![Page 10: November 2001, Slide 1 P.Habela, K.Subieta: Standard Metamodel for Object Databases (1) Standard Metamodel for Object Databases (1): Introduction Piotr](https://reader036.vdocument.in/reader036/viewer/2022083004/56649efe5503460f94c13448/html5/thumbnails/10.jpg)
November 2001, Slide 10P.Habela, K.Subieta: Standard Metamodel for Object Databases (1)
Schema Evolution
• Operations introduced in the ODMG metamodel suggest this goal.
• Some 100 papers on schema evolution by the database community
• A fundamental question: Is the community working on a right problem?
• Our opinion: People producing papers on schema evolution do not understand the problem.
• The problem is in between the metadata management, software change management, and software configuration management
![Page 11: November 2001, Slide 1 P.Habela, K.Subieta: Standard Metamodel for Object Databases (1) Standard Metamodel for Object Databases (1): Introduction Piotr](https://reader036.vdocument.in/reader036/viewer/2022083004/56649efe5503460f94c13448/html5/thumbnails/11.jpg)
November 2001, Slide 11P.Habela, K.Subieta: Standard Metamodel for Object Databases (1)
Software change management
• Organizing the process of reporting problems in software and/or in (changing) user or system requirements.
• Decision process concerning the scope of software changes and/or making new versions of the software.
• Planning software changes, including estimating costs and time, scheduling, software configuration, etc.
• Organizing of a team responsible for the design and implementation of software changes.
• Organizing software tests after a change, including regression tests of unchanged modules.
• ..... many other actions ....
![Page 12: November 2001, Slide 1 P.Habela, K.Subieta: Standard Metamodel for Object Databases (1) Standard Metamodel for Object Databases (1): Introduction Piotr](https://reader036.vdocument.in/reader036/viewer/2022083004/56649efe5503460f94c13448/html5/thumbnails/12.jpg)
November 2001, Slide 12P.Habela, K.Subieta: Standard Metamodel for Object Databases (1)
Software configuration management
• SCM is a discipline for establishing and maintaining the integrity of the products of a software project.
• SCM consists of planning, organizing, surveillance, controlling and coordinating activities making it possible to identify, store and secure all components of the software and its documentation during the entire software life cycle, including change management.
• SCM keeping consistency within configuration items, including software versions and revisions.
• Changes to a database schema disciplined by SCM.
![Page 13: November 2001, Slide 1 P.Habela, K.Subieta: Standard Metamodel for Object Databases (1) Standard Metamodel for Object Databases (1): Introduction Piotr](https://reader036.vdocument.in/reader036/viewer/2022083004/56649efe5503460f94c13448/html5/thumbnails/13.jpg)
November 2001, Slide 13P.Habela, K.Subieta: Standard Metamodel for Object Databases (1)
Sample SCM repository structureolder/newer version
**
*
*
*
supplied
**
0..1
Baseline
ReleaseInstallation
*
Physical location
Copy*
has*
Supplier
*
*
refers to
*
done by
employs
*
*
*
*
*
by
by
*
assigned to
belongs to
used in*
Configuration item(logical document)
*
*
*
related to
linked with
*
**
*
BinderProject role
Library item (physical document)
0..1
Client
stores
Company
had/has
0..1 *
Composite CI
0..1* *
Loan
LockPerson
forAccess right0..1
0..1
done by
Activity
Project
*
Responsibility
*
*
is duty of
SCM Standards:IEEE 1042IEEE 828IEEE 610.12ISO/IEC 12207
![Page 14: November 2001, Slide 1 P.Habela, K.Subieta: Standard Metamodel for Object Databases (1) Standard Metamodel for Object Databases (1): Introduction Piotr](https://reader036.vdocument.in/reader036/viewer/2022083004/56649efe5503460f94c13448/html5/thumbnails/14.jpg)
November 2001, Slide 14P.Habela, K.Subieta: Standard Metamodel for Object Databases (1)
Metamodel repository + SCM repository: storing dependencies
Configuration dependency: consistent sets of software units. Standardization dependency: consistency with standards. Forward dependency: which module is called from A? Backward dependency: which module calls A? Parametric dependency: which module is a parameter of A? Side effects dependency: which hardware/software/network unit
can be read and/or affected by A? Event dependency: which event is rised/caught by A? Typing dependency: which module has the same type as A? Redundancy dependency: which module holds the same
information as A? Stylistic dependency: which module has the design style of A?
![Page 15: November 2001, Slide 1 P.Habela, K.Subieta: Standard Metamodel for Object Databases (1) Standard Metamodel for Object Databases (1): Introduction Piotr](https://reader036.vdocument.in/reader036/viewer/2022083004/56649efe5503460f94c13448/html5/thumbnails/15.jpg)
November 2001, Slide 15P.Habela, K.Subieta: Standard Metamodel for Object Databases (1)
Schema Evolution Management of Dependencies
• The entire population of hardware, software and documentation units forms a colored graph, where each colored edge represents some dependency between units.
• The dependencies can be stored within a metabase repository or within a software configuration repository.
• The schema evolution problem: establishing dependencies between hardware, software and documentation units.
• It should determine benefits of storing dependencies for particular phases and aspects of the software life cycle.
• ODMG : none of the above aspects is considered operations on the metamodel are unmotivated!
![Page 16: November 2001, Slide 1 P.Habela, K.Subieta: Standard Metamodel for Object Databases (1) Standard Metamodel for Object Databases (1): Introduction Piotr](https://reader036.vdocument.in/reader036/viewer/2022083004/56649efe5503460f94c13448/html5/thumbnails/16.jpg)
November 2001, Slide 16P.Habela, K.Subieta: Standard Metamodel for Object Databases (1)
Reflection Mechanism
• Accessing meta-information to retrieve data necessary to formulate a dynamic request.
• Construction of the dynamic request, e.g. as a query string.• Executing the request through a special utility, which takes
the request as an argument. • Utilizing the result of the request. The type of the result
can be unknown, hence a special utility is necessary to return the type.
Steps of reflection (Dynamic SQL, CORBA DII):
ODMG metamodel supports only the first step(in contrast to the CORBA Dynamic Invocation Interface).
![Page 17: November 2001, Slide 1 P.Habela, K.Subieta: Standard Metamodel for Object Databases (1) Standard Metamodel for Object Databases (1): Introduction Piotr](https://reader036.vdocument.in/reader036/viewer/2022083004/56649efe5503460f94c13448/html5/thumbnails/17.jpg)
November 2001, Slide 17P.Habela, K.Subieta: Standard Metamodel for Object Databases (1)
Conclusion of the Part 1:
• The ODMG database metamodel is doubtful concerning all aspects.
• How to improve it? How to avoid the "metadata management nightmare"? (see Part 2)