1 / 17

Plug-in System for the Xylia Extensible XML Editor

Plug-in System for the Xylia Extensible XML Editor. Student: Jonathan Milley Supervisor: Dr. T. S. Norvell. Outline. Introduction Background Project Details Results/Status of project Future work. Introduction. Project Origination:

kaoru
Download Presentation

Plug-in System for the Xylia Extensible XML Editor

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. Plug-in System for the Xylia Extensible XML Editor Student: Jonathan Milley Supervisor: Dr. T. S. Norvell

  2. Outline • Introduction • Background • Project Details • Results/Status of project • Future work

  3. Introduction • Project Origination: • Stemmed from work by Dr. Norvell, and Zhikai (Jack) Ding  The SIMPLE System, a system for Proving and Programming • Xylia a WYSIWYG XML editor library for Java was started as the editor component of SIMPLE • Since its inception there have been 4 work terms completed on it.

  4. Introduction • Motivation • Previous work on Xylia has focused on the editing feature set • Now Xylia needs a mechanism for building useful Systems • Eventual goal is to complete the SIMPLE system that was the genesis of the project

  5. Introduction • Objectives: • Implement a standard interface to the Document • Implement a plug-in system for dynamic addition/removal of features • Implement a reference editor with plug-in capability

  6. Background • XML (eXtensible Markup Language) • XML is a standard set of rules for creating and defining mark up languages • Markup languages are used to represent structured documents, HTML is a markup language • XML is very strict on well-formedness and validity

  7. Background • The Java Programming Language • Created by Sun Microsystems Inc. • Cross platform, i.e. Source code is compiled to byte code, which can be interpreted on any system with a Java runtime • Syntax similar to C++, but more object oriented • Many powerful libraries, and Third Party software available

  8. Background • SIMPLE • Integrated Development Environment for Programs, Proofs, and Proofs of Programs • Not just a WYSIWYG editor, but also proof/program checker, other tools to help developer • Tightly coupled Proof/Program Assistant for immediate feedback to user

  9. Project Details • Two Major pieces for the Plug-in system • The Document Interface • Allows the plug-in to interact with the Document • Implements the Standard Document Object Model interface • The plug-in mechanism • Allows the editor to load/unload plug-ins, as well as interact with them. • Allows user to add/remove plug-ins from the system.

  10. Project Details Why the DOM? <p> <i> <b>abc</b> <em>def</em> </i> <b> <u>ghi</u> </b> </p> Rendered HTML

  11. Project Details • The same document represented using the DOM Interface is much less cluttered, and requires no knowledge of the internal editor behavior to operate on the document.

  12. Project Details • Plug-in Mechanism • Allows developers to create feature sets, with out needing to know the internals of the editor • Allows application developers to customize the base platform to create new applications • Allows easy adaptation of existing components to work with Xylia

  13. Project Details • Examples of possible Plug-ins • Spell Checker: • Periodically scan the text of a document, after notification the document changes • SIMPLE Proof Assistant • Interact with the SIMPLE proof assistant, as a component of the final SIMPLE system • Database Interface • Use Xylia to display/edit data from a Relational Database

  14. Project Details • Methodology • Standard Object Oriented programming techniques: information hiding, subclassing, etc. • Design Patterns such as Adapter, Bridge, Factory, etc. • Testing Methodology involved mainly Unit Testing using JUnit a Third Party Java tool

  15. Results/Status • Project Status • Partial DOM implementation • Scaled back plug-in mechanism, one type of plug-in (Task plug-ins, which work on the document, and have User Interaction) • All aspects of the Xylia plug-in system documented, including unfinished unimplemented portions

  16. Future Work • Probable that more students will continue the project, either as a work term or a Senior Design project • Xylia has been an ongoing project for several years, there is still much room for continuation and improvement • It is also hoped that Xylia will see usage by members of the Faculty and the student body

  17. Thank You, I would welcome any questions at this time.

More Related