17
Plug-in System for the Xylia Extensible XML Editor Student: Jonathan Milley Supervisor: Dr. T. S. Norvell

Plug-in System for the Xylia Extensible XML Editor Student: Jonathan Milley Supervisor: Dr. T. S. Norvell

Embed Size (px)

Citation preview

Page 1: Plug-in System for the Xylia Extensible XML Editor Student: Jonathan Milley Supervisor: Dr. T. S. Norvell

Plug-in System for the Xylia Extensible XML Editor

Student: Jonathan Milley

Supervisor: Dr. T. S. Norvell

Page 2: 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

Page 3: Plug-in System for the Xylia Extensible XML Editor Student: Jonathan Milley Supervisor: Dr. T. S. Norvell

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.

Page 4: Plug-in System for the Xylia Extensible XML Editor Student: Jonathan Milley Supervisor: Dr. T. S. Norvell

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

Page 5: Plug-in System for the Xylia Extensible XML Editor Student: Jonathan Milley Supervisor: Dr. T. S. Norvell

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

Page 6: Plug-in System for the Xylia Extensible XML Editor Student: Jonathan Milley Supervisor: Dr. T. S. Norvell

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

Page 7: Plug-in System for the Xylia Extensible XML Editor Student: Jonathan Milley Supervisor: Dr. T. S. Norvell

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

Page 8: Plug-in System for the Xylia Extensible XML Editor Student: Jonathan Milley Supervisor: Dr. T. S. Norvell

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

Page 9: Plug-in System for the Xylia Extensible XML Editor Student: Jonathan Milley Supervisor: Dr. T. S. Norvell

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.

Page 10: Plug-in System for the Xylia Extensible XML Editor Student: Jonathan Milley Supervisor: Dr. T. S. Norvell

Project Details

Why the DOM?<p> <i> <b>abc</b> <em>def</em> </i> <b> <u>ghi</u> </b></p>

Rendered HTML

Page 11: Plug-in System for the Xylia Extensible XML Editor Student: Jonathan Milley Supervisor: Dr. T. S. Norvell

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.

Page 12: Plug-in System for the Xylia Extensible XML Editor Student: Jonathan Milley Supervisor: Dr. T. S. Norvell

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

Page 13: Plug-in System for the Xylia Extensible XML Editor Student: Jonathan Milley Supervisor: Dr. T. S. Norvell

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

Page 14: Plug-in System for the Xylia Extensible XML Editor Student: Jonathan Milley Supervisor: Dr. T. S. Norvell

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

Page 15: Plug-in System for the Xylia Extensible XML Editor Student: Jonathan Milley Supervisor: Dr. T. S. Norvell

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

Page 16: Plug-in System for the Xylia Extensible XML Editor Student: Jonathan Milley Supervisor: Dr. T. S. Norvell

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

Page 17: Plug-in System for the Xylia Extensible XML Editor Student: Jonathan Milley Supervisor: Dr. T. S. Norvell

Thank You,

I would welcome any questions at this time.