Banff, Canada, 2018
EARS18
RE18 – IEEE International Requirements Engineering Conference
EARS
Easy Approach to Requirements Syntax (EARS) is a notation that gently constrains natural language requirements. EARS was first published in 2009 and has since been adopted by many companies and universities around the world.
The clauses of a textual requirement written in EARS always appear in the same order. The basic structure of an EARS requirement is:
<optional pre-condition> <optional trigger> the <system name> shall <system response>
The application of the EARS notation produces requirements in a small number of patterns, which are illustrated below.
Ubiquitous:
Template: The <system name> shall <system response>
A ubiquitous requirement is always active.
“The engine control system shall indicate the engine oil level to the aircraft”.
State-Driven:
Keyword While
Template: While <pre-condition> the <system name> shall <system response>
Requirement is active while the defined state is true.
“While in icing conditions the engine control system shall activate the engine anti-icing”.
Event-Driven:
Keyword When
Template: When <trigger> the <system name> shall <system response>
Requirement is initiated when a triggering event is detected at the system boundary.
“When commanded by the maintenance crew, the engine control system shall dry crank the engine”.
Optional:
Keyword Where
Template: Where <feature is included> the <system name> shall <system response>
A simple mechanism to handle product or system variation.
“Where the control system includes an overspeed protection function, the control system shall test the availability of the overspeed protection function prior to aircraft dispatch”.
Unwanted Behavior:
Keywords If and Then
Template: If <trigger> then the <system name> shall <system response>
Required system response to unwanted external behaviour.
“If computed airspeed is unavailable then the engine control system shall use modelled airspeed".
Complex:
Multiple keywords
Combinations of the simple EARS patterns can be used to specify more complex system behaviour.
“While the aircraft is on-ground, when reverse thrust is commanded, the control system shall enable deployment of the thrust reverser”.
“Easy Approach to Requirements Syntax (EARS)”, Mavin, A., Wilkinson, P., Harwood, A. and Novak, M., RE09, IEEE, 2009
“BIG EARS (The Return of Easy Approach to Requirements Syntax)”, Mavin, A. and Wilkinson, P., RE10, IEEE, 2010
“Listen, then use EARS”, Mavin, A., IEEE Software Magazine, IEEE, 2012
“Listens Learned (8 Lessons Learned Applying EARS)” Mavin, A., Wilkinson, P., Gregory, S. and Uusitalo, E., RE16, IEEE, 2016
EARS papers available at: https://www.researchgate.net/profile/Alistair_Mavin