UniKL Logo

Lehrgebiet Informationssysteme

FB Informatik

FB Informatik
 
LG IS
AG DBIS
AG HIS
Jobs / Tasks
Courses
Publications
Contact
Misc
Impressum
(C) AG DBIS
 

Test Case taDOM3+/23-taDOM3+-30-CH

taDOM3+ Lock Requests of executed Operation appendChild(contextElementNode, childType, childValue) returns Node

The appendChild operation is executed on the context element node CO and appends a new child to the (at least one) already existing child nodes. The CX resp. NRCX lock on the context node is caused by the SX lock on the new child. The new appended child node (the new last child) is returned.

Behavior specified with base operations:

  • readCO
  • modifyCOLCE
  • modifyLCNSE
Read Set = CO , Write Set = COLCE LCNSE
  • LockRequest[node=CO,lock:NRCX,PSE:-,NSE:-,FCE:-,LCE:EX]
  • LockRequest[node=LC,lock:-,PSE:-,NSE:EX,FCE:-,LCE:-]

taDOM3+ Lock Requests of checked Operation insertAfter(contextNode, siblingType, siblingValue) executed on node CH

The insertAfter operation is executed on the context element node CO and inserts a new next sibling node after the context node CO. There does not exist a next sibling, so the context element node was the last child of the parent node PA and the inserted new sibling node (the new last child of PA) is returned.

Bahavior specified with base operations:

  • readCO
  • modifyCONSE
  • modifyPALCE

Read and write sets for execution on CH:

Read Set = CH , Write Set = COLCE CHNSE
  • LockRequest[node=CO,lock:NR,PSE:-,NSE:EX,FCE:-,LCE:-] on CH
  • LockRequest[node=PA,lock:CX,PSE:-,NSE:-,FCE:-,LCE:EX] on CH

Operations must be incompatible

CheckExisting LockRequest[node=CO,lock:NRCX,PSE:-,NSE:-,FCE:-,LCE:EX]
with
Requested LockRequest[node=CO,lock:NR,PSE:-,NSE:EX,FCE:-,LCE:-] on CH
Requested lock IR on AC compatible to existing lock IX.
Requested lock IR on PA compatible to existing lock IX.
Requested lock IR on CO compatible to existing lock NRCX.
Compatible
CheckExisting LockRequest[node=CO,lock:NRCX,PSE:-,NSE:-,FCE:-,LCE:EX]
with
Requested LockRequest[node=PA,lock:CX,PSE:-,NSE:-,FCE:-,LCE:EX] on CH
On CO the last child edge lock EX is incompatible to the requested EX
Incompatible
CheckExisting LockRequest[node=LC,lock:-,PSE:-,NSE:EX,FCE:-,LCE:-]
with
Requested LockRequest[node=CO,lock:NR,PSE:-,NSE:EX,FCE:-,LCE:-] on CH
Compatible
CheckExisting LockRequest[node=LC,lock:-,PSE:-,NSE:EX,FCE:-,LCE:-]
with
Requested LockRequest[node=PA,lock:CX,PSE:-,NSE:-,FCE:-,LCE:EX] on CH
Compatible
Test Case Ok