system engineering overview
TRANSCRIPT
-
7/29/2019 System Engineering Overview
1/72
illah nourbakhsh | CMURobotics Institute | SysEng
Motivation: The Problem
-
7/29/2019 System Engineering Overview
2/72
illah nourbakhsh | CMURobotics Institute | SysEng
Motivation: The Problem
I dont understand why it doesnt work.
-
7/29/2019 System Engineering Overview
3/72
illah nourbakhsh | CMURobotics Institute | SysEng
Motivation: The Problem
I dont understand why it doesnt work.
This is the first time Im trying it all.
-
7/29/2019 System Engineering Overview
4/72
illah nourbakhsh | CMURobotics Institute | SysEng
Motivation: The Problem
I dont understand why it doesnt work.
It worked fine last night.
-
7/29/2019 System Engineering Overview
5/72
illah nourbakhsh | CMURobotics Institute | SysEng
Motivation: The Problem
I dont understand why it doesnt work.
My part is fine. Its a problem with anotherpart of the system.
-
7/29/2019 System Engineering Overview
6/72
illah nourbakhsh | CMURobotics Institute | SysEng
Our Goal
1 Examine systems from many perspectives
2 Attain system engineering skills
plan, management, analysis, design,
implementation, evaluation, validation
-
7/29/2019 System Engineering Overview
7/72
DavidWettergreen | Systems
Engineering 7
Defining System
Systems can contain subsystems, components,
subcomponents, and parts, each engineered
and complex
-
7/29/2019 System Engineering Overview
8/72
Wettergreen & Nourbakhsh |CMU Robotics Institute |
SysEng
Terms for hierarchy
[Supersystem]
Systems
Subsystems
Components
Subcomponents
Parts
-
7/29/2019 System Engineering Overview
9/72
Wettergreen & Nourbakhsh |CMU Robotics Institute |
SysEng
Terms for hierarchy
[Supersystem]
Systems: perform a service with the aid of human operatorsand standard infrastructures
Subsystems
Components
Subcomponents
Parts
-
7/29/2019 System Engineering Overview
10/72
Wettergreen & Nourbakhsh |
CMU Robotics Institute |
SysEng
Terms for hierarchy
[Supersystem]
Systems
Subsystems: major portion of system that is aclosely related subsetof overall system function
Components
Subcomponents
Parts
-
7/29/2019 System Engineering Overview
11/72
Wettergreen & Nourbakhsh |
CMU Robotics Institute |
SysEng
Terms for hierarchy
[Supersystem]
Systems
Subsystems
Components: a middle level of system elements
often used in multiples
hah. What does that mean??
Subcomponents
Parts
-
7/29/2019 System Engineering Overview
12/72
Wettergreen & Nourbakhsh |
CMU Robotics Institute |
SysEng
Terms for hierarchy
[Supersystem]
Systems
Subsystems
Components
Subcomponents:perform elementary functions and are composed ofseveral parts
Parts
-
7/29/2019 System Engineering Overview
13/72
Wettergreen & Nourbakhsh |
CMU Robotics Institute |
SysEng
Terms for hierarchy
[Supersystem]
Systems
Subsystems
Components
Subcomponents
Parts: no significant function except in combination with otherparts; usually off-the-shelf.
-
7/29/2019 System Engineering Overview
14/72
Wettergreen & Nourbakhsh |
CMU Robotics Institute |
SysEng
Actors in hierarchy
[Supersystem]
Systems
Subsystems
Componentstop ofindustrial design specialist; floor of systemsengineers knowledge
Subcomponents
Parts
-
7/29/2019 System Engineering Overview
15/72
Wettergreen & Nourbakhsh |
CMU Robotics Institute |
SysEng
Actors in hierarchy
[Supersystem]
Systems
Subsystems
Componentstop ofindustrial design specialist; floor of systemsengineers knowledge
Subcomponents
Parts
Caveat: systems engineer drills deep for critical issues (e.g.Challenger failure)
-
7/29/2019 System Engineering Overview
16/72
David
Wettergreen | Systems
Engineering 16
Defining Systems Engineering
The function of systems engineering is to
guide the engineering of complex systems
Guide = to lead based on experience
Engineering = application of scientific principles to
practical ends
[Kossiakoff]
-
7/29/2019 System Engineering Overview
17/72
David
Wettergreen | Systems
Engineering 17
Unique Perspective
Focused on the system as a whole
Concerned with stakeholder needs and
operational environment
Grounded in system conceptual design
Bridges traditional engineering disciplines
Requires qualitative judgments
-
7/29/2019 System Engineering Overview
18/72
David
Wettergreen | Systems
Engineering 18
Specialization
Complex systems configured of components Each must be specified, developed, tested
Each must interface to the system
Each has unique properties Engineering specialties emerge
Making it fit Standards develop to abstract specialization
Modularity and interchangeable parts, everything mustfit
Somebody needs to make it all fit
-
7/29/2019 System Engineering Overview
19/72
David
Wettergreen | Systems
Engineering 19
Complex Systems
Automobiles
Aircraft
Spacecraft
Robots
Navigation Equipment
Appliances
Cameras
Industrial Processes
Air Traffic Control
Power Plants
Railroads
Telephone Switching
Network
Communication Stock Exchange
-
7/29/2019 System Engineering Overview
20/72
David
Wettergreen | Systems
Engineering 20
Embedded Systems
When the computational element exists
within a system to achieve desired
functionality it is said to be embedded
Many systems have computing components
embedded within them (even toasters)
-
7/29/2019 System Engineering Overview
21/72
David
Wettergreen | Systems
Engineering 21
Complex Real-Time Systems
Properties
Timeliness = meets timing requirements (performance)
Responsiveness = reacts to events
Concurrency = can synchronize multiple activities
Predictability = can accurately model performance
Reliability = responds as required in all known conditions
Robustness = responds safely in unknown conditions
-
7/29/2019 System Engineering Overview
22/72
David
Wettergreen | Systems
Engineering 22
Timeliness
The system has the ability to respond to some
event, often, but not limited to events that are
external to the system
When the response is timely the system is said
to be reacting in real time
Failure to be timely will result in failure of the
system
-
7/29/2019 System Engineering Overview
23/72
David
Wettergreen | Systems
Engineering 23
Responsiveness
A system in which the components forprocessing information (data, signals) arrivingare permanently ready so that results will be
available within predetermined periods oftime
[Halang92]
-
7/29/2019 System Engineering Overview
24/72
David
Wettergreen | Systems
Engineering 24
Concurrency
Real events of the world proceed in parallel.
A concurrent system is one that simultaneously
responses to multiple events (and thus has multiple
chains of action) Concurrency issues:
Scheduling
Arrival patterns
Rendezvous patterns
Shared resources
-
7/29/2019 System Engineering Overview
25/72
David
Wettergreen | Systems
Engineering 25
Predictability
The extent to which system response
characteristics can be known in advance
Affected by:
Physical environment
System behavior
-
7/29/2019 System Engineering Overview
26/72
-
7/29/2019 System Engineering Overview
27/72
David
Wettergreen | Systems
Engineering 27
Reliability
A system is reliable when it does the right
thing when predictable events or faults occur
Events - environmental conditions
Faults - anomalous components behavior
-
7/29/2019 System Engineering Overview
28/72
-
7/29/2019 System Engineering Overview
29/72
David
Wettergreen | Systems
Engineering 29
Best System
Cost
Performance
Acceptable
Desired
60
80
100
-
7/29/2019 System Engineering Overview
30/72
David
Wettergreen | Systems
Engineering 30
Balanced System
Cost
P
erformance/Cost
1
2
3
Desired Performance
Acceptable Performance
-
7/29/2019 System Engineering Overview
31/72
David
Wettergreen | Systems
Engineering 31
Balanced Judgment
Multidisciplinary knowledge allows balance
Qualitative judgment comes from experience
Quantitative decisions enabled by approximate
calculations (back of the envelope)
Systems engineers need to be inquisitive
-
7/29/2019 System Engineering Overview
32/72
Wettergreen &
Nourbakhsh | Systems
Engineering 32
Systems Engineering Phases
Concept Development Needs Analysis
Concept Exploration
Concept Definition
Engineering Development Advanced Development
Engineering Design
Integration and Evaluation
Post-Development Production
Operation and Maintenance
-
7/29/2019 System Engineering Overview
33/72
-
7/29/2019 System Engineering Overview
34/72
Wettergreen &
Nourbakhsh | Systems
Engineering 34
Use Cases
Actors are things that exist outside of the system
but influence system behavior
Use Case is what is performed by the system
System
BoundaryActor
Use Case Interaction
-
7/29/2019 System Engineering Overview
35/72
-
7/29/2019 System Engineering Overview
36/72
Wettergreen &
Nourbakhsh | Systems
Engineering 36
Developing Use Case
For each Use case identify:
Role of actors and system in each scenario
Interactions necessary for the scenario
Sequence of events and data
Possible variations
-
7/29/2019 System Engineering Overview
37/72
Wettergreen &
Nourbakhsh | Systems
Engineering 37
Documenting Use Cases
Name - Name for each case Summary - Brief description Dependency - Includes/extends
other use case Actors - Name the actors Preconditions - True at start of use
case Description - Prose narrative of use
case sequence of interactions Alternatives - Narrative of
alternative branches Postcondition - True at end of use
case
-
7/29/2019 System Engineering Overview
38/72
Wettergreen &
Nourbakhsh | SystemsEngineering 38
Use Case - Elevator
Ride
Select Floor
Request
Hold Door
Service
Service Personnel
Passenger
Potential Passenger
Alarm
[Douglass98]
-
7/29/2019 System Engineering Overview
39/72
Wettergreen &
Nourbakhsh | SystemsEngineering 39
Identifying Scenarios
Scenarios:
Specific instances of use cases
Model order-dependent behavior of objects
Scenarios indicate differing system behaviors
If the behavior in various scenarios the same,
generalize to one scenario
-
7/29/2019 System Engineering Overview
40/72
Wettergreen &
Nourbakhsh | SystemsEngineering 40
Functional Analysis
What function?and What design?are closely
coupled
-
7/29/2019 System Engineering Overview
41/72
Wettergreen &
Nourbakhsh | SystemsEngineering 41
Functional Analysis: a recipe
1 Media (signals, data, material, energy)
2 Elements (electronic, electro-optical,
electromechanical, mechanical, thermomechanical,
software)
-
7/29/2019 System Engineering Overview
42/72
Wettergreen &
Nourbakhsh | SystemsEngineering 42
Functional Analysis: a recipe
1 Media (signals, data, material, energy)
2 Elements (software, networking, firmware,
embedded h/w, computers, sensors, actuators,
other) 3 Performance requirements to elements
4 Configuration
5 Analysis & integration with outside world
-
7/29/2019 System Engineering Overview
43/72
Wettergreen &
Nourbakhsh | SystemsEngineering 43
Hardware / Software allocation
A lesson on an important tradeoff
Build a balancing robot that has a human aspect ratio
or narrower
-
7/29/2019 System Engineering Overview
44/72
Wettergreen &
Nourbakhsh | SystemsEngineering 44
Hardware / Software allocation
Credit TRI: Ben Brown, Illah Nourbakhsh
-
7/29/2019 System Engineering Overview
45/72
Wettergreen &
Nourbakhsh | SystemsEngineering 45
Hardware / Software allocation
Credit TRI: Garth Zeglin, Ben Brown
-
7/29/2019 System Engineering Overview
46/72
Wettergreen &
Nourbakhsh | SystemsEngineering 46
Concept Selection Strategy
1 Start w/ predecessor system, if it exists
2 Consider enough alternatives early
3 Winnow out outliers
4 Play a pro/con game with lots of numbers
-
7/29/2019 System Engineering Overview
47/72
-
7/29/2019 System Engineering Overview
48/72
Concept Validation Strategy
1 Design the right critical experiments
2 Run the experiments!
3 Iterate on as much as needed
-
7/29/2019 System Engineering Overview
49/72
Wettergreen & Nourbakhsh | Systems Engineering 49
Whole System Integration & Evaluation
Where dreams and reality diverge
-
7/29/2019 System Engineering Overview
50/72
-
7/29/2019 System Engineering Overview
51/72
-
7/29/2019 System Engineering Overview
52/72
Wettergreen & Nourbakhsh | Systems Engineering 52
Stages
1. Test Planning & Preparation
2. System Integration
3. Developmental System Testing
4. Operational Test and Evaluation
-
7/29/2019 System Engineering Overview
53/72
Wettergreen & Nourbakhsh | Systems Engineering 53
Stages
1. Test Planning & PreparationFirst review unforeseen changes: requirements, technologies
Test and Evaluation Master Plan (TEMP) DoD programs
This step mirrors System Development:
System Concept Test ConceptFunctional Design Test Plan
Detailed Design Test Procedures
2. System Integration
3. Developmental System Testing
4. Operational Test and Evaluation
-
7/29/2019 System Engineering Overview
54/72
Wettergreen & Nourbakhsh | Systems Engineering 54
Stages
1. Test Planning & Preparation
Operational Environment Demo considerations early phases: developer tests system
late phases: customer or test agent does testing,no bias
1. System Integration
2. Developmental System Testing
3. Operational Test and Evaluation
-
7/29/2019 System Engineering Overview
55/72
Wettergreen & Nourbakhsh | Systems Engineering 55
Stages
1. Test Planning & Preparation
2. System Integration Proceeds linearly, adding a couple of components at a time
Add subsystems intelligently to avoid complex input generators Therefore, start with components that have external inputs
Hard part: matching subsystem outputs to expected values
how do we determine realistic expectations?
3. Developmental System Testing
4. Operational Test and Evaluation
-
7/29/2019 System Engineering Overview
56/72
Wettergreen & Nourbakhsh | Systems Engineering 56
Stages
1. Test Planning & Preparation
2. System Integration Common Problem: the error is in error!
3. Developmental System Testing4. Operational Test and Evaluation
-
7/29/2019 System Engineering Overview
57/72
Wettergreen & Nourbakhsh | Systems Engineering 57
Student Exercise 1
System Integration: for yourproject, list the order in which
you ought to test and add components or subsystems to the
system, two or so at a time. Explain where the inputs will
come from during testing of each added pair or so of
components.
-
7/29/2019 System Engineering Overview
58/72
Wettergreen & Nourbakhsh | Systems Engineering 58
Stages
1. Test Planning & Preparation
2. System Integration
3. Developmental System Testing: the First Time Entire-system testing for performance vis a vis specifications
Also use this as a last-ditch chance to check against user needs
The customer often doesnt know what they need
Specify test conditions as completely as possible
Generate and use many test scenarios
4. Operational Test and Evaluation
-
7/29/2019 System Engineering Overview
59/72
Wettergreen & Nourbakhsh | Systems Engineering 59
Stages
1. Test Planning & Preparation
2. System Integration
3. Developmental System Testing Dealing with Discrepancies
1: Is it really broken consistently? Try again.
2: Is it really a problem? Think.
3: How do we fix it.
4: How comprehensively must we test the fix?
The law of unintended consequences can bite!
4. Operational Test and Evaluation
-
7/29/2019 System Engineering Overview
60/72
Wettergreen & Nourbakhsh | Systems Engineering 60
Student Exercise 2
Development System Testing: for yourproject, imagine the
first whole-system prototype. Just how will you test it what
*suite* of test scenarios will you try? How will you measure
its performance?
-
7/29/2019 System Engineering Overview
61/72
Wettergreen & Nourbakhsh | Systems Engineering 61
Stages
1. Test Planning & Preparation
2. System Integration
3. Developmental System Testing
4. Operational Test and Evaluation Validation of system design to operational requirements
NOT verification of system performance wrt specifications
(huh?)
-
7/29/2019 System Engineering Overview
62/72
Wettergreen & Nourbakhsh | Systems Engineering 62
Stages
1. Test Planning & Preparation
2. System Integration
3. Developmental System Testing
4. Operational Test and Evaluation Validation of system design to operational requirements
NOT verification of system performance wrt specifications
(huh?)
Translation: the customer takes the system for a test drive and makes sure that,
operationally, the system does what he/she needs. (the specs could be wrong, andnow it doesnt matter any longer)
-
7/29/2019 System Engineering Overview
63/72
Wettergreen & Nourbakhsh | Systems Engineering 63
Stages
1. Test Planning & Preparation
2. System Integration
3. Developmental System Testing
4. Operational Test and Evaluation Key areas of testing:
User interface (interface usability)
Environmental testing
-
7/29/2019 System Engineering Overview
64/72
Wettergreen & Nourbakhsh | Systems Engineering 64
Stages
1. Test Planning & Preparation
2. System Integration
3. Developmental System Testing
4. Operational Test and Evaluation Test Plan (part of TEMP)
- directions for conducting the operational test
- critical operation issues to be examined; metrics
- how much testing is enough? answer this question
-
7/29/2019 System Engineering Overview
65/72
Wettergreen & Nourbakhsh | Systems Engineering 65
Design to Minimize Failure
1. Minimalist Design: KISS
Toys: Furby
PPRK
-
7/29/2019 System Engineering Overview
66/72
Wettergreen & Nourbakhsh | Systems Engineering 66
Design to Minimize Failure
1. Minimalist Design: KISS
Toys: Furby
PPRK
2. Minimize weight
Space Shuttle
-
7/29/2019 System Engineering Overview
67/72
Wettergreen & Nourbakhsh | Systems Engineering 67
Design to Minimize Failure
1. Minimalist Design: KISS
Toys: Furby
PPRK
2. Minimize weight
Space Shuttle
3. Maximize ease of replacement / repair
The mighty razor
PER servoes
-
7/29/2019 System Engineering Overview
68/72
Wettergreen & Nourbakhsh | Systems Engineering 68
Design to Minimize Failure
Chassis / Housing
4. Minimize body stress
Trikebot
5. Minimize fatigue
DLP Projectors
-
7/29/2019 System Engineering Overview
69/72
Wettergreen & Nourbakhsh | Systems Engineering 69
Design to Minimize Failure
Mechanical / Kinematic
6. Capture every nut/bolt/screw (Loctite, wire, etc.)
Robinson R-22 helicopter
7. Joints: minimize number, service
maximize strength, expected life
-
7/29/2019 System Engineering Overview
70/72
Wettergreen & Nourbakhsh | Systems Engineering 70
Design to Minimize Failure
Electrical
8.Minimize connectors Nomad Scout ground short
9. Minimize wires
Fatigue results on PER IR wires
10. RF and Magnetics Aviary Raven story
-
7/29/2019 System Engineering Overview
71/72
Wettergreen & Nourbakhsh | Systems Engineering 71
Design to Minimize Failure
Computational
11. Minimize number of processors
USAR robot
12. Avoid operating systems The Trikebot II story
13. Write damn good code & characterize it
- Memory and time profiling
- Memory leak duty testing
-
7/29/2019 System Engineering Overview
72/72
What Not to Do
1 Never fix the same thing twice.
2 Dont assume single point of failure.
3 Never use a connector / crimp design without extensive testing.
4 Do not trust theoretical dynamics calculations.
5 Never leave out a diagnostic port. 6 Never check in code without cleanly recompiling.
7 Never malloc unnecessarily. Neverforkunnecessarily.
8 Never assume the world is kind (your robot will get kicked).
9 Never live withfeature creep.