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    

[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