[Top] [All Lists]

Re: [ontolog-forum] Programming Ontologies

To: "[ontolog-forum]" <ontolog-forum@xxxxxxxxxxxxxxxx>
From: "Mitch Harris" <maharri@xxxxxxxxx>
Date: Wed, 12 Nov 2008 11:00:06 -0500
Message-id: <553db06d0811120800r6888f74dv68d21d99a25e821d@xxxxxxxxxxxxxx>
On Wed, Nov 12, 2008 at 7:59 AM, Ron Wheeler
<rwheeler@xxxxxxxxxxxxxxxxxxxxx> wrote:
> I am thinking about taking an ontological approach to documenting a
> software package to help support the development team. My goal is to
> make sure that it is easy to understand what each thing is and to be
> sure that everyone has the same the meaning for each thing. The team is
> multicultural and English is of questionable value for describing
> relationships.
> 1)Is this a good idea?
> 2)I do not want to reinvent the wheel. Does anyone know where to find
> "foundation" ontologies for
> a) the Java language
> b) SQL
> c) Spring
> d) Hibernate    (01)

Before addressing your specific questions, I'll say something about
your approach.    (02)

Your class inheritance/use diagram, your database ER diagram/table
schema, use-cases, and any other UML-like description of your
design/code -are- your ontology (or part of it). OO classes and
inheritance relations, classes and use relations, entities and (db
key) relations, functions and calltrees are all parts of a formal
specifications of your project. So laying out these UML things is
definitely an ontological 'approach'.    (03)

To your questions:
1) is this a good idea
  - of course making your design explicit (in documents) is a good
thing. Moving from narrative English language to a formal spec is a
good thing  (of course beware the engineering disconnect between the
thing (code) and the description (the explanation document) (javadocs
and rational rose are good ways to deal with this).
  - I may have redefined your question. maybe you have the idea that
you can encode your software engineering process in RDF somehow, and
that might be useful (I'm not sure how). If you want to share your
design with others (well, within your set of developers) there's
already a 'language' for that, your classic class and ER and other
diagrams (suitably encoded).    (04)

2) 'foundation' ontologies for those 4 things? I'm not sure what this
would get you. Java -libraries- have their copious javadocs, but for
the language and those other three, any kind of ontology for them will
be at the upper level, or rather, the meta level that you'll expect
your developers to already be proficient in (whatever their natural
language abilities).    (05)

Maybe you want examples of ontologies for simple projects that -use-
those four things.  For Java there's all sorts of examples with
javadocs, with SQL and Hibernate you have your table schemas, for
Spring...I don't know enough about it to say.    (06)

So what I'm saying is is that your usual software design practices are
already ontological (you've been speaking prose all along (or should
be!)), but that any use of explicit ontology tools (Protege, RDF/OWL,
URIs, SKOS, etc etc etc) will be more documentation (I think) than
will be useful for a small in house project, when there are already
formal description tools that you already use (table
schemas/javadocs).    (07)

Mitch    (08)

Message Archives: http://ontolog.cim3.net/forum/ontolog-forum/  
Subscribe/Config: http://ontolog.cim3.net/mailman/listinfo/ontolog-forum/  
Unsubscribe: mailto:ontolog-forum-leave@xxxxxxxxxxxxxxxx
Shared Files: http://ontolog.cim3.net/file/
Community Wiki: http://ontolog.cim3.net/wiki/ 
To Post: mailto:ontolog-forum@xxxxxxxxxxxxxxxx    (09)

<Prev in Thread] Current Thread [Next in Thread>