Ontology support for Swarm

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

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.

Features to be implemented:

  This Summer of Code project scope not include implementation of ontology editor or format - 
for this task would used existing Open Source tools and standards. For Swarm framework would 
developed ontology layer that provide support for use external ontology for modeling,
interaction between application and runtime bidirectional influence between application and 
ontology. This included:
  - Java library (integrated into Java Swarm) that provide access to model based on ontology.
  - Implement support RDF(S) or OWL ontology format.
  - Demo application (or updated existing one) and tutorial about use ontology for ABM with Swarm.
  - Basic infrastructure for further dynamic ontology research [1].

Project Details:
  
  Main goal of this project is smoother integration of ontology into Java Swarm. Such integration 
not limited to generation model from ontology, but also include utilization of ontology basis from
application.
  Project focus on Java swarm version but it implementation must integrated into swarm framework
and maybe allow use it from ObjectiveC version of Swarm. Java language was selected because many 
ontology toolkit already written in Java, already exists bindings for ontology standards and 
i'm already have good knowledge of this language.
  Project implementation include demo application development, documentation writing and prepare
some articles to describe ontology utility and possibility for ABM.
  Important: Project schedule would updated after interim period. 
Deliverable and date - is subject for change. But it current state represent my
current vision on project.


Project Schedule (Duration 14 weeks (26 May-31 August)): 
  
  Interim period (April-May): Deliverable 0 
	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

  week 1-2 (26.05-08.06): Deliverable 1
	Develop first ontology based demo application (or update existing one) to showcase and 
testing ontology interaction: split model from Swarm and Observer, prototype class hierarchy to 
abstract Swarm and observer from underlying model.
  
  week 3-4 (09.06-22.06):
	Define ontology format to represent data model and behavior of agents. Create ontology 
for demo application. Implement ontology import from RDF(S)/OWL format. Implement model 
generation from ontology.

  week 5-6 (23.06-06.07): Deliverable 2, Mid-term evaluations
	Improve demo application to show new features of ontology support.
	Implement simplest model visualization - tree representation as minimum. Semantic network
is better - but i don't sure that i can implement it.
	Write some documentation and small article about ontology basic support in swarm (with demo
application as example).
  
  week 7-8 (07.07-17.07): 
	Implementation of API for runtime interaction between application and model. Maybe D-BUS support
[2]

  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):
	Add UI support for manipulation of relations between agents.
	
  week 12 (11.08-17.08): Deliverable N, Pencils down
	Documentation update. Bug fixes and package builds. Write article and public  beta release.
Make r/o branch for Google final evaluation.

  week 13 (18.08-21.08): 
	Bug fixing, performance improvements, research work on further improvements and use cases.

  week 13-14 (21.08-01.09): Vacation, Final evaluation
	Small fixes, documentation improvements.
	I was limited time online, but on regular basic.

Biography:

  I am a 23 years old postgraduate student from Izhevsk State Technical University in Russia, Izhevsk.
I'm receive my engineer degree in 2007 year and now studying at post-graduate course. My previous 
research work concerned with automatic software compilation and testing for use in ACM-like
programming contest and training. Now my interests moved to agent based modeling for mobile resource 
scheduling and text understanding.
  I have rich experience in development Open Source and customer software. I'm participate in development
of billing systems, LDAP-based  authorization and authentication system and some Open Source projects:
- SAMS (SQUID Account Management System) project [3] (only in Russian) - release and community manager
- Open Vulnerability and Assessment Language (OVAL) [4] - developer, integrate with Debian security infrastructure
- Debian - Maintainer
- Various version of Python (Python, Shed Skin, PyPy, Jython) - Contributor
- NixDev group [5] - Founder and Lead Developer  

  I have good experience of work in distributed international development teams, project infrastructure 
management (wiki, bugtraq, testing), have good knowledge of C, Python and Java languages. Currently i 
collaborate with company Magenta Technology [6] on field of Multi Agents technology. And we are using 
theirs solution for multi agent modeling (it include Ontology manager, visualization, messaging and more).
I'm interest in ABM, system virtualization, text understanding and parallel programming.
  In previous year i successful participate in GSoC with Debian project [7], but in this year i
want to work on more research project. SDG very interest for me because my postgraduate work and some
other project concerned with ABM and ontology, therefore i think this project give valuable results 
for swarm group and me.

[1] http://www.swarm.org/images/3/34/Gary_An_DynamicOntologiesSwarmfest2007.pdf
[2] http://www.freedesktop.org/wiki/Software/DBusBindings
[3] http://sams.nixdev.net/
[4] http://oval.mitre.org/
[5] http://nixdev.net/
[6] http://www.magenta-technology.com/
[7] http://code.google.com/soc/2007/debian/appinfo.html?csaid=2480C822FF17701