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
Operation, Maintenance The System Life Cycle Define Requirements Retirement, Disposal & Replacement Investigate Alternatives Operation, Maintenance & Evaluation Full-Scale Design Integration & Test Implementation
The System Design Process
The vee Life-Cycle Model
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
Outcomes and Decisions Systems Engineering Process Requirements Management Element Plan and Organize Plans and Direction Control Analyze Problem Assess and Select Outcomes and Decisions Synthesize Solution Verify Solution Technical Element Physical Solutions
Systems Engineering Process 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 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 Tasks
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