smart home technologies system engineering. system engineering in intelligent environments...
TRANSCRIPT
Smart Home Technologies
System Engineering
System Engineering in Intelligent Environments Intelligent Environments are complex
systems consisting of various components Building infrastructure Sensor and actuator hardware Database system Prediction and decision making Interaction with inhabitants
Design and construction of such systems requires a systematic approach Precise specifications are important System has to be treated as a whole
The Goals of System Engineering
Increase the probability of success Assure that the design addresses the actual
problems Ensure that the desired design is technologically
possible Reduce risk
Assess the potential risks Refine design to address risks
Reduce total-life-cycle cost Reduce the likelihood of large-scale redesign
System Engineering System engineering addresses the
complete system as a whole “Put software into context”
Relate software to hardware Address work flow and other human activities Business model
Business Process Engineering Focus on a business enterprise
Product Engineering Focus on a product to be built
System Elements Systems generally consist of a large
number of elements and processes that combine in various ways to address a given problem Software Hardware People Database Documentation Procedures
DefineRequirements
DefineRequirements
InvestigateAlternativesInvestigateAlternatives
Full-ScaleDesign
Full-ScaleDesign
ImplementationImplementationIntegration
& TestIntegration
& Test
Operation, Maintenance& Evaluation
Operation, Maintenance& Evaluation
Retirement,Disposal &
Replacement
Retirement,Disposal &
Replacement
The System Life Cycle
The System Design Process
The vee Life-Cycle Model
MissionAnalysis
SystemRequirements
FunctionalDecomposition
PhysicalDecomposition
Operation &Retirement
FinalSystem Test
VerifySubsystems
TestComponents
BuildComponents
Test Plan
Verification Plan
Validation Plan
Continuous Quality Improvement Plan
The design downstroke and the manufacturing upstroke
System Engineering System engineering is aimed at
managing the system life cycle throughout the specification, design, and construction phases In a business this has to involve
management, engineering, and human factors concerns
Requires understanding of all the components that make up a system
Management Element
Plan andOrganize
Control
Technical Element
AnalyzeProblem
SynthesizeSolutionVerify
Solution
Assess and
Select
Plans and Direction
Outcomes and Decisions
Requirements
Physical Solutions
Systems Engineering Process
Systems Engineering Process
CustomerNeeds
State theProblem
InvestigateAlternatives
Model theSystem Integrate Launch
the System Outputs
Re-evaluate Re-evaluate Re-evaluate Re-evaluate Re-evaluate
AssessPerformance
Re-evaluate
Many steps are involved in systems engineering Requirements engineering System modeling Risk analysis System integration
Steps are not serial but rather parallel and highly iterative
Requirements Engineering Requirements engineering attempts to
specify a system that meets the customer’s needs and expectations. Requirements elicitation Requirements analysis Specification Modeling Validation Management
Requirements Discovery
WriteSystem
Requirements
RewriteRequirements
No
ProblemStatement
Ask Why Each
RequirementIs Needed
RewriteRequirements
DefineFiguresof Merit
Validatethe Set of
RequirementsValid? Yes
CustomerConcurs?
No
ValidatedRequirements
System requirements have to be determined in collaboration with the customer Preferences
Low energy consumption Automatic taping of favorite TV shows
Mandatory requirements Maintain temperature Prevent intrusion
Requirements Elicitation Eliciting requirements from customers is
an important and difficult process that poses many challenges Scope:
Defining the system boundary Lack of clarity on overall objectives
Understanding: Customer not skilled Doesn’t state the obvious Requirements ambiguous, conflicting, …
Volatility: Requirements change over time
Requirements Elicitation
Requirements elicitation process: Assess feasibility Identify people and their roles Define technical environment Identify domain constraints Select elicitation methods Solicit participation from several perspectives Identify ambiguous requirements Create usage scenarios
Requirements Specification
Requirements specifications have to be formalized so that they can be used in the design and construction process Elements of a Specification:
Written documents Graphical models Formal mathematical models
Final work product: System Specification
Requirements Validation To assure that requirements
specifications can be used and will lead to good designs they have to be evaluated
Are requirements stated clearly? Are requirements verified by an identified source? Are requirements consistent with overall objective? Are requirements consistent with domain constraints? Are requirements essential to overall objective? Are requirements bounded and unambiguous? Are requirements conflicting with other requirements? Are requirements sufficiently abstract? Are requirements achievable in the technical
environment? Are requirements testable, with specified tests? Are requirements traceable to the system model?
System Modeling
Once requirements are specified, systems engineering aims at forming a system model at various resolutions At each resolution:
Define processes Represent process behavior List process assumptions Define external and internal inputs Model linkages (control, data, I/O)
System Modeling
System modeling identifies and defines the main aspects and specifications of the system Assumptions
range of allowable data Simplifications
partition data into categories Limitations
bounds on functionality Constraints
guide the implementation Preferences
indicate preferred architecture (data, functions, technology)
System Modeling Part of the role of system modeling is to
translate the requirements specifications into a possible design and to identify potential problems Evaluate the system’s components in
relation to one another Link requirements to system components Validate assumptions about data flow, work
flow, input / output, ...
Risk Management Risk assessment and management
identifies and assesses different risks in the development process and of the product Product risk
Product performance Reliability of home access Consistency of AC system Cost of door authentication system
Project risk Cost, schedule and process performance
Duration of the technology development Cost of production
Safety and environmental risk Risks to the public
Reliability of outdoor robots
Risk Management
Risk management in industrial practice is a tradeoff between costs and risks
“Good risk management will not prevent bad things from happening. But when bad things happen, good risk management will have anticipated them and will reduce their negative effects”
System Engineering in Risk-Prone Environments
At NASA, the probability of mission failure was about 10-2, but the severity was near 1. The product of these numbers was big, so they did lots of systems engineering.
At a big software house, the probability that a new system will destroy user files was about 1, but their perceived severity was around 10-6. They did not care if J.Q. Public lost a few files. Therefore, they did little systems engineering.
Construction And Integration
The construction phase attempts to take the models and specifications and translate them into a product Construction focuses on the details
Implementation of individual elements
Goals: Implement the architectures and infrastructure Integrate and deploy the completed system
Requirements Management Assurance of conformity of models and
constructed products with the requirements is an important part of system engineering Active throughout the life-cycle Identify, control, and track:
New requirements Changes to requirements
Tools: Traceability Table
Relates requirements to features, source, dependency, subsystem, interface, etc.
System Engineering TasksState the problem Design the system Produce
documentation Understand customer needs
Sensitivity analyses
Lead teams
Discover requirements
Assess & manage risk
Assess performance
Validate requirements
Reliability analyses
Prescribe tests
Investigate alternatives
Integrate system components
Conduct reviews
Define quantitative measures
Design & manage interfaces
Verify requirements
Model the system Execute configuration management
Perform total system test
Functional decomposition
Project management
Re-evaluate & Improve quality
Conclusions System engineering is important for the
successful construction of large scale systems Assure requirements are specified correctly
Engineers and scientists do not necessarily know what inhabitants of intelligent environments really need
Model the system to assess feasibility Often intended features are not feasible or too costly
The self-regulating home is not (yet) technologically possible Assess economic viability
To make intelligent environments reality they have to be economical and fit the requirements of users
Assess project risks and track requirements Economic as well as physical risks to inhabitants have to
be taken into account to field a system A good engineer in intelligent environments
has to have some understanding of all aspects of system engineering