Leonid Kof Requirements Engineering Conference, 2007. RE '07.

Slides:



Advertisements
Similar presentations
IS424 - Assignment#1 DFD + Use-Cases Kingdom of Saudi Arabia
Advertisements

The basics that we should all remember while communicating digitally.
Detecting Bugs Using Assertions Ben Scribner. Defining the Problem  Bugs exist  Unexpected errors happen Hardware failures Loss of data Data may exist.
1 ICS102: Introduction To Computing King Fahd University of Petroleum & Minerals College of Computer Science & Engineering Information & Computer Science.
1Spring 2005 Specification and Analysis of Information Systems Specifying Requirements with Use Case Diagrams Part II.
COMPUTERS AND INPUT SENSORS. cbc MICROCOMPUTER OPERATION HAPPENS IN STAGES Memory.
ESE Einführung in Software Engineering 7. Modeling Behaviour Prof. O. Nierstrasz.
Object-Oriented Application Development Using VB.NET 1 Chapter 5 Object-Oriented Analysis and Design.
1-1 ROPES Rapid Object-Oriented Process for Embedded Systems.
Lecturer: Sebastian Coope Ashton Building, Room G.18 COMP 201 web-page: Lecture.
NaLIX: A Generic Natural Language Search Environment for XML Data Presented by: Erik Mathisen 02/12/2008.
Copyright W. Howden1 Lecture 11: UML Terminology and Additional Models and Notation.
Slide 1 MSC and SDL. Slide 2 Relationship of MSC to SDL An MSC describes one or more traces of an SDL system specification. An entity in MSC may map to.
Modeling State-Dependent Objects Using Colored Petri Nets
©TheMcGraw-Hill Companies, Inc. Permission required for reproduction or display. Chapter 1 Introduction to Object-Oriented Programming and Software Development.
CS5371 Theory of Computation Lecture 8: Automata Theory VI (PDA, PDA = CFG)
Chapter 3 Planning Your Solution
©TheMcGraw-Hill Companies, Inc. Permission required for reproduction or display. Chapter 1 Introduction to Object-Oriented Programming and Software Development.
Week 6 Writing Customer Relations Letters
F. Khendek, G. Robert, G. Butler and P.Grogono Concordia University Montreal, Canada Implementability of Message Sequence Charts.
Chapter 6 Developing Data Models for Business Databases.
Object Oriented Concepts. Movement toward Objects Instead of data-oriented or process-oriented Analysis, many firms are now moving to object-oriented.
SE-565 Software System Requirements More UML Diagrams.
TERMS TO KNOW. Programming Language A vocabulary and set of grammatical rules for instructing a computer to perform specific tasks. Each language has.
Chapter 5 Models and theories 1. Cognitive modeling If we can build a model of how a user works, then we can predict how s/he will interact with the interface.
PLC introduction1 Discrete Event Control Concept Representation DEC controller design DEC controller implementation.
PLC: Programmable Logical Controller
Data Flow Diagrams.
1 Lecture 3: Introducing Data Flow Diagrams (DFDs) Section 1 - The Concept of Diagrams Why use Diagrams? Diagrams as Working Documents Systems Analysis.
Introduction to the WebBoard Terry Dennis. The WebBoard - Our Connection The WebBoard URL is
Maintaining the Flow ! Testing of Nuclear Feedpumps (and other important pumps)
Intro: Use Case and Use Case Diagram Documentation.
Software Overview. Why review software? Software is the set of instructions that tells hardware what to do The reason for hardware is to execute a program.
Scalable Web Server on Heterogeneous Cluster CHEN Ge.
Communicative Approach. Communicative Language Teaching.
Ch.2 Part C: Message Sequence Charts, UML EECE **** Embedded System Design.
1 DISTRIBUTED SYSTEMS RESEARCH GROUP CHARLES UNIVERSITY IN PRAGUE Faculty of Mathematics and Physics 2 INTERNATIONAL INSTITUTE.
Chapter 8 Analysis & Modeling. Data Modeling examines data objects independently of processing focuses attention on the data domain creates a model at.
Objectives Explain how events can be used to identify use cases that define requirements Identify and analyze events and resulting use cases Explain.
EuroSkills and EWT (Electronics Workshop Team) Why new trade proposal? On the basis of the experiences gained through the ModVoc project,
1 Object-Oriented Modeling Using UML CS 3331 Section 2.4 Modeling Requirements with Use Cases.
The Impact of Context on the Trustworthiness of Communication: An Ontological Approach Santtu Toivonen VTT Information Technology Grit Denker.
MSF Design Example Conceptual Design Logical Design Physical Design.
© 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers: Unit 10 Slide 1 Chapter 13 Finalizing Design Specifications.
The Unified Modeling Language Part II Omar Meqdadi SE 2730 Lecture 9 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 8: Modelling Interactions and Behaviour UML Sequence Diagram.
Example: object diagram for Scheduler, v What is wrong with this diagram? Seems like a lot of similarity between Task and UnplannedTask Can use.
Computational linguistics A brief overview. Computational Linguistics might be considered as a synonym of automatic processing of natural language, since.
This demonstration will show you the steps for using SoliComm Online. SoliComm Online is a computer conferencing system on the Web. You can find it at:
1 Graph Coverage (6). Reading Assignment P. Ammann and J. Offutt “Introduction to Software Testing” ◦ Section
Processor Architecture
Dynamic Models Sequence Diagrams Collaboration Diagrams Activity Diagrams.
Slide 12D.88 © The McGraw-Hill Companies, 2005 Object-Oriented and Classical Software Engineering Sixth Edition, WCB/McGraw-Hill, 2005 Stephen R. Schach.
How to Program? -- Part 1 Part 1: Problem Solving –Analyze a problem –Decide what steps need to be taken to solve it. –Take into consideration any special.
Web Services. 2 Internet Collection of physically interconnected computers. Messages decomposed into packets. Packets transmitted from source to destination.
UML The Unified Modeling Language A Practical Introduction Al-Ayham Saleh Aleppo University
Modal Dialogs. What is a Modal Dialog? A modal dialog is a separate window that remains in focus until it is closed by the user. During this time the.
Prof. Hany H. Ammar, CSEE, WVU, and
1. 2 Purpose of This Presentation ◆ To explain how spacecraft can be virtualized by using a standard modeling method; ◆ To introduce the basic concept.
ECE 4330 – Final Project By: John Litzenberger.  A IC temperature sensor (DS1620)  Reads through ADC (pin.0 Port A)  Feedback control for extreme conditions.
Semantic Wiki: Automating the Read, Write, and Reporting functions Chuck Rehberg, Semantic Insights.
 The Sequence Diagram models the collaboration of objects based on a time sequence.  It shows how the objects interact with others in a particular scenario.
Lecturer: Eng. Mohamed Adam Isak PH.D Researcher in CS M.Sc. and B.Sc. of Information Technology Engineering, Lecturer in University of Somalia and Mogadishu.
Chapter 8 Analysis & Modeling
4 Causes of Damaged or Failed Speedometer in the Car
Fundamentals of Data Representation
Statistical n-gram David ling.
Engineering Quality Software
Copyright © 2015, 2012, 2009 Elsevier Inc. All rights reserved.
Presentation transcript:

Leonid Kof Requirements Engineering Conference, RE '07.

Scenarios in industrial requirements documents are written as sequence of sentences in natural language The scenarios are often incomplete Some facts are so obvious that it is forgot to mention This approach analyzes textual scenarios with means of computational linguistics, indentifies where communicating objects or whole actions are missing

A message sequence chart (or MSC) is an interaction diagram from the SDL family very similar to UML's sequence diagram

Document authors introduce document defects Deletion: deletion reduces the world to the extent that we can handle In scenario: missing action subjects or objects or even in whole missing actions

1. The driver switches on the car (ignition key in position ignition on). 2. The instrument cluster is turned on and stays active.(either sender or receiver is missing) 3. After the trip the driver switches off the ignition. 4. The instrument cluster stays active for 30 seconds and then turns itself off. 5. The driver leaves the car.

A list of application specific names of potential communicating objects is useful. This paper uses ontology extraction from requirements document instead of a glossary Every sentence is parsed, the subject and the objects of every sentence are extracted. Each subject and each object is clustered according to grammatical context in which it occurs. Every pair of overlapping clusters is joined to a larger cluster, representing more general concepts. “is-a” relation (taxonomy) is derived from the cluster hierarchy. A non-taxonomic relation is assumed for every two concepts that often co-occur in the same sentence.

When translating a sentence to an MSC message, we decompose the sentence in three constituents: message sender, message content, message receiver. The message sender/receiver is the longest word sequence before/after the verb, contained in the ontology. The message content is the verb plus the word sequence between the verb and the first word of the message receiver, except for the determiners. If the receiver/ sender cannot be identified, the message content is the whole part of the sentence after/before the sender/receiver.

Indentifying the verb The sentence with POS-tags does not contain any verb tag The sentence with POS-tags contains more than one verb tag Modal verb, like “must” or “should”(rephrased) Passive, like “X is sent to Y by Z”(error case) Several subordinate sentences, like “If X sends Y to Z, Z sends …”(error case) Several actions, like “X sends Y to Z and replies something to T”(error case)

To indentify default senders and receivers, we organize the messages in a stack John enters the shop //push “enter” —Some actions in the shop— John leaves the shop //pop “enter” Identifying the Sender and Receiver in Incomplete Sentences

Identifying Missing Messages

The presented approach was evaluated on the instrument cluster specification, not used in a industrial development project Case study: The scenarios had to be rewritten The scenarios were translated to MSCs using the ontology(change) Repeat above using the corrected ontology

Adjust ontology The ontology branches containing non-hardware concepts (system messages, names of scale positions, sensor values (speed, temperature,... )) were deleted. The concepts “motor”, “sensor”, “wheel speed sensor”, “IC display”, “digital speedometer display”, “analog speedometer displays” were added to the branch “hardware” of the ontology.

It detects missing information in scenarios. It validates the previously extracted application specific ontology or glossary. It translates textual scenarios to MSCs.