Search Mailing List Archives
[protege-discussion] Using Protege as a Software Requirements Database Tool
Tania Tudorache
tudorache at stanford.edu
Mon Jun 2 19:56:51 PDT 2008
Hi Tomas,
Tomas Potok wrote:
> Hello!
>
> Your post made me excited a bit, because currently I am pursuing the same goal,
> I'd like to move to Protege as a Knowledge base for storing requirements. My
> main motivation would be the extensive possibilities of classifying, searching
> and cross-referencing the reqs (+ multiple users at once).
>
> I tried to set up Protege Frames in Collaborative mode (client+server) with a
> MySQL database as a storage backend, but the solution is a bit restrictive at the
> moment.
>
> Downsides:
> - I struggle with the immaturity of the system (instability, a LOT of
> uncatched exceptions - no sign of an error report to the user, slowness, ...)
>
I wonder if this was not more a configuration issue. If you got a lot of
exceptions it might indicate that something was not set up correctly.
We know of several projects that are using successfully protege in
client-server mode, also with large ontologies, both in OWL and in Frames.
The slowness is also something that should not be the case. What version
of Protege did you try? How large was the ontology?
It is true, that we have optimized the client-server architecture for
browsing and editing classes, and not so much for instances/individuals.
If you have thousands of individuals, probably the IndividualsTab was
slow (in OWL), but there are ways around it.
If you still reproduce the exceptions that you got previously, please do
post them, so that we can fix the issues.
> - no possibility to edit Forms in Collaborative mode (but this can be
> lived with in my case)
>
Indeed. However, it is still possible to configure the forms on the
server and all the clients would see them the next time they would log
in. We are looking into ways of allowing clients to configure the forms.
> - I managed to damage my database with a simple drag&drop operation with NO
> possibility to Undo.
>
How did you damage the database? Did you get any exceptions? If you did,
please do send them to us, so that we can fix them.
Undo is explicitly disabled in client-server mode, because a user may
undo with knowing operations that have been performed by other users in
between.
> - Very simplistic Access Control.
> - Cumbersome Forms editor - no graphical group operations, e.g.
>
Actually, if you edit the Project instances in the metaproject, the
forms should be quite intuitive. We plan to make a more specialized UI
for editing of access information, but this was not a priority yet. I
don't think this is a big limitation.
> - Cumbersome installation (need to modify batch files, no script for server
> shutdown, ...)
>
I do not totally agree with that. To start the server you just start the
"run_protege_server.sh" (or .bat). There is also a shut down script in
the Protege installation directory, called "shutdown_protege_server.sh"
(or .bat). We also have a lot of documentation about how to set up the
server to work with firewalls, and other configurations on the wiki
(http://protegewiki.stanford.edu/index.php/Protege_Client-Server_Tutorial).
And if there are any questions, please do post them on this mailing
list. We are doing our best to answer all questions in reasonable time.
> What I still have not explored is the possibility of advanced reporting -
> generating requirement documents (you seem to have some expertise here
> already?).
>
> What I also fear is the relative hardness of querying the db:
> - Queries tab can only do AND-ed or OR-ed conditions (probably there exists a
> possibility to script stuff...?)
>
Yes, you can use the ScriptsTab and query any information in the
knowledge base. If you are using OWL, then you can use SWRL queries and
SPARQL queries.
> - No possibility to further process the results (like visualizing them using
> OntoWiz, e.g.) - the only option is to export to CSV and postprocess.
>
That is an interesting idea. I think this can be easily implemented. If
anyone is interested, I can point them to the parts of code that need to
be changed.
> I fear I'll have to abandon my efforts in this direction which I'm really sad
> about, because at first it seemed to me I found a perfect tool for the job.
> What I'm persuaded about is the suitability of Ontologies for storing/working
> with Software Requirements. But I've found no usable tool yet.
>
Sorry to hear about your disappointment. I have the impression that
several of the issues that you encountered were more configuration
problems. If you want to give them one more try with the new version of
Protege, I am happy to help.
Related to the requirements modeling: There must be requirements
ontology already available on the web that you can reuse. In my previous
life, I have developed a requirements ontology for product development
(not specifically software). It deals with requirements decompositions,
derivation, attachment to different components, test cases, etc. However
it was in frames, not OWL. I am sure there must be software requirements
ontologies already available on the web.
Protege with its form mechanism it is actually very good at acquiring
instances. It will generate automatically a form based on the slots
attached to the class. You can also customize the appearance of the
forms, and also the widgets to be used for acquiring the values of a
property.
It is also possible to export the data form the ontology in any form you
want, by either writing an export plugin, or by using the script tab and
a familiar scripting language.
Cheers,
Tania
> I'd be happy to hear about your results,
>
> Cheers,
>
> Tomas
>
> On Sat, 31 May 2008, Ron Schultz wrote:
>
>
>> I was wondering if anyone has pointers or references to a Software
>> Requirements Model using Protege. I am exploring Protege as a means to
>> document, manage, and evaluate the imact of changes, to a software
>> requirements database (between 2500 and 5000 individual requirement
>> instances). I have built a simple ontology and can export the requirements
>> document using DocGen, but I am going to need to finer grain control over the
>> output formatting and namespace management. Protege 3.4 seems to have features
>> I can utilize for better namespace control, but I wanted to verify that
>> someone else has not already gone down this path before - with either success
>> or failure.
>>
>> Lessons learned before the fact tend to be valuable, lessons learned after the
>> fact tend to be brutal.
>>
>> Thanks
>>
>> Ron Schultz
>>
> _______________________________________________
> protege-discussion mailing list
> protege-discussion at lists.stanford.edu
> https://mailman.stanford.edu/mailman/listinfo/protege-discussion
>
> Instructions for unsubscribing: http://protege.stanford.edu/doc/faq.html#01a.03
>
>
More information about the protege-discussion
mailing list