170 likes | 249 Views
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:
E N D
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: • 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.
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
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
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
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
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
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.
Project Details Why the DOM? <p> <i> <b>abc</b> <em>def</em> </i> <b> <u>ghi</u> </b> </p> Rendered HTML
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.
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
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
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
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
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
Thank You, I would welcome any questions at this time.