30
Universität Karlsruhe (TH) Forschungsuniversität · gegründet 1825 RESI A Natural Language Specification Improver Dipl. Inform. Sven J. Körner Torben Brumm Prof. Dr. Walter F. Tichy Institute for Programming and Data Structures (IPD) Tichy University of Karlsruhe, Germany

Universität Karlsruhe (TH) RESI

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Universität Karlsruhe (TH) RESI

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

Page 2: Universität Karlsruhe (TH) RESI

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]

Page 3: Universität Karlsruhe (TH) RESI

Lehrstuhl für Programmiersysteme

Fakultät für Informatik

specification of a ferrari

Page 4: Universität Karlsruhe (TH) RESI

Lehrstuhl für Programmiersysteme

Fakultät für Informatik4ICSC 2009 – Sven J. Körner, Torben Brumm – RESI

what the customer wanted

Page 5: Universität Karlsruhe (TH) RESI

Lehrstuhl für Programmiersysteme

Fakultät für Informatik5ICSC 2009 – Sven J. Körner, Torben Brumm – RESI

that’s a lamborghini

Page 6: Universität Karlsruhe (TH) RESI

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

Page 7: Universität Karlsruhe (TH) 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]

Page 8: Universität Karlsruhe (TH) RESI

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]

Page 9: Universität Karlsruhe (TH) RESI

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?

Page 10: Universität Karlsruhe (TH) RESI

Lehrstuhl für Programmiersysteme

Fakultät für Informatik

Ontologies, cont’d

11

Tom saw the plane flying.

Tom saw the mountains flying.

Page 11: Universität Karlsruhe (TH) RESI

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

Page 12: Universität Karlsruhe (TH) RESI

Lehrstuhl für Programmiersysteme

Fakultät für Informatik

RESI Main Screen

13ICSC 2009 – Sven J. Körner, Torben Brumm – RESI

Page 13: Universität Karlsruhe (TH) 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

Page 14: Universität Karlsruhe (TH) RESI

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

Page 15: Universität Karlsruhe (TH) RESI

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

Page 16: Universität Karlsruhe (TH) RESI

Lehrstuhl für Programmiersysteme

Fakultät für Informatik

Rule: Check for Nominalizations

17ICSC 2009 – Sven J. Körner, Torben Brumm – RESI

Page 17: Universität Karlsruhe (TH) 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

Page 18: Universität Karlsruhe (TH) RESI

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

Page 19: Universität Karlsruhe (TH) RESI

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

Page 20: Universität Karlsruhe (TH) RESI

Lehrstuhl für Programmiersysteme

Fakultät für Informatik

Rule: Complete Process Words

21ICSC 2009 – Sven J. Körner, Torben Brumm – RESI

Page 21: Universität Karlsruhe (TH) 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

Page 22: Universität Karlsruhe (TH) RESI

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

Page 23: Universität Karlsruhe (TH) RESI

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)

Page 24: Universität Karlsruhe (TH) RESI

Lehrstuhl für Programmiersysteme

Fakultät für Informatik

Rule: Check Articles and

Quantifiers

25ICSC 2009 – Sven J. Körner, Torben Brumm – RESI

Page 25: Universität Karlsruhe (TH) 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

Page 26: Universität Karlsruhe (TH) RESI

Lehrstuhl für Programmiersysteme

Fakultät für Informatik

Evaluation – Results I

28ICSC 2009 – Sven J. Körner, Torben Brumm – RESI

Page 27: Universität Karlsruhe (TH) RESI

Lehrstuhl für Programmiersysteme

Fakultät für Informatik

Evaluation – Results II

29ICSC 2009 – Sven J. Körner, Torben Brumm – RESI

Page 28: Universität Karlsruhe (TH) 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

Page 29: Universität Karlsruhe (TH) RESI

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

Page 30: Universität Karlsruhe (TH) RESI

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?