Specification and verification of database dynamics |
| |
Authors: | José Fiadeiro Amílcar Sernadas |
| |
Affiliation: | (1) Departamento de Matemática, Instituto Superior Técnico, Av. Rovisco Pais, P-1096 Lisboa Codex, Portugal |
| |
Abstract: | Summary A framework is proposed for the structured specification and verification of database dynamics. In this framework, the conceptual model of a database is a many sorted first order linear tense theory whose proper axioms specify the update and the triggering behaviour of the database. The use of conceptual modelling approaches for structuring such a theory is analysed. Semantic primitives based on the notions of event and process are adopted for modelling the dynamic aspects. Events are used to model both atomic database operations and communication actions (input/output). Nonatomic operations to be performed on the database (transactions) are modelled by processes in terms of trigger/reaction patterns of behaviour. The correctness of the specification is verified by proving that the desired requirements on the evolution of the database are theorems of the conceptual model. Besides the traditional data integrity constraints, requirements of the form Under condition W, it is guaranteed that the database operation Z will be successfully performed are also considered. Such liveness requirements have been ignored in the database literature, although they are essential to a complete definition of the database dynamics. Notation Classical Logic Symbols (Appendix 1)
for all (universal quantifier)
-
exists at least once (existential quantifier)
- ¬
no (negation)
-
implies (implication)
-
is equivalent to (equivalence)
-
and (conjunction)
-
or (disjunction)
Tense Logic Symbols (Appendix 1)
G
always in the future
-
G
0
always in the future and now
-
F
sometime in the future
-
F
0
sometime in the future or now
-
H
always in the past
-
H
0
always in the past and now
-
P
sometime in the past
-
P
0
sometime in the past or now
-
X
in the next moment
-
Y
in the previous moment
-
L
always
-
M
sometime
Event Specification Symbols (Sects. 3 and 4.1)
(x) means immediately after the occurrence of x
-
(x) means immediately before the occurrence of x
-
(x) means x is enabled, i.e., x may occur next
- { }
({w
1} x{w
2}) states that if w
1 holds before the occurrence of x, then w
2 will hold after the occurrence of x (change rule)
- ]
(oa1, ..., oan]x) states that only the object attributes oa1, ..., oa
n
are modifiable by x (scope rule)
- {{ }}
({{w}}x) states that if x may occur next, then w holds (enabling rule)
Process Specification Symbols (Sects. 5.3 and 5.4) ::
for causal rules
-
for behavioural rules
Transition-Pattern Composition Symbols (Sects. 5.2 and 5.3) ;
sequential composition
- ¦
choice composition
-
parallel composition
- :|
guarded alternative composition
Location Predicates (Sect. 5.2)
(z) means immediately after the occurrence of the last event of z (after)
-
(z) means immediately before the occurrence of the first event of z (before)
-
(z) means after the beginning of z and before the end of z (during)
-
(
z) means before the occurrence of an event of z (at) |
| |
Keywords: | |
本文献已被 SpringerLink 等数据库收录! |
|