1 / 27

DOM: Towards a Formal Specification

DOM: Towards a Formal Specification. Author: Mark Wheelhouse Supervisor: Dr. Philippa Gardner Thanks to: Gareth Smith, Uri Zarfaty, Ian Hodkinson. Current Spec. English Verbose Ambiguous Automated Verification Not Possible Extensions Hard Time-consuming. What We Want Formalism

Download Presentation

DOM: Towards a Formal Specification

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. DOM:Towards a Formal Specification Author: Mark Wheelhouse Supervisor: Dr. Philippa Gardner Thanks to: Gareth Smith, Uri Zarfaty, Ian Hodkinson

  2. Current Spec. English Verbose Ambiguous Automated Verification Not Possible Extensions Hard Time-consuming What We Want Formalism Data Structure Logical Framework Automated Verification Possible Extensions Easier Quicker DOM(Document Object Model)

  3. What is DOM? DOM Tree • High Level XML Update • W3C • Aimed at Object Orientated Programmers • Stores XML in Tree Structure

  4. Minimal DOM DOM Core Level 3 DOM Core Level 2 DOM Core Level 1 Application Based Consider Structural Behaviour Only

  5. createNode getNodeName getChildNodes append getLength getItem Minimal DOM getParentNode insertBefore removeChild

  6. createNode getNodeName getChildNodes append getLength getItem Minimal DOM getParentNode insertBefore removeChild

  7. Context Logic • Local Reasoning Tool for Tree Update • Proved Correct • Used on Toy Examples • Provides Compositional Reasoning • First Real-World Test

  8. Context Logic - Application Pre: P Command: C Post: Q

  9. Context Logic – Right Triangle K = (P Q)

  10. Data Structure

  11. Command Axioms Specifying the Local Behaviour of the commands: { Pre-condition } Command { Post-condition }

  12. getNodeName tag’ = getNodeName(id); tag’ = tag

  13. getNodeName - Small Axiom

  14. Weakest Pre-condition

  15. Weakest Pre-condition

  16. Weakest Pre-condition

  17. Weakest Pre-condition

  18. insertBefore insertBefore(parent, newChild, ref);

  19. Ancestor Issue

  20. insertBefore - Axiom Why not Small ?

  21. Weakest Pre-condition

  22. Weakest Pre-condition

  23. Axiom Composition- insertAfter insertBefore(parent, newChild, ref); insertBefore(parent, ref, newChild);

  24. Axiom Composition- insertAfter

  25. cloneNode replaceChild hasChildNodes More than Minimal DOM DOM Core Level 1: insertAfter nodeEquality

  26. Conclusion • Complete Spec. for Minimal DOM • Complete Spec. for Structural DOM Core Level 1 • Highly Extendable • Automated Verification now possible

  27. Future Work • Automated Verification Tool • Getting it Small • The Rest of Core Level 1 • Higher Levels of DOM • Concurrent DOM

More Related