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 taDOM2+/6-taDOM2+-28-LC

taDOM2+ Lock Requests of executed Operation getFirstChild(contextElementNode) returns Node

The getFirstChild operation returns the first child FC of the context node CO.

Behavior specified with base operations:

  • readCO
  • useCOFCE
  • readFC
  • useFCPSE
Read Set = CO FC COFCE FCPSE , Write Set =
  • LockRequest[node=CO,lock:NR,PSE:-,NSE:-,FCE:ER,LCE:-]
  • LockRequest[node=CN,lock:NR,PSE:-,NSE:-,FCE:-,LCE:-]
  • LockRequest[node=FC,lock:NR,PSE:ER,NSE:-,FCE:-,LCE:-]
  • LockRequest[node=FN,lock:NR,PSE:-,NSE:-,FCE:-,LCE:-]

taDOM2+ Lock Requests of checked Operation insertBefore(contextNode, siblingType, siblingValue) executed on node LC

The insertBefore operation is executed on the context element node CO and inserts a new previous sibling node before the context node CO. There does not exist a previous sibling, so the context element node was the first child of the parent node PA and the inserted new sibling node (the new first child of PA) is returned.

Bahavior specified with base operations:

  • readCO
  • modifyCOPSE
  • modifyPAFCE

Read and write sets for execution on LC:

Read Set = LC , Write Set = COFCE LCPSE
  • LockRequest[node=CO,lock:NR,PSE:EX,NSE:-,FCE:-,LCE:-] on LC
  • LockRequest[node=CN,lock:NR,PSE:-,NSE:-,FCE:-,LCE:-] on LC
  • LockRequest[node=PA,lock:CX,PSE:-,NSE:-,FCE:EX,LCE:-] on LC

Operations must be incompatible

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