a systems engineering approach to design of complex ... - kth/6.22_2_systems... · overview of the...

114
A systems engineering approach to design of complex systems Sagar Behere 22 June 2015 Kungliga Tekniska H¨ogskolan, Stockholm 1 / 98 A systems engineering approach to design of complex systems N

Upload: others

Post on 16-Jan-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: A systems engineering approach to design of complex ... - KTH/6.22_2_Systems... · Overview of the System Engineering process (available online) Tool tutorials 13 / 98 A systems engineering

A systems engineering approach to designof complex systems

Sagar Behere

22 June 2015

Kungliga Tekniska Hogskolan, Stockholm

1 / 98A systems engineering approach to design of complex systems

N

Page 2: A systems engineering approach to design of complex ... - KTH/6.22_2_Systems... · Overview of the System Engineering process (available online) Tool tutorials 13 / 98 A systems engineering

Question

How will you go about developing a quadrocopter?

2 / 98A systems engineering approach to design of complex systems

N

Page 3: A systems engineering approach to design of complex ... - KTH/6.22_2_Systems... · Overview of the System Engineering process (available online) Tool tutorials 13 / 98 A systems engineering

Contents

1 Systems Engineering

2 Requirements

3 Architecture

4 Testing, Verification and Validation

5 Safety

6 Model based systems engineering

3 / 98A systems engineering approach to design of complex systems

N

Page 4: A systems engineering approach to design of complex ... - KTH/6.22_2_Systems... · Overview of the System Engineering process (available online) Tool tutorials 13 / 98 A systems engineering

Systems Engineering

What is Systems Engineering?

4 / 98A systems engineering approach to design of complex systems

N

Page 5: A systems engineering approach to design of complex ... - KTH/6.22_2_Systems... · Overview of the System Engineering process (available online) Tool tutorials 13 / 98 A systems engineering

Systems Engineering

A plethora of definitions ;-)

”...an interdisciplinary field of engineering thatfocuses on how to design and manage complexengineering projects over their life cycles.”

[source: Wikipedia]

”...a robust approach to the design, creation, andoperation of systems.”

[source: NASA Systems Engineering Handbook, 1995]

”The Art and Science of creating effective systems...”

[source: Derek Hitchins, former President of INCOSE]

5 / 98A systems engineering approach to design of complex systems

N

Page 6: A systems engineering approach to design of complex ... - KTH/6.22_2_Systems... · Overview of the System Engineering process (available online) Tool tutorials 13 / 98 A systems engineering

Systems Engineering

The systems engineering process

[source: A. T. Bahill and B. Gissing, Re-evaluating systems engineering concepts usingsystems thinking; (overlaid with the NASA approach in blue)]

6 / 98A systems engineering approach to design of complex systems

N

Page 7: A systems engineering approach to design of complex ... - KTH/6.22_2_Systems... · Overview of the System Engineering process (available online) Tool tutorials 13 / 98 A systems engineering

Systems Engineering

Why is a process needed?

7 / 98A systems engineering approach to design of complex systems

N

Page 8: A systems engineering approach to design of complex ... - KTH/6.22_2_Systems... · Overview of the System Engineering process (available online) Tool tutorials 13 / 98 A systems engineering

Systems Engineering

The V model

8 / 98A systems engineering approach to design of complex systems

N

Page 9: A systems engineering approach to design of complex ... - KTH/6.22_2_Systems... · Overview of the System Engineering process (available online) Tool tutorials 13 / 98 A systems engineering

Systems Engineering

Systems Engineering ’Epic fail’

9 / 98A systems engineering approach to design of complex systems

N

Page 10: A systems engineering approach to design of complex ... - KTH/6.22_2_Systems... · Overview of the System Engineering process (available online) Tool tutorials 13 / 98 A systems engineering

Systems Engineering

The V model

10 / 98A systems engineering approach to design of complex systems

N

Page 11: A systems engineering approach to design of complex ... - KTH/6.22_2_Systems... · Overview of the System Engineering process (available online) Tool tutorials 13 / 98 A systems engineering

Systems Engineering

Simplified processes

[source: ICONIX process for embedded systems]

11 / 98A systems engineering approach to design of complex systems

N

Page 12: A systems engineering approach to design of complex ... - KTH/6.22_2_Systems... · Overview of the System Engineering process (available online) Tool tutorials 13 / 98 A systems engineering

Systems Engineering

Beyond development processes

The lifecycle perspective

Deployment, operations,management, retirement

Design approaches

Top down, bottom up,inside out, platformbased

12 / 98A systems engineering approach to design of complex systems

N

Page 13: A systems engineering approach to design of complex ... - KTH/6.22_2_Systems... · Overview of the System Engineering process (available online) Tool tutorials 13 / 98 A systems engineering

Systems Engineering

Some resources

INCOSE

Embedded Systems Development Using SysML (available online)

Short and sweet book

Systems Engineering with SysML/UML: Modeling, Analysis, Design- Tim Weilkiens

OMG Press

NASA Systems Engineering Handbook (available online)

Overview of the System Engineering process (available online)

Tool tutorials

13 / 98A systems engineering approach to design of complex systems

N

Page 14: A systems engineering approach to design of complex ... - KTH/6.22_2_Systems... · Overview of the System Engineering process (available online) Tool tutorials 13 / 98 A systems engineering

Systems Engineering

Takeaway: Systems engineering

Consider the product as awhole within its ’Concept ofOperation’

Systematic processes existto guide you

There is a communitydevoted to SystemsEngineering

Software and tools exist tomake your task simpler

14 / 98A systems engineering approach to design of complex systems

N

Page 15: A systems engineering approach to design of complex ... - KTH/6.22_2_Systems... · Overview of the System Engineering process (available online) Tool tutorials 13 / 98 A systems engineering

Systems Engineering

Contents

1 Systems Engineering X

2 Requirements

3 Architecture

4 Testing, Verification and Validation

5 Safety

6 Model based systems engineering

15 / 98A systems engineering approach to design of complex systems

N

Page 16: A systems engineering approach to design of complex ... - KTH/6.22_2_Systems... · Overview of the System Engineering process (available online) Tool tutorials 13 / 98 A systems engineering

Requirements

Requirements Engineering

The science and discipline of analyzing, documenting, validatingand tracing requirements.

16 / 98A systems engineering approach to design of complex systems

N

Page 17: A systems engineering approach to design of complex ... - KTH/6.22_2_Systems... · Overview of the System Engineering process (available online) Tool tutorials 13 / 98 A systems engineering

Requirements

What is a requirement?

1 A condition or capability needed by a user to solve a problem orachieve an objective.

2 A condition or capability that must be met or possessed by a systemor system component to satisfy a contract, standard, specification,or other formally imposed documents.

3 A documented representation of a condition or capability as in 1 or 2

[source: IEEE-Std-610.12-1990]

17 / 98A systems engineering approach to design of complex systems

N

Page 18: A systems engineering approach to design of complex ... - KTH/6.22_2_Systems... · Overview of the System Engineering process (available online) Tool tutorials 13 / 98 A systems engineering

Requirements

Characteristics of good requirements

Correct

Unambiguous

Complete

Consistent

Ranked for importance and/or stability

Verifiable

18 / 98A systems engineering approach to design of complex systems

N

Page 19: A systems engineering approach to design of complex ... - KTH/6.22_2_Systems... · Overview of the System Engineering process (available online) Tool tutorials 13 / 98 A systems engineering

Requirements

Elements of requirements engineering

19 / 98A systems engineering approach to design of complex systems

N

Page 20: A systems engineering approach to design of complex ... - KTH/6.22_2_Systems... · Overview of the System Engineering process (available online) Tool tutorials 13 / 98 A systems engineering

Requirements

Requirements elicitation

Interviews and questionnaires

Concept of operation, use cases and models of usage

Examination of documentation

StandardsSystems manualsStatement of requirements

Prototyping

Conversation and interaction analysis

Ethnographic studies

20 / 98A systems engineering approach to design of complex systems

N

Page 21: A systems engineering approach to design of complex ... - KTH/6.22_2_Systems... · Overview of the System Engineering process (available online) Tool tutorials 13 / 98 A systems engineering

Requirements

...but remember

21 / 98A systems engineering approach to design of complex systems

N

Page 22: A systems engineering approach to design of complex ... - KTH/6.22_2_Systems... · Overview of the System Engineering process (available online) Tool tutorials 13 / 98 A systems engineering

Requirements

Requirements analysis - Structuring

System Behavior ← User perspective

Functional

Logical and implementation specific

Extra-functional

Requirements drill-down depends on architecture!(We will come back to this)

22 / 98A systems engineering approach to design of complex systems

N

Page 23: A systems engineering approach to design of complex ... - KTH/6.22_2_Systems... · Overview of the System Engineering process (available online) Tool tutorials 13 / 98 A systems engineering

Requirements

Requirements documentation and vali-dation

Traditional approach: Documents

Newer approach: Model based

Documents can be auto-generated

”Each requirement must have an associated test case!”

More on this later..

23 / 98A systems engineering approach to design of complex systems

N

Page 24: A systems engineering approach to design of complex ... - KTH/6.22_2_Systems... · Overview of the System Engineering process (available online) Tool tutorials 13 / 98 A systems engineering

Requirements

RE effort distribution

24 / 98A systems engineering approach to design of complex systems

N

Page 25: A systems engineering approach to design of complex ... - KTH/6.22_2_Systems... · Overview of the System Engineering process (available online) Tool tutorials 13 / 98 A systems engineering

Requirements

Requirements traceability

25 / 98A systems engineering approach to design of complex systems

N

Page 26: A systems engineering approach to design of complex ... - KTH/6.22_2_Systems... · Overview of the System Engineering process (available online) Tool tutorials 13 / 98 A systems engineering

Requirements

Some resources

Requirements engineering: a good practice guide - Ian Sommerville,Pete Sawyer

John Wiley & Sons, 1997

Requirements Engineering: Fundamentals, Principles, andTechniques - Klaus Pohl

Springer 2010

Tool tutorials

26 / 98A systems engineering approach to design of complex systems

N

Page 27: A systems engineering approach to design of complex ... - KTH/6.22_2_Systems... · Overview of the System Engineering process (available online) Tool tutorials 13 / 98 A systems engineering

Requirements

Takeaway: Requirements

”As many problems arecaused by improperly chosenrequirements as by incorrectimplementations.”

Continuous part of product development

Elicit, analyze, document and verify

Ensure requirement traceability

But remember: There’s more to a good product than merelyfulfilling all requirements!

27 / 98A systems engineering approach to design of complex systems

N

Page 28: A systems engineering approach to design of complex ... - KTH/6.22_2_Systems... · Overview of the System Engineering process (available online) Tool tutorials 13 / 98 A systems engineering

Requirements

Contents

1 Systems Engineering X

2 Requirements X

3 Architecture

4 Testing, Verification and Validation

5 Safety

6 Model based systems engineering

28 / 98A systems engineering approach to design of complex systems

N

Page 29: A systems engineering approach to design of complex ... - KTH/6.22_2_Systems... · Overview of the System Engineering process (available online) Tool tutorials 13 / 98 A systems engineering

Architecture

What is architecture

”..fundamental concepts or properties of a system in itsenvironment, embodied in its elements, relationships and principlesof its design and evolution.” [ ISO42010:2011 ]

But remember: The map is not the territory!

29 / 98A systems engineering approach to design of complex systems

N

Page 30: A systems engineering approach to design of complex ... - KTH/6.22_2_Systems... · Overview of the System Engineering process (available online) Tool tutorials 13 / 98 A systems engineering

Architecture

Architecture types

Architecture

Conceptual Technical

Service Taxonomy Logical Software Hardware

realizesdoes not dictate

deployed

mapped

Partitioning

Computation Communication

Time Space

- Behavior- User visibility

- Block diagrams- de/composition

30 / 98A systems engineering approach to design of complex systems

N

Page 31: A systems engineering approach to design of complex ... - KTH/6.22_2_Systems... · Overview of the System Engineering process (available online) Tool tutorials 13 / 98 A systems engineering

Architecture

Conceptual/Service taxonomy

Hierarchy of Services/Features as seen by the user of the system.

(source: S. Rittman, A methodology for modeling usage behavior of multi-functional

systems)

31 / 98A systems engineering approach to design of complex systems

N

Page 32: A systems engineering approach to design of complex ... - KTH/6.22_2_Systems... · Overview of the System Engineering process (available online) Tool tutorials 13 / 98 A systems engineering

Architecture

Conceptual/Logical architecture

Block diagram of the system

(source: Fernandes L. et al, Intelligent robotic car for autonomous navigation)

32 / 98A systems engineering approach to design of complex systems

N

Page 33: A systems engineering approach to design of complex ... - KTH/6.22_2_Systems... · Overview of the System Engineering process (available online) Tool tutorials 13 / 98 A systems engineering

Architecture

Technical/Software

(source: AUTOSAR.org)

33 / 98A systems engineering approach to design of complex systems

N

Page 34: A systems engineering approach to design of complex ... - KTH/6.22_2_Systems... · Overview of the System Engineering process (available online) Tool tutorials 13 / 98 A systems engineering

Architecture

Technical/Software

Operating Sytem

Core Primitives and OS Abstraction

Scripting XMLconfig.

Distributionand

Communication

Component Infrastructure

DeviceInterface

Orocos Components - Your component here

NativeOS

Libraries

Real-T

ime T

oolk

it

(source: OROCOS.org)

34 / 98A systems engineering approach to design of complex systems

N

Page 35: A systems engineering approach to design of complex ... - KTH/6.22_2_Systems... · Overview of the System Engineering process (available online) Tool tutorials 13 / 98 A systems engineering

Architecture

Technical/Hardware

(source: Biber P. et al, New challenges for future avionic architectures)

35 / 98A systems engineering approach to design of complex systems

N

Page 36: A systems engineering approach to design of complex ... - KTH/6.22_2_Systems... · Overview of the System Engineering process (available online) Tool tutorials 13 / 98 A systems engineering

Architecture

Extra functional properties

Architecture

Conceptual Technical

Service Taxonomy Logical Software Hardware

realizesdoes not dict

at

deployed

mapped

SafetyReliabilityRobustness

Predictability...

Partitioning

Computation Communication

Time Space

36 / 98A systems engineering approach to design of complex systems

N

Page 37: A systems engineering approach to design of complex ... - KTH/6.22_2_Systems... · Overview of the System Engineering process (available online) Tool tutorials 13 / 98 A systems engineering

Architecture

Architecture description languages

37 / 98A systems engineering approach to design of complex systems

N

Page 38: A systems engineering approach to design of complex ... - KTH/6.22_2_Systems... · Overview of the System Engineering process (available online) Tool tutorials 13 / 98 A systems engineering

Architecture

Some resources

For software - The Architecture Of Open Source Applications(book, readable online)

http://aosabook.org

For architecture description - Model-Based Engineering with AADL(book)

http://www.aadl.info , http://east-adl.info

38 / 98A systems engineering approach to design of complex systems

N

Page 39: A systems engineering approach to design of complex ... - KTH/6.22_2_Systems... · Overview of the System Engineering process (available online) Tool tutorials 13 / 98 A systems engineering

Architecture

Takeaway: Architecture

Architecture is represented witha hierarchy of abstractions

Example: Service Taxonomy,logical, software, hardware

Elements higher in the hierarchyare allocated to (realized by)elements lower in the hierarchy

An architecture descriptionaids in understanding,communication and formalanalysis

39 / 98A systems engineering approach to design of complex systems

N

Page 40: A systems engineering approach to design of complex ... - KTH/6.22_2_Systems... · Overview of the System Engineering process (available online) Tool tutorials 13 / 98 A systems engineering

Architecture

Contents

1 Systems Engineering X

2 Requirements X

3 Architecture X

4 Testing, Verification and Validation

5 Safety

6 Model based systems engineering

40 / 98A systems engineering approach to design of complex systems

N

Page 41: A systems engineering approach to design of complex ... - KTH/6.22_2_Systems... · Overview of the System Engineering process (available online) Tool tutorials 13 / 98 A systems engineering

Testing, Verification and Validation

Testing, Verification and Validation

41 / 98A systems engineering approach to design of complex systems

N

Page 42: A systems engineering approach to design of complex ... - KTH/6.22_2_Systems... · Overview of the System Engineering process (available online) Tool tutorials 13 / 98 A systems engineering

Testing, Verification and Validation

Verification and Validation

Verification establishes the truth of correspondence between a workproduct and its specification

From Latin veritas (=truth)Are we building the product right?Does product meet all documented requirements?

Validation establishes the fitness of the product for its operationalmission a.k.a user needs

From Latin valere (=to be worth)Are we building the right product?Do specifications correctly describe a system useful for intendedpurpose?

42 / 98A systems engineering approach to design of complex systems

N

Page 43: A systems engineering approach to design of complex ... - KTH/6.22_2_Systems... · Overview of the System Engineering process (available online) Tool tutorials 13 / 98 A systems engineering

Testing, Verification and Validation

Verification and Validation

43 / 98A systems engineering approach to design of complex systems

N

Page 44: A systems engineering approach to design of complex ... - KTH/6.22_2_Systems... · Overview of the System Engineering process (available online) Tool tutorials 13 / 98 A systems engineering

Testing, Verification and Validation

Example

Requirement: Reverse thrust and spoilers shall not operate mid-air

Shall be active only in landing situation

Domain Properties

Wheel pulses are on IFF wheels are turningWheels are turning IFF the plane is moving on the runwayA plane on ground has >> 6.3 tons on each main landing gear strut

System specification:

RT only if S1 = True. Spoilers if S1 || S2(S1) Weight of at least 6.3 tons on each main landing gear strut(S2) Wheels of the plane turning faster than 72 knots

What could go wrong?(Lufthansa flight LH2904)

44 / 98A systems engineering approach to design of complex systems

N

Page 45: A systems engineering approach to design of complex ... - KTH/6.22_2_Systems... · Overview of the System Engineering process (available online) Tool tutorials 13 / 98 A systems engineering

Testing, Verification and Validation

V&V techniques

Simple checks

Traceability, well-written requirements

Prototyping

Functional test design

User manual development

Reviews and inspections

WalkthroughsFormal inspectionsChecklists

Model-Based V&V

45 / 98A systems engineering approach to design of complex systems

N

Page 46: A systems engineering approach to design of complex ... - KTH/6.22_2_Systems... · Overview of the System Engineering process (available online) Tool tutorials 13 / 98 A systems engineering

Testing, Verification and Validation

Static and Dynamic analysis

Static analysis

Evaluates static criteria: Properties of the system at restLooks for faultsConsiders documentation for requirements, specification, analysis ofsource code etc.

Dynamic analysis

Evaluates dynamic criteria: Properties that only manifest inoperating systemLooks for failuresImpiles executing the system, injecting faults, etc.

46 / 98A systems engineering approach to design of complex systems

N

Page 47: A systems engineering approach to design of complex ... - KTH/6.22_2_Systems... · Overview of the System Engineering process (available online) Tool tutorials 13 / 98 A systems engineering

Testing, Verification and Validation

Basic V&V approaches

Testing (dynamic analysis, dynamic testing)

assessing through execution with selected stimuli (test data) on”real” environmentSimulation, diagnostics - other forms of testing

Hardware-in-the-loop, Model-in-the-loop

Analysis

investigation of properties of a product without running itCode verification, reviews, model checking, etc . – other forms ofstatic analysis

47 / 98A systems engineering approach to design of complex systems

N

Page 48: A systems engineering approach to design of complex ... - KTH/6.22_2_Systems... · Overview of the System Engineering process (available online) Tool tutorials 13 / 98 A systems engineering

Testing, Verification and Validation

Some validation types

Reliability

Usability

Efficiency

Maintainability

Portability

48 / 98A systems engineering approach to design of complex systems

N

Page 49: A systems engineering approach to design of complex ... - KTH/6.22_2_Systems... · Overview of the System Engineering process (available online) Tool tutorials 13 / 98 A systems engineering

Testing, Verification and Validation

Testing

49 / 98A systems engineering approach to design of complex systems

N

Page 50: A systems engineering approach to design of complex ... - KTH/6.22_2_Systems... · Overview of the System Engineering process (available online) Tool tutorials 13 / 98 A systems engineering

Testing, Verification and Validation

Test case design

Output is test cases, not faults!

Describes what needs to be done for a particular V&V effort, andhow it is done

50 / 98A systems engineering approach to design of complex systems

N

Page 51: A systems engineering approach to design of complex ... - KTH/6.22_2_Systems... · Overview of the System Engineering process (available online) Tool tutorials 13 / 98 A systems engineering

Testing, Verification and Validation

Testing processes

Common observation: testing process boils down to executing thesystem

as many times as deemed necessary (or as often as there is time to)testing with randomly selected inputs

Neither the generated test cases, nor the stop testing condition areever reported.

No proper estimate of the necessary time and resources to run thetests

As always, proper processess need to be defined!

51 / 98A systems engineering approach to design of complex systems

N

Page 52: A systems engineering approach to design of complex ... - KTH/6.22_2_Systems... · Overview of the System Engineering process (available online) Tool tutorials 13 / 98 A systems engineering

Testing, Verification and Validation

Example testing process

1 Test planning

2 Test design

3 Test case specification

4 Test procedure definition

5 Test procedure execution

6 Analysis of results

[source: ESA software engineering standards PSS-05-0]

52 / 98A systems engineering approach to design of complex systems

N

Page 53: A systems engineering approach to design of complex ... - KTH/6.22_2_Systems... · Overview of the System Engineering process (available online) Tool tutorials 13 / 98 A systems engineering

Testing, Verification and Validation

Testing techniques

Black box testing (also called Functional testing)

Equivalence classes and input partition testingBoundary value analysisError guessing

White box testing (also called Structure based testing)

Control flow analysisData flow analysisCause consequence diagram

Other techniques

53 / 98A systems engineering approach to design of complex systems

N

Page 54: A systems engineering approach to design of complex ... - KTH/6.22_2_Systems... · Overview of the System Engineering process (available online) Tool tutorials 13 / 98 A systems engineering

Testing, Verification and Validation

Fault and error injection

[source: Christmansson, J.; Hiller, M.; Rimen, M. An experimental comparison of fault and error injection]

54 / 98A systems engineering approach to design of complex systems

N

Page 55: A systems engineering approach to design of complex ... - KTH/6.22_2_Systems... · Overview of the System Engineering process (available online) Tool tutorials 13 / 98 A systems engineering

Testing, Verification and Validation

How much is enough?

100% coverage is not feasible for complex systems

Often V&V is costliest part of system development

>50% of development cost in aviation

Choice of test cases is of utmost importance

V&V effort commensurate with size and criticality of system

Is system safety critical?Is target technology immature or high risk?Will the business tolerate a high risk project?

55 / 98A systems engineering approach to design of complex systems

N

Page 56: A systems engineering approach to design of complex ... - KTH/6.22_2_Systems... · Overview of the System Engineering process (available online) Tool tutorials 13 / 98 A systems engineering

Testing, Verification and Validation

Some resources

RTO-TR-IST-027 - Validation, Verification and Certification ofEmbedded Systems

NATO technical report (available online)

ESA software engineering standards (available online)

ESA ECSS standards

ECSS-E-HB-40A software engineering handbook (available online)

IEEE Std 1059-1993: IEEE Guide for Software Verification andValidation Plans

56 / 98A systems engineering approach to design of complex systems

N

Page 57: A systems engineering approach to design of complex ... - KTH/6.22_2_Systems... · Overview of the System Engineering process (available online) Tool tutorials 13 / 98 A systems engineering

Testing, Verification and Validation

Takeaway: Verification and Validation

V&V thinking should be incorporated throughout the systemsengineering process

A V&V template should be developed early in the project

Acceptable testing coverage needs to be determined

Test cases need to be designed keeping system requirements in mind(like certification)

V&V is costly!

”Testing can be a very effective way to show thepresence of faults, but it is hopelessly inadequate forshowing their absence” – Dijkstra, 1972

57 / 98A systems engineering approach to design of complex systems

N

Page 58: A systems engineering approach to design of complex ... - KTH/6.22_2_Systems... · Overview of the System Engineering process (available online) Tool tutorials 13 / 98 A systems engineering

Testing, Verification and Validation

Contents

1 Systems Engineering X

2 Requirements X

3 Architecture X

4 Testing, Verification and Validation X

5 Safety

6 Model based systems engineering

58 / 98A systems engineering approach to design of complex systems

N

Page 59: A systems engineering approach to design of complex ... - KTH/6.22_2_Systems... · Overview of the System Engineering process (available online) Tool tutorials 13 / 98 A systems engineering

Safety

Safety

59 / 98A systems engineering approach to design of complex systems

N

Page 60: A systems engineering approach to design of complex ... - KTH/6.22_2_Systems... · Overview of the System Engineering process (available online) Tool tutorials 13 / 98 A systems engineering

Safety

Context

[source: J.C. Laprie]

60 / 98A systems engineering approach to design of complex systems

N

Page 61: A systems engineering approach to design of complex ... - KTH/6.22_2_Systems... · Overview of the System Engineering process (available online) Tool tutorials 13 / 98 A systems engineering

Safety

Definitions

Safety Freedom from unacceptable risk (to life, property, ...)

Risk An expression of the future impact of an undesiredevent in terms of event likelihood and event severityRisk = Probability ∗ Consequence

Hazard Present condition, event, or circumstance that couldlead to or contribute to an unplanned or undesiredevent

61 / 98A systems engineering approach to design of complex systems

N

Page 62: A systems engineering approach to design of complex ... - KTH/6.22_2_Systems... · Overview of the System Engineering process (available online) Tool tutorials 13 / 98 A systems engineering

Safety

Critical systems

Safety critical

Failure may injure or kill people, damage the environmentExample: nuclear and chemical plants, aircraft

Business critical

Failure may cause severe financial lossExample: information system. Customer information should not belost

Mission critical

Failure may cause a mission to failLarge values potentially wastedExample: Space probe. Large sums of money, many years of waiting

62 / 98A systems engineering approach to design of complex systems

N

Page 63: A systems engineering approach to design of complex ... - KTH/6.22_2_Systems... · Overview of the System Engineering process (available online) Tool tutorials 13 / 98 A systems engineering

Safety

Scope of safety engineering

Functional safety Absence of unreasonable risk due to hazardscaused by malfunctioning behavior of the system- Correct functioning of system in response to inputs

System safety Absence of unacceptable risk due to:- Errors related to Functional Safety

- Hazardous materials

- Hazardous environments- Hazards related to energy sources

Safety is a system level property/concern!

63 / 98A systems engineering approach to design of complex systems

N

Page 64: A systems engineering approach to design of complex ... - KTH/6.22_2_Systems... · Overview of the System Engineering process (available online) Tool tutorials 13 / 98 A systems engineering

Safety

System safety process

64 / 98A systems engineering approach to design of complex systems

N

Page 65: A systems engineering approach to design of complex ... - KTH/6.22_2_Systems... · Overview of the System Engineering process (available online) Tool tutorials 13 / 98 A systems engineering

Safety

System safety techniques

Preliminary hazard analysis

System hazard analysis

Subsystem hazard analysis

Operating and supporthazard analysis

Fault hazard analysis

Failure Mode and EffectsAnalysis (FMEA)

Fault Tree Analysis (FTA)

Software hazard analysis

Sneak circuit analysis

Simultaneous Timed EventsPlotting Analysis (STEP)

Hazard totem pole

Management Oversight andRisk Tree (MORT)

65 / 98A systems engineering approach to design of complex systems

N

Page 66: A systems engineering approach to design of complex ... - KTH/6.22_2_Systems... · Overview of the System Engineering process (available online) Tool tutorials 13 / 98 A systems engineering

Safety

System safety products

System Safety Program Plan (SSPP)

Preliminary Hazard Analysis (PHA)

Subsystem Hazard Analysis (SSHA)

System Hazard Analysis (SHA)

Operating Hazard Analysis (OHA)

66 / 98A systems engineering approach to design of complex systems

N

Page 67: A systems engineering approach to design of complex ... - KTH/6.22_2_Systems... · Overview of the System Engineering process (available online) Tool tutorials 13 / 98 A systems engineering

Safety

System safety products in lifecycle

67 / 98A systems engineering approach to design of complex systems

N

Page 68: A systems engineering approach to design of complex ... - KTH/6.22_2_Systems... · Overview of the System Engineering process (available online) Tool tutorials 13 / 98 A systems engineering

Safety

Exemplary numbers

10−6 per hour - ”ultra-reliable” [source: Parnas]

106 hours ≈ 114 years

10−9 , 10−7 failures per hour (or flight) [source: Leveson]

Mishap is not expected to happen during the lifetime of the wholefleet (of a certain airplane)

[sources:

1 Courtois and Parnas, ” Documentation for Safety Critical Software”, IEEE 1993

2 Leveson, ”Software Safety: Why, What, and How”, ACM Computing Surveys,1986

3 Leveson, Safeware , Addison-Wesley, 1995 ]

68 / 98A systems engineering approach to design of complex systems

N

Page 69: A systems engineering approach to design of complex ... - KTH/6.22_2_Systems... · Overview of the System Engineering process (available online) Tool tutorials 13 / 98 A systems engineering

Safety

Risk assessment

Exact method differs for each standard...

69 / 98A systems engineering approach to design of complex systems

N

Page 70: A systems engineering approach to design of complex ... - KTH/6.22_2_Systems... · Overview of the System Engineering process (available online) Tool tutorials 13 / 98 A systems engineering

Safety

Risk management

Reject - Risk outweighsbenefits

Avoid - Go around, do itdifferently

Delay - Maybe it’ll go away?

Transfer - Pass on tosomeone else (insurance?)

Spread - dilute the impact

Compensate - Designparallel and redundantsystems

Reduce - Decrease probability

70 / 98A systems engineering approach to design of complex systems

N

Page 71: A systems engineering approach to design of complex ... - KTH/6.22_2_Systems... · Overview of the System Engineering process (available online) Tool tutorials 13 / 98 A systems engineering

Safety

Safety Integrity Level (SIL)

Automotive example

71 / 98A systems engineering approach to design of complex systems

N

Page 72: A systems engineering approach to design of complex ... - KTH/6.22_2_Systems... · Overview of the System Engineering process (available online) Tool tutorials 13 / 98 A systems engineering

Safety

SIL numbers - IEC/EN 61508

72 / 98A systems engineering approach to design of complex systems

N

Page 73: A systems engineering approach to design of complex ... - KTH/6.22_2_Systems... · Overview of the System Engineering process (available online) Tool tutorials 13 / 98 A systems engineering

Safety

Accident causality

73 / 98A systems engineering approach to design of complex systems

N

Page 74: A systems engineering approach to design of complex ... - KTH/6.22_2_Systems... · Overview of the System Engineering process (available online) Tool tutorials 13 / 98 A systems engineering

Safety

Fault categorization

Endogenous - arise from within the system itself

Incorrectly functioning subsystemsFeature Interaction between correctly functioning subsystems

Exogenous - arise from physical/logical/human environment

Uncertainties - inadequate perceptionContingencies - uncontrollable, unforeseen, ...

(source: Baudin et. al, Independent safety systems for autonomy)

Alternatively,

Systematic - mistakes in development, maintainence, reuse

Operational - unintended system usage

74 / 98A systems engineering approach to design of complex systems

N

Page 75: A systems engineering approach to design of complex ... - KTH/6.22_2_Systems... · Overview of the System Engineering process (available online) Tool tutorials 13 / 98 A systems engineering

Safety

Fail safe and Fail operational

Fail safe

Safe state can be reached upon system failureExample: An automatic landing system is fail safe if, in the eventof a failure, there is no significant out-of-trim condition or deviationof flight path or attitude - but the landing is not completedautomatically.

Fail operational

No safe state can be reached, minimum level of service expectedExample: An automatic landing system is fail operational if, in theevent of a failure, the approach, flare and landing can be completedby the remaining part of the automatic system.

75 / 98A systems engineering approach to design of complex systems

N

Page 76: A systems engineering approach to design of complex ... - KTH/6.22_2_Systems... · Overview of the System Engineering process (available online) Tool tutorials 13 / 98 A systems engineering

Safety

Example: CAT IIIB Autoland

76 / 98A systems engineering approach to design of complex systems

N

Page 77: A systems engineering approach to design of complex ... - KTH/6.22_2_Systems... · Overview of the System Engineering process (available online) Tool tutorials 13 / 98 A systems engineering

Safety

Testing, verification and validation

Two main approaches

Show that a fault cannot occur

Show that if a fault occurs, it is not dangerous

BUT

Testing, V&V can show consistency only within the requirementsspecified

Requirements build on assumptions

What about failures of imagination?

77 / 98A systems engineering approach to design of complex systems

N

Page 78: A systems engineering approach to design of complex ... - KTH/6.22_2_Systems... · Overview of the System Engineering process (available online) Tool tutorials 13 / 98 A systems engineering

Safety

Challenges to functional safety

Incorrect specifications of the system, hardware or software

Omissions in the safety requirements specification (e.g. failure todevelop all relevant safety functions during different modes ofoperation)

Random hardware failure mechanisms

Systematic hardware failure mechanisms

Software errors

Common cause failures

Human error

Environmental influences (e.g. electromagnetic, temperature,mechanical phenomena)

Supply system voltage disturbances (e.g. loss of supply, reducedvoltages, re-connection of supply).

78 / 98A systems engineering approach to design of complex systems

N

Page 79: A systems engineering approach to design of complex ... - KTH/6.22_2_Systems... · Overview of the System Engineering process (available online) Tool tutorials 13 / 98 A systems engineering

Safety

Functional safety standards

79 / 98A systems engineering approach to design of complex systems

N

Page 80: A systems engineering approach to design of complex ... - KTH/6.22_2_Systems... · Overview of the System Engineering process (available online) Tool tutorials 13 / 98 A systems engineering

Safety

Some resources

Nancy Leveson

”System Safety for the 21st Century” - Richard A. Stephans

Ariane 5 Flight 501 Failure - Full report (available online)

Air crash investigations (TV series)

80 / 98A systems engineering approach to design of complex systems

N

Page 81: A systems engineering approach to design of complex ... - KTH/6.22_2_Systems... · Overview of the System Engineering process (available online) Tool tutorials 13 / 98 A systems engineering

Safety

Takeaway: Safety

Safety is freedom from unacceptable risk

Can be thought of in terms of System Safety and Functional Safety

Many techniques to assess and analyse system and functional safety

Critical systems need to be designed to applicable SILs

Many safety and certification standards exist

Know what is applicable to your product,

81 / 98A systems engineering approach to design of complex systems

N

Page 82: A systems engineering approach to design of complex ... - KTH/6.22_2_Systems... · Overview of the System Engineering process (available online) Tool tutorials 13 / 98 A systems engineering

Safety

Contents

1 Systems Engineering X

2 Requirements X

3 Architecture X

4 Testing, Verification and Validation X

5 Safety X

6 Model based systems engineering

82 / 98A systems engineering approach to design of complex systems

N

Page 83: A systems engineering approach to design of complex ... - KTH/6.22_2_Systems... · Overview of the System Engineering process (available online) Tool tutorials 13 / 98 A systems engineering

MBSE

Model Based Systems Engineering

83 / 98A systems engineering approach to design of complex systems

N

Page 84: A systems engineering approach to design of complex ... - KTH/6.22_2_Systems... · Overview of the System Engineering process (available online) Tool tutorials 13 / 98 A systems engineering

MBSE

What is a model?

A human construct to help us better understand real worldsystems.

84 / 98A systems engineering approach to design of complex systems

N

Page 85: A systems engineering approach to design of complex ... - KTH/6.22_2_Systems... · Overview of the System Engineering process (available online) Tool tutorials 13 / 98 A systems engineering

MBSE

Models as abstractions

85 / 98A systems engineering approach to design of complex systems

N

Page 86: A systems engineering approach to design of complex ... - KTH/6.22_2_Systems... · Overview of the System Engineering process (available online) Tool tutorials 13 / 98 A systems engineering

MBSE

Models as domain specific constructs

86 / 98A systems engineering approach to design of complex systems

N

Page 87: A systems engineering approach to design of complex ... - KTH/6.22_2_Systems... · Overview of the System Engineering process (available online) Tool tutorials 13 / 98 A systems engineering

MBSE

Models as digital convenience?!?

Every change affects something else :P

87 / 98A systems engineering approach to design of complex systems

N

Page 88: A systems engineering approach to design of complex ... - KTH/6.22_2_Systems... · Overview of the System Engineering process (available online) Tool tutorials 13 / 98 A systems engineering

MBSE

Models for rapid prototyping

88 / 98A systems engineering approach to design of complex systems

N

Page 89: A systems engineering approach to design of complex ... - KTH/6.22_2_Systems... · Overview of the System Engineering process (available online) Tool tutorials 13 / 98 A systems engineering

MBSE

Model based systems engineering

Model based systems engineering (MBSE) is the formalizedapplication of modeling to support system requirements, design,

analysis, verification and validation activities beginning in theconceptual design phase and continuing throughout development

and later life-cycle phases.

”INCOSE Systems Engineering Vision” 2020 INCOSE-TP-2004-004-02

September, 2007

89 / 98A systems engineering approach to design of complex systems

N

Page 90: A systems engineering approach to design of complex ... - KTH/6.22_2_Systems... · Overview of the System Engineering process (available online) Tool tutorials 13 / 98 A systems engineering

MBSE

Essential components of MBSE

A declared Metamodel/language

Structure and semanticsTextual/GraphicalExplicit, context-free language for communicationProblem, solution and management dimensions

A process or methodology

Defined mappings/projections

”Fit for purpose” viewsDocumentation and design artifactsOther work products

[source: Model-Based Systems Engineering, Zane Scott, Vitech Corporation]

Good software tools ← This is often ignored!

90 / 98A systems engineering approach to design of complex systems

N

Page 91: A systems engineering approach to design of complex ... - KTH/6.22_2_Systems... · Overview of the System Engineering process (available online) Tool tutorials 13 / 98 A systems engineering

MBSE

MBSE can be applied to

Requirements

Analysis, traceability, test case generation, document generation...

Architecture

Description, design space exploration, structure, behavior...

Testing

Model in the loop, automation, optimization, parameterization...

Validation and Verification

Coverage, property assuarance (safety, reachability, deadlock,...)

Other things: Thermal, Mechanics, Assemblies, Fluid dynamics,...

91 / 98A systems engineering approach to design of complex systems

N

Page 92: A systems engineering approach to design of complex ... - KTH/6.22_2_Systems... · Overview of the System Engineering process (available online) Tool tutorials 13 / 98 A systems engineering

MBSE

SysML: Diagram types

92 / 98A systems engineering approach to design of complex systems

N

Page 93: A systems engineering approach to design of complex ... - KTH/6.22_2_Systems... · Overview of the System Engineering process (available online) Tool tutorials 13 / 98 A systems engineering

MBSE

SysML: The four pillars

93 / 98A systems engineering approach to design of complex systems

N

Page 94: A systems engineering approach to design of complex ... - KTH/6.22_2_Systems... · Overview of the System Engineering process (available online) Tool tutorials 13 / 98 A systems engineering

MBSE

MBSE’s golden dream

One (integrated) model + Toolchain integration

[image source: Model-Based Systems Engineering, Zane Scott, Vitech Corporation]94 / 98

A systems engineering approach to design of complex systems

N

Page 95: A systems engineering approach to design of complex ... - KTH/6.22_2_Systems... · Overview of the System Engineering process (available online) Tool tutorials 13 / 98 A systems engineering

MBSE

Some resources

A Practical Guide to SysML, 2nd edition - Friedenthal et al

OMG SysML tutorials (available online)

Model Based Systems Engineering (available online)

A 116 slide presentation by Zane Scott, Vitech corporation

95 / 98A systems engineering approach to design of complex systems

N

Page 96: A systems engineering approach to design of complex ... - KTH/6.22_2_Systems... · Overview of the System Engineering process (available online) Tool tutorials 13 / 98 A systems engineering

MBSE

Takeaway: MBSE

Models

Are limited representations of a system or processCan be migrated into cohesive, unambiguous representation of asystem

In model based systems engineering

The ’model’ is the system specification; conversely the systemspecification is the modelVisualizations are derived from the model, and the model isenriched through addition to the models

[source: Model-Based Systems Engineering, Zane Scott, Vitech Corporation]

96 / 98A systems engineering approach to design of complex systems

N

Page 97: A systems engineering approach to design of complex ... - KTH/6.22_2_Systems... · Overview of the System Engineering process (available online) Tool tutorials 13 / 98 A systems engineering

Wrap up

So again...

How will you go about developing a quadrocopter?

97 / 98A systems engineering approach to design of complex systems

N

Page 98: A systems engineering approach to design of complex ... - KTH/6.22_2_Systems... · Overview of the System Engineering process (available online) Tool tutorials 13 / 98 A systems engineering

Wrap up

Questions?

[email protected]

98 / 98A systems engineering approach to design of complex systems

N

Page 99: A systems engineering approach to design of complex ... - KTH/6.22_2_Systems... · Overview of the System Engineering process (available online) Tool tutorials 13 / 98 A systems engineering

Model-Based Systems Engineering for CPS

1

• What is your first association?

Mental? Physical? Textual/Graphical? Formalized (computerized)? Favourite modeling language?

MBSE for CPS - Introduction, Martin Törngren, KTH; – CPS summerschool, June 22nd, 2015, Stockholm

Page 100: A systems engineering approach to design of complex ... - KTH/6.22_2_Systems... · Overview of the System Engineering process (available online) Tool tutorials 13 / 98 A systems engineering

Models Modeling

Analyses - Test/explore - V&V

CAE Tools Syntheses - Reports - Visualization - Code - CAM

Models in engineering

CAD, FEA Model based control design (MIL; RCP, SIL, PIL; HIL)

Software modeling (e.g. UML) Safety & reliability analysis m SW architecture (Autosar formats) Run time software models

Examples

2 MBSE for CPS - Introduction, Martin Törngren, KTH; – CPS summerschool,

June 22nd, 2015, Stockholm

Page 101: A systems engineering approach to design of complex ... - KTH/6.22_2_Systems... · Overview of the System Engineering process (available online) Tool tutorials 13 / 98 A systems engineering

Illustration of risk reduction potential with MBSE

Courtesy of Bran Selic

3

Page 102: A systems engineering approach to design of complex ... - KTH/6.22_2_Systems... · Overview of the System Engineering process (available online) Tool tutorials 13 / 98 A systems engineering

MBSE ~ Computerized models to support engineering • Formalized syntax

– Abstract syntax and Concrete syntax • Defined meaning of models • Different levels of formalization

– Determinate models – Model interpretation depending on tool realization

• Levels of abstraction – Part whole vs. Approximation

• Model management and integration

4 MBSE for CPS - Introduction, Martin Törngren, KTH; – CPS summerschool, June 22nd, 2015, Stockholm

Page 103: A systems engineering approach to design of complex ... - KTH/6.22_2_Systems... · Overview of the System Engineering process (available online) Tool tutorials 13 / 98 A systems engineering

Modeling language definition -illustration

Abstract Syntax (= Metamodel)

Concrete Syntax

Concret Mapping Function

Semantic Domain Example: Differential Equation or State machine

Semantic Mapping Function

MBSE for CPS - Introduction, Martin Törngren, KTH; – CPS summerschool, June 22nd, 2015, Stockholm

5

Page 104: A systems engineering approach to design of complex ... - KTH/6.22_2_Systems... · Overview of the System Engineering process (available online) Tool tutorials 13 / 98 A systems engineering

Important role of models in the engineering of CPS

6

• Requirements engineering – Bridging the gap between the Problem space (What) and the Solution

space (How) • Architecting

– Common system view! – What if analysis; Design space exploration

• Verification – Briding tests and requirements; Formal verification

• Safety – Modeling as a way to understand and analyse systems – Safety analysis models and their integration with other models

• Systems engineering – Capturing models referring to different viewpoints – Capturing viewpoint relationsships

MBSE for CPS - Introduction, Martin Törngren, KTH; – CPS summerschool, June 22nd, 2015, Stockholm

Page 105: A systems engineering approach to design of complex ... - KTH/6.22_2_Systems... · Overview of the System Engineering process (available online) Tool tutorials 13 / 98 A systems engineering

MBD practices – where are we?

• Modeling pros: – Formalization has a value in itself – Communication! – Early verification and validation

• Executable specifications - well known good practice! – Automation, e.g. code generation, synthesis

• Modeling cons and pitfalls: – Formalization comes at a cost (creation, maintenance, training) – Overtrust; Inappropriate tools – Forgetting people and methodology; Organizational adoption

• MBSE requires appropriate methodology! – Why (for what purpose), What models, How to use? – Requirements engineering is not well supported today

• Drivers: Complexity, Criticality and Reuse

7 MBSE for CPS - Introduction, Martin Törngren, KTH; – CPS summerschool, June 22nd, 2015, Stockholm

Page 106: A systems engineering approach to design of complex ... - KTH/6.22_2_Systems... · Overview of the System Engineering process (available online) Tool tutorials 13 / 98 A systems engineering

Important modeling types

8

• Behavioral models – Scenarios – interactions with the environment,

system stakeholders, and between parts – Modes and states – Differential equations

• Logical structure – Components and connections, interfaces – Function, software, components and systems

• Form – Layout, CAD models

MBSE for CPS - Introduction, Martin Törngren, KTH; – CPS summerschool, June 22nd, 2015, Stockholm

Page 107: A systems engineering approach to design of complex ... - KTH/6.22_2_Systems... · Overview of the System Engineering process (available online) Tool tutorials 13 / 98 A systems engineering

Modeling example - structure

2015-06-22 9

MBSE for CPS - Introduction, Martin Törngren, KTH; – CPS summerschool, June 22nd, 2015, Stockholm

Page 108: A systems engineering approach to design of complex ... - KTH/6.22_2_Systems... · Overview of the System Engineering process (available online) Tool tutorials 13 / 98 A systems engineering

View frameworks

10

Define key viewpoints and views for your project!

The viewpoint is where you look

from

The view is what you see

Real-world/ System

Models

Abstractions

MBSE for CPS - Introduction, Martin Törngren, KTH; – CPS summerschool, June 22nd, 2015, Stockholm

Page 109: A systems engineering approach to design of complex ... - KTH/6.22_2_Systems... · Overview of the System Engineering process (available online) Tool tutorials 13 / 98 A systems engineering

11

Example view frameworks

Logical View End-user • Functionality

Development View Programmer • SW management

Physical View

HW/System engineers • System topology • Delivery • Installation

Process View

System Integrators • Performance • Scalability • Throughput

Scenarios

Software: 4+1 view model (Krutchen)

AADL related view model MBSE for CPS - Introduction, Martin Törngren, KTH; – CPS summerschool,

June 22nd, 2015, Stockholm

Page 110: A systems engineering approach to design of complex ... - KTH/6.22_2_Systems... · Overview of the System Engineering process (available online) Tool tutorials 13 / 98 A systems engineering

Technology : Models as Graphs

Requirements CAD Geometry

Model

Physical Architecture

x y

u v

Pattern

Cross-Model Relations

12 Courtesy, Ahsan Qamar, GeorgiaTech

Page 111: A systems engineering approach to design of complex ... - KTH/6.22_2_Systems... · Overview of the System Engineering process (available online) Tool tutorials 13 / 98 A systems engineering

Architecture browser for automotive embedded SW, Espresso project demonstrator (Scania and KTH)

22-Jun-15 13

Page 112: A systems engineering approach to design of complex ... - KTH/6.22_2_Systems... · Overview of the System Engineering process (available online) Tool tutorials 13 / 98 A systems engineering

MBSE - Take away slide

14

• Important role of models in the engineering of CPS – Executable models (closing gap, What/How) – Architectural models – Design models integrated with constraints and tests

• Useful throughout design

– Safety analysis models • Multiple models!

• Choose multi-view model to support your work! • Informal as well as formal models! • Viewpoint interrelations as models

MBSE for CPS - Introduction, Martin Törngren, KTH; – CPS summerschool, June 22nd, 2015, Stockholm

Page 113: A systems engineering approach to design of complex ... - KTH/6.22_2_Systems... · Overview of the System Engineering process (available online) Tool tutorials 13 / 98 A systems engineering

A systems engineering approach to design of complex systems

22-Jun-15 15

• Systems engineering • Requirements engineering • Architecting • Verification • Safety • Model-based systems engineering

Page 114: A systems engineering approach to design of complex ... - KTH/6.22_2_Systems... · Overview of the System Engineering process (available online) Tool tutorials 13 / 98 A systems engineering

Further reading for the MBSE part

22-Jun-15 16

• Oliver, D.W., Kelliher, T.P., and Keegan, Jr., J.G., Engineering Complex Systems with Models and Objects.McGraw-Hill, New York

• Martin Törngren, Ahsan Qamar, Matthias Biehl, Frederic Loiret, Jad Elkhoury. Integrating Viewpoints in the Development of Mechatronic Products. Journal of Mechatronics, special issue on Model-based mechatronic system-design, Elsevier Dec. 2013, (http://dx.doi.org/10.1016/j.mechatronics.2013.11.013).

• Martin Törngren, DeJiu Chen, Diana Malvius, Jakob Axelsson. Model based development of automotive embedded systems. Book chapter in Automotive Embedded Systems Handbook. Editors Nicolas Navet and Francoise Simonot-Lion. Taylor and Francis CRC Press - Series: Industrial Information Technology. ISBN: 9780849380266, December 2008.