200 likes | 315 Views
Verification of CTL Properties of Hyperlinked Documents. APT Proposal 2005 Gordon J. Pace. What is CTL?. CTL = Computation Tree Logic Logic = A language to express properties Computation Tree = A description of a process which evolves over time, which may include non-determinism branching.
E N D
Verification of CTL Properties of Hyperlinked Documents APT Proposal 2005 Gordon J. Pace
What is CTL? • CTL = Computation Tree Logic • Logic = A language to express properties • Computation Tree = A description of a process which evolves over time, which may include non-determinism branching
What is a computation tree? Each blobis a state of the system
What is a computation tree? Each state may satisfy some basic propositions eg Deadlock
What is a computation tree? Arrows indicate how states evolve over time
What is a computation tree? Multiple outgoing arrows indicate different options exist
What is CTL? CTL is a logic to describe properties of systems which evolve over time, enabling us to express things such as possibility and necessity.
What does CTL look like? • AG P = along any execution path (A) property P holds everywhere/globally (G). • EF P =there exists an execution path (E) along which property P finally holds (F). • A (P U Q) = along any execution path (A) property P holds until property Q becomes true.
What does CTL look like? Properties (ieP and Q) are CTL formulae themselves • AG P = along any execution path (A) property P holds everywhere/globally (G). • EF P =there exists an execution path (E) along which property P finally holds (F). • A (P U Q) = along any execution path (A) property P holds until property Q becomes true.
What does CTL look like? Properties (eg P and Q) are CTL formulae themselves • AG P = along any execution path (A) property P holds everywhere/globally (G). • EF P =there exists an execution path (E) along which property P finally holds (F). • A (P U Q) = along any execution path (A) property P holds until property Q becomes true. Properties may also use standard logic operators (Æ, :, ), etc)
CTL Examples • A state which satisfies the property atIndex is always reachable: AG (EF atIndex)
CTL Examples • Once a state which satisfies cats is visited, states which satisfy dogs may only be reached via an index state: AG (cats ) A(:dogs U atIndex))
CTL Examples • Once a state which satisfies cats is visited, states which satisfy dogs may only be reached via an index state: AG (cats ) A(:dogs U atIndex))
But hyperdocuments are graphs with properties dogs cats dogs index cats dogs cats dogs
Graphs to Trees • The spanning tree of a graph describes all possible paths in the graph.
Graphs to Trees • The spanning tree of a graph describes all possible paths in the graph.
The APT • Implement an algorithm to verify CTL properties • Implement a translator from an annotated collection of hyperlinked documents into a graph
The APT • Implement an algorithm to verify CTL properties • Implement a translator from an annotated collection of hyperlinked documents into a graph • Given a collection of hyperlinked documents and a CTL property, we can verify the documents for consistency.