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