ril: requirements in the loop - imaglig-membres.imag.fr/idani/mtv2_mfdl/docs/genevaux.pdf · use...

36
RIL: Requirements in the Loop An End-to-End Requirement-based System Engineering and Validation Process

Upload: others

Post on 14-Jul-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: RIL: Requirements in the Loop - imaglig-membres.imag.fr/idani/MTV2_MFDL/Docs/genevaux.pdf · Use cases, functions, architecture… but: • Complex, no simulation • Ignore the requirements

RIL: Requirements in the Loop

An End-to-End Requirement-basedSystem Engineering and Validation Process

Page 2: RIL: Requirements in the Loop - imaglig-membres.imag.fr/idani/MTV2_MFDL/Docs/genevaux.pdf · Use cases, functions, architecture… but: • Complex, no simulation • Ignore the requirements

System analysis: MBSE (SysML) tools

Use cases, functions, architecture… but:

• Complex, no simulation

• Ignore the requirements

Language formalization: in-house

methods/tools, “boiler plates”

Avoid natural language ambiguities

Formal verification: proof tools, MBSA

Expertise required & scalability issues

Language verification: ontological tools

Very heavy to deploy

Requirements definition: Natural language

Reference for safety-critical standards

Requirements management: Doors, Reqtify…

Versioning & traceability features

Common

Practice

Advanced

Practice

R&D

Practice

System Engineering: State of the Art

Page 3: RIL: Requirements in the Loop - imaglig-membres.imag.fr/idani/MTV2_MFDL/Docs/genevaux.pdf · Use cases, functions, architecture… but: • Complex, no simulation • Ignore the requirements

• All transformations are manual• 70% of the errors introduced in SW projects are introduced during the

specification phase, only 4% are detected in that phase

System

Today’s Industry Practice

Use Cases Requirements

??? !!!!!!

Validation Plans

Test Cases

Page 4: RIL: Requirements in the Loop - imaglig-membres.imag.fr/idani/MTV2_MFDL/Docs/genevaux.pdf · Use cases, functions, architecture… but: • Complex, no simulation • Ignore the requirements

RIL: Requirements In the Loop

HILRIL

MIL SIL

Page 5: RIL: Requirements in the Loop - imaglig-membres.imag.fr/idani/MTV2_MFDL/Docs/genevaux.pdf · Use cases, functions, architecture… but: • Complex, no simulation • Ignore the requirements

Value Proposition

RequirementsUse Cases

System Architecture and Interfaces

Page 6: RIL: Requirements in the Loop - imaglig-membres.imag.fr/idani/MTV2_MFDL/Docs/genevaux.pdf · Use cases, functions, architecture… but: • Complex, no simulation • Ignore the requirements

Value Proposition

RequirementsUse Cases

Possible Execution of the System

Page 7: RIL: Requirements in the Loop - imaglig-membres.imag.fr/idani/MTV2_MFDL/Docs/genevaux.pdf · Use cases, functions, architecture… but: • Complex, no simulation • Ignore the requirements

Value Proposition

Design Model

RequirementsUse Cases

Source Code

System

Possible Execution of the System

Page 8: RIL: Requirements in the Loop - imaglig-membres.imag.fr/idani/MTV2_MFDL/Docs/genevaux.pdf · Use cases, functions, architecture… but: • Complex, no simulation • Ignore the requirements

When lightIntensity is less then 60 % for more than 1 second , then headlight shall be ‘ON

Requirements: ▪ All functional Requirements can be written using a set of templates

▪ Example:

▪ Natural language requirement: “When the light intensity is less than 60% for more than one second, headlight shall be set to ON”

▪ Equivalent template-based requirement:

Or, in Korean:

condition

action

Basic Concepts

Page 9: RIL: Requirements in the Loop - imaglig-membres.imag.fr/idani/MTV2_MFDL/Docs/genevaux.pdf · Use cases, functions, architecture… but: • Complex, no simulation • Ignore the requirements

Basic Concepts

Each template has an executable semantics:

Benefits: Debug the Requirements as soon as your write them

Possible Execution of the System

When lightIntensity is less then 60 % for more than 1 second , then headlight shall be ‘ON

Headlight =ON

lightIntensity

60%

Headlight =ON

Page 10: RIL: Requirements in the Loop - imaglig-membres.imag.fr/idani/MTV2_MFDL/Docs/genevaux.pdf · Use cases, functions, architecture… but: • Complex, no simulation • Ignore the requirements

Use Case: a set of constraints on the inputs and between the inputs

One possible Test Vector

20 possible Test Vectors

One Use Case can be turned into as many Test Vectors as desired

(Automatic Test Vectors Generation)

Basic Concepts

Page 11: RIL: Requirements in the Loop - imaglig-membres.imag.fr/idani/MTV2_MFDL/Docs/genevaux.pdf · Use cases, functions, architecture… but: • Complex, no simulation • Ignore the requirements

Value Proposition

System Under Test

Observers

(requirements)

Test Vectors

(stimuli)

RequirementsUse Cases

Page 12: RIL: Requirements in the Loop - imaglig-membres.imag.fr/idani/MTV2_MFDL/Docs/genevaux.pdf · Use cases, functions, architecture… but: • Complex, no simulation • Ignore the requirements

Value Proposition

Test Log Files(I/Os)

RequirementsUse Cases

Observers

(requirements)

Page 13: RIL: Requirements in the Loop - imaglig-membres.imag.fr/idani/MTV2_MFDL/Docs/genevaux.pdf · Use cases, functions, architecture… but: • Complex, no simulation • Ignore the requirements

Theoretical and Technical Backgrounds

Compiler

Data constraints:- Logico-numerical solver processing the relationships among data

- Control graph- Backtrack mechanism

+ +

Simulator

Constraints over variables

BDD (Binary Decision Diagrams) + convex polyhedra

Page 14: RIL: Requirements in the Loop - imaglig-membres.imag.fr/idani/MTV2_MFDL/Docs/genevaux.pdf · Use cases, functions, architecture… but: • Complex, no simulation • Ignore the requirements

Argosim Company Profile

Company created in 2013. STIMULUS released in early 2015.

STIMULUS users in avionics, automotive, transportation, energy.

International presence: USA, UK, Germany, Spain, Israel, Japan, China, Korea, India

Page 15: RIL: Requirements in the Loop - imaglig-membres.imag.fr/idani/MTV2_MFDL/Docs/genevaux.pdf · Use cases, functions, architecture… but: • Complex, no simulation • Ignore the requirements

STIMULUS Users

Page 16: RIL: Requirements in the Loop - imaglig-membres.imag.fr/idani/MTV2_MFDL/Docs/genevaux.pdf · Use cases, functions, architecture… but: • Complex, no simulation • Ignore the requirements

Requirements In the Loop

RequirementsUse Cases

State-MachinesArchitecture

Model Automated Validation Environment

Test Vectors

(stimuli)

Observers

(requirements)

Page 17: RIL: Requirements in the Loop - imaglig-membres.imag.fr/idani/MTV2_MFDL/Docs/genevaux.pdf · Use cases, functions, architecture… but: • Complex, no simulation • Ignore the requirements

Demo

Page 18: RIL: Requirements in the Loop - imaglig-membres.imag.fr/idani/MTV2_MFDL/Docs/genevaux.pdf · Use cases, functions, architecture… but: • Complex, no simulation • Ignore the requirements

Additional Slides

Page 19: RIL: Requirements in the Loop - imaglig-membres.imag.fr/idani/MTV2_MFDL/Docs/genevaux.pdf · Use cases, functions, architecture… but: • Complex, no simulation • Ignore the requirements

STIMULUS Test Campaign

Page 20: RIL: Requirements in the Loop - imaglig-membres.imag.fr/idani/MTV2_MFDL/Docs/genevaux.pdf · Use cases, functions, architecture… but: • Complex, no simulation • Ignore the requirements

Today’s Industry Practice (2/4)

System Under Test

In1

In2

In3

In4Out1

In19

In20

•••••

Out2

Out3

Out4

Out5

Page 21: RIL: Requirements in the Loop - imaglig-membres.imag.fr/idani/MTV2_MFDL/Docs/genevaux.pdf · Use cases, functions, architecture… but: • Complex, no simulation • Ignore the requirements

Today’s Industry Practice (3/4)

System Under Test

In1 = 1 , 5 , 10 , -3

•••••

Out3 = true , false , true , falseFixed values

4 test cases for In1

Page 22: RIL: Requirements in the Loop - imaglig-membres.imag.fr/idani/MTV2_MFDL/Docs/genevaux.pdf · Use cases, functions, architecture… but: • Complex, no simulation • Ignore the requirements

Today’s Industry Practice (4/4)

System Under Test

In2 = 4 , 6 , 20 , 0

•••••

Out3 = false , false , false , trueFixed values

4 test cases for In2

In1 : Fixed value

Out1 = 1 , 0 , 4 , -1

Page 23: RIL: Requirements in the Loop - imaglig-membres.imag.fr/idani/MTV2_MFDL/Docs/genevaux.pdf · Use cases, functions, architecture… but: • Complex, no simulation • Ignore the requirements

What you really want to do

System Under Test

•••

1. Define constraintson the inputs and between the inputs

2. Generate numerous test vectors within the constraints

Define the test acceptance criteria

independently of each individual test vector:

use requirement-based oracles

Page 24: RIL: Requirements in the Loop - imaglig-membres.imag.fr/idani/MTV2_MFDL/Docs/genevaux.pdf · Use cases, functions, architecture… but: • Complex, no simulation • Ignore the requirements

Refine & Validate Requirements over a System Architecture

Page 25: RIL: Requirements in the Loop - imaglig-membres.imag.fr/idani/MTV2_MFDL/Docs/genevaux.pdf · Use cases, functions, architecture… but: • Complex, no simulation • Ignore the requirements

Level 1 …………….……………………………...

Level 2 ………………

Level 3 … Analog Switch

Electro-

Valve

PressureSensor

… …… … ……

Landing Gear

Analog Part GearsDigital Part

and GUIDoors

Page 26: RIL: Requirements in the Loop - imaglig-membres.imag.fr/idani/MTV2_MFDL/Docs/genevaux.pdf · Use cases, functions, architecture… but: • Complex, no simulation • Ignore the requirements

Level 1 Requirements

Level 1 …………….……………………………...

Level 2 ……

Level 3 ……Analog Switch

Electro-

ValvePressure Sensor

Landing Gear

Analog Part

GearsDigital Part and GUI

Doors

Page 27: RIL: Requirements in the Loop - imaglig-membres.imag.fr/idani/MTV2_MFDL/Docs/genevaux.pdf · Use cases, functions, architecture… but: • Complex, no simulation • Ignore the requirements

Level 2 Architecture

Level 1 …………….……………………………...

Level 2 ……

Level 3 ……Analog Switch

Electro-

ValvePressure Sensor

Landing Gear

Analog Part

GearsDigital Part and GUI

Doors

Page 28: RIL: Requirements in the Loop - imaglig-membres.imag.fr/idani/MTV2_MFDL/Docs/genevaux.pdf · Use cases, functions, architecture… but: • Complex, no simulation • Ignore the requirements

Level 1 …………….……………………………...

Level 2 ……

Level 3 ……Analog Switch

Electro-

ValvePressure Sensor

Landing Gear

Analog Part

GearsDigital Part and GUI

Doors

Level 2 Component Requirements

Page 29: RIL: Requirements in the Loop - imaglig-membres.imag.fr/idani/MTV2_MFDL/Docs/genevaux.pdf · Use cases, functions, architecture… but: • Complex, no simulation • Ignore the requirements

Level 1 …………….……………………………...

Level 2 ……

Level 3 ……Analog Switch

Electro-

ValvePressure Sensor

Landing Gear

Analog Part

GearsDigital Part and GUI

Doors

Level 2 Component Requirements

Page 30: RIL: Requirements in the Loop - imaglig-membres.imag.fr/idani/MTV2_MFDL/Docs/genevaux.pdf · Use cases, functions, architecture… but: • Complex, no simulation • Ignore the requirements

Level 3 ArchitectureLevel 1 …………….……………………………...

Level 2 ……

Level 3 ……Analog Switch

Electro-

ValvePressure Sensor

Landing Gear

Analog Part

GearsDigital Part and GUI

Doors

Page 31: RIL: Requirements in the Loop - imaglig-membres.imag.fr/idani/MTV2_MFDL/Docs/genevaux.pdf · Use cases, functions, architecture… but: • Complex, no simulation • Ignore the requirements

Level 1 …………….……………………………...

Level 2 ……

Level 3 ……Analog Switch

Electro-

ValvePressure Sensor

Landing Gear

Analog Part

GearsDigital Part and GUI

Doors

Level 3 Component Requirements

Page 32: RIL: Requirements in the Loop - imaglig-membres.imag.fr/idani/MTV2_MFDL/Docs/genevaux.pdf · Use cases, functions, architecture… but: • Complex, no simulation • Ignore the requirements

Level 1 …………….……………………………...

Level 2 ……

Level 3 ……Analog Switch

Electro-

ValvePressure Sensor

Landing Gear

Analog Part

GearsDigital Part and GUI

Doors

Level 3 Component Requirements

Page 33: RIL: Requirements in the Loop - imaglig-membres.imag.fr/idani/MTV2_MFDL/Docs/genevaux.pdf · Use cases, functions, architecture… but: • Complex, no simulation • Ignore the requirements

Analog Switch

Electro-

Valve

PressureSensor

Landing Gear

Analog Part GearsDigital Part

and GUIDoors

Use Cases

Use Cases

Use Cases

Page 34: RIL: Requirements in the Loop - imaglig-membres.imag.fr/idani/MTV2_MFDL/Docs/genevaux.pdf · Use cases, functions, architecture… but: • Complex, no simulation • Ignore the requirements

Analog Switch

Electro-

Valve

PressureSensor

Landing Gear

Analog Part GearsDigital Part

and GUIDoors

Use Cases

Use Cases

Use Cases

Page 35: RIL: Requirements in the Loop - imaglig-membres.imag.fr/idani/MTV2_MFDL/Docs/genevaux.pdf · Use cases, functions, architecture… but: • Complex, no simulation • Ignore the requirements

STIMULUS – Simulink (or SCADE)

Step 1: • Test automatically an FMU containing the Simulink model in STIMULUS• STIMULUS identifies the violations of the specification• Export the test cases leading to the errors

Test Vectors

(stimuli)

Simulink Model

Observers

(requirements)

Page 36: RIL: Requirements in the Loop - imaglig-membres.imag.fr/idani/MTV2_MFDL/Docs/genevaux.pdf · Use cases, functions, architecture… but: • Complex, no simulation • Ignore the requirements

STIMULUS – Simulink (or SCADE)

Step 2: • Use the generated test cases (csv) to debug the Simulink model

in Simulink

Test Vectors

(.csv)

Simulink Model