Ontology support for Swarm

									Name: Pavel Vinogradov
							    Email: Pavel.Vinogradov@nixdev.net
									      Date: 21.06.2008
	Organization: Swarm Development Group
	Project Title: Ontology support for Java Swarm

Status:
  This document included new project schedule which updated based on new reuirement and knowledges that i received 
in process of community bonding period.

Synopsis:

  Main goal of this work - add support for ontology into Swarm framework. Framework must include
ability to import ontology from some standard format, use it in model generation and application
modeling process. Support for use external ontology, scene visualization and ontology standard 
improve usability of swarm framework. Simplify model generation, porting and visualization
for developers and users.

Updated Project Schedule for 14 weeks (26 May-31 August):   
  
Interim period (April-May): Deliverable 0 

  Task:
	Work on further research about ontology support in Swarm:

	- More precisely define functionality scope of project
	- Compare RDF(S) and OWL ontology format, and choice one of them to support
	- Choice appropriate ontology editor for recommended solution to work with ontology
	- Work with existing swarm codebase and examples. Determine areas where ontology
	utilization give valuable benefits for researches

  Result:
	Trunk version of Java swarm builded successfully and JHeatbug application works fine.
	Learn more about ontology standards like OWL and RDF. I'm select OWL standard for my work
	because it include predicates and axioms for defining class relations.
	Get experienced in work with Protege ontology editor.

  week 1-2 (26.05-08.06): Deliverable 1
  Task:
	Create project infrastructure.
	Update selected Java Swarm application for use new features of java and ant.
	Mark out ontology part of Jheatbug for further representation on OWL.
	Rewrite JHeatbug with model classes splited in different package.

  Result:
	Project infrastructure created at http://code.google.com/p/gsoc08-onto-swarm/
	Jheatbug rewrited with packages and ant-based build system. Now Jheatbug is independent
	project which contain swarm.jar as lib.

  week 3-4 (09.06-22.06):
  Task:
	Evaluate existing libraries and papers about work with OWL ontology and generation of 
	Java classes.
	Create simple ant task to generate empty class java model (with proper hierarchy tree) to 
	represent ontology.
	Evaluate minimum requirements for model generator module to run ontology based Jheatbug.

  Result:
	Evaluated OWL-API and Jena libraries. I'm select OWL-API as more structured, simplest 
	and active developed.

  week 5-6 (23.06-06.07): Deliverable 2, Mid-term evaluations
  Task:
	Improve model generator to satisfy minimal requirement for build Jheatbug model.
	Integrate model generator into Java Swarm template project.
	Write tutorial about using Java Swarm template project to create new programs.
	Update project schedule

-------------------------------------------------------------------------------------------------
  
  week 7-8 (07.07-17.07):
	Further improve model generator module to support additional relations and attributes

  week 9 (18.07-29.07): Russian Linux Fest and Open Source developers conference
	No work there. I would limited time online in irregular time.

  week 10-11 (30.07-10.08):
	Implement UI component to show model representation as tree.
	
  week 12 (11.08-17.08): Deliverable N, Pencils down
	Documentation update. 
	Bug fixes and package builds. 
	Write article about using Java Swarm project template to create new ontology based swarm applications
	Make r/o branch for Google final evaluation.

  week 13 (18.08-21.08):
	Improve model generator module.
	Research work on further improvements and use cases.

  week 13-14 (21.08-01.09): Vacation, Final evaluation
	Small fixes, documentation improvements.

[Project home http://code.google.com/p/gsoc08-onto-swarm/]
[OWL Protege http://protege.stanford.edu/overview/protege-owl.html]
[OWL API http://owlapi.sourceforge.net/]