Nicolas,
I'm inclined to think that software engineering has considerable
relevance to ontology development. When I had a team of ontologist working
on SUMO and its domain ontologies and tools, we used some of the same
processes as I had in place with the Java developers in my
group. Individual developers had "ownership" of their files. Other
developers could request changes, but weren't allowed to modify directly
files they didn't own. Everyone was required to check in their ontology
files to CVS on a weekly basis, where other developers could then inspect
the changes using the diff feature under CVS. Files that were checked in
at least had to "compile" or be syntactically correct. Periodically, we'd
run our theorem prover over all the files to ensure that there weren't any
mutual contradictions. That could be seen as analogous to running an
automated test suite on procedural code.
There are other things that I would like to have tool support for. It
would be nice to have an automatic alert at editing time of changes that
would impact others. It would be nice to have all dependent hierarchies
update automatically when a term is renamed.
I also worked on developing a system, for which we didn't have funding
to go beyond prototype stage, that would have automatically notified
members of an ontology team when there were conflicts, and then supported
an automated workflow process for voting and approval of changes. (01)
Adam (02)
At 10:13 AM 12/10/2004, Nicolas F Rouquette wrote:
>In Mark Musen's presentation on the ontolog forum,
>
>http://ontolog.cim3.net/cgi-bin/wiki.pl/wiki.pl?ConferenceCall_2004_12_09
>
>Mark mentioned that NCI has an elaborate change management process to deal
>with the complexity of lots of changes made in a distributed fashion. The
>rationale
>here is understandable in terms of minimizing the negative impacts of
>propagating
>changes that might conflict with somebody's particular use of the ontology.
>
>Notwithstanding the proprietary factors involved in NCI's dependence on a
>commercial tool,
>this problem seems to beg to ask whether the NCI ontology has a way of
>describing a number
>of generic software notions such as:
>
>1) scope
>
>e.g., someone's limited use of a subset of the larger ontology
>(akin to the concept of modularity in component-oriented software architecture
>
>2) contract
>
>e.g., the nature of the inferences, classifications and reasoning that
>someone's use of a particular scope
>of the ontology either
>
>-- depends on in the sense of middle / upper ontology partial dependency
>ordering
>
>(akin to the concept of required interface in component-oriented software
>architecture)
>
>or
>
>-- provides to others in the sense of lower / middle partial subsumption
>ordering
>
>3) extension point
>
>e.g., the classes intended for "use" via subclassing (as in
>refinement-based specialization) or instantition (as in reification for
>disjoint ontology development)
>
>(akin to the concept of aspect & subject oriented development)
>
>My hunch is that the similarity between "sound" software engineering
>principles
>and "formal ontology" development is much stronger than one might acknowledge.
>
>Comments? Suggestions?
>
>-- Nicolas.
>_________________________________________________________________
>Message Archives: http://ontolog.cim3.net/forum/ontolog-forum/
>Subscribe/Unsubscribe/Config:
>http://ontolog.cim3.net/mailman/listinfo/ontolog-forum/
>Shared Files: http://ontolog.cim3.net/file/
>Community Wiki: http://ontolog.cim3.net/wiki/ To Post:
>mailto:ontolog-forum@xxxxxxxxxxxxxxxx (03)
----------------------------
Adam Pease
http://www.ontologyportal.org - Free ontologies and tools (04)
_________________________________________________________________
Message Archives: http://ontolog.cim3.net/forum/ontolog-forum/
Subscribe/Unsubscribe/Config:
http://ontolog.cim3.net/mailman/listinfo/ontolog-forum/
Shared Files: http://ontolog.cim3.net/file/
Community Wiki: http://ontolog.cim3.net/wiki/
To Post: mailto:ontolog-forum@xxxxxxxxxxxxxxxx (05)
|