A Semantic Framework for Supporting Cooperative Work in Relational Temporal Databases
description
Transcript of A Semantic Framework for Supporting Cooperative Work in Relational Temporal Databases
![Page 1: A Semantic Framework for Supporting Cooperative Work in Relational Temporal Databases](https://reader036.fdocuments.net/reader036/viewer/2022062409/568150f0550346895dbf0a59/html5/thumbnails/1.jpg)
A Semantic Framework for Supporting Cooperative Work in Relational Temporal Databases
Paolo Terenziani, Alessio Bottrighi, Stefania Montani
Dipartimento di Informatica, Univ. Piemonte Orientale, Alessandria, Italy
Luca Anselma,
Dipartimento di Informatica, Univ. Torino, Italy
![Page 2: A Semantic Framework for Supporting Cooperative Work in Relational Temporal Databases](https://reader036.fdocuments.net/reader036/viewer/2022062409/568150f0550346895dbf0a59/html5/thumbnails/2.jpg)
2
Outline
• Introduction
• Goals and Criteria
• Data Model
• Manipulation operations
• Algebra
• Conclusions
![Page 3: A Semantic Framework for Supporting Cooperative Work in Relational Temporal Databases](https://reader036.fdocuments.net/reader036/viewer/2022062409/568150f0550346895dbf0a59/html5/thumbnails/3.jpg)
3
Introduction (1/5)
Cooperative work:
• Important, e.g. software development
- Multiple alternative proposals
- Selection
• Software engineering tools
![Page 4: A Semantic Framework for Supporting Cooperative Work in Relational Temporal Databases](https://reader036.fdocuments.net/reader036/viewer/2022062409/568150f0550346895dbf0a59/html5/thumbnails/4.jpg)
4
Introduction (2/5)
Cooperative work:
Analogous problems using DBs to model complex domains
Incremental modeling, cooperative work
![Page 5: A Semantic Framework for Supporting Cooperative Work in Relational Temporal Databases](https://reader036.fdocuments.net/reader036/viewer/2022062409/568150f0550346895dbf0a59/html5/thumbnails/5.jpg)
5
Introduction (3/5)
The case of clinical guidelines:
• General guideline proposed by a standardization committee
• Proposals of update
– Local contextualization
– New therapies
• Evaluation of proposals
* Guideline to be stored in a DB
![Page 6: A Semantic Framework for Supporting Cooperative Work in Relational Temporal Databases](https://reader036.fdocuments.net/reader036/viewer/2022062409/568150f0550346895dbf0a59/html5/thumbnails/6.jpg)
6
Introduction (4/5) Open issues
Augmenting DB approaches to support cooperative work, i.e.:
• Distinction between two phases:
proposals and acceptance/rejection
• History of the evolution of the proposals
• Alternative proposals
* Notice: usual semantics of (relational) DBs, conjunction of tuples
![Page 7: A Semantic Framework for Supporting Cooperative Work in Relational Temporal Databases](https://reader036.fdocuments.net/reader036/viewer/2022062409/568150f0550346895dbf0a59/html5/thumbnails/7.jpg)
7
Introduction (5/5) Context
• Both VT and TT should be supported
• “Consensus” approach (TSQL2) with a high-level semantics (BCDM)
• BCDM supports several TDB implementations (not only TSQL2)
![Page 8: A Semantic Framework for Supporting Cooperative Work in Relational Temporal Databases](https://reader036.fdocuments.net/reader036/viewer/2022062409/568150f0550346895dbf0a59/html5/thumbnails/8.jpg)
8
Goals (1/3)
• Extending BCDM to support cooperative updates
• Propose vs accept/reject
• Alternative proposals of updates
Notice: underlined implementation
![Page 9: A Semantic Framework for Supporting Cooperative Work in Relational Temporal Databases](https://reader036.fdocuments.net/reader036/viewer/2022062409/568150f0550346895dbf0a59/html5/thumbnails/9.jpg)
9
Criteria (2/3)
•Under-constrained policy:– Super user vs user– Super user operations:
standard + accept/reject proposals– User operations:
• delete (not proposals)• Insert• Update (chains allowed)
* Notice: easy to specializeE.g.: policy 1: super users can only accept/reject
![Page 10: A Semantic Framework for Supporting Cooperative Work in Relational Temporal Databases](https://reader036.fdocuments.net/reader036/viewer/2022062409/568150f0550346895dbf0a59/html5/thumbnails/10.jpg)
10
Criteria (3/3)
•“Minimal” extension of BCDM:
– Upward compatibility (manipulation operations)
– Reducibility (algebra)
![Page 11: A Semantic Framework for Supporting Cooperative Work in Relational Temporal Databases](https://reader036.fdocuments.net/reader036/viewer/2022062409/568150f0550346895dbf0a59/html5/thumbnails/11.jpg)
11
Data Model (1/9)
Two data levels needed:
• Super users (accepted) data
• User proposals
* Notice: proposals need to be maintained and affect super-user data only if/when
accepted
![Page 12: A Semantic Framework for Supporting Cooperative Work in Relational Temporal Databases](https://reader036.fdocuments.net/reader036/viewer/2022062409/568150f0550346895dbf0a59/html5/thumbnails/12.jpg)
12
Data Model (2/9)
Authoring
Note: author as a data attribute
- Basically a “standard” data attribute (however, author cannot be modified)
![Page 13: A Semantic Framework for Supporting Cooperative Work in Relational Temporal Databases](https://reader036.fdocuments.net/reader036/viewer/2022062409/568150f0550346895dbf0a59/html5/thumbnails/13.jpg)
13
Data Model (3/9)
Super user data
• Standard BCDM semantics
![Page 14: A Semantic Framework for Supporting Cooperative Work in Relational Temporal Databases](https://reader036.fdocuments.net/reader036/viewer/2022062409/568150f0550346895dbf0a59/html5/thumbnails/14.jpg)
14
Data Model (4/9) user proposals
For each super-user relation r:
• pi(r): set of insert proposals in r
• pd(r): set of proposals of deletion of tuples in r
• pu(r): set of updates of tuples (in r, pi(r), pu(r))
![Page 15: A Semantic Framework for Supporting Cooperative Work in Relational Temporal Databases](https://reader036.fdocuments.net/reader036/viewer/2022062409/568150f0550346895dbf0a59/html5/thumbnails/15.jpg)
15
Data Model (5/9) insert proposals
pi(r) is a set of standard BCDM tuples
![Page 16: A Semantic Framework for Supporting Cooperative Work in Relational Temporal Databases](https://reader036.fdocuments.net/reader036/viewer/2022062409/568150f0550346895dbf0a59/html5/thumbnails/16.jpg)
16
Data Model (6/9) delete proposals
pd(r) is a set of standard transaction-time tuples
* Notice: no value-equivalent data in r VT not needed
![Page 17: A Semantic Framework for Supporting Cooperative Work in Relational Temporal Databases](https://reader036.fdocuments.net/reader036/viewer/2022062409/568150f0550346895dbf0a59/html5/thumbnails/17.jpg)
17
Data Model (7/9) update proposals
Update involves:• An origin tuple to be updated (time not
needed)
• A new temporal tuple (standard BCDM tuple)
* Notice: multiple update proposals involving the same origin are in alternative
![Page 18: A Semantic Framework for Supporting Cooperative Work in Relational Temporal Databases](https://reader036.fdocuments.net/reader036/viewer/2022062409/568150f0550346895dbf0a59/html5/thumbnails/18.jpg)
18
Data Model (8/9) update proposals
Definition: proposal tuple
• An origin
• A non empty set of (bi)temporal tuples
Semantic interpretation: disjunctive set of alternative proposals (each one is a BCDM tuple)
t<a1,T1>
<an,Tn>
………
![Page 19: A Semantic Framework for Supporting Cooperative Work in Relational Temporal Databases](https://reader036.fdocuments.net/reader036/viewer/2022062409/568150f0550346895dbf0a59/html5/thumbnails/19.jpg)
19
Data Model (9/9) update proposals
pu(r) is a set of proposal tuples
Property: uniqueness of representation
(two Proposal-relations defined over the same schema are snapshot equivalent iff they are identical )
![Page 20: A Semantic Framework for Supporting Cooperative Work in Relational Temporal Databases](https://reader036.fdocuments.net/reader036/viewer/2022062409/568150f0550346895dbf0a59/html5/thumbnails/20.jpg)
20
Manipulation operations• E.g.: propose update(r,origin,old,new,VT)
<origin,old> identify the update proposal to be modified
IF origin=old a super-user tuple must be modified
t<a1,T1>
<an,Tn>
………
origin old
![Page 21: A Semantic Framework for Supporting Cooperative Work in Relational Temporal Databases](https://reader036.fdocuments.net/reader036/viewer/2022062409/568150f0550346895dbf0a59/html5/thumbnails/21.jpg)
21
Manipulation operations• E.g.: propose update(r,origin,old,new,VT)IF admissible
IF ptpu(r) with origin(pt)=originTHEN add <origin, <new,user,UCVT>> in pu(r)IF ptpu(r) with origin(pt)=origin ( a1 alternatives(pt)\ a1 value equivalent to ‘new’ OR a1 alternatives(pt)\ a1 value equivalent to ‘new’
user(a) user)THEN add ‘new’ to alternatives(pt) IF ptpu(r) with origin(pt)=origin a1 alternatives(pt)\ a1 value equivalent to ‘new’
user(a) = userTHEN add (UCVT) to the bitemporal of a1
* Notice: value equivalent proposals for the same origin are not allowed
![Page 22: A Semantic Framework for Supporting Cooperative Work in Relational Temporal Databases](https://reader036.fdocuments.net/reader036/viewer/2022062409/568150f0550346895dbf0a59/html5/thumbnails/22.jpg)
22
Manipulation operations
ADMISSIBILITY OF PROPOSE UPDATE OP.
origin: in r or in pi(r) & current
old: old (old=origin OR old origin) & current
new: ( tuple t r & current & t value equivalent to ‘new’ t value equivalent to origin) &
proposal value equivalent to t with same VT
![Page 23: A Semantic Framework for Supporting Cooperative Work in Relational Temporal Databases](https://reader036.fdocuments.net/reader036/viewer/2022062409/568150f0550346895dbf0a59/html5/thumbnails/23.jpg)
23
Manipulation operations
ADMISSIBILITY OF PROPOSE UPDATE OP.
Condition on ‘new’: example
r: {<a,Ta>,<b,Tb>,…..} (r is a super-user relation)
Admissible update: a <a,T’>
NOT admissible: b <a,T’>
![Page 24: A Semantic Framework for Supporting Cooperative Work in Relational Temporal Databases](https://reader036.fdocuments.net/reader036/viewer/2022062409/568150f0550346895dbf0a59/html5/thumbnails/24.jpg)
24
Manipulation operations
Notice: the alternatives of the selected updated are no longer allowed
• E.g.: accept update proposalIF admissible
IF tr \ t value equivalent to origin current(t)THEN DELETE(t); INSERT(new); close UC to all alternative proposals
concerning originIF tr \ t value equivalent to origin current(t)
tpi(r) \ t value equivalent to origin current(t) THEN INSERT(new); close UC to all alternative proposals concerning origin
admissible: ptpu(r) with origin(pt)=origin newalternatives(pt) current(new) [( tr \ t value equivalent to new current(t)) t value equivalent to origin]
![Page 25: A Semantic Framework for Supporting Cooperative Work in Relational Temporal Databases](https://reader036.fdocuments.net/reader036/viewer/2022062409/568150f0550346895dbf0a59/html5/thumbnails/25.jpg)
25
Manipulation Operations“two level” check on legal operations
• 1) Proposal Time– Super: <a, vt1>– Propose_update (x | <a, vt2>) REJECTED
• 2) Evaluation Time– Super: <y, vt3>, <x, vt4>(1) Propose_update (y | <a, vt2>)(2) Propose_update (x | <a, vt3>)
Accept (1)Accept (2) REJECTED
![Page 26: A Semantic Framework for Supporting Cooperative Work in Relational Temporal Databases](https://reader036.fdocuments.net/reader036/viewer/2022062409/568150f0550346895dbf0a59/html5/thumbnails/26.jpg)
26
Manipulation operations
Property 1.
Upward compatibility with BCDM
Moreover, if Policy 1 is adopted:
Property 2. “Semantic” upward compatibility
propose(OP)
accept
OP
Our approach BCDM
![Page 27: A Semantic Framework for Supporting Cooperative Work in Relational Temporal Databases](https://reader036.fdocuments.net/reader036/viewer/2022062409/568150f0550346895dbf0a59/html5/thumbnails/27.jpg)
27
Algebraic operations
• Standard BCDM algebraic operations for super-user and for pi and pd
• Conversion operations on pu:
origin(pu(r)) =
{o \ pt pu(r) o origin(pt)} =
{ o \ <o, (a1,…, an)> pu(r)}
alternatives(pu(r)) =
{a \ ptpu(r) a alternatives(pt)} =
{(a1,…, an) \ <o, {a1,…, an}> pu(r)}
![Page 28: A Semantic Framework for Supporting Cooperative Work in Relational Temporal Databases](https://reader036.fdocuments.net/reader036/viewer/2022062409/568150f0550346895dbf0a59/html5/thumbnails/28.jpg)
28
Algebraic operations
E.g.: natural join:r⋈A s = { z=<origin(z),alternatives(z)> \
IF pt1r , pt2s \ origin(pt1)[A]= origin(pt2) [A]
a1alternatives(pt1), a2alternatives(pt2) \ a1[A]=a2[A]
a1[T]a2[T]
THEN
origin(z)[A]=origin(pt1)[A] z[B]=origin(pt1)[B]
z[C]=origin(pt2)[C]
altalternatives(z), where alt[A]=a1[A]=a2[A] alt[B]=a1[B]
alt[C]=a2[C] alt[T]=a1[T]a2[T] }
![Page 29: A Semantic Framework for Supporting Cooperative Work in Relational Temporal Databases](https://reader036.fdocuments.net/reader036/viewer/2022062409/568150f0550346895dbf0a59/html5/thumbnails/29.jpg)
29
Algebraic operationsDefinition: conv
conv(pu(r))={(a1,…,an,a’1,…,a’n,T)\
ptpu(r) \ (a1,…,an)=origin(pt)
(a’1,…,a’n)=alternatives(pt) }
convt
<a1,T1>
<an,Tn>
………
Semantic level
Tnt an
T1t a1
… … …
Relational level
![Page 30: A Semantic Framework for Supporting Cooperative Work in Relational Temporal Databases](https://reader036.fdocuments.net/reader036/viewer/2022062409/568150f0550346895dbf0a59/html5/thumbnails/30.jpg)
30
Algebraic operations
Property: reducibility (!?)
conv( OpA( pu(r) ) ) = OpBCDM( conv( pu(r) ) )
* Note: underlying possible implementation
![Page 31: A Semantic Framework for Supporting Cooperative Work in Relational Temporal Databases](https://reader036.fdocuments.net/reader036/viewer/2022062409/568150f0550346895dbf0a59/html5/thumbnails/31.jpg)
31
Implementation (idea)
SEMANTIC Level IMPLEMENTATION(Data Abstraction)
PROPOSAL
RELATION
Accept Op
Propose Op
Algebraic Op
Accept Op
Propose Op
Algebraic Op
Conv
![Page 32: A Semantic Framework for Supporting Cooperative Work in Relational Temporal Databases](https://reader036.fdocuments.net/reader036/viewer/2022062409/568150f0550346895dbf0a59/html5/thumbnails/32.jpg)
32
Conclusions
• Problem of cooperative update to DB’s is important
• New problem in DB field• Semantic approach extending BCDM to support
(1) proposal\evaluation &
(2) alternative proposals• Data model• Manipulation operations• Algebra
• Upward compatibility\reducibility• Easy Implementability