Survey							
                            
		                
		                * Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
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:   SIMPLE Proof Assistant   Periodically scan the text of a document, after notification the document changes 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.