0% found this document useful (0 votes)
28 views9 pages

Requirement Engineering: Graphical and Mathematical Specifications

The document discusses different ways of writing requirement specifications including natural language, structured natural language, graphical notations, and mathematical specifications. It provides examples of using use cases and temporal logics like linear temporal logic (LTL) to specify requirements.

Uploaded by

SAURAV kumar
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
28 views9 pages

Requirement Engineering: Graphical and Mathematical Specifications

The document discusses different ways of writing requirement specifications including natural language, structured natural language, graphical notations, and mathematical specifications. It provides examples of using use cases and temporal logics like linear temporal logic (LTL) to specify requirements.

Uploaded by

SAURAV kumar
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 9

Requirement Engineering

Graphical and Mathematical Specifications

Indranil Saha

Department of Computer Science and Engineering


Indian Institute of Technology Kanpur

CS253: Software Development and Operations Requirement Engineering 1/9


Ways of Writing Requirement Specifications

Natural language sentences

Structured natural language

Graphical notations

Mathematical specifications

CS253: Software Development and Operations Requirement Engineering 2/9


Use Cases

A fundamental feature of the Unified Modeling Language


(UML)

Identifies the actors involved in an interaction and names


the type of interaction

Supplemented by additional information describing the


interaction with the system

The additional information may be a textual description or


one or more graphical models such as UML sequence or
state charts

CS253: Software Development and Operations Requirement Engineering 3/9


Example Use Cases for the MHC-PPMS

Texual Description: Setup consultation allows two or more doctors,


working in different offices, to view the same record at the same time. One
doctor initiates the consultation by choosing the people involved from a
drop-down menu of doctors who are online. The patient record is then
displayed on their screens but only the initiating doctor can edit the record.
In addition, a text chat window is created to help coordinate actions. It is
assumed that a phone conference for voice communication will be
separately set up.
CS253: Software Development and Operations Requirement Engineering 4/9
Ways of Writing Requirement Specifications

Natural language sentences

Structured natural language

Graphical notations

Mathematical specifications

CS253: Software Development and Operations Requirement Engineering 5/9


Temporal logics as a task language
Specification Language

R1 π1 R2 π2

R3 π3 R4 π4

Should be expressive to capture temporal relationships among


the events
3/2/15
Example: Visit area R2 , then area R3 , then area R4 , and finally,
return and remain in region R1 while avoiding areas R2 and R3

Linear Temporal Logic

CS253: Software Development and Operations Requirement Engineering 6/9


Linear Temporal Logic (LTL)
LTL Grammar:

φ ::= π | ¬φ | φ ∧ φ | φ |  φ | ♦ φ |Temporal
φ U φ logics as a task
π - atomic proposition G

C
Example: π1 - The robot is in Room 1
π1 π2
S
(next)
R
φ φ π3 π4
R

(always)
“Visit area π2 then area π3 then a
φ φ φ φ φ remain in region π1 while avoiding

(eventually) 3/2/15
♦φ φ

(until)
φ1 U φ2 φ1 φ1 φ2
CS253: Software Development and Operations Requirement Engineering 7/9
Temporal
Examples of logics as a task language
LTL Specifications
Go to goal (reachability)
1 Reachability

ϕ = ♦π2
Coverage
2 Coverage

ϕ = ♦π2 ∧ ♦π3 ∧ ♦π4


π1 π2
Sequencing
3 Sequencing

♦(π2 ∧ ♦π3 )
4 Reachability with avoidance
Reachability with avoidance
(¬π2 ∧ ¬π3 ) U π4
π3 π4
5 Recurrent sequencing
Recurrent Sequencing
♦(π2 ∧ ♦π3 )

“Visit area π2 then area π3 then area π4 and, finally, return and
Visit remain
area Rin
2 , region
then area R3 , then
π1 while areaareas
avoiding R4 , and finally,
π2 and π3” return and
remain in region R1 while avoiding areas R2 and R3
ϕ = ♦(π2 ∧ ♦(π3 ∧ ♦(π4 ∧ (¬π2 ∧ ¬π3 ) U π1 )))
3/2/15

CS253: Software Development and Operations Requirement Engineering 8/9


Requirement Engineering
Graphical and Mathematical Specifications

Indranil Saha

Department of Computer Science and Engineering


Indian Institute of Technology Kanpur

CS253: Software Development and Operations Requirement Engineering 9/9

You might also like