- Y. Elrakaiby Date
CaRE
A Refinement Calculus for Requirements Engineering based on Argumentation Theory
- Y. Elrakaiby*, A. Borgida, A. Ferrari, J. Mylopoulos
CaRE A Re f inement Ca lculus for R equirements E ngineering based - - PowerPoint PPT Presentation
CaRE A Re f inement Ca lculus for R equirements E ngineering based on Argumentation Theory Y. Elr a k a iby*, A. Borgid a , A. Ferr a ri, J. Mylopoulos Y. Elr a k a iby D a te Lifecycle of Software Projects! Unfortunately How the project
Unfortunately…
What the customer needed What the customer needed What the customer needed How they explained it How they explained it How they explained it How the analyst designs it How the developer developed it How the developer developed it How the developer developed it How the project was documented How the project was documented How the project was documented How the project manager understood it How the project manager understood it How the project manager understood it
Requirements Engineer!
What the customer needed How the developer developed it How the project was documented How the project was documented How the project was documented Requirements Engineer
“Requirements engineering (RE)[1] is the process of defining, documenting, and maintaining requirements[2].”
(1) Nuseibeh, B.; Easterbrook, S. (2000). Requirements engineering: a roadmap (PDF). ICSE'00. Proceedings of the conference on the future of Software engineering. pp. 35–46. (2) Kotonya, Gerald; Sommerville, Ian (September 1998). Requirements Engineering: Processes and Techniques. John Wiley & Sons. ISBN 978-0-471-97208-2.
Customer Project Manager …
Requirements Engineer
Stakeholders
Developers Developer 1 Developer 2 …
The Refinement Process
Transforming Initial requirements elicited from stakeholders
Stakeholders Abstract
into a specification
Developers
SRS
“A sofuware requirements specification (SRS) is a document that captures complete description about how the system is expected to perform.”
Concrete
refinements proposed to address identified defects
Support of…
Requirements Specification Methodologies
Example: KAOS Goal Decomposition (Simplified)
(1) https://opnfv-availability.readthedocs.io/en/latest/development/overview/HA_Analysis-Gambia.html (2) https://www.cse.msu.edu/~cse870/Materials/GoalModeling/KaosTutorial-2007.pdf. (3) http://www.objectiver.com/fileadmin/download/documents/generalleaflet.pdf.
[1]
Example: KAOS Goal Decomposition (Simplified)
(1) https://www.cse.msu.edu/~cse870/Materials/GoalModeling/KaosTutorial-2007.pdf. (2) http://www.objectiver.com/fileadmin/download/documents/generalleaflet.pdf.
Why? How?
and evolution of the refinement process
A Calculus for Requirements Engineering
1 1..* 1..* 2..*
faults faults introduces1..* 1 1 1 1 0..1 1 0..1 0..1 1 0..1 1..*
The Metamodel
The Graphical Notation
REQ-id: REQ-text
Single Target Defect Requirement Single Refinement Multi-target Defect
{REQ-1, ..., REQ-m}
Requirement Set Multiple Refinement
DType(DEF-id:[<"claim">]) RType(REF-id) DType(DEF-id:[<"claim">])
Alternative Refinement
RType-1(REF-id-1) RType(REF-id) RType-2(REF-id-2)
g00: the app shall run on Android g01: the app shall be delivered within 6 months mConflict(d01: "cannot deliver Android app in 6 months") g23: the app shall run on Android g24: the app shall be delivered within 12 months resolve(r20)
2 2
g20: the app shall run on iOS g21: the app shall be delivered within 6 months resolve(r21) g22: all tablets of the factory shall be replaced with iPads unjustified(d00) g10: the app shall run on all tablets of the factory, which are Android tablets
1
justify(r10)
The Semantics
may be collectively accepted
Tool Support: Example
g00: the system shall ensure safety distance between trains g01: the distance between trains shall be minimal g02: the train location shall be identified through satellite navigation unjustified(d00) unjustified(d01) unjustified(d02) g10: avoid train collisions g11: maximise line capacity g12: reduce deployment costs g13: Reduce maintenance costs justify(r10) justify(r11) justify(r12) g20: the system shall be composed of a wayside system and an onboard system g21: the wayside system shall indicate to the onboard system the distance that the train can safely travel (Movement Authority, MA) g22: the onboard system shall ensure that the train is stopped at the end of the MA nonAtomic(d03) reduce(r20) g30: the wayside system shall identify the location of each train on the track g31: the wayside system shall compute the MA for each train on the track nonAtomic(d20) g32: the onboard system shall identify its location g33: the onboard system shall compute the breaking curve to ensure that the train is stopped at the end of the MA nonAtomic(d21) reduce(r30) reduce(r31) nonAtomic(d30) reduce(r40) g40: the onboard system shall send the location of the train to the wayside system g41: the wayside system shall receive the location of each train on the track ambiguous(d04: "the term 'minimal' shall be better defined") g50: the distance between trains is the distance between the front of a train and the rearTool Support
textual description of refinement graphs
requirements and refinements
the initial requirements acceptable
Final Thoughts…
GORE CaRE Documentation Mainly AND/OR decomposition (Nonatomic defect) More defects and refinements Change Management Complex Simple (monotonic) Formal Semantics Yes Yes Reasoning support Yes Yes Tool Support UI Basic Support of finding agreement between Stakeholders No Yes
Perspectives