Upload
bernice-joseph
View
212
Download
0
Embed Size (px)
Citation preview
Plug-in System for the Xylia Extensible XML Editor
Student: Jonathan Milley
Supervisor: Dr. T. S. Norvell
Outline
IntroductionBackground Project DetailsResults/Status of projectFuture 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
MotivationPrevious work on Xylia has focused on the
editing feature setNow Xylia needs a mechanism for building
useful SystemsEventual 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 languagesMarkup 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 LanguageCreated 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 systemThe Document Interface
Allows the plug-in to interact with the Document Implements the Standard Document Object
Model interfaceThe 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 MechanismAllows 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-insSpell 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 systemDatabase Interface
Use Xylia to display/edit data from a Relational Database
Project Details
MethodologyStandard 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 StatusPartial 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.