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