A Modeling Framework for Control Fault Tolerant Reactive Systems

Size: px
Start display at page:

Download "A Modeling Framework for Control Fault Tolerant Reactive Systems"

Transcription

1 A Modeling Framework for Control Fault Tolerant Reactive Systems Doug Densmore and Shannon Zelinski Department of Electrical Engineering and Computer Sciences University of California, Berkeley December 6, 2001 ABSTRACT This paper describes a class of embedded systems defined as Control Fault Tolerant Reactive Systems (CFTRS). We describe a methodology on which to base a CFTRS. We then provide a modeling system framework based on a refinement of abstraction levels in order to design such systems. Within our framework, fault tolerance is based on three principles: fault detection, isolation, and accommodation. It is these principles which are defined in the context of our modeling system which allow us to reflect the concerns and design considerations of such systems. We then present an example of how the CFTRS model can be adapted to an application. In conclusion, the strengths and weaknesses of our system are discussed. Definitions Control Fault Tolerant Reactive System (CFTRS) - a system that provides fault tolerance of control for a client system. Client System - a system whose external control may be suspected as faulty. 1. INTRODUCTION In embedded systems, a major component is the control logic that determines to a large part the behavior of the system. Unlike other domains, embedded applications have critical constraints such as real-time operation and power considerations. Providing safety and reliability of the system, especially the control, is of utmost importance. This is not always easy, especially if the system receives part of its control externally. This act of providing safety and reliability is called fault tolerance. Other papers [5][3] examine fault tolerance of specific systems, not generic frameworks such as CFTRS. Initially there was a discussion about how abstract to make our design. One approach was to simply compose generic building blocks that could be assembled in order to make a much larger class of problems. The designer would then assemble these building blocks to create a specific system of their choosing. However, this approach was too abstract, lacking in enough formalism and structure to be composed within the scope of this paper. This paper focuses on preserving the safety and reliability of the external control of embedded systems. Control fault tolerance focuses on ensuring that the control logic is able to function in the face of faulty control input. Specifically determine whether the input is in need of correction, and in that event, provide the proper control. This paper defines a domain of systems that provide control fault tolerance and composes a framework to model these systems. This paper is composed as follows. Section 2 considers the domain of the problem and refines the scope of the model. Section 3 discusses our design methodology. Section 4 is a refining of the framework into a more specific model that becomes our design. Section 5 provides a case example of applying the framework. And finally Section 6 concludes with a discussion of the strengths, weaknesses, and potential growth of our framework. 2. DOMAIN OF THE SYSTEM Before attacking the problem, we must define the domain of our framework. The restrictions and assumptions placed on our domain are critical to the direction of our paper. 2.1 Restrictions Fault Tolerance limited to control concerns Fault tolerance in our model is not concerned with data fault tolerance methods such as ECC or parity correction. In addition it is not concerned with component failure or fault tolerance dealing with issues such as circuit or manufacturing failure. We focus exclusively on fault tolerant control issues. Therefore, our system is concerned only with providing fault tolerance for control data delivered to the client system Distinction between requested control and external context data We must provide explicit definitions of both the external control data delivered by the user (requested) and the context data used to indicate if the requested data is faulty. This distinction would be made under the assumptions that it follows the necessary abstractions made in our framework Distinction between inputs and outputs It is important that there be a distinction between what enters the system we are modeling and what goes out. Even in the event that no distinguishable modification has been made, it must still be possible to determine whether the fault accommodation process has occurred or not. This way the client system can be alerted to any tampering of it s control data inputs, even if the replacement inputs are indistinguishable from the originals. 2.2 Assumptions The input is assumed valid The inputs to the system will be valid when received by our system. CFTRS does not provide for the detection of corrupt or invalid input data. This goes for both context data and requested control data described in the previous section. 1

2 2.2.2 The outputs of the system will be fault free. The client will assume that the inputs provided by the CFTRS will be free of faults. Similar to inputs, our outputs are assumed to be valid and free from corruption. Because it is the sole purpose of the CFTRS to replace faulty control instructions to the client system, invalid CFTRS output would imply that either the CFTRS inputs or the system itself are faulty Real Time Constraints Control instruction interpretation is assumed to be digital and therefore periodic at the stage in which the CFTRS provides fault tolerance for the client system. Control fault detection occurs at intervals such that the system can process information prior to the next iteration of the control process. It is assumed that the system will iterate through its process in such a way that inputs are not blocked or dropped and in a timely manner such that needed controls can take effect. The CFTRS must operate very quickly and efficiently as to incur only negligible delay on the client control process. 3. METHODOLOGY Before we design our model, we must address certain concerns in order to establish the correct level of abstraction for this model. The main concern is establishing a framework that is robust enough to cover the important aspects of the design, while at the same time not over constraining the design or tying it to a specific implementation. The key concept for our model is that control data provided to a system can be faulty when based upon external information provided to the system. It is then up to our model to be able to capture both the external control data, the data upon which to put that control into a context, and then provide output that depends upon either the presence or absence of faulty external control data. This framework modeling methodology can be broken into general system concerns, fault tolerance, and calculation. 3.1 System Concerns The first area of the framework to be discussed is the overall guiding concerns of the system. These concepts are implicit in the rest of the design of the system and can be thought of as guiding principles. These concerns are largely similar to those introduced in [1] and [2] Functionality vs. implementation The system must maintain a separation of functionality and implementation. If a specific implementation were to be attached with the model, not only would that implicitly add physical constraints such as bandwidth and protocol, but it would also be restrictive in the designer s view of the system. Both of these aspects would have been restrictive and unnecessary. This also helps to maintain reusability and preserves a portable framework that scales to various systems and environments. The level of abstraction for our model should provide a concrete framework without the need for implementation requirements or even model of computation restrictions Flexible Data Interpretation For the purposes of our framework abstraction level, we desired to make no distinction of external data s use as control or data manipulation (or what we refer to as calculation) information. The interpretation of this data is dependent on the activity in which it is used. This means that the same data can be interpreted as control information by one part of the system and as calculation information by another. To limit data interpretation is not only restrictive but also highly subjective in many systems where no such clear distinction can be made for various scenarios. This is not to say that data of this type in anyway ties control and calculation procedures together. In fact, this behavior is discouraged and not part of our framework Calculation vs. communication By calculation we mean the calculation of any activity whether it is control or data manipulation related. Our use of the word calculation here should not be confused with our general reference of data manipulation activities as calculation activities. Portions of the system where communication is performed and those associated with calculation will remain separated so that communication methods can be designed in the absence of calculation needs and vice versa. This orthogonalization of concerns [1] creates a separation that simplifies the design while at the same time maintaining flexibility. This helps to allow different approaches to communication than traditional methods. For example, with this separation if network communication needs to be performed, protocol issues can be focused on with the assurance that it will not be hindered by calculation, since this stage is ensured to be handled separately by CFTRS. The syntax used in the diagram representations of our system presented in section 4 supports this separation of communication and calculation. Rectangular boxes represent activities in which calculation occurs and arrows represent the communication of outputs from one activity to the inputs of another. 3.2 Fault Tolerance As stated earlier in section 2.1.1, the area of fault tolerance could apply at many levels within our system. However, for the purposes of CFTRS, fault tolerance focuses on the correction of client control input due to contradictory context information. Fault tolerance in general can be separated into three areas that we will discuss and refine to fit our specific application of fault tolerance. These areas are detection, isolation, and accommodation [7] Detection The first step in any fault-tolerant system is fault detection. This mechanism at the most basic level is to simply detect that there is the potential for the need for fault tolerant activities. In other words, detection interprets the context data. This must be sensitive enough to cover the corner cases and worst-case scenarios. For our purposes detection is concerned only with the externally provided control inputs or instructions to the client system. Typically, detection depends on the analysis of sensory data whether the data comes directly from raw sensor measurements or from calculations on existing sensor measurements that model non-existing sensor measurements. No good embedded system can depend on specific sensors. This 2

3 would make the system implementation dependent and not reusable if sensors were to change. Therefore, we suggest that CFTRS detection be dependant on model based sensory data. Since model based calculations can use almost a limitless combination of real sensors, the system will not be dependent on any particular sensor and the separation between functionality and implementation will be maintained. An added attraction of using model based sensory data is that mathematical models can calculate non-measurable characteristics using state estimation, parameter estimation, adaptive filtering, variable threshold logic, statistical decision theory, and pattern recognition [4]. The specific calculation of the model based sensory data is still dependent on implementation and would therefore occur outside of the system. CFTRS need only worry about the information contained within sensory data and not where it came from. Some examples of rudimentary ways to interpret sensory data are redundancy and limit checking. Redundancy is only used to detect faults in the sensory data itself by comparing different calculations of the same data and looking for differences. This does not apply to our system because we are only concerned with finding faults in the control data provided to the client and as stated earlier, all inputs are assumed to be valid. Any validity checks on sensory data should be made outside of the system. Limit checking is based on preset thresholds for sensory data. For example, if the calculated distance to a collision exceeds the preset minimum distance threshold, a fault is detected. Limit checking is the simplest form of fault detection and is very good for enforcing safety tolerances, which is ideal for the CFTRS. However, one must be wary of false positives when limit checking. Measurement noise may filter through sensor calculations that may further obscure the noise causing errant data points to jump over the threshold and cause false positives. One way to protect against false positives is to make sure that a data point remains over the threshold for a number of sampling points before a fault is detected Isolation Isolation provides an expression of determinism in the detection of faults. The process of further diagnosing a detected fault provides a means of not only more intelligently deciding on which calculations to perform but also performing them in an efficient manner that will aid in system performance. This step will add robustness to the minimal fault information provided by the detection mechanism. Isolation provides additional information upon further analysis of external data. This information can include speculated cause of the fault and the severity of the fault. Methods for isolating faults can be similar to those used to detect faults but the sensory information used may be tailored to more specific situations and more than one predetermined threshold may be used to determine severity Accommodation Accommodation is the decision making process that deals with the detection and subsequent isolation of the faulty control. This stage will interpret the fault information provided by isolation in order to decide how to best deal with the fault. This is the aspect of fault tolerance in which the control manipulation can most directly be linked in relation to fault tolerance. Accommodation can determine a fault to be tolerable, conditionally tolerable, or intolerable. The resulting decision is processed and used to manipulate the control instructions under suspicion of corruption. 3.3 Calculation Calculation is where control information is modified depending on the results in fault tolerant area of CFTRS Calculation will progress in stages Calculation will progress in a manner in which various stages allow for manipulation of data due to the influence of the various components of the model. To put it simply, both the initial control and the fault tolerant control have the opportunity to influence behavior at appropriate stages so that the system does not allow the operation of one without the other Calculations will map to deterministic comprehensive behavior This will ensure that for any input to CFTRS, calculation will occur that is not only deterministic but also comprehensive of the various situations that could occur, even if that results in some default action. What this means is that even impossible scenarios have a corresponding calculation result. For example, if input is seen that is not understood by the system, CFTRS would have some behavior that is for these unspecified events. This is important especially since one of our assumptions is that input is valid and we perform no check on this input. 4. REFINING THE FRAMEWORK In the following section we will use our methodology to define the framework model of a CFTRS. We will start at the highest level of abstraction and refine the model until a balance between specification and reusability is achieved. 4.1 Black Box Input-Output System At the highest level of abstraction, we think of the CFTRS in terms of its inputs and outputs only in order to answer the most important question. What does the system do? The CFTRS outputs consist of Internal Instruction and Fault Tolerance signals and the inputs consist of External Instruction and External Sensor signals as seen in figure 1. Figure 1. Black box abstraction of CFTRS Notice that our model puts no restriction the specific source of the inputs or the usage of the outputs by the client system. This is a stand-alone component that can be used depending on the application. Such an application could include a network of CFTRS modules System Inputs System inputs can be broken into External Instruction and External Sensor signals as mentioned above. Each of these areas 3

4 of inputs can contain any number of individual signals depending on the size of the specific application. The External Instruction inputs are the signals externally provided as control inputs for the client system. These signals are intercepted by the CFTRS for analysis of possible faults. These are signals that should be considered default and will require the presence of a conditionally tolerable or intolerable fault to be overruled. The External Sensor inputs provide the CFTRS with information about the client system s environment. This information is then used to detect a possible danger to the client system, check the validity of the External Instruction signals, and ultimately replace the External Instruction signals with Internal Instructions System Outputs The two kinds of system outputs are Internal Instruction and Fault Tolerance signals. Once again the number of signals contained in each group is dependent on the specific application. However, External Instruction and Internal Instruction should be identical in size as one replaces the other to the client system. The Internal Instruction outputs are computed by the CFTRS to replace the External Instruction signals as control inputs for the client system. These may or may not result in an overall change in behavior, meaning they may be identical to External Instruction inputs, but replace them nonetheless. The Fault Tolerance outputs are intended to inform the client system of the severity of any fault and the accommodation decision. This information may be used by the client system to alert the source of the faulty External Instruction inputs to what is going on. In some cases, this information may give the External Instruction source a chance to correct the fault without the CFTRS taking over. After all, the CFTRS is meant only as an override device and we do not want to usurp external control if the problem can be handled externally as originally intended. 4.2 Orthogonalization of System Activities Each activity relies on both External Instruction and Sensor input but the instruction calculation and fault tolerance activities are responsible for only their Internal Instruction and Fault Tolerance outputs respectively. Fault tolerance activities are related to fault detection, isolation, and accommodation as described in the methodology. These activities are responsible for making the major decisions such as determining if there is a fault, how serious it is, what should be done about it. Instruction calculation is the process of calculating the correct Internal Instruction output based on the various decisions made by the fault tolerance activities. This abstraction is shown in figure 2. Figure 2. Fault Tolerance and Instruction Calculation 4.3 Fault Tolerance Decisions and Instruction Calculation Interaction This level of abstraction describes the interaction between Fault Tolerance and Instruction Calculation. We believe this is the lowest level that can be used to describe any CFTRS in our implementation free framework. Further refinements of this model should be made for specific applications. We also believe this is the highest level of abstraction that can sufficiently define the inner workings of a CFTRS without becoming a generic control problem. The fault tolerance activities described above are refined into detection, isolation, and accommodation activities as discussed in the methodology. The instruction calculation activities are refined into suggested instruction and modified instruction activities. The very last steps of fault tolerance and instruction calculation are the only ones that depend on inputs from its orthogonal set of activities. These are accommodation and modified instruction respectively. The inputs and outputs of each of these refined activities are discussed below. Figure 3 shows this final level of abstraction. Figure 3. Final Framework Model Detection Fault detection is dependant on only external sensor input. When sensor input indicates that the client system is in sufficient danger (this is defined depending on the specific application), the external instruction is suspected of being faulty. The output of detection then informs the isolation unit that a fault has been detected. Detection will make no attempt to analyze the fault in any way. The separation of detection from later activities such as isolation helps add modularity to the system representation thus making the system design simpler Isolation Once a fault is detected it must be isolated. A large and complicated CFTRS may be monitoring more than one independent set of external instruction signals. When a fault is detected, any one of those sets of signals could be faulty. The CFTRS must isolate the faulty signals from the rest so no energy is wasted trying to fix what is not broken. A simpler CFTRS may have only one independent set of external control signals to monitor. In this case isolating the fault itself is not necessary for once a fault has been detected the faulty control signals are obvious because there are no others. Isolation is also responsible for determining the possible cause of fault and the severity of a fault as mentioned in our methodology. The External Sensors are required to isolate the location of a fault and determine its severity. Isolation outputs the location and severity of the fault 4

5 to accommodation. It may output more information depending on the application. These outputs may also be included in the Fault Tolerance outputs to the client system. Essentially this is providing meat and meaning to the fault originally flagged in the detection portion Suggested Instruction The outputs for this activity are the suggested Internal Instruction signals calculated assuming that the External Instruction is faulty and must be replaced. The signals are calculated from External Sensor input only because the External Instruction is assumed to be faulty. The Suggested Instruction calculates the quickest and most effective way to avoid any fault presented by the external sensor input. It is assumed that calculation takes up a considerable portion of the CFTRS processor run time. As such it is probably the biggest drain on system resources and power. However, we suggest that the suggested calculation activity run constantly independent of whether a fault was detected or not. If more than one processor is used in implementation, suggested calculation can be run in parallel with the fault detection and isolation processes allowing for more compact scheduling. By the time a fault has been detected and isolated the suggested instruction is ready for comparison in the accommodation activity. Also, running all activities every cycle makes timing more uniform so that the delay that the CFTRS process incurs is constant Accommodation The job of the fault accommodation activity is to output the accommodation decision. Accommodation must decide if the fault is tolerable, conditionally tolerable, or intolerable. A tolerable fault means that the CFTRS believes that the external instruction is sufficient to fix the problem. A conditionally tolerable fault means the external instruction must be modified in order to fix the problem. There may be different degrees of conditionally tolerable faults i.e. different conditions, which are inheritably defined by the application. An intolerable fault means that the external instruction must be completely abandoned and replaced by internal control in order to fix the problem. Accommodation bases its decision on a comparison between the External Instruction, and Suggested Instruction. Therefore, information from isolation calculation is used in this fault tolerance activity. Isolation inputs are used to help accommodation focus on the correct sets of instruction signals. Fault severity information from isolation may also play a big part in the decision. The accommodation decision may be included in the fault tolerance outputs to the client system Modified Instruction Modified instruction is the last phase in the CFTRS process. This activity outputs the final internal instruction set whose tailored calculation is based on the accommodation decision. The final internal instruction could be identical to the external instruction set if the fault is tolerable. Or it could be identical to the suggested instruction if the fault is intolerable. If the fault is found to be conditionally tolerable, modified instruction must use the suggested instruction and external instruction inputs to calculate something in between. In a way the modified instruction acts as a mux, channeling the correct instruction set to the client system. And the accommodation decision is the mux control. Even if the fault was tolerable and the external instruction is identical to the internal instruction, fault tolerance outputs will allow the identification of an instruction that has gone through the CFTRS process. 5. CASE EXAMPLE This section describes the case example of a front-end collision avoidance system using our framework model of the CFTRS. The client system in this case simply interprets acceleration instructions from the users accelerometer and brake (or by any other means) to the vehicle in motion. The CFTRS will intercept these instructions, compare them with environmental data, assess whether they will put the vehicle in danger, and supply alternate instructions if necessary. 5.1 Black Box Description We start with a description of the system at the highest level of abstraction by describing the system inputs and outputs, as should be done with all embedded system designs System Inputs The system inputs are separated into external instruction and external sensors as in the framework. The external instruction is the acceleration instruction from the user. The external sensors will provide information on current distance and velocity System Outputs The system outputs are separated into internal instruction and fault tolerance as in the framework. The internal instruction output is the acceleration instruction delivered to the client system. Again, this instruction may be identical to the external instruction or modified by the CFTRS. The fault tolerance outputs include the accommodation decision and fault severity as determined by fault isolation. For this case the accommodation decision will be only tolerable or intolerable. There is not conditionally tolerable case here because the only course of action when system is faced with the fault of an imminent head on collision is to decelerate. 5.2 Adapting the Final Framework Model Our CFTRS framework is used to model the front collision avoidance system by adapting each generic CFTRS activity to the application. Figure 4 shows how this case example can be represented in our final CFTRS framework model. Each activity is explained below Detection Fault detection in this case is a simple threshold calculation based on the external inputs of velocity and distance. The threshold will be set based upon the desired buffer time to a collision. If at maximum speed, the collision will be reached before the threshold time, a fault is detected. This very simple threshold calculation is given by KVmax > d where K is the time threshold, Vmax is the max velocity of which the vehicle is capable, and d is the distance to a front-end collision Isolation Isolation is responsible for determining the severity of the fault. For this case we have chosen four severity levels. Level 1 is the most severe fault where the actual current velocity will reach the collision before the threshold time. The threshold equation for level 1 is given by KV > d where V is the actual 5

6 current velocity. Level 2 is where the current velocity will reach the collision before twice the threshold time. The threshold equation for level 2 is given by 2KV > d. Level 3 is where a fault has been detected but neither of the previous thresholds have been crossed. Level 4 is the lowest level where there is no fault Suggested Instruction Suggested instruction calculates the suggested acceleration to stay K time away from a forward collision. This suggested acceleration a is given by a = (d K * V) / K 2. Therefore, the preset buffer time K should be chosen such that the maximum deceleration possible will be able to stop the vehicle before crashing Accommodation As mentioned previously, the accommodation decision will be either tolerable or intolerable. A fault is intolerable if the severity level is 1 and the requested acceleration a is greater than the suggested acceleration a. All other situations are tolerable Modified Instruction Because there is no conditionally tolerable situation, modified suggestion act as a simple two case mux where the suggested and requested acceleration are inputs and the accommodation decision is the control. If the fault is tolerable, the external instruction becomes the internal instruction output. If the fault is intolerable, the suggested instruction is used. Figure 4. Front Collision Avoidance System 6. CONCLUSIONS As we have mentioned, the strengths of our approach stem largely from its modular nature. This leads to a high level of reusability, contributes to a compact design, and therefore it is very portable. As mentioned in [6], this modularity should lead to verification gains. The level of abstraction in our model aids in that verification and portability. In CFTRS, all inputs and outputs are relevant and very few restrictions are placed on them. Our design also incorporates the fractal nature of design [1]. There are no implementation restrictions, yet we narrowly define the scope of fault tolerance so that complexity is minimized. Since there is no implementation mapping, hardware/software partitioning is free to be up to the designer. We make several assumptions (section 2.2) that could be thought of as weaknesses in our framework. Also, the same abstraction level that was viewed as a strength could also be a weakness if it turns out to be lacking in enough formalism to express many designs. This model could be expanded to include a discussion of formal models of computation that could be applied to CFTRS. More classes of applications could be shown in our model in order to better explore issues within our framework. It would also be nice to use existing tools to implement our framework and explore case studies and testing issues with our model. 7. REFERENCES [1] Ferrari, A.; Sangiovanni-Vincentelli, A.; System Design: Traditional Concepts and New Paradigms, International Conference on Computer Design, 1999 (ICCD '99), pp [2] Keutzer, K.; et. al.; System-Level Design: Orthogonalization of Concerns and Platform-Based Design., IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, vol.19, (no.12), IEEE, Dec [3] McLean, D.; Aslam-Mir, S.; Benkhedda, H.; Fault Detection and Control Reconfiguration in Flight Control,, IEEE Colloquium on Fault Diagnosis and Control System Reconfiguration, 1993 pp. 9/1 911 [4] Murphy, S.; Fault Tolerance as Applied to AUVs, Lehigh University, ECE111, Fall [5] Noura, H.: et. al.; Fault-Tolerant Control in Dynamic Systems: Application to a Winding Machine, IEEE Control Systems Magazine, Vol. 20 Issue: 1, Feb. 2000, pp [6] Wong-Toi, H.; Modular Verification of a Fault- Tolerant Active Structure Controller: an example, Proceedings of the 1999 IEEE International Symposium on Computer Aided Control System Design, pp [7] Yang, K.C.H.; Yuh J.; Choi S.K.; Fault-Tolerant System Design of an Autonomous Underwater Vehicle ODIN: an experimental study, International Journal of Systems Science, vol 30, no.9, 1999, pp

Modeling and Simulating Discrete Event Systems in Metropolis

Modeling and Simulating Discrete Event Systems in Metropolis Modeling and Simulating Discrete Event Systems in Metropolis Guang Yang EECS 290N Report December 15, 2004 University of California at Berkeley Berkeley, CA, 94720, USA guyang@eecs.berkeley.edu Abstract

More information

Lecture 15 Software Testing

Lecture 15 Software Testing Lecture 15 Software Testing Includes slides from the companion website for Sommerville, Software Engineering, 10/e. Pearson Higher Education, 2016. All rights reserved. Used with permission. Topics covered

More information

Introduction to Software Engineering

Introduction to Software Engineering Introduction to Software Engineering Gérald Monard Ecole GDR CORREL - April 16, 2013 www.monard.info Bibliography Software Engineering, 9th ed. (I. Sommerville, 2010, Pearson) Conduite de projets informatiques,

More information

THE BENEFITS OF MODEL-BASED ENGINEERING IN PRODUCT DEVELOPMENT FROM PCB TO SYSTEMS MENTOR GRAPHICS

THE BENEFITS OF MODEL-BASED ENGINEERING IN PRODUCT DEVELOPMENT FROM PCB TO SYSTEMS MENTOR GRAPHICS THE BENEFITS OF MODEL-BASED ENGINEERING IN PRODUCT DEVELOPMENT FROM PCB TO SYSTEMS MENTOR GRAPHICS P C B D E S I G N W H I T E P A P E R w w w. m e n t o r. c o m Simulation models are often used to help

More information

Introduction to Assurance

Introduction to Assurance Introduction to Assurance Overview Why assurance? Trust and assurance Life cycle and assurance April 1, 2015 Slide #1 Overview Trust Problems from lack of assurance Types of assurance Life cycle and assurance

More information

Software Architecture. Lecture 4

Software Architecture. Lecture 4 Software Architecture Lecture 4 Last time We discussed tactics to achieve architecture qualities We briefly surveyed architectural styles 23-Jan-08 http://www.users.abo.fi/lpetre/sa08/ 2 Today We check

More information

Software Engineering: Integration Requirements

Software Engineering: Integration Requirements Software Engineering: Integration Requirements AYAZ ISAZADEH Department of Computer Science Tabriz University Tabriz, IRAN Abstract: - This paper presents a discussion of software integration requirements,

More information

L17: Assurance. Hui Chen, Ph.D. Dept. of Engineering & Computer Science Virginia State University Petersburg, VA 23806

L17: Assurance. Hui Chen, Ph.D. Dept. of Engineering & Computer Science Virginia State University Petersburg, VA 23806 L17: Assurance Hui Chen, Ph.D. Dept. of Engineering & Computer Science Virginia State University Petersburg, VA 23806 11/06/2015 CSCI 451 - Fall 2015 1 Acknowledgement Many slides are from or are revised

More information

Introduction to Formal Methods

Introduction to Formal Methods 2008 Spring Software Special Development 1 Introduction to Formal Methods Part I : Formal Specification i JUNBEOM YOO jbyoo@knokuk.ac.kr Reference AS Specifier s Introduction to Formal lmethods Jeannette

More information

Distributed Systems Programming (F21DS1) Formal Verification

Distributed Systems Programming (F21DS1) Formal Verification Distributed Systems Programming (F21DS1) Formal Verification Andrew Ireland Department of Computer Science School of Mathematical and Computer Sciences Heriot-Watt University Edinburgh Overview Focus on

More information

Question. Reliable Transport: The Prequel. Don t parse my words too carefully. Don t be intimidated. Decisions and Their Principles.

Question. Reliable Transport: The Prequel. Don t parse my words too carefully. Don t be intimidated. Decisions and Their Principles. Question How many people have not yet participated? Reliable Transport: The Prequel EE122 Fall 2012 Scott Shenker http://inst.eecs.berkeley.edu/~ee122/ Materials with thanks to Jennifer Rexford, Ion Stoica,

More information

Software Architecture--Continued. Another Software Architecture Example

Software Architecture--Continued. Another Software Architecture Example Software Architecture--Continued References for Software Architecture examples: Software Architecture, Perspectives on an Emerging Discipline, by Mary Shaw and David Garlin, Prentice Hall, 1996. B. Hayes-Roth,

More information

Software Quality. Chapter What is Quality?

Software Quality. Chapter What is Quality? Chapter 1 Software Quality 1.1 What is Quality? The purpose of software quality analysis, or software quality engineering, is to produce acceptable products at acceptable cost, where cost includes calendar

More information

One category of visual tracking. Computer Science SURJ. Michael Fischer

One category of visual tracking. Computer Science SURJ. Michael Fischer Computer Science Visual tracking is used in a wide range of applications such as robotics, industrial auto-control systems, traffic monitoring, and manufacturing. This paper describes a new algorithm for

More information

Mei Nagappan. How the programmer wrote it. How the project leader understood it. How the customer explained it. How the project leader understood it

Mei Nagappan. How the programmer wrote it. How the project leader understood it. How the customer explained it. How the project leader understood it Material and some slide content from: - Software Architecture: Foundations, Theory, and Practice - Elisa Baniassad - Reid Holmes How the customer explained it How the project leader understood it How the

More information

The Bizarre Truth! Automating the Automation. Complicated & Confusing taxonomy of Model Based Testing approach A CONFORMIQ WHITEPAPER

The Bizarre Truth! Automating the Automation. Complicated & Confusing taxonomy of Model Based Testing approach A CONFORMIQ WHITEPAPER The Bizarre Truth! Complicated & Confusing taxonomy of Model Based Testing approach A CONFORMIQ WHITEPAPER By Kimmo Nupponen 1 TABLE OF CONTENTS 1. The context Introduction 2. The approach Know the difference

More information

Platform Based Design of Unmanned Aerial Vehicles

Platform Based Design of Unmanned Aerial Vehicles Platform Based Design of Unmanned Aerial Vehicles EE249 Class Project, Fall 2001 By Judy Liebman and Cedric Ma Abstract This project combines design philosophies from three different areas: embedded systems

More information

What are Embedded Systems? Lecture 1 Introduction to Embedded Systems & Software

What are Embedded Systems? Lecture 1 Introduction to Embedded Systems & Software What are Embedded Systems? 1 Lecture 1 Introduction to Embedded Systems & Software Roopa Rangaswami October 9, 2002 Embedded systems are computer systems that monitor, respond to, or control an external

More information

Black-box Testing Techniques

Black-box Testing Techniques T-76.5613 Software Testing and Quality Assurance Lecture 4, 20.9.2006 Black-box Testing Techniques SoberIT Black-box test case design techniques Basic techniques Equivalence partitioning Boundary value

More information

Chapter 8 Software Testing. Chapter 8 Software testing

Chapter 8 Software Testing. Chapter 8 Software testing Chapter 8 Software Testing 1 Topics covered Introduction to testing Stages for testing software system are: Development testing Release testing User testing Test-driven development as interleave approach.

More information

MONIKA HEINER.

MONIKA HEINER. LESSON 1 testing, intro 1 / 25 SOFTWARE TESTING - STATE OF THE ART, METHODS, AND LIMITATIONS MONIKA HEINER monika.heiner@b-tu.de http://www.informatik.tu-cottbus.de PRELIMINARIES testing, intro 2 / 25

More information

Resource-bound process algebras for Schedulability and Performance Analysis of Real-Time and Embedded Systems

Resource-bound process algebras for Schedulability and Performance Analysis of Real-Time and Embedded Systems Resource-bound process algebras for Schedulability and Performance Analysis of Real-Time and Embedded Systems Insup Lee 1, Oleg Sokolsky 1, Anna Philippou 2 1 RTG (Real-Time Systems Group) Department of

More information

CSCI 445 Amin Atrash. Control Architectures. Introduction to Robotics L. Itti, M. J. Mataric

CSCI 445 Amin Atrash. Control Architectures. Introduction to Robotics L. Itti, M. J. Mataric Introduction to Robotics CSCI 445 Amin Atrash Control Architectures The Story So Far Definitions and history Locomotion and manipulation Sensors and actuators Control => Essential building blocks Today

More information

Recalling the definition of design as set of models let's consider the modeling of some real software.

Recalling the definition of design as set of models let's consider the modeling of some real software. Software Design and Architectures SE-2 / SE426 / CS446 / ECE426 Lecture 3 : Modeling Software Software uniquely combines abstract, purely mathematical stuff with physical representation. There are numerous

More information

Software Design Fundamentals. CSCE Lecture 11-09/27/2016

Software Design Fundamentals. CSCE Lecture 11-09/27/2016 Software Design Fundamentals CSCE 740 - Lecture 11-09/27/2016 Today s Goals Define design Introduce the design process Overview of design criteria What results in a good design? Gregory Gay CSCE 740 -

More information

Testing! Prof. Leon Osterweil! CS 520/620! Spring 2013!

Testing! Prof. Leon Osterweil! CS 520/620! Spring 2013! Testing Prof. Leon Osterweil CS 520/620 Spring 2013 Relations and Analysis A software product consists of A collection of (types of) artifacts Related to each other by myriad Relations The relations are

More information

Segmentation of Images

Segmentation of Images Segmentation of Images SEGMENTATION If an image has been preprocessed appropriately to remove noise and artifacts, segmentation is often the key step in interpreting the image. Image segmentation is a

More information

Week - 04 Lecture - 01 Merge Sort. (Refer Slide Time: 00:02)

Week - 04 Lecture - 01 Merge Sort. (Refer Slide Time: 00:02) Programming, Data Structures and Algorithms in Python Prof. Madhavan Mukund Department of Computer Science and Engineering Indian Institute of Technology, Madras Week - 04 Lecture - 01 Merge Sort (Refer

More information

4 CoffeeStrainer Virtues and Limitations

4 CoffeeStrainer Virtues and Limitations In this chapter, we explain CoffeeStrainer s virtues and limitations and the design decisions that led to them. To illustrate the points we want to make, we contrast CoffeeStrainer with a hypothetical,

More information

A Robust Bloom Filter

A Robust Bloom Filter A Robust Bloom Filter Yoon-Hwa Choi Department of Computer Engineering, Hongik University, Seoul, Korea. Orcid: 0000-0003-4585-2875 Abstract A Bloom filter is a space-efficient randomized data structure

More information

Software Quality. Richard Harris

Software Quality. Richard Harris Software Quality Richard Harris Part 1 Software Quality 143.465 Software Quality 2 Presentation Outline Defining Software Quality Improving source code quality More on reliability Software testing Software

More information

Addresses in the source program are generally symbolic. A compiler will typically bind these symbolic addresses to re-locatable addresses.

Addresses in the source program are generally symbolic. A compiler will typically bind these symbolic addresses to re-locatable addresses. 1 Memory Management Address Binding The normal procedures is to select one of the processes in the input queue and to load that process into memory. As the process executed, it accesses instructions and

More information

Page 1. Outline. A Good Reference and a Caveat. Testing. ECE 254 / CPS 225 Fault Tolerant and Testable Computing Systems. Testing and Design for Test

Page 1. Outline. A Good Reference and a Caveat. Testing. ECE 254 / CPS 225 Fault Tolerant and Testable Computing Systems. Testing and Design for Test Page Outline ECE 254 / CPS 225 Fault Tolerant and Testable Computing Systems Testing and Design for Test Copyright 24 Daniel J. Sorin Duke University Introduction and Terminology Test Generation for Single

More information

A Correctness Proof for a Practical Byzantine-Fault-Tolerant Replication Algorithm

A Correctness Proof for a Practical Byzantine-Fault-Tolerant Replication Algorithm Appears as Technical Memo MIT/LCS/TM-590, MIT Laboratory for Computer Science, June 1999 A Correctness Proof for a Practical Byzantine-Fault-Tolerant Replication Algorithm Miguel Castro and Barbara Liskov

More information

Separating Product Variance and Domain Concepts in the Specification of Software Product Lines

Separating Product Variance and Domain Concepts in the Specification of Software Product Lines Separating Product Variance and Domain Concepts in the Specification of Software Product Lines Pertti Kellomäki Software Systems Laboratory, Tampere University of Technology P.O. Box 553, FIN-33101 Tampere,

More information

MURPHY S COMPUTER LAWS

MURPHY S COMPUTER LAWS Bosch Workshop 04/08/18 Brandenburg University of Technology at Cottbus, Dep. of Computer Science MURPHY S COMPUTER LAWS (1) No program without faults. DEPENDABLE SOFTWARE - AN UNREALISTIC DREAM OR JUST

More information

Knowledge-based Systems for Industrial Applications

Knowledge-based Systems for Industrial Applications Knowledge-based Systems for Industrial Applications 1 The Topic 2 Tasks Goal: Overview of different tasks Systematic and formal characterization as a requirement for theory and implementation Script: Chap.

More information

Replication in Distributed Systems

Replication in Distributed Systems Replication in Distributed Systems Replication Basics Multiple copies of data kept in different nodes A set of replicas holding copies of a data Nodes can be physically very close or distributed all over

More information

International Journal of Computer Engineering and Applications, Volume XII, Special Issue, September 18, ISSN SOFTWARE TESTING

International Journal of Computer Engineering and Applications, Volume XII, Special Issue, September 18,   ISSN SOFTWARE TESTING International Journal of Computer Engineering and Applications, Volume XII, Special Issue, September 18, www.ijcea.com ISSN 2321-3469 SOFTWARE TESTING Rajat Galav 1, Shivank Lavania 2, Brijesh Kumar Singh

More information

«Computer Science» Requirements for applicants by Innopolis University

«Computer Science» Requirements for applicants by Innopolis University «Computer Science» Requirements for applicants by Innopolis University Contents Architecture and Organization... 2 Digital Logic and Digital Systems... 2 Machine Level Representation of Data... 2 Assembly

More information

QOS Section 6. Weighted Random Early Detection (WRED)

QOS Section 6. Weighted Random Early Detection (WRED) QOS Section 6 Weighted Random Early Detection (WRED) The previous section addressed queuing, which is a congestionmanagement QoS mechanism. However, this section focuses on congestion avoidance. Specifically,

More information

Motion Detection Algorithm

Motion Detection Algorithm Volume 1, No. 12, February 2013 ISSN 2278-1080 The International Journal of Computer Science & Applications (TIJCSA) RESEARCH PAPER Available Online at http://www.journalofcomputerscience.com/ Motion Detection

More information

Homework Assignment /645 Fall Instructions and Score Sheet (hand in with answers)

Homework Assignment /645 Fall Instructions and Score Sheet (hand in with answers) Homework Assignment 4 600.445/645 Fall 2018 Instructions and Score Sheet (hand in with answers Name Email Other contact information (optional Signature (required I have followed the rules in completing

More information

TEAM 12: TERMANATOR PROJECT PROPOSAL. TEAM MEMBERS: Donald Eng Rodrigo Ipince Kevin Luu

TEAM 12: TERMANATOR PROJECT PROPOSAL. TEAM MEMBERS: Donald Eng Rodrigo Ipince Kevin Luu TEAM 12: TERMANATOR PROJECT PROPOSAL TEAM MEMBERS: Donald Eng Rodrigo Ipince Kevin Luu 1. INTRODUCTION: This project involves the design and implementation of a unique, first-person shooting game. The

More information

Design and Implementation of detecting the failure of sensor node based on RTT time and RTPs in WSNs

Design and Implementation of detecting the failure of sensor node based on RTT time and RTPs in WSNs Design and Implementation of detecting the failure of sensor node based on RTT time and RTPs in WSNs Girish K 1 and Mrs. Shruthi G 2 1 Department of CSE, PG Student Karnataka, India 2 Department of CSE,

More information

Coding and Unit Testing! The Coding Phase! Coding vs. Code! Coding! Overall Coding Language Trends!

Coding and Unit Testing! The Coding Phase! Coding vs. Code! Coding! Overall Coding Language Trends! Requirements Spec. Design Coding and Unit Testing Characteristics of System to be built must match required characteristics (high level) Architecture consistent views Software Engineering Computer Science

More information

Basic Concepts of Reliability

Basic Concepts of Reliability Basic Concepts of Reliability Reliability is a broad concept. It is applied whenever we expect something to behave in a certain way. Reliability is one of the metrics that are used to measure quality.

More information

Visualizing Verification. Adrian A. Marsh April 2004

Visualizing Verification. Adrian A. Marsh April 2004 Visualizing Verification Adrian A. Marsh April 2004 Abstract This paper proposes extending UML modeling to system verification. Changing the utilization of the UML diagrams will increase the quality of

More information

Lecture 16: (Architecture IV)

Lecture 16: (Architecture IV) Lecture 16: (Architecture IV) Software System Design and Implementation ITCS/ITIS 6112/8112 091 Fall 2008 Dr. Jamie Payton Department of Computer Science University of North Carolina at Charlotte Oct.

More information

4B Summary of some Key SW Testing Concepts 1

4B Summary of some Key SW Testing Concepts 1 4B Summary of some Key SW Testing Concepts 1 Note: Section 4A presented a particular, specific method for developing (system or requirements level) tests cases from UML use cases. Section 4B provides a

More information

Kernel Korner AEM: A Scalable and Native Event Mechanism for Linux

Kernel Korner AEM: A Scalable and Native Event Mechanism for Linux Kernel Korner AEM: A Scalable and Native Event Mechanism for Linux Give your application the ability to register callbacks with the kernel. by Frédéric Rossi In a previous article [ An Event Mechanism

More information

People tell me that testing is

People tell me that testing is Software Testing Mark Micallef mark.micallef@um.edu.mt People tell me that testing is Boring Not for developers A second class activity Not necessary because they are very good coders 1 What is quality?

More information

Activity Robot Behaviors and Writing Pseudocode

Activity Robot Behaviors and Writing Pseudocode Activity 2.3.2 Robot Behaviors and Writing Pseudocode Introduction A behavior is anything your robot does: turning on a single motor is a behavior, moving forward is a behavior, tracking a line is a behavior,

More information

Pedestrian Detection Using Correlated Lidar and Image Data EECS442 Final Project Fall 2016

Pedestrian Detection Using Correlated Lidar and Image Data EECS442 Final Project Fall 2016 edestrian Detection Using Correlated Lidar and Image Data EECS442 Final roject Fall 2016 Samuel Rohrer University of Michigan rohrer@umich.edu Ian Lin University of Michigan tiannis@umich.edu Abstract

More information

International Journal of Computer Engineering and Applications, Volume XII, Special Issue, April- ICITDA 18,

International Journal of Computer Engineering and Applications, Volume XII, Special Issue, April- ICITDA 18, International Journal of Computer Engineering and Applications, Volume XII, Special Issue, April- ICITDA 18, www.ijcea.com ISSN 2321-3469 SOFTWARE TESTING Rajat Galav, Shivank Lavania Student, Department

More information

Intel iapx 432-VLSI building blocks for a fault-tolerant computer

Intel iapx 432-VLSI building blocks for a fault-tolerant computer Intel iapx 432-VLSI building blocks for a fault-tolerant computer by DAVE JOHNSON, DAVE BUDDE, DAVE CARSON, and CRAIG PETERSON Intel Corporation Aloha, Oregon ABSTRACT Early in 1983 two new VLSI components

More information

NOTES ON OBJECT-ORIENTED MODELING AND DESIGN

NOTES ON OBJECT-ORIENTED MODELING AND DESIGN NOTES ON OBJECT-ORIENTED MODELING AND DESIGN Stephen W. Clyde Brigham Young University Provo, UT 86402 Abstract: A review of the Object Modeling Technique (OMT) is presented. OMT is an object-oriented

More information

10. Software Testing Fundamental Concepts

10. Software Testing Fundamental Concepts 10. Software Testing Fundamental Concepts Department of Computer Science and Engineering Hanyang University ERICA Campus 1 st Semester 2016 Testing in Object-Oriented Point of View Error Correction Cost

More information

Software Design. Introduction. Software Design (Introduction) SERG

Software Design. Introduction. Software Design (Introduction) SERG Software Design Introduction Software Design How to implement the what. Requirements Document (RD) is starting point. Software design is a highly-creative activity. Good designers are worth their weight

More information

AN ALGORITHM FOR BLIND RESTORATION OF BLURRED AND NOISY IMAGES

AN ALGORITHM FOR BLIND RESTORATION OF BLURRED AND NOISY IMAGES AN ALGORITHM FOR BLIND RESTORATION OF BLURRED AND NOISY IMAGES Nader Moayeri and Konstantinos Konstantinides Hewlett-Packard Laboratories 1501 Page Mill Road Palo Alto, CA 94304-1120 moayeri,konstant@hpl.hp.com

More information

System development, design & implementation

System development, design & implementation System development, design & implementation Design of software The following are the principle for any software design : Modularity and partitioning : Top down methods are used through out the analysis

More information

Efficient Majority Logic Fault Detector/Corrector Using Euclidean Geometry Low Density Parity Check (EG-LDPC) Codes

Efficient Majority Logic Fault Detector/Corrector Using Euclidean Geometry Low Density Parity Check (EG-LDPC) Codes Efficient Majority Logic Fault Detector/Corrector Using Euclidean Geometry Low Density Parity Check (EG-LDPC) Codes 1 U.Rahila Begum, 2 V. Padmajothi 1 PG Student, 2 Assistant Professor 1 Department Of

More information

Human Error Taxonomy

Human Error Taxonomy Human Error Taxonomy The Human Error Taxonomy (HET) provides a structure for requirement errors made during the software development process. The HET can be employed during software inspection to help

More information

Fast Local Planner for Autonomous Helicopter

Fast Local Planner for Autonomous Helicopter Fast Local Planner for Autonomous Helicopter Alexander Washburn talexan@seas.upenn.edu Faculty advisor: Maxim Likhachev April 22, 2008 Abstract: One challenge of autonomous flight is creating a system

More information

Visible and Long-Wave Infrared Image Fusion Schemes for Situational. Awareness

Visible and Long-Wave Infrared Image Fusion Schemes for Situational. Awareness Visible and Long-Wave Infrared Image Fusion Schemes for Situational Awareness Multi-Dimensional Digital Signal Processing Literature Survey Nathaniel Walker The University of Texas at Austin nathaniel.walker@baesystems.com

More information

CREATIVE ASSERTION AND CONSTRAINT METHODS FOR FORMAL DESIGN VERIFICATION

CREATIVE ASSERTION AND CONSTRAINT METHODS FOR FORMAL DESIGN VERIFICATION CREATIVE ASSERTION AND CONSTRAINT METHODS FOR FORMAL DESIGN VERIFICATION Joseph Richards SGI, High Performance Systems Development Mountain View, CA richards@sgi.com Abstract The challenges involved in

More information

DOWNLOAD PDF BIG IDEAS MATH VERTICAL SHRINK OF A PARABOLA

DOWNLOAD PDF BIG IDEAS MATH VERTICAL SHRINK OF A PARABOLA Chapter 1 : BioMath: Transformation of Graphs Use the results in part (a) to identify the vertex of the parabola. c. Find a vertical line on your graph paper so that when you fold the paper, the left portion

More information

Compositional Security Evaluation: The MILS approach

Compositional Security Evaluation: The MILS approach Compositional Security Evaluation: The MILS approach John Rushby and Rance DeLong Computer Science Laboratory SRI International Menlo Park CA USA Primary affiliation: LynuxWorks John Rushby, Rance DeLong,

More information

Rapid Software Testing Guide to Making Good Bug Reports

Rapid Software Testing Guide to Making Good Bug Reports Rapid Software Testing Guide to Making Good Bug Reports By James Bach, Satisfice, Inc. v.1.0 Bug reporting is a very important part of testing. The bug report, whether oral or written, is the single most

More information

RE for Embedded Systems - Part 1

RE for Embedded Systems - Part 1 REQUIREMENTS ENGINEERING LECTURE 2017/2018 Dr. Jörg Dörr RE for Embedded Systems - Part 1 Fraunhofer IESE Lecture Outline Embedded systems and their characteristics Requirements specifications (for embedded

More information

Obstacle Avoidance Project: Final Report

Obstacle Avoidance Project: Final Report ERTS: Embedded & Real Time System Version: 0.0.1 Date: December 19, 2008 Purpose: A report on P545 project: Obstacle Avoidance. This document serves as report for P545 class project on obstacle avoidance

More information

RAID SEMINAR REPORT /09/2004 Asha.P.M NO: 612 S7 ECE

RAID SEMINAR REPORT /09/2004 Asha.P.M NO: 612 S7 ECE RAID SEMINAR REPORT 2004 Submitted on: Submitted by: 24/09/2004 Asha.P.M NO: 612 S7 ECE CONTENTS 1. Introduction 1 2. The array and RAID controller concept 2 2.1. Mirroring 3 2.2. Parity 5 2.3. Error correcting

More information

A MULTI-ROBOT SYSTEM FOR ASSEMBLY TASKS IN AUTOMOTIVE INDUSTRY

A MULTI-ROBOT SYSTEM FOR ASSEMBLY TASKS IN AUTOMOTIVE INDUSTRY The 4th International Conference Computational Mechanics and Virtual Engineering COMEC 2011 20-22 OCTOBER 2011, Brasov, Romania A MULTI-ROBOT SYSTEM FOR ASSEMBLY TASKS IN AUTOMOTIVE INDUSTRY A. Fratu 1

More information

Introduction to Software Engineering

Introduction to Software Engineering Chapter 1 Introduction to Software Engineering Content 1. Introduction 2. Components 3. Layered Technologies 4. Generic View of Software Engineering 4. Generic View of Software Engineering 5. Study of

More information

A Mini Challenge: Build a Verifiable Filesystem

A Mini Challenge: Build a Verifiable Filesystem A Mini Challenge: Build a Verifiable Filesystem Rajeev Joshi and Gerard J. Holzmann Laboratory for Reliable Software, Jet Propulsion Laboratory, California Institute of Technology, Pasadena, CA 91109,

More information

A Passage to Penetration Testing!

A Passage to Penetration Testing! A Passage to Penetration Testing! EC-Council Cyber Research This paper is from EC-Council s site. Reposting is not permitted without express written permission. What Is Penetration Testing? A penetration

More information

A Longitudinal Control Algorithm for Smart Cruise Control with Virtual Parameters

A Longitudinal Control Algorithm for Smart Cruise Control with Virtual Parameters ISSN (e): 2250 3005 Volume, 06 Issue, 12 December 2016 International Journal of Computational Engineering Research (IJCER) A Longitudinal Control Algorithm for Smart Cruise Control with Virtual Parameters

More information

Robotic Behaviors. Potential Field Methods

Robotic Behaviors. Potential Field Methods Robotic Behaviors Potential field techniques - trajectory generation - closed feedback-loop control Design of variety of behaviors - motivated by potential field based approach steering behaviors Closed

More information

1. Introduction. 2. Motivation and Problem Definition. Volume 8 Issue 2, February Susmita Mohapatra

1. Introduction. 2. Motivation and Problem Definition. Volume 8 Issue 2, February Susmita Mohapatra Pattern Recall Analysis of the Hopfield Neural Network with a Genetic Algorithm Susmita Mohapatra Department of Computer Science, Utkal University, India Abstract: This paper is focused on the implementation

More information

FAULT TOLERANT SYSTEMS

FAULT TOLERANT SYSTEMS FAULT TOLERANT SYSTEMS http://www.ecs.umass.edu/ece/koren/faulttolerantsystems Part 14 - Software Fault Tolerance I Chapter 4 Software Fault Tolerance Part.14.1 Causes of Software Errors Designing and

More information

Is Power State Table Golden?

Is Power State Table Golden? Is Power State Table Golden? Harsha Vardhan #1, Ankush Bagotra #2, Neha Bajaj #3 # Synopsys India Pvt. Ltd Bangalore, India 1 dhv@synopsys.com 2 ankushb@synopsys.com 3 nehab@synopsys.com Abstract: Independent

More information

2oo4D: A New Design Concept for Next-Generation Safety Instrumented Systems 07/2000

2oo4D: A New Design Concept for Next-Generation Safety Instrumented Systems 07/2000 2oo4D: A New Design Concept for Next-Generation Safety Instrumented Systems 07/2000 Copyright, Notices and Trademarks 2000 Honeywell Safety Management Systems B.V. Revision 01 July 2000 While this information

More information

CSE 403: Software Engineering, Fall courses.cs.washington.edu/courses/cse403/16au/ Unit Testing. Emina Torlak

CSE 403: Software Engineering, Fall courses.cs.washington.edu/courses/cse403/16au/ Unit Testing. Emina Torlak CSE 403: Software Engineering, Fall 2016 courses.cs.washington.edu/courses/cse403/16au/ Unit Testing Emina Torlak emina@cs.washington.edu Outline Software quality control Effective unit testing Coverage

More information

CDA 5140 Software Fault-tolerance. - however, reliability of the overall system is actually a product of the hardware, software, and human reliability

CDA 5140 Software Fault-tolerance. - however, reliability of the overall system is actually a product of the hardware, software, and human reliability CDA 5140 Software Fault-tolerance - so far have looked at reliability as hardware reliability - however, reliability of the overall system is actually a product of the hardware, software, and human reliability

More information

What do Compilers Produce?

What do Compilers Produce? What do Compilers Produce? Pure Machine Code Compilers may generate code for a particular machine, not assuming any operating system or library routines. This is pure code because it includes nothing beyond

More information

Achieving Reliable Digital Data Communication through Mathematical Algebraic Coding Techniques

Achieving Reliable Digital Data Communication through Mathematical Algebraic Coding Techniques International Journal of Pure and Applied Mathematical Sciences. ISSN 0972-9828 Volume 9, Number 2 (2016), pp. 183-190 Research India Publications http://www.ripublication.com Achieving Reliable Digital

More information

Set Manipulation with Boolean Functional Vectors for Symbolic Reachability Analysis

Set Manipulation with Boolean Functional Vectors for Symbolic Reachability Analysis Set Manipulation with Boolean Functional Vectors for Symbolic Reachability Analysis Amit Goel Department of ECE, Carnegie Mellon University, PA. 15213. USA. agoel@ece.cmu.edu Randal E. Bryant Computer

More information

Organization of Programming Languages (CSE452) Why are there so many programming languages? What makes a language successful?

Organization of Programming Languages (CSE452) Why are there so many programming languages? What makes a language successful? Organization of Programming Languages (CSE452) Instructor: Dr. B. Cheng Fall 2004 1 Why are there so many programming languages? Evolution -- we've learned better ways of doing things over time Socio-economic

More information

Programming II (CS300)

Programming II (CS300) 1 Programming II (CS300) Chapter 01: Procedural Programming MOUNA KACEM mouna@cs.wisc.edu Fall 2018 Procedural Programming 2 Introduction Procedural Programming: General Overview Procedural Programming:

More information

Complex behavior emergent from simpler ones

Complex behavior emergent from simpler ones Reactive Paradigm: Basics Based on ethology Vertical decomposition, as opposed to horizontal decomposition of hierarchical model Primitive behaviors at bottom Higher behaviors at top Each layer has independent

More information

Chapter 9. Software Testing

Chapter 9. Software Testing Chapter 9. Software Testing Table of Contents Objectives... 1 Introduction to software testing... 1 The testers... 2 The developers... 2 An independent testing team... 2 The customer... 2 Principles of

More information

5/9/2014. Recall the design process. Lecture 1. Establishing the overall structureof a software system. Topics covered

5/9/2014. Recall the design process. Lecture 1. Establishing the overall structureof a software system. Topics covered Topics covered Chapter 6 Architectural Design Architectural design decisions Architectural views Architectural patterns Application architectures Lecture 1 1 2 Software architecture The design process

More information

Self Stabilization. CS553 Distributed Algorithms Prof. Ajay Kshemkalyani. by Islam Ismailov & Mohamed M. Ali

Self Stabilization. CS553 Distributed Algorithms Prof. Ajay Kshemkalyani. by Islam Ismailov & Mohamed M. Ali Self Stabilization CS553 Distributed Algorithms Prof. Ajay Kshemkalyani by Islam Ismailov & Mohamed M. Ali Introduction There is a possibility for a distributed system to go into an illegitimate state,

More information

Programming II. Modularity 2017/18

Programming II. Modularity 2017/18 Programming II Modularity 2017/18 Module? Lecture Outline Evolution and history of programming languages Modularity Example History of Programming Programming Paradigms How and why languages develop? How

More information

Chapter 39: Concepts of Time-Triggered Communication. Wenbo Qiao

Chapter 39: Concepts of Time-Triggered Communication. Wenbo Qiao Chapter 39: Concepts of Time-Triggered Communication Wenbo Qiao Outline Time and Event Triggered Communication Fundamental Services of a Time-Triggered Communication Protocol Clock Synchronization Periodic

More information

Software Development Chapter 1

Software Development Chapter 1 Software Development Chapter 1 1. Introduction Software Applications are increasingly used to tackle problems that concern everyday life : Automatic Bank tellers Airline reservation systems Air traffic

More information

Darshan Institute of Engineering & Technology Unit : 9

Darshan Institute of Engineering & Technology Unit : 9 1) Explain software testing strategy for conventional software architecture. Draw the spiral diagram showing testing strategies with phases of software development. Software Testing: Once source code has

More information

FAULT TOLERANT SYSTEMS

FAULT TOLERANT SYSTEMS FAULT TOLERANT SYSTEMS http://www.ecs.umass.edu/ece/koren/faulttolerantsystems Part 18 Chapter 7 Case Studies Part.18.1 Introduction Illustrate practical use of methods described previously Highlight fault-tolerance

More information

A Study on Website Quality Models

A Study on Website Quality Models International Journal of Scientific and Research Publications, Volume 4, Issue 12, December 2014 1 A Study on Website Quality Models R.Anusha Department of Information Systems Management, M.O.P Vaishnav

More information

CS455: Introduction to Distributed Systems [Spring 2018] Dept. Of Computer Science, Colorado State University

CS455: Introduction to Distributed Systems [Spring 2018] Dept. Of Computer Science, Colorado State University CS 455: INTRODUCTION TO DISTRIBUTED SYSTEMS [ELECTION ALGORITHMS] Shrideep Pallickara Computer Science Colorado State University Frequently asked questions from the previous class survey Does a process

More information