Search Mailing List Archives

Limit search to: Subject & Body Subject Author
Sort by: Reverse Sort
Limit to: All This Week Last Week This Month Last Month
Select Date Range     through    

[p4-feedback] PBI - Ontology testing, BDD, CI, etc.

Rich Morin rdm at
Thu Apr 30 08:56:53 PDT 2009

I have a partly-baked idea (PBI) to suggest for P4.  I'm putting
it out here to get some reactions...

The Ruby community (at least) has been putting a lot of effort
into developing tools for testing, behavior-driven development
(BDD), continuous integration (CI), etc.

These tools (eg, Cucumber, RSpec) allow developers to create (and
stakeholders to sign off on) specifications for system behavior.
Because the specs are written using the stakeholders' terminology
and describe verifiable system behavior, they serve as a "bridge"
between the worlds of the stakeholders and the developers.

Using agile practices (eg, behavior-driven development), developers
iteratively implement tests for these specs, make them succeed, etc.
When all of the specs pass their tests, developers and stakeholders
gain confidence in the correctness and completeness of the system.

The spec and test suites also serve as regression tests, because
continuous integration support tells developers when any previously-
passing spec is violated.  No test suite can be complete, of course,
but this seems like a valuable "safety net" for system development.
BDD advocates also claim that it eases and speeds development, etc.

There are many similarities between ontology creation and software
development.  I alluded to this, the other day, when I suggested
that P4 is really a specialized Integrated Development Environment
(IDE) for ontology creation.  So, I wonder whether some CI tools
and (perhaps) BDD practices might be a good fit for P4.

Basically, P4 would need to provide a way to specify assertions
about the "behavior" of the ontology, in terms of the domain of
interest.  These assertions would be tested whenever an ontology
developer thought s/he was "ready" (eg, after each reasoner run).

Many of the existing tools (eg, Cucumber, RSpec) are written in a
manner that ignores the specifics of the system being developed.
So, it might well be possible to use them with P4, at least on an
exploratory basis.

Comments, clues, suggestions?

--            Rich Morin     rdm at     +1 650-873-7841

Technical editing and writing, programming, and web development

More information about the p4-feedback mailing list