Presentation is loading. Please wait.

Presentation is loading. Please wait.

CS599 Software Engineering for Embedded Systems1 Software Engineering for Real-Time: A Roadmap Presentation by: Mandar Samant Raghbir Singh Banwait.

Similar presentations


Presentation on theme: "CS599 Software Engineering for Embedded Systems1 Software Engineering for Real-Time: A Roadmap Presentation by: Mandar Samant Raghbir Singh Banwait."— Presentation transcript:

1 CS599 Software Engineering for Embedded Systems1 Software Engineering for Real-Time: A Roadmap Presentation by: Mandar Samant Raghbir Singh Banwait.

2 CS599 Software Engineering for Embedded Systems2 Introduction Real time systems are those that are required to produce the intended result at (or around) a specific point on the time scale. Real time systems are those that are required to produce the intended result at (or around) a specific point on the time scale. Hard and Soft real time systems. Hard and Soft real time systems. They have defined deadlines and concept of time. They have defined deadlines and concept of time. They are measured in both value and temporal domains. They are measured in both value and temporal domains. The time scale is defined by the application and its environment. The time scale is defined by the application and its environment. Software engineering methods for real time systems have to consider the application environment and the hardware systems. Software engineering methods for real time systems have to consider the application environment and the hardware systems. It is economically feasible to divide systems along functional hardware/software boundaries – use of components – composability. It is economically feasible to divide systems along functional hardware/software boundaries – use of components – composability.

3 CS599 Software Engineering for Embedded Systems3 Soft vs. Hard Real Time Systems Real time systems have deadlines for the service to be delivered. Real time systems have deadlines for the service to be delivered. Soft real time systems are those in which the failure to meet a deadline reduces the utility of the service. Soft real time systems are those in which the failure to meet a deadline reduces the utility of the service. –E.g. letter sorting machine Hard real time systems are those in which the failure to meet a deadline results in catastrophic consequences. Hard real time systems are those in which the failure to meet a deadline results in catastrophic consequences. –E.g. railways shunting, air traffic control systems. Distinction is based on characteristics, application, environment. Distinction is based on characteristics, application, environment. Initially deployed real time systems were soft real time systems which were often supported by backups to come into picture in case of failures. But now we see systems depending on real time systems. Initially deployed real time systems were soft real time systems which were often supported by backups to come into picture in case of failures. But now we see systems depending on real time systems. This increases the need to fail-safe hard real time systems and the software engineering techniques to build them This increases the need to fail-safe hard real time systems and the software engineering techniques to build them Many of the current techniques take value domain as the core domain and time domain is an addendum but timeliness should be a consequence of the process. Many of the current techniques take value domain as the core domain and time domain is an addendum but timeliness should be a consequence of the process.

4 CS599 Software Engineering for Embedded Systems4 Technology trends Real time system architectures are influenced by the capabilities and cost/performance of the hardware components. Real time system architectures are influenced by the capabilities and cost/performance of the hardware components. Industry is going through revolution and many new trends in hardware Industry is going through revolution and many new trends in hardware System on a chip System on a chip –A complete computer node including 32 bit CPU, 1 MB memory, I/O circuitry and network controller on a single silicon chip. –Transistors/cm 2 rate is increasing every day –Cost effective components. Smart MEMS Sensors Smart MEMS Sensors –Sensor/actuator + micro-controller (with interface circuitry, processing element, memory and network controller) –Advantages Weak signals can be dealt with without noise from external systems. Weak signals can be dealt with without noise from external systems. Local monitoring Local monitoring Interfacing is easier Interfacing is easier Reduction in complexity by hiding the component level failure issues Reduction in complexity by hiding the component level failure issues –Cost effective components

5 CS599 Software Engineering for Embedded Systems5 Technology trends contd. COTS components COTS components –Even DoD software development activity is dogged by RAD pressures coupled with economic pressures -> use of COTS components. Types of COTS components Types of COTS components –Hardware components Generic services e.g. distributed clock synchronization. Generic services e.g. distributed clock synchronization. –Software components Problem - temporal properties emerge only in context of a hardware environment Problem - temporal properties emerge only in context of a hardware environment User has to investigate the hardware models User has to investigate the hardware models Limited use in high-dependability applications Limited use in high-dependability applications –Hardware/Software components Standardized Communication Network Interface Standardized Communication Network Interface Both value and temporal domain interfaces Both value and temporal domain interfaces

6 CS599 Software Engineering for Embedded Systems6 Technology trends contd. INTERNET Connectivity INTERNET Connectivity –Access to information –Problems Lack of security Lack of security Unpredictable temporal behavior Unpredictable temporal behavior High-dependability systems High-dependability systems –Use of systems without backups –Loss due to a failure in a line is more than the cost of the fault-tolerant system –Fault tolerant systems mask the soft errors –On-call maintenance is expensive

7 CS599 Software Engineering for Embedded Systems7 What is required? Future is in distributed systems, connecting powerful SOC system nodes and smart sensor nodes Future is in distributed systems, connecting powerful SOC system nodes and smart sensor nodes Two-level design methodology Two-level design methodology –Design of architecture : Interactions and interfaces must be defined and frozen –Development of components : Development of components under the architectural constraints –Allows concurrent development of components –Top-down or bottom-up

8 CS599 Software Engineering for Embedded Systems8 What is required?contd. Predictable Communication Predictable Communication –Jitter caused by the network poses problems to real time application development –System network Connects system nodes Connects system nodes Provide fault tolerance Provide fault tolerance –Sensor network Connects system nodes to one or more sensors Connects system nodes to one or more sensors Replication Replication –Must provide deterministic communication and time precision Generic Fault Tolerance Generic Fault Tolerance –Current fault tolerant systems are application specific –Need for generic fault tolerance

9 CS599 Software Engineering for Embedded Systems9 Composability Component is a self contained subsystem providing service to its environment e.g. engine in an automobile Component is a self contained subsystem providing service to its environment e.g. engine in an automobile Internal structure is of no concern to the user of the component Internal structure is of no concern to the user of the component Properties that hold at component level hold at the system level when integrated Properties that hold at component level hold at the system level when integrated What is an ideal component ? What is an ideal component ? –A unit of service provision, timely processing and provision of the requested information –A unit of validation, must be possible to validate the component in both value and time domain –A unit of error containment, errors are not allowed to propagate across the interfaces –A unit of reuse, has standardized interfaces with flexibility to integrate in diverse systems –A unit of design and maintenance, so as to help in incremental evolution –The challenge is to develop the architecture and software design for distributed real-time systems that use composability –Prior services, component level service that are available out of the component –Emerging services, integration of components generates new services. These are a result of the information exchange between components

10 CS599 Software Engineering for Embedded Systems10 Composabilitycontd. Component Interfaces Component Interfaces –Real time service interface, timely real time service to the environment –Diagnostic and management interface, channel for diagnosis and management of the service –Configuration planning interface, for integration of components Driver Interface CC I/O I/O I/O I/O Assistant System CC Suspension CC Steering Manager CC Power Train CC Gateway Body CC Brake Manager CC Communication N/W Interface CNI Body Electronics Network

11 CS599 Software Engineering for Embedded Systems11 Composabilitycontd. The principles of composability The principles of composability –Independent development of components –Stability of prior services –Constructive integration Independent development of components Independent development of components –Must distinguish between system design and component design –Precise specification of interfaces in both value and time domain Stability of prior services Stability of prior services –The validated service of the component should not be compromised by integration into any system context –The prior service for some of them might require additional resources -> vulnerability to failures Constructive integration Constructive integration –Step by step incremental integration –Concurrent use of network resources, might increase latency which should be less than the maximum latency Replicated components must be replica determinate, same externally visible state Replicated components must be replica determinate, same externally visible state

12 CS599 Software Engineering for Embedded Systems12 Validation Safety critical systems need thorough validation and testing Safety critical systems need thorough validation and testing Product vs. process Product vs. process –The emphasis should be on product that is being developed or the process employed to develop the product ? –Composability will lay emphasis on the products or components –Validation outside the system context Worst case execution time Worst case execution time –Temporal firewalls identify the deadlines the component must meet –Upper bound for worst case execution time Simulation Simulation –Real time simulation of the system to validate performance and dependability Formal Verification Formal Verification –Formal verification of the algorithms form an evidence to state the dependability of a system

13 CS599 Software Engineering for Embedded Systems13 Conclusion The future will witness technological developments in the field of hardware and new demands in high-dependability applications and these will further change the environment for real time systems. The future will witness technological developments in the field of hardware and new demands in high-dependability applications and these will further change the environment for real time systems. The most important of these changes will be in the composable architectures and systematic validation of distributed fault-tolerant real time systems The most important of these changes will be in the composable architectures and systematic validation of distributed fault-tolerant real time systems

14 CS599 Software Engineering for Embedded Systems14 Review Strengths Strengths Weaknesses Weaknesses Relevance to embedded systems Relevance to embedded systems


Download ppt "CS599 Software Engineering for Embedded Systems1 Software Engineering for Real-Time: A Roadmap Presentation by: Mandar Samant Raghbir Singh Banwait."

Similar presentations


Ads by Google