Upload
others
View
3
Download
0
Embed Size (px)
Citation preview
Universität Karlsruhe (TH)Forschungsuniversität · gegründet 1825
Lehrstuhl für Programmiersysteme
Fakultät für Informatik
RESIA Natural Language
Specification Improver
Dipl. Inform. Sven J. Körner
Torben Brumm
Prof. Dr. Walter F. TichyInstitute for Programming and Data Structures (IPD) Tichy
University of Karlsruhe, Germany
Lehrstuhl für Programmiersysteme
Fakultät für Informatik
Motivation
2ICSC 2009 – Sven J. Körner, Torben Brumm – RESI
“The hardest part of the software task is arriving
at a complete and consistent specification, and much of the essence of
building a program is in fact the debugging of the
specification.“[Brooks 1987]
Lehrstuhl für Programmiersysteme
Fakultät für Informatik
specification of a ferrari
Lehrstuhl für Programmiersysteme
Fakultät für Informatik4ICSC 2009 – Sven J. Körner, Torben Brumm – RESI
what the customer wanted
Lehrstuhl für Programmiersysteme
Fakultät für Informatik5ICSC 2009 – Sven J. Körner, Torben Brumm – RESI
that’s a lamborghini
Lehrstuhl für Programmiersysteme
Fakultät für Informatik
„After signing-in, the user is redirected
to his personal page.“
„When signing in, the username and
password are entered.“
Motivation (2): An Example
6ICSC 2009 – Sven J. Körner, Torben Brumm – RESI
Lehrstuhl für Programmiersysteme
Fakultät für Informatik
Related Work
w/o Ontology Support
8ICSC 2009 – Sven J. Körner, Torben Brumm – RESI
• Inspections
[Fagan 1976, Porter 1995, Kamsties 2001]
• Controled Languages
[ACE 1995, Propel 2002]
• Quality of Sentences
[Davis 1993, Wilson 1997, Chantree 2006]
• Tools for Quality Checks
[QuARS 2001]
Lehrstuhl für Programmiersysteme
Fakultät für Informatik
Related Work
w/ Ontology Support
9ICSC 2009 – Sven J. Körner, Torben Brumm – RESI
• Improving Correctness, Completeness,
Consistency and Unambiguousness
[Kaiya und Saeki 2005/2006]
• Finding Ambiguities
[Kiyavitskaya 2008]
Lehrstuhl für Programmiersysteme
Fakultät für Informatik
Why Ontologies?
10ICSC 2009 – Sven J. Körner, Torben Brumm – RESI
• Ontologies offer world knowledge to a
computer system
• They provide semantics and therefore
the meaning of a sentence
• How to get that information?
Lehrstuhl für Programmiersysteme
Fakultät für Informatik
Ontologies, cont’d
11
Tom saw the plane flying.
Tom saw the mountains flying.
Lehrstuhl für Programmiersysteme
Fakultät für Informatik
RESI – Requirements Engineering
Specification Improver
12ICSC 2009 – Sven J. Körner, Torben Brumm – RESI
RESI
Pre-
Annotation
Specification
(base)Rule
Application
Specification
(pre-annotated)
Specification
(improved)
Export
Specification
Import
Lehrstuhl für Programmiersysteme
Fakultät für Informatik
RESI Main Screen
13ICSC 2009 – Sven J. Körner, Torben Brumm – RESI
Lehrstuhl für Programmiersysteme
Fakultät für Informatik
Example From a Specification
14ICSC 2009 – Sven J. Körner, Torben Brumm – RESI
„Every pallet is returned after transport.“
Sentence
Every pallet is returned after transport
Lehrstuhl für Programmiersysteme
Fakultät für Informatik
Rule:
“Check for Nominalization”
15ICSC 2009 – Sven J. Körner, Torben Brumm – RESI
pallet, transport
Check pallet
Get Nouns
No Nominalization
Check transport
Main Verb: transport
Mark transport
Speci-
fication
Rule Ontology
Lehrstuhl für Programmiersysteme
Fakultät für Informatik
Example From a Specification
16ICSC 2009 – Sven J. Körner, Torben Brumm – RESI
„Every pallet is returned after transport.“
Sentence
Every pallet is returned after transport
Nominalization: Verb transport
Lehrstuhl für Programmiersysteme
Fakultät für Informatik
Rule: Check for Nominalizations
17ICSC 2009 – Sven J. Körner, Torben Brumm – RESI
Lehrstuhl für Programmiersysteme
Fakultät für Informatik
Example From a Specification
18ICSC 2009 – Sven J. Körner, Torben Brumm – RESI
„Every pallet is returned after transport.“
Sentence
Every pallet is returned after transport
Lehrstuhl für Programmiersysteme
Fakultät für Informatik
Rule:
“Complete Process Words”
19ICSC 2009 – Sven J. Körner, Torben Brumm – RESI
return
Check return
Get all Verbs
2 Argument Lists
Link Argument List
Speci-
fication
Rule Ontology
Lehrstuhl für Programmiersysteme
Fakultät für Informatik
Example From a Specification
20ICSC 2009 – Sven J. Körner, Torben Brumm – RESI
„Every pallet is returned after transport.“
Sentence
Every pallet is returned after transport
Process Word:Missing Args: giver and givee
VerbobjectGiven
Lehrstuhl für Programmiersysteme
Fakultät für Informatik
Rule: Complete Process Words
21ICSC 2009 – Sven J. Körner, Torben Brumm – RESI
Lehrstuhl für Programmiersysteme
Fakultät für Informatik
Example From a Specification
22ICSC 2009 – Sven J. Körner, Torben Brumm – RESI
„Every pallet is returned after transport.“
Sentence
Every pallet is returned after transport
Lehrstuhl für Programmiersysteme
Fakultät für Informatik
Rule:
“Check Articles & Quantifiers”
23ICSC 2009 – Sven J. Körner, Torben Brumm – RESI
Every
Check Every
Get Quantifiers/Articles
All (w/o exception)
Note Intended Meaning
Speci-
fication
Rule Ontology
Lehrstuhl für Programmiersysteme
Fakultät für Informatik
Example From a Specification
24ICSC 2009 – Sven J. Körner, Torben Brumm – RESI
„Every pallet is returned after transport.“
Sentence
Every pallet is returned after transport
Quantor: All (w/o exception)
Lehrstuhl für Programmiersysteme
Fakultät für Informatik
Rule: Check Articles and
Quantifiers
25ICSC 2009 – Sven J. Körner, Torben Brumm – RESI
Lehrstuhl für Programmiersysteme
Fakultät für Informatik
Evaluation
• 2 Specifications
• „Video Rental“; manually checked for errors by
Kiyavitskaya, Zeni, Mich, and Berry
• Example from Berry’s ambiguity handbook
• “Video Rental” used for direct comparison
• Problems, that occur most:
• Passive constructs
• Definite articles without reference
• Use of synonyms27ICSC 2009 – Sven J. Körner, Torben Brumm – RESI
Lehrstuhl für Programmiersysteme
Fakultät für Informatik
Evaluation – Results I
28ICSC 2009 – Sven J. Körner, Torben Brumm – RESI
Lehrstuhl für Programmiersysteme
Fakultät für Informatik
Evaluation – Results II
29ICSC 2009 – Sven J. Körner, Torben Brumm – RESI
Lehrstuhl für Programmiersysteme
Fakultät für Informatik30Torben Brumm - Rechnergestützte Verbesserung von textbasierten
Softwarespezifikationen mit Hilfe von Ontologien
Summary
• Good software is founded on good
specifications
• RESI
• supports the expert
• uses ontology knowledge
• easy application of new rules, various
specification formats and new ontologies
Lehrstuhl für Programmiersysteme
Fakultät für Informatik31ICSC 2009 – Sven J. Körner, Torben Brumm – RESI
if it’s not working
it better be the customer's fault
Lehrstuhl für Programmiersysteme
Fakultät für Informatik32Torben Brumm - Rechnergestützte Verbesserung von textbasierten
Softwarespezifikationen mit Hilfe von Ontologien
Thanks for Your Attention.
Any Questions?