©Sommerville 2000, Medvidovic 2006, Mejia 2009Systems EngineeringSlide 1 Systems Engineering l...
-
Upload
isaac-lambert -
Category
Documents
-
view
220 -
download
0
Transcript of ©Sommerville 2000, Medvidovic 2006, Mejia 2009Systems EngineeringSlide 1 Systems Engineering l...
©Sommerville 2000, Medvidovic 2006, Mejia 2009 Systems Engineering Slide 1
Systems Engineering
Designing, implementing, deploying and operating systems which include hardware, software and people
Objectives• To explain why system software is affected by broader system
engineering issues• To introduce the concept of emergent system properties such as
reliability and security• To explain why the systems environment must be considered in
the system design process
©Sommerville 2000, Medvidovic 2006, Mejia 2009 Systems Engineering Slide 2
What is a system? A purposeful collection of inter-related components
working together towards some common objective. A system may include software, mechanical,
electrical and electronic hardware and be operated by people.
System components are dependent on other system components
The properties and behaviour of system components are inextricably inter-mingled
©Sommerville 2000, Medvidovic 2006, Mejia 2009 Systems Engineering Slide 3
What is a system? A purposeful collection of inter-related components
working together towards some common objective. A system may include software, mechanical,
electrical and electronic hardware and be operated by people.
System components are dependent on other system components
The properties and behaviour of system components are inextricably inter-mingled
©Sommerville 2000, Medvidovic 2006, Mejia 2009 Systems Engineering Slide 4
Problems of systems engineering Large systems are usually designed to solve
‘nasty’ problems Systems engineering requires a great deal of
co-ordination across disciplines• Almost infinite possibilities for design trade-offs across
components
• Mutual distrust and lack of understanding across engineering disciplines
Systems must be designed to last many years in a changing environment
©Sommerville 2000, Medvidovic 2006, Mejia 2009 Systems Engineering Slide 5
Software and systems engineering The proportion of software in systems is
increasing• Software-driven general purpose electronics is replacing
special-purpose systems
Problems of systems engineering are similar to problems of software engineering
Software is (unfortunately) seen as a problem in systems engineering• Many large system projects have been delayed because of
software problems
©Sommerville 2000, Medvidovic 2006, Mejia 2009 Systems Engineering Slide 6
Emergent properties Properties of the system as a whole rather than
properties that can be derived from the properties of components
Emergent properties are a consequence of the relationships between system components
They can therefore only be assessed and measured once the components have been integrated into a system
©Sommerville 2000, Medvidovic 2006, Mejia 2009 Systems Engineering Slide 7
Examples of emergent properties The overall shape and size of a physical system
• This depends on the composition of components.
The reliability of the system • This depends on the reliability of system components and the
relationships between the components.
The usability of a system • This is a complex property which is not simply dependent on the
system hardware and software but also depends on the system operators and the environment where it is used.
©Sommerville 2000, Medvidovic 2006, Mejia 2009 Systems Engineering Slide 8
Types of emergent property Functional properties
• These appear when all the parts of a system work together to achieve some objective
• For example, a bicycle has the functional property of being a transportation device once it has been assembled from its components
Non-functional emergent properties• Examples are reliability, performance, safety, and security• These relate to the behaviour of the system in its operational
environment• They are often critical for computer-based systems as failure to
achieve some minimal defined level in these properties may make the system unusable.
©Sommerville 2000, Medvidovic 2006, Mejia 2009 Systems Engineering Slide 9
Because of component inter-dependencies, faults can be propagated through the system
System failures often occur because of unforeseen inter-relationships between components• Honey-baked ham
It is probably impossible to anticipate all possible component relationships• Hardware• Software• Operator
System reliability
©Sommerville 2000, Medvidovic 2006, Mejia 2009 Systems Engineering Slide 10
Reliability relationships Hardware failure can generate spurious signals
that are outside the range of inputs expected by the software
Software errors can cause alarms to be activated which cause operator stress and lead to operator errors
The environment in which a system is installed can affect its reliability• E.g., placement of a system intended to operate at room
temperature near an air conditioner
©Sommerville 2000, Medvidovic 2006, Mejia 2009 Systems Engineering Slide 11
The ‘shall-not’ properties Properties such as performance and reliability
can be measured However, some properties are properties that the
system should not exhibit• Safety - the system should not behave in an unsafe way
• Security - the system should not permit unauthorised use
Measuring or assessing these properties is very hard• How do you know you are safe or secure?
©Sommerville 2000, Medvidovic 2006, Mejia 2009 Systems Engineering Slide 12
System architecture modelling An architectural model presents an abstract view
of the sub-systems making up a system May include major information flows between
sub-systems Usually presented as a block diagram May identify different types of functional
component in the model
©Sommerville 2000, Medvidovic 2006, Mejia 2009 Systems Engineering Slide 13
Functional system components Sensor components Actuator components Computation components Communication components Co-ordination components Interface components All are now usually software controlled
©Sommerville 2000, Medvidovic 2006, Mejia 2009 Systems Engineering Slide 14
Hierarchies of Systems
Securitysystem
Heatingsystem
Lightingsystem
Powersystem
Wastesystem
Watersystem
Town
Street
Building
©Sommerville 2000, Medvidovic 2006, Mejia 2009 Systems Engineering Slide 15
Intruder alarm system
Alarmcontroller
Voicesynthesizer
Movementsensors
Siren
Doorsensors
Telephonecaller
Externalcontrol centre
©Sommerville 2000, Medvidovic 2006, Mejia 2009 Systems Engineering Slide 16
Component types in alarm system Sensor
• Movement sensor, Door sensor
Actuator• Siren
Communication• Telephone caller
Coordination• Alarm controller
Interface• Voice synthesizer
©Sommerville 2000, Medvidovic 2006, Mejia 2009 Systems Engineering Slide 17
Data comms.system
Transpondersystem
Radarsystem
Aircraftcomms.
Telephonesystem
Flight plandatabase
Backupposition
processor
Positionprocessor
Comms.processor
Backup comms.processor
Aircraftsimulation
system
Weather mapsystem
Accountingsystem
Controllerinfo. system
Controllerconsoles
Activity loggingsystem
ATC systemarchitecture
©Sommerville 2000, Medvidovic 2006, Mejia 2009 Systems Engineering Slide 18
Inter-disciplinary involvement
ATC systemsengineering
Electronicengineering
Electricalengineering
User interfacedesign
Mechanicalengineering
Architecture
Structuralengineering
Softwareengineering
Civilengineering
©Sommerville 2000, Medvidovic 2006, Mejia 2009 Systems Engineering Slide 19
Embedded systems Computing systems are everywhere Most of us think of “desktop” computers
• PC’s
• Laptops
• Mainframes
• Servers
But there’s another type of computing system• Far more common...
©Sommerville 2000, Medvidovic 2006, Mejia 2009 Systems Engineering Slide 20
Embedded systems overview Embedded computing systems
• Computing systems embedded within electronic devices
• Hard to define. Nearly any computing system other than a desktop computer
• Billions of units produced yearly, versus millions of desktop units
• Perhaps 50 per household and per automobile
Computers are in here...
and here...
and even here...
Lots more of these, though they cost a lot less each.
©Sommerville 2000, Medvidovic 2006, Mejia 2009 Systems Engineering Slide 21
A “short list” of embedded systems
And the list goes on and on
Anti-lock brakesAuto-focus camerasAutomatic teller machinesAutomatic toll systemsAutomatic transmissionAvionic systemsBattery chargersCamcordersCell phonesCell-phone base stationsCordless phonesCruise controlCurbside check-in systemsDigital camerasDisk drivesElectronic card readersElectronic instrumentsElectronic toys/gamesFactory controlFax machinesFingerprint identifiersHome security systemsLife-support systemsMedical testing systems
ModemsMPEG decodersNetwork cardsNetwork switches/routersOn-board navigationPagersPhotocopiersPoint-of-sale systemsPortable video gamesPrintersSatellite phonesScannersSmart ovens/dishwashersSpeech recognizersStereo systemsTeleconferencing systemsTelevisionsTemperature controllersTheft tracking systemsTV set-top boxesVCR’s, DVD playersVideo game consolesVideo phonesWashers and dryers
©Sommerville 2000, Medvidovic 2006, Mejia 2009 Systems Engineering Slide 22
Some common characteristics of embedded systems
Single-functioned• Executes a single program, repeatedly
Tightly-constrained• Low cost, low power, small, fast, etc.
Reactive and real-time• Continually reacts to changes in the system’s environment
• Must compute certain results in real-time without delay
©Sommerville 2000, Medvidovic 2006, Mejia 2009 Systems Engineering Slide 23
An embedded system example -- a digital camera
Microcontroller
CCD preprocessor Pixel coprocessorA2D
D2A
JPEG codec
DMA controller
Memory controller ISA bus interface UART LCD ctrl
Display ctrl
Multiplier/Accum
Digital camera chip
lens
CCD
• Single-functioned -- always a digital camera
• Tightly-constrained -- Low cost, low power, small, fast
• Reactive and real-time -- only to a small extent
©Sommerville 2000, Medvidovic 2006, Mejia 2009 Systems Engineering Slide 24
Design challenge – optimizing design metrics
Obvious design goal:• Construct an implementation with desired functionality
Key design challenge:• Simultaneously optimize numerous design metrics
Design metric• A measurable feature of a system’s implementation
• Optimizing design metrics is a key challenge
©Sommerville 2000, Medvidovic 2006, Mejia 2009 Systems Engineering Slide 25
Design challenge – optimizing design metrics
Common metrics• Unit cost: the monetary cost of manufacturing each copy of the
system, excluding NRE cost
• NRE cost (Non-Recurring Engineering cost): The one-time monetary cost of designing the system
• Size: the physical space required by the system
• Performance: the execution time or throughput of the system
• Power: the amount of power consumed by the system
• Flexibility: the ability to change the functionality of the system without incurring heavy NRE cost
©Sommerville 2000, Medvidovic 2006, Mejia 2009 Systems Engineering Slide 26
Design challenge – optimizing design metrics
Common metrics (continued)• Time-to-prototype: the time needed to build a working version of the
system
• Time-to-market: the time required to develop a system to the point that it can be released and sold to customers
• Maintainability: the ability to modify the system after its initial release
• Correctness, safety, many more
©Sommerville 2000, Medvidovic 2006, Mejia 2009 Systems Engineering Slide 2727
Design metric competition -- improving one may worsen others
Expertise with both software and hardware is needed to optimize design metrics
• Not just a hardware or software expert, as is common
• A designer must be comfortable with various technologies in order to choose the best for a given application and constraints
SizePerformance
Power
NRE cost
Microcontroller
CCD preprocessor Pixel coprocessorA2D
D2A
JPEG codec
DMA controller
Memory controller ISA bus interface UART LCD ctrl
Display ctrl
Multiplier/Accum
Digital camera chip
lens
CCD
Hardware
Software
©Sommerville 2000, Medvidovic 2006, Mejia 2009 Systems Engineering Slide 28
Robotic SystemRobotic System
Proxímetro IR
Cámara de visión
(pan-and-tilt)
Unidad inercial
Módem BluetoothBlueSMiRF (WRL-00582)
Video
©Sommerville 2000, Medvidovic 2006, Mejia 2009 Systems Engineering Slide 29
Robotic System
• Mecanica + Control + Computacion
– Ingeniería de reversa (servomecanismos, controlador, programación)
– Mecánicas (cabeza, tobillos), comunicación inalámbrica, hardware para control,
– Sistema de programación, interfaz bidireccional para los servos…
• Percepción
– Sensores: Visión, Infrarrojos, Unidad Inercial
– Reconstrucción 3D Monocular
• SLAM Visual
– Odometría visual, Navegación Inercial (IMU), SLAM Visual, etc.
• Obtención de Modelos y Desarrollo de Simulador
– Geométrico, Cinemático, Dinámico
• Control Cinemático y Dinámico
– Control articular, control cinemático, control dinámico (ZMP, FRI)
• Aplicaciones
– Reconocer pelota, Evitar y reconocer obstáculos y marcas, Caminar hacia la pelota, conducir la pelota, Penalties (tirar y parar), coordinacion con otros robots, Pruebas RoboCup, Futbolistas.
©Sommerville 2000, Medvidovic 2006, Mejia 2009 Systems Engineering Slide 30
Robotic System ApplicationRobotic System Application
©Sommerville 2000, Medvidovic 2006, Mejia 2009 Systems Engineering Slide 32
Web-Based Software System
http://people.csail.mit.edu/hal/mobile-apps-spring-08/videos/flare.mpg
©Sommerville 2000, Medvidovic 2006, Mejia 2009 Systems Engineering Slide 33
Key points System engineering involves input from a range of
disciplines Emergent properties are properties that are characteristic
of the system as a whole and not its component parts System architectural models show major sub-systems and
inter-connections. They are usually described using block diagrams
System component types are sensor, actuator, computation, co-ordination, communication and interface
©Sommerville 2000, Medvidovic 2006, Mejia 2009 Systems Engineering Slide 34
Systems engineering is hard! There will never be an easy answer to the problems of complex system development
Software engineers do not have all the answers but may be better at taking a systems viewpoint
Disciplines need to recognise each other’s strengths and actively rather than reluctantly cooperate in the systems engineering process
Conclusion