Ontology Editor for Eclipse
August 1, 2002 - May 1, 2003
In computer science, policies are rules and constraints that govern the behavior of software agents. The use of policies makes systems more flexible by separating the declarative components of the system from its implementation. Policies are usually expressed in a readable declarative language that can be understood by a human. Policy based security model defines rules for access control, authorization, and authentication of software objects and entities, and can be greatly beneficial in modern open environments, such as semantic web, and pervasive computing environments.
Until now, policies have been usually written in some special languages, such as Ponder. The recent growth of user community requires, however, that new policy languages be built on a more common base, such as XML-based semantic web languages - RDF-S, DAML+OIL and OWL, which are believed to provide a sufficient level of sharing and interoperability. The Department of Computer Science at UMBC is currently developing a new generic semantic ontology for representing policies. The ontology is modeled on deontic logic and includes notions of rights, prohibitions, obligations and dispensations. Under the assumption that most policies can be expressed in terms of what entities can do and should do - the ontology is theoretically capable of describing a wide variety of policies related to security, as well as general behavior.
We will be using the IBM Eclipse platform to be able to develop policies for security, trust, and privacy, based on our ontology. The prototype IDE provides a framework that contains tools and components to support the full lifecycle of a policy: requirements specification, design and implementation, debugging, verification and validation, translation into executable form, documentation, publication, and maintenance. Users should be able to create policies in different domains, view and import existing security policies, perform consistency checks, locate and resolve conflicting policy rules. Since Eclipse does not currently provide support for semantic ontologies, we will attempt to integrate it with the existing ontology-building tool Protege or develop a new editor that will allow users to create, import, view, and modify semantic ontologies.
At present the main research efforts are concentrated on integrating Eclipse with Protege. The first approach has been to make a plug-in using the Protege.jar file supplied with the Protege platform and use it to extend it to Eclipse Platform. By making a plug-in for Protege in Eclipse a user may now edit a ontology written in Protege. Existing ontologies may be modified using an XML Editor to edit DAML+OIL based ontologies. Currently an XML Editor is associated with the DAML Files so that they can be modified directly without the use of any external GUI. Alternatively, a user may also initiate Protege from Eclipse directly using the plug-in. A user may also view the Class Hierarchy of the Ontology using a package written for the Plug-in. A user may view The classes and all the instances of each class for a particular Ontology. A user may also see individual instances and their related data in a window. Current efforts are to make these windows editable, so that every class or instance may be edited and modified into the system. Current efforts also include mapping the security policies for any project in Eclipse