Upload
zul-hairey
View
216
Download
0
Embed Size (px)
Citation preview
8/9/2019 E5144 UNIT 2 Comp Processing Problems
1/8
2.0 COMPUTER PROCESSING PROBLEMS
2.1 Real Time Control Process
Real-time Control System (RCS) is a Reference ModelArchitecture, suitable for manysoftware-intensive, real-time control problem domains. RCS is areference modelarchitecture that defines the types of functions that are required in a real-time intelligent
control system, and how these functions are related to each other.
Example of a RCS-3 application of a machining workstation containing a machine tool, part buffer, and robotwith
vision system. RCS-3 produces a layered graph of processing nodes, each of which contains a Task Decomposition(TD), World Modeling (WM), and Sensory Processing (SP) module. These modules are richly interconnected to eachother by a communications system.
RCS is not asystem design, nor is it a specification of how to implement specificsystems. RCS prescribes a hierarchical control modelbased on a set of well-founded
engineering principles to organize system complexity. All the control nodes at all levels
share a generic node model.
Also RCS provides a comprehensive methodology for designing, engineering,
integrating, and testing control systems. Architects iteratively partition system tasks and
information into finer, finite subsets that are controllable and efficient. RCS focuses on
intelligent control that adapts to uncertain and unstructured operating environments. Thekey concerns are sensing, perception, knowledge, costs, learning, planning, and
execution.
A reference model architecture is a canonical form, not a system design specification.
The RCS reference model architecture combines real-time motion planning and controlwith high level taskplanning,problem solving, world modeling, recursive state
estimation, tactile and visual image processing, and acoustic signature analysis. In fact,
the evolution of the RCS concept has been driven by an effort to include the bestproperties and capabilities of most, if not all, the intelligent control systems currently
1
http://en.wikipedia.org/wiki/Reference_Modelhttp://en.wikipedia.org/wiki/Enterprise_architecturehttp://en.wikipedia.org/wiki/Enterprise_architecturehttp://en.wikipedia.org/wiki/Reference_modelhttp://en.wikipedia.org/wiki/Reference_modelhttp://en.wikipedia.org/wiki/Control_systemhttp://en.wikipedia.org/wiki/Control_systemhttp://en.wikipedia.org/wiki/Machininghttp://en.wikipedia.org/wiki/Robothttp://en.wikipedia.org/wiki/Robothttp://en.wikipedia.org/wiki/Robothttp://en.wikipedia.org/wiki/Machine_visionhttp://en.wikipedia.org/wiki/Machine_visionhttp://en.wikipedia.org/wiki/Graph_(mathematics)http://en.wikipedia.org/wiki/Graph_(mathematics)http://en.wikipedia.org/wiki/Functional_decompositionhttp://en.wikipedia.org/wiki/Sensorhttp://en.wikipedia.org/wiki/System_designhttp://en.wikipedia.org/wiki/System_designhttp://en.wikipedia.org/wiki/Systemhttp://en.wikipedia.org/wiki/Hierarchical_control_systemhttp://en.wikipedia.org/wiki/Hierarchical_control_systemhttp://en.wikipedia.org/wiki/Engineeringhttp://en.wikipedia.org/wiki/Complexityhttp://en.wikipedia.org/wiki/Methodologyhttp://en.wikipedia.org/wiki/Intelligent_controlhttp://en.wikipedia.org/wiki/System_designhttp://en.wikipedia.org/wiki/Planninghttp://en.wikipedia.org/wiki/Planninghttp://en.wikipedia.org/wiki/Problem_solvinghttp://en.wikipedia.org/w/index.php?title=World_modeling&action=edit&redlink=1http://en.wikipedia.org/wiki/Image_processinghttp://en.wikipedia.org/wiki/File:RCS-3_application_of_a_machining_workstation.jpghttp://en.wikipedia.org/wiki/File:RCS-3_application_of_a_machining_workstation.jpghttp://en.wikipedia.org/wiki/Reference_Modelhttp://en.wikipedia.org/wiki/Enterprise_architecturehttp://en.wikipedia.org/wiki/Reference_modelhttp://en.wikipedia.org/wiki/Control_systemhttp://en.wikipedia.org/wiki/Machininghttp://en.wikipedia.org/wiki/Robothttp://en.wikipedia.org/wiki/Machine_visionhttp://en.wikipedia.org/wiki/Graph_(mathematics)http://en.wikipedia.org/wiki/Functional_decompositionhttp://en.wikipedia.org/wiki/Sensorhttp://en.wikipedia.org/wiki/System_designhttp://en.wikipedia.org/wiki/Systemhttp://en.wikipedia.org/wiki/Hierarchical_control_systemhttp://en.wikipedia.org/wiki/Engineeringhttp://en.wikipedia.org/wiki/Complexityhttp://en.wikipedia.org/wiki/Methodologyhttp://en.wikipedia.org/wiki/Intelligent_controlhttp://en.wikipedia.org/wiki/System_designhttp://en.wikipedia.org/wiki/Planninghttp://en.wikipedia.org/wiki/Problem_solvinghttp://en.wikipedia.org/w/index.php?title=World_modeling&action=edit&redlink=1http://en.wikipedia.org/wiki/Image_processing8/9/2019 E5144 UNIT 2 Comp Processing Problems
2/8
known in the literature, from subsumption to SOAR, from blackboards to object-oriented
programming.
RCS (Real-time Control System) is developed into an intelligent agentarchitecturedesigned to enable any level of intelligent behavior, up to and including human levels of
performance. RCS was inspired 30 years ago by a theoretical model of the cerebellum,the portion of the brain responsible for fine motor coordination and control of conscious
motions. It was originally designed for sensory-interactive goal-directed control oflaboratory manipulators. Over three decades, it has evolved into a real-time control
architecture for intelligent machine tools, factory automation systems, and intelligent
autonomous vehicles.
RCS applies to many problem domains including Manufacturing examples andVehiclesystems examples. Systems based on the RCS architecture have been designed and
implemented to varying degrees for a wide variety of applications that include loading
and unloading of parts and tools in machine tools, controlling machining workstations,
performing robotic deburring and chamfering, and controlling space station telerobots,multiple autonomous undersea vehicles, unmanned land vehicles, coal mining automation
systems, postal service mail handling systems, and submarine operational automationsystems.
RCS Methodology
In the figure, an example of the RCSmethodology for designing a control systemfor
autonomous onroad driving under everyday traffic conditions is summarized in six steps.
The six steps of the RCS methodologyfor knowledge acquisition and representation.
2
http://en.wikipedia.org/wiki/Intelligent_agenthttp://en.wikipedia.org/wiki/Agent_architecturehttp://en.wikipedia.org/wiki/Manufacturinghttp://en.wikipedia.org/wiki/Vehiclehttp://en.wikipedia.org/wiki/Vehiclehttp://en.wikipedia.org/wiki/Vehiclehttp://en.wikipedia.org/wiki/Methodologyhttp://en.wikipedia.org/wiki/Methodologyhttp://en.wikipedia.org/wiki/Control_systemhttp://en.wikipedia.org/wiki/Control_systemhttp://en.wikipedia.org/wiki/RCS_methodologyhttp://en.wikipedia.org/wiki/RCS_methodologyhttp://en.wikipedia.org/wiki/File:RCS_methodology_for_knowledge_acquisition_and_representation.jpghttp://en.wikipedia.org/wiki/File:RCS_methodology_for_knowledge_acquisition_and_representation.jpghttp://en.wikipedia.org/wiki/Intelligent_agenthttp://en.wikipedia.org/wiki/Agent_architecturehttp://en.wikipedia.org/wiki/Manufacturinghttp://en.wikipedia.org/wiki/Vehiclehttp://en.wikipedia.org/wiki/Vehiclehttp://en.wikipedia.org/wiki/Methodologyhttp://en.wikipedia.org/wiki/Control_systemhttp://en.wikipedia.org/wiki/RCS_methodology8/9/2019 E5144 UNIT 2 Comp Processing Problems
3/8
Step 1 consists of an intensive analysis of domain knowledge from training
manuals and subject matter experts. Scenarios are developed and analyzed for
each task and subtask. The result of this step is a structuring of proceduralknowledge into a task decomposition tree with simpler and simpler tasks at each
echelon. At each echelon, a vocabulary of commands (action verbs with goal
states, parameters, and constraints) is defined to evoke task behavior at eachechelon.
Step 2 defines a hierarchical structure of organizational units that will execute the
commands defined in step 1. For each unit, its duties and responsibilities inresponse to each command are specified. This is analogous to establishing a work
breakdown structure for a development project, or defining an organizational
chart for a business or military operation.
Step 3 specifies the processing that is triggered within each unit upon receipt of aninput command. For each input command, a state-graph (or statetable or extended
finite state automaton) is defined that provides a plan (or procedure for making a
plan) for accomplishing the commanded task. The input command selects (or
causes to be generated) an appropriate state-table, the execution of whichgenerates a series of output commands to units at the next lower echelon. The
library of state-tables contains a set of statesensitive procedural rules that identifyall the task branching conditions and specify the corresponding state transition
and output command parameters.
The result of step 3 is that each organizational unit has for each input command a state-
table of ordered production rules, each suitable for execution by an extended finite stateautomaton (FSA). The sequence of output subcommands required to accomplish the input
command is generated by situations (i.e., branching conditions) that cause the FSA to
transition from one output subcommand to the next.
In step 4, each of the situations that are defined in step 3 are analyzed to revealtheir dependencies on world and task states. This step identifies the detailed
relationships between entities, events, and states of the world that cause a
particular situation to be true.
In step 5, we identify and name all of the objects and entities together with their
particular features and attributes that are relevant to detecting the above world
states and situations.
In step 6, we use the context of the particular task activities to establish thedistances and, therefore, the resolutions at which the relevant objects and entities
must be measured and recognized by the sensory processing component. This
establishes a set of requirements and/or specifications for the sensor system tosupport each subtask activity.
3
8/9/2019 E5144 UNIT 2 Comp Processing Problems
4/8
Real-time Control System Software
Real-Time Control Systems Software.
Based on the RCS Reference Model Architecture the NIST has developed aReal-time
Control System Software Library. This is an archive of free C++, Java and Ada code,
scripts, tools, makefiles, and documentation developed to aid programmers of software tobe used in real-time control systems, especially those using the Reference Model
Architecture for Intelligent Systems Design.
Applications
The ISAM Framework is an RCS application to the Manufacturing Domain.
The 4D-RCS Reference Model Architecture is the RCS application to the Vehicle
Domain, and
The NASA/NBS Standard Reference Model for Telerobot Control Systems
Architecture (NASREM) is an application to the Space Domain.
2.2 Computer Processing Implementations2.2.1 Binary control and sequence
2.2.2 Control loop
Control theory is an interdisciplinary branch ofengineering and mathematics, that dealswith the behavior ofdynamical systems. The desired output of a system is called the
reference. When one or more output variables of a system need to follow a certain
reference over time, acontrollermanipulates the inputs to a system to obtain the desiredeffect on the output of the system.
The concept of the feedback loop to control the dynamic behavior of the system: this is negative feedback, because the sensed value issubtracted from the desired value to create the error signal which is amplified by the controller.
4
http://en.wikipedia.org/wiki/Real-time_Control_System_Softwarehttp://en.wikipedia.org/wiki/Real-time_Control_System_Softwarehttp://en.wikipedia.org/wiki/Real-time_Control_System_Softwarehttp://en.wikipedia.org/wiki/Real-time_control_systemhttp://en.wikipedia.org/wiki/4D-RCS_Reference_Model_Architecturehttp://en.wikipedia.org/wiki/Engineeringhttp://en.wikipedia.org/wiki/Mathematicshttp://en.wikipedia.org/wiki/Dynamical_systemhttp://en.wikipedia.org/wiki/Controller_(control_theory)http://en.wikipedia.org/wiki/Controller_(control_theory)http://en.wikipedia.org/wiki/Controller_(control_theory)http://upload.wikimedia.org/wikipedia/commons/2/24/Feedback_loop_with_descriptions.svghttp://en.wikipedia.org/wiki/File:Real-Time_Control_Systems_Library_2.pnghttp://en.wikipedia.org/wiki/File:Real-Time_Control_Systems_Library_2.pnghttp://en.wikipedia.org/wiki/Real-time_Control_System_Softwarehttp://en.wikipedia.org/wiki/Real-time_Control_System_Softwarehttp://en.wikipedia.org/wiki/Real-time_control_systemhttp://en.wikipedia.org/wiki/4D-RCS_Reference_Model_Architecturehttp://en.wikipedia.org/wiki/Engineeringhttp://en.wikipedia.org/wiki/Mathematicshttp://en.wikipedia.org/wiki/Dynamical_systemhttp://en.wikipedia.org/wiki/Controller_(control_theory)8/9/2019 E5144 UNIT 2 Comp Processing Problems
5/8
An example
Consider an automobile'scruise control, which is a device designed to maintain a
constant vehicle speed; the desiredorreference speed, provided by the driver. Thesystem in this case is the vehicle. The system output is the vehicle speed, and the control
variable is the engine's throttle position which influences engine torque output.
A primitive way to implement cruise control is simply to lock the throttle position when
the driver engages cruise control. However, on mountain terrain, the vehicle will slowdown going uphill and accelerate going downhill. In fact, any parameter different than
what was assumed at design time will translate into a proportional error in the output
velocity, including exact mass of the vehicle, wind resistance, and tire pressure. This type
of controller is called anopen-loop controllerbecause there is no direct connectionbetween the output of the system (the vehicle's speed) and the actual conditions
encountered; that is to say, the system does not and can not compensate for unexpected
forces.
In a closed-loop control system, a sensor monitors the output (the vehicle's speed) and
feeds the data to a computer which continuously adjusts the control input (the throttle) as
necessary to keep the control error to a minimum (that is, to maintain the desired speed).
Feedback on how the system is actually performing allows the controller (vehicle's onboard computer) to dynamically compensate for disturbances to the system, such as
changes in slope of the ground or wind speed. An ideal feedback control system cancels
out all errors, effectively mitigating the effects of any forces that might or might not ariseduring operation and producing a response in the system that perfectly matches the user's
wishes.
2.2.3 System Integration
In engineering, system integration is the bringing together of the componentsubsystemsinto one system and ensuring that the subsystems function together as a system. In
information technology, systems integration is the process of linking together different
computing systems and software applications physically or functionally.[1]
The system integratorbrings together discrete systems utilizing a variety of techniquessuch as computer networking, enterprise application integration,business process
managementor manualprogramming
A system is an aggregation of subsystems cooperating so that the system is able to deliverthe over-arching functionality. System integration involves integrating existing (oftendisparate) subsystems. The subsystems will have interfaces. Integration involves joining
the subsystems together by gluing their interfaces together. If the interfaces dont
directly interlock, the glue between them can provide the required mappings. Systemintegration is about determining the required glue.
5
http://en.wikipedia.org/wiki/Cruise_controlhttp://en.wikipedia.org/wiki/Cruise_controlhttp://en.wikipedia.org/wiki/Throttlehttp://en.wikipedia.org/wiki/Torquehttp://en.wikipedia.org/wiki/Open-loop_controllerhttp://en.wikipedia.org/wiki/Open-loop_controllerhttp://en.wikipedia.org/wiki/Engineeringhttp://en.wikipedia.org/wiki/Subsystemhttp://en.wikipedia.org/wiki/Subsystemhttp://en.wikipedia.org/wiki/System_integration#cite_note-0%23cite_note-0http://en.wikipedia.org/wiki/System_integratorhttp://en.wikipedia.org/wiki/Computer_networkinghttp://en.wikipedia.org/wiki/Enterprise_application_integrationhttp://en.wikipedia.org/wiki/Business_process_managementhttp://en.wikipedia.org/wiki/Business_process_managementhttp://en.wikipedia.org/wiki/Business_process_managementhttp://en.wikipedia.org/wiki/Business_process_managementhttp://en.wikipedia.org/wiki/Programminghttp://en.wikipedia.org/wiki/Programminghttp://en.wikipedia.org/wiki/Cruise_controlhttp://en.wikipedia.org/wiki/Throttlehttp://en.wikipedia.org/wiki/Torquehttp://en.wikipedia.org/wiki/Open-loop_controllerhttp://en.wikipedia.org/wiki/Engineeringhttp://en.wikipedia.org/wiki/Subsystemhttp://en.wikipedia.org/wiki/System_integration#cite_note-0%23cite_note-0http://en.wikipedia.org/wiki/System_integratorhttp://en.wikipedia.org/wiki/Computer_networkinghttp://en.wikipedia.org/wiki/Enterprise_application_integrationhttp://en.wikipedia.org/wiki/Business_process_managementhttp://en.wikipedia.org/wiki/Business_process_managementhttp://en.wikipedia.org/wiki/Programming8/9/2019 E5144 UNIT 2 Comp Processing Problems
6/8
System integration is also about adding value to the system, capabilities that are possible
because of interactions between subsystems.
In todays connected world, the role of system integration engineers is becoming moreand more important: more and more systems are designed to connect together, both
within the system under construction and to systems that are already deployed.
Methods of integration
Vertical Integration is the process of integrating subsystems according to their
functionality by creating functional entities also referred to as silos. The benefit of thismethod is that the integration is performed quickly and involves only the necessary
vendors, therefore, this method is cheaper in the short term. On the other hand, cost-of-
ownership can be substantially higher than seen in other methods, since in case of new orenhanced functionality, the only possible way to implement (scale the system) would be
by implementing another silo. Reusing subsystems to create another functionality is not
possible.
Star Integration or also known as Spaghetti Integration is a process of integration ofthe systems where each system is interconnected to each of the remaining subsystems.
When observed from the perspective of the subsystem which is being integrated, the
connections are reminiscent of a star, but when the overall diagram of the system ispresented, the connections look like spaghetti, hence the name of this method. The cost
varies due to the interfaces which subsystems are exporting. In a case where the
subsystems are exporting heterogeneous or proprietary interfaces, the integration cost can
substantially rise. Time and costs needed to integrate the systems increase exponentiallywhen adding additional subsystems. From the feature perspective, this method often
seems preferable, due to the extreme flexibility of the reuse of functionality.
Horizontal Integration orEnterprise Service Bus (ESB) is an integration method inwhich a specialized subsystem is dedicated to communication between other subsystems.
This allows cutting the number of connections (interfaces) to only one per subsystem
which will connect directly to the ESB. The ESB is capable of translating the interface
into another interface. This allows cutting the costs of integration and provides extremeflexibility. With systems integrated using this method, it is possible to completely replace
one subsystem with another subsystem which provides similar functionality but exports
different interfaces, all this completely transparent for the rest of the subsystems. Theonly action required is to implement the new interface between the ESB and the new
subsystem.
The horizontal scheme can be misleading, however, if it is thought that the cost of
intermediate data transformation or the cost of shifting responsibility over business logiccan be avoided.
6
http://en.wikipedia.org/wiki/Information_silohttp://en.wikipedia.org/wiki/Enterprise_Service_Bushttp://en.wikipedia.org/wiki/Information_silohttp://en.wikipedia.org/wiki/Enterprise_Service_Bus8/9/2019 E5144 UNIT 2 Comp Processing Problems
7/8
2.2.4 Critical-time operation
In computer science, real-time computing (RTC), or "reactive computing", is the studyofhardware and softwaresystems that are subject to a "real-time constraint"i.e.,
operational deadlines from event to system response. By contrast, a non-real-time systemis one for which there is no deadline, even if fast response or high performance is desired
or preferred. The needs of real-time software are often addressed in the context ofreal-time operating systems, and synchronous programming languages, which provide
frameworks on which to build real-time application software.
A real time system may be one where its application can be considered (within context)
to be mission critical. The anti-lock brakes on a car are a simple example of a real-timecomputing system the real-time constraint in this system is the short time in which the
brakes must be released to prevent the wheel from locking. Real-time computations can
be said to havefailedif they are not completed before their deadline, where their deadline
is relative to an event. A real-time deadline must be met, regardless ofsystem load.
Hard and soft real-time systems
A system is said to be real-time if the total correctness of an operation depends not only
upon its logical correctness, but also upon the time in which it is performed. The classicalconception is that in a hard real-time orimmediate real-time system, the completion of
an operation after its deadline is considered useless - ultimately, this may cause a critical
failure of the complete system. A soft real-time system on the other hand will tolerate
such lateness, and may respond with decreased service quality (e.g., omitting frameswhile displaying a video).
Hard real-time systems are used when it is imperative that an event is reacted to within a
strict deadline. Such strong guarantees are required of systems for which not reacting in acertain interval of time would cause great loss in some manner, especially damaging the
surroundings physically or threatening human lives (although the strict definition is
simply that missing the deadline constitutes failure of the system). For example, acar
engine control system is a hard real-time system because a delayed signal may causeengine failure or damage. Other examples of hard real-time embedded systems include
medical systems such as heartpacemakers and industrial process controllers. Hard real-
time systems are typically found interacting at a low level with physical hardware, inembedded systems. Early video game systems such as theAtari 2600andCinematronics
vector graphics had hard real-time requirements because of the nature of the graphics and
timing hardware.
In the context ofmultitasking systems the scheduling policy is normally priority driven(pre-emptive schedulers). Other scheduling algorithms includeEarliest Deadline First,
which, ignoring the overhead ofcontext switching, is sufficient for system loads of less
than 100% [1]. New overlay scheduling systems, such as an Adaptive Partition Scheduler
7
http://en.wikipedia.org/wiki/Computer_sciencehttp://en.wikipedia.org/wiki/Computer_hardwarehttp://en.wikipedia.org/wiki/Computer_softwarehttp://en.wikipedia.org/wiki/Computer_softwarehttp://en.wikipedia.org/wiki/Real-time_operating_systemhttp://en.wikipedia.org/wiki/Real-time_operating_systemhttp://en.wikipedia.org/wiki/Real-time_operating_systemhttp://en.wikipedia.org/wiki/Synchronous_programming_languagehttp://en.wikipedia.org/wiki/Mission_criticalhttp://en.wikipedia.org/wiki/Mission_criticalhttp://en.wikipedia.org/wiki/Anti-lock_brakeshttp://en.wikipedia.org/wiki/Load_(computing)http://en.wikipedia.org/wiki/Load_(computing)http://en.wikipedia.org/wiki/Automobilehttp://en.wikipedia.org/wiki/Automobilehttp://en.wikipedia.org/wiki/Enginehttp://en.wikipedia.org/wiki/Artificial_pacemakerhttp://en.wikipedia.org/wiki/Embedded_systemhttp://en.wikipedia.org/wiki/Embedded_systemhttp://en.wikipedia.org/wiki/Atari_2600http://en.wikipedia.org/wiki/Atari_2600http://en.wikipedia.org/wiki/Atari_2600http://en.wikipedia.org/wiki/Cinematronicshttp://en.wikipedia.org/wiki/Cinematronicshttp://en.wikipedia.org/wiki/Computer_multitaskinghttp://en.wikipedia.org/wiki/Preemptive_multitaskinghttp://en.wikipedia.org/wiki/Earliest_deadline_first_schedulinghttp://en.wikipedia.org/wiki/Earliest_deadline_first_schedulinghttp://en.wikipedia.org/wiki/Context_switchhttp://en.wikipedia.org/wiki/Real-time_computing#cite_note-0%23cite_note-0http://en.wikipedia.org/wiki/Adaptive_Partition_Schedulerhttp://en.wikipedia.org/wiki/Computer_sciencehttp://en.wikipedia.org/wiki/Computer_hardwarehttp://en.wikipedia.org/wiki/Computer_softwarehttp://en.wikipedia.org/wiki/Real-time_operating_systemhttp://en.wikipedia.org/wiki/Real-time_operating_systemhttp://en.wikipedia.org/wiki/Synchronous_programming_languagehttp://en.wikipedia.org/wiki/Mission_criticalhttp://en.wikipedia.org/wiki/Anti-lock_brakeshttp://en.wikipedia.org/wiki/Load_(computing)http://en.wikipedia.org/wiki/Automobilehttp://en.wikipedia.org/wiki/Enginehttp://en.wikipedia.org/wiki/Artificial_pacemakerhttp://en.wikipedia.org/wiki/Embedded_systemhttp://en.wikipedia.org/wiki/Atari_2600http://en.wikipedia.org/wiki/Cinematronicshttp://en.wikipedia.org/wiki/Computer_multitaskinghttp://en.wikipedia.org/wiki/Preemptive_multitaskinghttp://en.wikipedia.org/wiki/Earliest_deadline_first_schedulinghttp://en.wikipedia.org/wiki/Context_switchhttp://en.wikipedia.org/wiki/Real-time_computing#cite_note-0%23cite_note-0http://en.wikipedia.org/wiki/Adaptive_Partition_Scheduler8/9/2019 E5144 UNIT 2 Comp Processing Problems
8/8
assist in managing large systems with a mixture of hard real-time and non real-time
applications.
Soft real-time systems are typically used where there is some issue of concurrent accessand the need to keep a number of connected systems up to date with changing situations;
for example software that maintains and updates the flight plans for commercial airliners.The flight plans must be kept reasonably current but can operate to a latency of seconds.
Live audio-video systems are also usually soft real-time; violation of constraints results indegraded quality, but the system can continue to operate.
Real-time and high-performance
Real-time computing is sometimes misunderstood to be high-performance computing, but
this is not always the case. For example, a massivesupercomputerexecuting a scientificsimulation may offer impressive performance, yet it is not executing a real-time
computation. Conversely, once the hardware and software for an anti-lock braking
system has been designed to meet its required deadlines, no further performance gains arenecessary. Furthermore, if a network server is highly loaded with network traffic, its
response time may be slower but will (in most cases) still succeed. Hence, such a network
server would not be considered a real-time system: temporal failures (delays, time-outs,
etc.) are typically small and compartmentalized (limited in effect) but are not catastrophicfailures. In a real-time system, such as theFTSE 100 Index, a slow-down beyond limits
would often be considered catastrophic in its application context. Therefore, the most
important requirement of a real-time system is predictability and not performance.
Some kinds of software, such as many chess-playing programs, can fall into eithercategory. For instance, a chess program designed to play in a tournament with a clock
will need to decide on a move before a certain deadline or lose the game, and is thereforea real-time computation, but a chess program that is allowed to run indefinitely beforemoving is not. In both of these cases, however, high performance is desirable: the more
work a tournament chess program can do in the allotted time, the better its moves will be,
and the faster an unconstrained chess program runs, the sooner it will be able to move.This example also illustrates the essential difference between real-time computations and
other computations: if the tournament chess program does not make a decision about its
next move in its allotted time it loses the gamei.e., it fails as a real-time computationwhile in the other scenario, meeting the deadline is assumed not to be necessary.
8
http://en.wikipedia.org/wiki/Airlinehttp://en.wikipedia.org/wiki/High-performance_computinghttp://en.wikipedia.org/wiki/Supercomputerhttp://en.wikipedia.org/wiki/Supercomputerhttp://en.wikipedia.org/wiki/Network_traffichttp://en.wikipedia.org/wiki/FTSE_100_Indexhttp://en.wikipedia.org/wiki/FTSE_100_Indexhttp://en.wikipedia.org/wiki/Computer_chesshttp://en.wikipedia.org/wiki/Airlinehttp://en.wikipedia.org/wiki/High-performance_computinghttp://en.wikipedia.org/wiki/Supercomputerhttp://en.wikipedia.org/wiki/Network_traffichttp://en.wikipedia.org/wiki/FTSE_100_Indexhttp://en.wikipedia.org/wiki/Computer_chess