Automatic Conversion Software for the Safety Verification of Goal-based Control Programs
|
|
|
- Abel Jones
- 9 years ago
- Views:
Transcription
1 Automatic Conversion Software for the Safety Verification of Goal-based Control Programs Julia M. B. Braman and Richard M. Murray Abstract Fault tolerance and safety verification of control systems are essential for the success of autonomous robotic systems. A control architecture called Mission Data System (MDS), developed at the Jet Propulsion Laboratory, takes a goalbased control approach. In this paper, an automatic software algorithm for converting goal network control programs into linear hybrid systems is described. The linear hybrid system can then be verified for safety in the presence of failures using existing symbolic model checkers. Several benchmark problems are converted from goal networks to linear hybrid automata, illustrating that complex goal networks can be converted and verified using this method. I. INTRODUCTION Autonomous robotic missions by nature have complex control systems. In general, the necessary fault detection, isolation and recovery software for these systems is cumbersome and added on as failure cases are encountered in simulation. There is a need for a systematic way to incorporate fault tolerance in autonomous robotic control systems. One way to accomplish this could be to create a flexible control system that can reconfigure itself in the presence of faults. However, if the control system cannot be verified for safety, the added complexity of reconfigurability could reduce the system s effective fault tolerance. One particularly useful way to model fault tolerant control systems is as hybrid systems. Much work has been done on the control of hybrid systems [1]. When the continuous dynamics of these systems are sufficiently simple, it is possible to verify that the execution of the hybrid control system will not fall into an unsafe regime [2]. There are several software packages available that can be used for this analysis, including HyTech [3], UPPAAL [4], and VERITI [5], all of which are symbolic model checkers. PHAVer, the symbolic model checker used in this paper, is a more capable extension of HyTech [6]. PHAVer is able to exactly verify linear hybrid systems with piecewise constant bounds on continuous state derivatives and is able to handle arbitrarily large numbers due to the use of the Parma Polyhedra Library. Safety verification for fault tolerant hybrid control systems ensures that the occurrence of certain faults will not cause the system to reach an unsafe state. Often times, the control program used for an application is not in a form that is conducive to verification. The control program must then be transformed to an acceptable form by some suitable means. One such tool exists for the conversion of AgentSpeak, a reactive goal-based control language, into J. Braman and R. Murray are with the Dept. of Mech. Eng., California Institute of Technology, Pasadena, CA 91125, USA [email protected] two languages: Promela, which is associated with the Spin model checker [7], and Java, for which the JPF2 is a general purpose model checker [8]. Another popular approach is to create correct by design control programs from Buchi automata on infinite words [9], or from specifications and requirements stated in a restricted subset of LTL [10]. The software control architecture that the control programs in this paper are based on is Mission Data System (MDS), developed at the Jet Propulsion Laboratory [11]. MDS is based on a systems engineering concept called State Analysis [12]. Systems that use MDS are controlled by networks of goals, which directly express intent as constraints on physical states over time. By encoding the intent of the robot s actions, MDS has naturally allowed more fault response options to be autonomously explored by the control system [13]. In this paper, an automated process to convert goal networks to linear hybrid systems is presented. A procedure that allows a user to work through the conversion by hand is found in a previous work [14]. This procedure and some supporting information about State Analysis and linear hybrid systems is briefly described in Section II. The automated software version of the conversion process that allows more complicated goal networks to be correctly converted into linear hybrid systems is discussed in Section III. Benchmark examples are introduced in Section IV, and conclusions and future work are presented in Section V. II. BACKGROUND INFORMATION A. State Analysis and Mission Data System State Analysis is a systems engineering methodology that focuses on a state-based approach to the design of a system [12]. Models of state effects in the system that is under control are used for such things as the estimation of state variables, control of the system, planning, and goal scheduling. State variables are representations of states or properties of the system that are controlled or that affect a controlled state. Examples of state variables could include the position of a robot, the temperature of the environment, the health of a sensor, or the position of a switch. Goals and goal elaborations are created based on the models. Goals are specific statements of intent used to control a system by constraining a state variable in time. Goals are elaborated from a parent goal based on the intent and type of goal, the state models, and several intuitive rules, as described in [12]. A core concept of State Analysis is that the language used to design the control system should be nearly the same as the language used to implement the
2 control system. Therefore, the software architecture, MDS, is closely related to State Analysis. Data structures called software state variables are central to MDS [15]. A state variable can contain much information; for example, a position state variable for a robot in the plane could contain the robot s (x, y) position, its velocity in component form, and uncertainty values for each piece of information. Each state variable has a unique estimator, and if necessary, a controller. Goals can be created that constrain some or all of a state variable s information. For example, a goal could constrain the velocity of the position state variable used in the previous example, but could leave the position or uncertainties unconstrained. Goal networks replace command sequences as the control input to the system. A goal network consists of a set of goals with their associated starting and ending time points and temporal constraints. Temporal constraints on a goal may be based on execution time, or based on the completion of the goal. A goal may cause other constraints to be elaborated on the same state variable and/or on other causally related state variables. The goals in the goal network and their elaborations are scheduled by the scheduler software component so that there are no conflicts in time, goal order or intent. Each scheduled goal is then achieved by the estimator or controller of the state variable that is constrained. Elaboration allows MDS to handle tasks more flexibly than control architectures based on command sequences. One example is fault tolerance. Re-elaboration of failed goals is an option if there are physical redundancies in the system, many ways to accomplish the same task, or degraded modes of operation that are acceptable for a task. The elaboration class for a goal can include several pre-defined tactics. These tactics are simply different ways to accomplish the intent of the goal, and tactics may be logically chosen by the elaborator based on programmer-defined conditions. This capability allows for many common types and combinations of faults to be accommodated automatically by the control system [13]. B. Linear Hybrid Automata There are several symbolic model checkers available that are capable of verifying linear hybrid automata. A linear hybrid automaton H consists of the following components [3]: 1) A finite, ordered list of continuous state variables, X = {x 1,x 2,..., x n }, and their time derivatives, Ẋ = { x 1, x 2,..., x n }. 2) A control graph, (V, E), where V is the set of control modes or locations of the system, and E is the set of control edges or transitions between the different modes of the system. 3) The set of invariants for each location, inv(v), the set of initial conditions for each location, init(v), and the set of flow conditions for each location, dif(v, Ẋ), where v V. 4) The set of transition labels, Σ, and transition actions or reset equations, A. Fig. 1. Representation of a goal network to hybrid system conversion. The goals are represented by rectangles between circular time points, and elaboration is depicted by a dashed line, with child goals below the line. In the hybrid automaton, the circles represent group connectors and rectangles represent locations. 5) The set S of synchronization labels. The above components fully describe a linear hybrid system that can be successfully verified using HyTech or PHAVer. The reachability analysis used in the safety verification of these hybrid automata finds the set of all states that are connected to a given initial state by a valid run. This can cause a huge explosion of the state space. PHAVer deals with this explosion by partitioning locations into simpler ones, or by using overapproximation of sets of locations to limit the complexity of the system and to accelerate convergence and force termination by approximating a system where reachability is decidable [6]. In analyses where overapproximation is not required, an exact safety guarantee is possible. C. Goal Network Conversion and Verification Procedure Hybrid system analysis tools can be used to verify the safe behavior of a hybrid system; therefore, a procedure to convert goal networks into hybrid systems is an important tool for goal network verification. A manual process for converting certain types of goal networks is described in [14], and is graphically represented in Figure 1. These goal networks can have several state variables and several layers of goal elaborations, however time points must be wellordered, which means the time points fire in the order that they are listed in the elaboration. Each state variable in the goal network is labeled as either controllable, uncontrollable, or dependent. A controllable state variable (CSV) is directly associated with a command class. An uncontrollable state variable (USV) is not associated with a command class in any way. A dependent state variable (DSV) has model dependencies on at least one controllable state variable. Different hybrid automata are created from goals on and states of these different types of state variables. An outline of the conversion procedure for the goals on CSVs and DSVs is as follows:
3 1) Create elaboration and transition logic tables for each goal that elaborates any constraints on CSVs and for each CSV and continuous DSV, respectively. List transition conditions between states for each discrete DSV. 2) Place goals between consecutive time points into groups. 3) In each group, create locations (modes) by combining branch goals (goals on CSVs that are not ancestors of other goals on CSVs in the group) with all parent and sibling goals (goals in the same tactic or other root goals) that constrain CSVs. Label each location with the dynamical update equations for all CSVs and continuous DSVs constrained in the location. Create Success and Safing locations. 4) Create transitions between locations and groups using the elaboration and transition logic tables found above. Elaboration logic controls transitions into groups and failure transitions between locations in a group, and transition logic controls the transitions out of a group to the next group or to the Success location. 5) Add exit and failure transitions based on time to locations containing goals that have time constraints. Add entry actions that reset the time variable to zero when transitions into these locations from the group connector are taken. 6) Remove unnecessary locations, groups, and transitions. For each each USV, a separate hybrid automaton is created by making locations from the discrete states or discrete sets of states of the variable. The transition conditions are stochastic rates or are based on the state models. For safety verification, the hybrid automata are converted into PHAVer code and the appropriate transitions are synchronized between the automata. The unsafe (or incorrect) set is determined and conditions that would cause the hybrid automata to enter the unsafe set are searched for using the verification software. If no such conditions are found, the goal network is said to be verified. III. CONVERSION SOFTWARE DESIGN The software version of the goal network conversion procedure is not yet as comprehensive as the version outlined in the previous section, however most of the important capabilities are present. The conversion software is written in Mathematica because of the list structure it employs and its extensive library of pattern-matching functions. A. Software Inputs The inputs to the conversion software are derived from the necessary design components needed to have an implementable goal network in MDS. A set of five lists are needed, and they are {goals, usv, merge, elab, trans}. The goals list is an ordered list of all the goals on controllable and dependent state variables in the goal network. The goals must be ordered by ancestory; no goal can appear in the list ahead of its parent. As goal elaboration is a top-down procedure, this constraint on the goal ordering is trivial to achieve. Each goals entry must have the following information listed in this order: 1) Goal number - this is assigned according to the ancestory constraint only. 2) Time point list, {t s,t e } - this sublist has two elements, the number of the beginning time point and the number of the ending time point. The time points are numbered by order of execution and it is always true that t s <t e. 3) Parent goal number - this is zero if the goal has no ancestor. 4) Tactic number - this is zero if the goal has no parent. 5) Constraint list, {sv, type, {c 1,..., c n }} - the first element of this sublist is the numerical representation of the controllable or dependent state variable (the set of controllable state variables is ordered arbitrarily, followed by an arbitrary ordering of dependent state variables), the number of the constraint type for that state variable (also ordered arbitrarily), and the set of n constraints that accompany that constraint type. The usv list is an ordered list of all of the uncontrollable state variables that are constrained in the goal network. The ordering of the uncontrollable state variables is arbitrary. Each usv entry must have the following information listed in this order: 1) State variable name - this is a symbol that will be used in all elaboration and failure logic. The symbol must be unique for each uncontrollable state variable. 2) Discrete value list, {v 1,..., v m } - this sublist contains the m discrete values or sets of values that the uncontrollable state variable can take. The m value names can be numerical or strings, and must be unique for that specific USV, but not across all USVs. 3) Transition list, {{{c, v i },...},..., {{c, v j },...}} - this list has m sublists, one for each discrete value that the USV can take. In each sublist, there is a set of lists that describe all the transitions that can be taken out of that state value. The first element of those lists, c, is the transition condition, and the second element is the value label to which the transition goes. The merge list has a sublist for every controllable and dependent state variable in numerical order. These sublists have several parts that describe the type of goal constraints that can be placed on them and how these constraint types merge with one another if two or more constraints on the same state variable are active at the same time. Inside the sublists, there are lists of merge conditions for each constraint type with itself and with each constraint type whose numerical label is larger than its own. The parts of these lists are as follows: 1) Merge type - if the merge is conditional on the constraints, this value is 1. If the merge is always impossible, the value is 0, and there are no more list elements. If the merge is always possible, this value is the constraint type number that the merged constraint becomes. 2) Merge rules for constraints - these are symbolic and are
4 replaced by actual constraint values in the procedure. This is the last entry for merges that are always possible. 3) Merge conditions - these are also symbolic, and the actual constraint values must be substituted during the merging procedure. If the conditions are true, the merge happens. 4) Constraint type - for conditional merges only, this is the number of the constraint type that the merged constraint becomes. The elab list has a sublist for every goal listed in the goals list. The sublists each have lists for different logic types and conditions if the goal is a parent goal. If not, the sublist for that goal has only a zero. These elaboration logic information types are listed below: 1) Starts in logic - this lists for each tactic the conditions that cause the elaboration of one tactic over another. 2) Failure logic - this lists for each tactic the conditions that would fail a tactic and to which goal (or a representative goal, if execution goes to another tactic with more than one goal) the tactic fails. There may be more than one set of conditions and goals for each tactic. The tactic may fail to Safe and a failure condition may be the failure of children goals, labeled CGF. The trans list has a sublist for every controllable and dependent state variable. The lists in the sublists have transitions conditions must be true for each constraint type for that controllable or dependent state variable. These conditions have two components, as follows: 1) Incoming transition logic - these conditions must be true for this type of constraint to be entered. 2) Outgoing transition logic - these conditions signify the completion of a constraint type. B. Software Outputs Since all the necessary information (except flow) for the USV automata are inputs to the software, the output from the software has information only about the CSV/DSV goal automaton. This structure, called cdsva, has many parts, organized first into groups and second into locations. In each location s list, the following information is present in order: 1) List of goals present - listed by goal number. 2) List of merged constraints - including CSV and DSV number, type of merged constraint, and constraint values. 3) Starts in transition condition - this transition is from the group connector between the previous group and the current group, so only the condition is listed. 4) Incoming and outgoing transition conditions - these transitions are from the preceding group connector to the location, and from the location to the following group connector, respectively. The conditions involve the CSVs and DSVs constrained in that location. Fig. 2. Flow chart of the conversion software execution 5) Outgoing failure transitions - both the condition and the accepting location are listed. There may be more than one per location. 6) Incoming failure transitions - both the condition and the originating location are listed. There may be more than one per location. C. Conversion Algorithms The general outline for the structure of the conversion software is shown in Figure 2. There are four main parts to the conversion algorithm: location creation, constraint merging, transition creation, and location removal. Each of these algorithms is described in this section. The location creation algorithm takes the goals input structure and uses the time point, parent, and tactic information to sort the goals into groups and then into locations. The time point information is first used to sort the goals into groups, where some goals may occur in more than one group if t e >t s +1. Then, the parent and tactic information is used to find all incompatible goals for each goal in the group. These incompatible goals cannot occur in the same location as the goal because they are either in different tactics elaborated from the same parent goal or are descended from goals that are in different tactics from the same parent goal. Next, branch goals for each group are found and each is made into a location; sibling branch goals are combined into one location. Branch goals have no children in the group, and sibling goals are goals that are elaborated into the same tactic or are root goals (goals with no ancestors in the group) that have no common ancestors. Parent goals and their siblings are added to each location until the root goals are reached. Each location is then combined with each other compatible location and repeat locations are removed until no more locations can be combined or removed. Compatible locations are locations that share two or more goals in common and no goals in one location are on the incompatible goal list of any goal in the other location. These steps ensure that each possible execution of the goal network between two time points is represented in exactly one location. The constraint merging algorithm uses the location output from the location creation algorithm and the goals and merge inputs to combine the constraints on all of the controllable and dependent state variable constrained in each
5 location. The constraint types of goals on the same state variable are compared to find the proper field of the merge input, and then the symbolic merge conditions and merged constraint values are replaced with the actual constraints found in the goals input. If the merge is successful, the new merge type and merged constraints are added to the location. If the merge is not successful, the location is removed. The transition creation algorithm creates the transitions from the preceding group connector into the locations in each group, the failure transitions between locations in a group, and the transitions from each location to the following group connector using the goals, elab, trans, and usv inputs, as well as the location and constraints output from the constraint merging algorithm. The starts in logic for each goal in each location are combined using a logical AND connector, and then simplified and checked for viability. If the resulting logical expression evaluates to False, the transition is removed. The transition logics for all of the constrained state variables based on the constraint types present in the location are also combined and simplified. Failure logic for each goal in each location is listed, and the conditions for failure transitions to the same location are combined with a logical OR connector and are simplified. The locations that are receiving these failure conditions are updated to reflect that fact. An unsimplified cdsva structure is the output of this algorithm. The location removal algorithm checks several conditions that would warrant the removal of the location or group for each location and group and then removes the location or group if any condition is true. These conditions include the lack of input transitions, all locations having invariantly True exit conditions, an invariantly True failure condition, or exit conditions that are a subset of the conditions of all incoming transitions. The removal of the locations include the removal of all other failure transitions originating from that location, and the reassignment of accepting locations for any entry transitions into the deleted location. The output of this algorithm is the final output of the software, the cdsva list. A. Mars Rover Example IV. BENCHMARK PROBLEMS This example was first introduced in a previous work [14]. It involves a robot with three sensors traversing a path to get to one point of interest, whose selection depends on the health of the sensors. Figure 3 depicts the goal network and the hybrid system to which the goal network is converted. The inputs to the conversion software consist of eleven inputs in the goals list; two controllable state variables, position with four constraint types, and orientation with two constraint types; one uncontrollable state variable, system health, with three discrete states; and six parent goals with elaboration logic. The output of the conversion software, shown in Figure 4, matches the manual version of the converted hybrid automaton exactly and was found in less than one second using the software. Fig. 3. Numbered goal network and its hybrid automaton conversion for the Mars rover example Fig. 4. Annotated conversion software output for the Mars rover example B. Where s Waldo Example The Where s Waldo example problem was taken from another work that solves the problem using a correct by design control system that is generated from requirements written in a restricted set of LTL [10]. A known rectangular course broken into four regions (shown in Figure 5) is traversed by a robot that looks for Waldo, who can be in region P2 or P4. If the robot finds Waldo in one of these locations, the robot must stay there; otherwise it must continue to look. A segment of goal network used to solve this problem is found in Figure 6 along with the hybrid automaton that the conversion software found. The input to the software consisted of ten goals; one controllable state variable, position, which had two constraint types (drive and maintain); one uncontrollable state variable, the location of Waldo, which had three discrete states (P2, P4, or N otp resent); and four parent goals with elaboration logic. The hybrid automaton specified by the conversion software was run in PHAVer with an unsafe (or incorrect) set that included staying in P2 or P4 when Waldo was not present and leaving P2 or P4 when Waldo was present in the same region as the rover. The model checker found no executions of the hybrid automata that would cause the robot to enter the unsafe set. The solution for this problem was found and verified very simply using this goal network conversion and verification procedure. C. Complex Goal Network Example A contrived example to test the capabilities of the conversion software was developed. This example consists of a goal
6 Fig. 5. Environment for the Where s Waldo example. The star indicates the initial rover position [10]. which is a promising development for goal-based control programs, particularly for control architectures such as MDS. There is much work to be done with this software. Many capabilities covered in the original conversion process can be added to this software. These include dynamical equations for each controllable and dependent state variable constraint type, model representations of the evolution of the uncontrollable state variables, time constraints, replan states, and removal of unnecessary cycles of locations. Another capability that will be added soon is a parser to translate the output cdsva into PHAVer code. Another parser that can take a more intuitive goal network definition and translate it into the input lists would also be very useful. VI. ACKNOWLEDGEMENTS The authors would like to gratefully acknowledge Kenny Meyer, Michel Ingham, David Wagner, Robert Rasmussen, Kirk Reinholtz, and the rest of the MDS team at JPL for feedback, suggestions, answered questions, and MDS and State Analysis instruction; and Hadas Kress-Gazit for the Where s Waldo example. This work was funded by AFOSR. Fig. 6. Goal network and its hybrid automaton conversion for the Where s Waldo example, where GTP2 = GetToP2, etc. network with twenty-five goals; two controllable state variables, the first with four constraint types and the second with three constraint types; two uncontrollable state variables, each with three discrete states; and nine parent goals with corresponding elaboration logic. A graphical representation of the goal network and resulting hybrid automaton are shown in Figure 7. The conversion software successfully found the correct automaton in about one second. V. CONCLUSIONS AND FUTURE WORK The goal network conversion software presented in this paper is capable of quickly and accurately converting complicated goal networks into linear hybrid automata that can be verified using existing symbolic model checking software such as PHAVer. This automatic tool allows more goal networks to be verified due to its speed and ease of use, Fig. 7. Numbered goal network elaboration tree and its hybrid automaton conversion for the complex goal network example REFERENCES [1] G. Labinaz, M. M. Bayoumi, and K. Rudie, A survey of modeling and control of hybrid systems, Annual Reviews of Control, [2] R. Alur, T. Henzinger, and P.-H. Ho, Automatic symbolic verification of embedded systems, IEEE Transactions on Software Engineering, vol. 22, no. 3, pp , [3] T. A. Henzinger, P.-H. Ho, and H. Wong-Toi, HyTech: A model checker for hybrid systems, International Journal on Software Tools for Technology Transfer, [4] K. Larsen, P. Pettersson, and W. Yi, UPPAAL in a nutshell, International Journal on Software Tools for Technology Transfer, vol. 1, no. 1-2, pp , [5] D. Dill and H. Wong-Toi, CAV 95: Computer-aided Verification, ch. Verification of real-time systems by successive over and under approximation, pp Springer, [6] G. Frehse, PHAVer: Algorithmic verification of hybrid systems past HyTech, International Conference on Hybrid Systems: Computation and Control, [7] G. Holzmann, The Spin Model Checker: Primer and Reference Manual. Addison-Wesley, [8] R. H. Bordini, M. Fisher, W. Visser, and M. Wooldridge, Programming Multi-Agent Systems, vol. LNAI 3067, ch. Verifiable Multi-agent Programs, pp [9] G. D. Giacomo and M. Y. Vardi, ECP-99, vol. LNAI 1809, ch. Automata-Theoretic Approach to Planning for Temporally Extended Goals, pp [10] H. Kress-Gazit, G. E. Fainekos, and G. J. Pappas, Wheres Waldo? Sensor-based temporal logic motion planning, IEEE International Conference on Robotics and Automation, pp , [11] D. Dvorak, R. Rasmussen, G. Reeves, and A. Sacks, Software architecture themes in JPLs Mission Data System, IEEE Aerospace Conference, [12] M. Ingham, R. Rasmussen, M. Bennett, and A. Moncada, Engineering complex embedded systems with State Analysis and the Mission Data System, AIAA Journal of Aerospace Computing, Information and Communication, vol. 2, pp , December [13] R. D. Rasmussen, Goal-based fault tolerance for space systems using the Mission Data System, IEEE Aerospace Conference Proceedings, vol. 5, pp , March [14] J. M. Braman, R. M. Murray, and D. A. Wagner, Safety verification of a fault tolerant reconfigurable autonomous goal-based robotic control system, IEEE/RSJ International Conference on Intelligent Robots and Systems, [15] D. Dvorak, R. Rasmussen, and T. Starbird, State knowledge representation in the Mission Data System, IEEE Aerospace Conference, 2002.
Formal Verification Toolkit for Requirements and Early Design Stages
Formal Verification Toolkit for Requirements and Early Design Stages Julia M. Badger 1 and Sheena Judson Miller 2 1 NASA Johnson Space Center, Houston, TX 77058, USA 2 Barrios Technology, Houston, TX 77058,
Test Coverage Criteria for Autonomous Mobile Systems based on Coloured Petri Nets
9th Symposium on Formal Methods for Automation and Safety in Railway and Automotive Systems Institut für Verkehrssicherheit und Automatisierungstechnik, TU Braunschweig, 2012 FORMS/FORMAT 2012 (http://www.forms-format.de)
0 0-10 5-30 8-39. Rover. ats gotorock getrock gotos. same time compatibility. Rock. withrover 8-39 TIME
Verication of plan models using UPPAAL Lina Khatib 1, Nicola Muscettola, and Klaus Havelund 2 NASA Ames Research Center, MS 269-2 Moett Field, CA 94035 1 QSS Group, Inc. 2 RECOM Technologies flina,mus,[email protected]
Reliability Guarantees in Automata Based Scheduling for Embedded Control Software
1 Reliability Guarantees in Automata Based Scheduling for Embedded Control Software Santhosh Prabhu, Aritra Hazra, Pallab Dasgupta Department of CSE, IIT Kharagpur West Bengal, India - 721302. Email: {santhosh.prabhu,
Today s Agenda. Automata and Logic. Quiz 4 Temporal Logic. Introduction Buchi Automata Linear Time Logic Summary
Today s Agenda Quiz 4 Temporal Logic Formal Methods in Software Engineering 1 Automata and Logic Introduction Buchi Automata Linear Time Logic Summary Formal Methods in Software Engineering 2 1 Buchi Automata
Testing LTL Formula Translation into Büchi Automata
Testing LTL Formula Translation into Büchi Automata Heikki Tauriainen and Keijo Heljanko Helsinki University of Technology, Laboratory for Theoretical Computer Science, P. O. Box 5400, FIN-02015 HUT, Finland
Towards a Framework for Generating Tests to Satisfy Complex Code Coverage in Java Pathfinder
Towards a Framework for Generating Tests to Satisfy Complex Code Coverage in Java Pathfinder Matt Department of Computer Science and Engineering University of Minnesota [email protected] Abstract We present
PETRI NET BASED SUPERVISORY CONTROL OF FLEXIBLE BATCH PLANTS. G. Mušič and D. Matko
PETRI NET BASED SUPERVISORY CONTROL OF FLEXIBLE BATCH PLANTS G. Mušič and D. Matko Faculty of Electrical Engineering, University of Ljubljana, Slovenia. E-mail: [email protected] Abstract: The
The Model Checker SPIN
The Model Checker SPIN Author: Gerard J. Holzmann Presented By: Maulik Patel Outline Introduction Structure Foundation Algorithms Memory management Example/Demo SPIN-Introduction Introduction SPIN (Simple(
Automata-based Verification - I
CS3172: Advanced Algorithms Automata-based Verification - I Howard Barringer Room KB2.20: email: [email protected] March 2006 Supporting and Background Material Copies of key slides (already
Reading 13 : Finite State Automata and Regular Expressions
CS/Math 24: Introduction to Discrete Mathematics Fall 25 Reading 3 : Finite State Automata and Regular Expressions Instructors: Beck Hasti, Gautam Prakriya In this reading we study a mathematical model
Model Checking based Software Verification
Model Checking based Software Verification 18.5-2006 Keijo Heljanko [email protected] Department of Computer Science and Engineering Helsinki University of Technology http://www.tcs.tkk.fi/~kepa/ 1/24
Development of dynamically evolving and self-adaptive software. 1. Background
Development of dynamically evolving and self-adaptive software 1. Background LASER 2013 Isola d Elba, September 2013 Carlo Ghezzi Politecnico di Milano Deep-SE Group @ DEIB 1 Requirements Functional requirements
Software Modeling and Verification
Software Modeling and Verification Alessandro Aldini DiSBeF - Sezione STI University of Urbino Carlo Bo Italy 3-4 February 2015 Algorithmic verification Correctness problem Is the software/hardware system
REDUCING THE COST OF GROUND SYSTEM DEVELOPMENT AND MISSION OPERATIONS USING AUTOMATED XML TECHNOLOGIES. Jesse Wright Jet Propulsion Laboratory,
REDUCING THE COST OF GROUND SYSTEM DEVELOPMENT AND MISSION OPERATIONS USING AUTOMATED XML TECHNOLOGIES Colette Wilklow MS 301-240, Pasadena, CA phone + 1 818 354-4674 fax + 1 818 393-4100 email: [email protected]
Using Patterns and Composite Propositions to Automate the Generation of Complex LTL
University of Texas at El Paso DigitalCommons@UTEP Departmental Technical Reports (CS) Department of Computer Science 8-1-2007 Using Patterns and Composite Propositions to Automate the Generation of Complex
logic language, static/dynamic models SAT solvers Verified Software Systems 1 How can we model check of a program or system?
5. LTL, CTL Last part: Alloy logic language, static/dynamic models SAT solvers Today: Temporal Logic (LTL, CTL) Verified Software Systems 1 Overview How can we model check of a program or system? Modeling
Vector storage and access; algorithms in GIS. This is lecture 6
Vector storage and access; algorithms in GIS This is lecture 6 Vector data storage and access Vectors are built from points, line and areas. (x,y) Surface: (x,y,z) Vector data access Access to vector
http://aejm.ca Journal of Mathematics http://rema.ca Volume 1, Number 1, Summer 2006 pp. 69 86
Atlantic Electronic http://aejm.ca Journal of Mathematics http://rema.ca Volume 1, Number 1, Summer 2006 pp. 69 86 AUTOMATED RECOGNITION OF STUTTER INVARIANCE OF LTL FORMULAS Jeffrey Dallien 1 and Wendy
T-79.186 Reactive Systems: Introduction and Finite State Automata
T-79.186 Reactive Systems: Introduction and Finite State Automata Timo Latvala 14.1.2004 Reactive Systems: Introduction and Finite State Automata 1-1 Reactive Systems Reactive systems are a class of software
Modeling, Verification and Testing using Timed and Hybrid. Automata. Stavros Tripakis and Thao Dang
Modeling, Verification and Testing using Timed and Hybrid Automata Stavros Tripakis and Thao Dang September 12, 2008 ii Contents 1 Modeling, Verification and Testing using Timed and Hybrid Automata 1 1.1
Diagnosis and Fault-Tolerant Control
Mogens Blanke Michel Kinnaert Jan Lunze Marcel Staroswiecki Diagnosis and Fault-Tolerant Control With contributions by Jochen Schroder With 228 Figures Springer 1. Introduction to diagnosis and fault-tolerant
An eclipse-based Feature Models toolchain
An eclipse-based Feature Models toolchain Luca Gherardi, Davide Brugali Dept. of Information Technology and Mathematics Methods, University of Bergamo [email protected], [email protected] Abstract.
Software that writes Software Stochastic, Evolutionary, MultiRun Strategy Auto-Generation. TRADING SYSTEM LAB Product Description Version 1.
Software that writes Software Stochastic, Evolutionary, MultiRun Strategy Auto-Generation TRADING SYSTEM LAB Product Description Version 1.1 08/08/10 Trading System Lab (TSL) will automatically generate
DiPro - A Tool for Probabilistic Counterexample Generation
DiPro - A Tool for Probabilistic Counterexample Generation Husain Aljazzar, Florian Leitner-Fischer, Stefan Leue, and Dimitar Simeonov University of Konstanz, Germany Abstract. The computation of counterexamples
Professional Organization Checklist for the Computer Science Curriculum Updates. Association of Computing Machinery Computing Curricula 2008
Professional Organization Checklist for the Computer Science Curriculum Updates Association of Computing Machinery Computing Curricula 2008 The curriculum guidelines can be found in Appendix C of the report
A Static Analyzer for Large Safety-Critical Software. Considered Programs and Semantics. Automatic Program Verification by Abstract Interpretation
PLDI 03 A Static Analyzer for Large Safety-Critical Software B. Blanchet, P. Cousot, R. Cousot, J. Feret L. Mauborgne, A. Miné, D. Monniaux,. Rival CNRS École normale supérieure École polytechnique Paris
Verification of hybrid dynamical systems
Verification of hybrid dynamical systems Jüri Vain Tallinn Technical University/Institute of Cybernetics [email protected] Outline What are Hybrid Systems? Hybrid automata Verification of hybrid systems Verification
CONTINUOUS DYNAMIC ABSTRACTION FOR RELIABILITY AND SAFETY ANALYSIS OF HYBRID SYSTEMS. Nabil SADOU* Hamid DEMMOU* Jean-Claude PASCAL* Robert VALETTE*
CONTINUOUS DYNAMIC ABSTRACTION FOR RELIABILITY AND SAFETY ANALYSIS OF HYBRID SYSTEMS Nabil SADOU* Hamid DEMMOU* Jean-Claude PASCAL* Robert VALETTE* * LAAS-CNRS F-31077 Toulouse Cedex 4, France Abstract:
2 SYSTEM DESCRIPTION TECHNIQUES
2 SYSTEM DESCRIPTION TECHNIQUES 2.1 INTRODUCTION Graphical representation of any process is always better and more meaningful than its representation in words. Moreover, it is very difficult to arrange
Software Testing Strategies and Techniques
Software Testing Strategies and Techniques Sheetal Thakare 1, Savita Chavan 2, Prof. P. M. Chawan 3 1,2 MTech, Computer Engineering VJTI, Mumbai 3 Associate Professor, Computer Technology Department, VJTI,
Analysis of Compression Algorithms for Program Data
Analysis of Compression Algorithms for Program Data Matthew Simpson, Clemson University with Dr. Rajeev Barua and Surupa Biswas, University of Maryland 12 August 3 Abstract Insufficient available memory
Model checking test models. Author: Kevin de Berk Supervisors: Prof. dr. Wan Fokkink, dr. ir. Machiel van der Bijl
Model checking test models Author: Kevin de Berk Supervisors: Prof. dr. Wan Fokkink, dr. ir. Machiel van der Bijl February 14, 2014 Abstract This thesis is about model checking testing models. These testing
Model-Based Software Quality Assurance with the Architecture Analysis and Design Language
AIAA Infotech@Aerospace Conference andaiaa Unmanned...Unlimited Conference 6-9 April 2009, Seattle, Washington AIAA 2009-2034 Model-Based Software Quality Assurance with the Architecture Analysis
Regular Expressions and Automata using Haskell
Regular Expressions and Automata using Haskell Simon Thompson Computing Laboratory University of Kent at Canterbury January 2000 Contents 1 Introduction 2 2 Regular Expressions 2 3 Matching regular expressions
Modeling and Verification of Sampled-Data Hybrid Systems
Modeling and Verification of Sampled-Data Hybrid Systems Abstract B. Izaias Silva and Bruce H. Krogh Dept. of Electrical and Computer Engineering, Carnegie Mellon University (Izaias /krogh)@cmu.edu We
SYSM 6304: Risk and Decision Analysis Lecture 5: Methods of Risk Analysis
SYSM 6304: Risk and Decision Analysis Lecture 5: Methods of Risk Analysis M. Vidyasagar Cecil & Ida Green Chair The University of Texas at Dallas Email: [email protected] October 17, 2015 Outline
Formal Verification by Model Checking
Formal Verification by Model Checking Natasha Sharygina Carnegie Mellon University Guest Lectures at the Analysis of Software Artifacts Class, Spring 2005 1 Outline Lecture 1: Overview of Model Checking
Process Modelling from Insurance Event Log
Process Modelling from Insurance Event Log P.V. Kumaraguru Research scholar, Dr.M.G.R Educational and Research Institute University Chennai- 600 095 India Dr. S.P. Rajagopalan Professor Emeritus, Dr. M.G.R
Khalid Sayood and Martin C. Rost Department of Electrical Engineering University of Nebraska
PROBLEM STATEMENT A ROBUST COMPRESSION SYSTEM FOR LOW BIT RATE TELEMETRY - TEST RESULTS WITH LUNAR DATA Khalid Sayood and Martin C. Rost Department of Electrical Engineering University of Nebraska The
Software Verification for Space Applications Part 2. Autonomous Systems. G. Brat USRA/RIACS
Software Verification for Space Applications Part 2. Autonomous Systems G. Brat USRA/RIACS Main Objectives Implement a sustained and affordable human and robotic program to explore the solar system and
Software Design. Design (I) Software Design Data Design. Relationships between the Analysis Model and the Design Model
Software Design Design (I) Software Design is a process through which requirements are translated into a representation of software. Peter Lo CS213 Peter Lo 2005 1 CS213 Peter Lo 2005 2 Relationships between
Online Checking of a Hybrid Laser Tracheotomy Model in UPPAAL-SMC
Master Thesis Xintao Ma Online Checking of a Hybrid Laser Tracheotomy Model in UPPAAL-SMC Date 06. June, 2013-06. December, 2013 supervised by: Prof. Dr. Sibylle Schupp Prof. Dr. Alexander Schlaefer Jonas
A Reliability Point and Kalman Filter-based Vehicle Tracking Technique
A Reliability Point and Kalman Filter-based Vehicle Tracing Technique Soo Siang Teoh and Thomas Bräunl Abstract This paper introduces a technique for tracing the movement of vehicles in consecutive video
Client Overview. Engagement Situation. Key Requirements
Client Overview Our client is one of the leading providers of business intelligence systems for customers especially in BFSI space that needs intensive data analysis of huge amounts of data for their decision
Standard for Software Component Testing
Standard for Software Component Testing Working Draft 3.4 Date: 27 April 2001 produced by the British Computer Society Specialist Interest Group in Software Testing (BCS SIGIST) Copyright Notice This document
Efficient Data Structures for Decision Diagrams
Artificial Intelligence Laboratory Efficient Data Structures for Decision Diagrams Master Thesis Nacereddine Ouaret Professor: Supervisors: Boi Faltings Thomas Léauté Radoslaw Szymanek Contents Introduction...
MOCET A Certification Scaffold for Critical Software
MOCET A Certification Scaffold for Critical Software Herbert Hecht SoHaR Incorporated Culver City CA 90230 [email protected] 1. Introduction A common problem besetting certification activities, to whatever
INDEPENDENT VERIFICATION AND VALIDATION OF EMBEDDED SOFTWARE
PREFERRED RELIABILITY PRACTICES PRACTICE NO. PD-ED-1228 PAGE 1 OF 6 INDEPENDENT VERIFICATION AND VALIDATION OF EMBEDDED SOFTWARE Practice: To produce high quality, reliable software, use Independent Verification
Total Quality Management (TQM) Quality, Success and Failure. Total Quality Management (TQM) vs. Process Reengineering (BPR)
Total Quality Management (TQM) Quality, Success and Failure Total Quality Management (TQM) is a concept that makes quality control a responsibility to be shared by all people in an organization. M7011
How To Develop Software
Software Engineering Prof. N.L. Sarda Computer Science & Engineering Indian Institute of Technology, Bombay Lecture-4 Overview of Phases (Part - II) We studied the problem definition phase, with which
Software Engineering using Formal Methods
Software Engineering using Formal Methods Model Checking with Temporal Logic Wolfgang Ahrendt 24th September 2013 SEFM: Model Checking with Temporal Logic /GU 130924 1 / 33 Model Checking with Spin model
Introduction to Simulink & Stateflow. Coorous Mohtadi
Introduction to Simulink & Stateflow Coorous Mohtadi 1 Key Message Simulink and Stateflow provide: A powerful environment for modelling real processes... and are fully integrated with the MATLAB environment.
School of Computer Science
School of Computer Science Computer Science - Honours Level - 2014/15 October 2014 General degree students wishing to enter 3000- level modules and non- graduating students wishing to enter 3000- level
Karunya University Dept. of Information Technology
PART A Questions 1. Mention any two software process models. 2. Define risk management. 3. What is a module? 4. What do you mean by requirement process? 5. Define integration testing. 6. State the main
An Approach for Generating Concrete Test Cases Utilizing Formal Specifications of Web Applications
An Approach for Generating Concrete Test Cases Utilizing Formal Specifications of Web Applications Khusbu Bubna RC Junit concrete test cases suitable for execution on the implementation. The remainder
dspace DSP DS-1104 based State Observer Design for Position Control of DC Servo Motor
dspace DSP DS-1104 based State Observer Design for Position Control of DC Servo Motor Jaswandi Sawant, Divyesh Ginoya Department of Instrumentation and control, College of Engineering, Pune. ABSTRACT This
Extend Table Lens for High-Dimensional Data Visualization and Classification Mining
Extend Table Lens for High-Dimensional Data Visualization and Classification Mining CPSC 533c, Information Visualization Course Project, Term 2 2003 Fengdong Du [email protected] University of British Columbia
Malay A. Dalal Madhav Erraguntla Perakath Benjamin. Knowledge Based Systems, Inc. (KBSI) College Station, TX 77840, U.S.A.
AN INTRODUCTION TO USING PROSIM FOR BUSINESS PROCESS SIMULATION AND ANALYSIS Malay A. Dalal Madhav Erraguntla Perakath Benjamin Knowledge Based Systems, Inc. (KBSI) College Station, TX 77840, U.S.A. ABSTRACT
Compact Representations and Approximations for Compuation in Games
Compact Representations and Approximations for Compuation in Games Kevin Swersky April 23, 2008 Abstract Compact representations have recently been developed as a way of both encoding the strategic interactions
UML for the C programming language.
Functional-based modeling White paper June 2009 UML for the C programming language. Bruce Powel Douglass, PhD, IBM Page 2 Contents 2 Executive summary 3 FunctionalC UML profile 4 Functional development
Formal Verification of Software
Formal Verification of Software Sabine Broda Department of Computer Science/FCUP 12 de Novembro de 2014 Sabine Broda (DCC-FCUP) Formal Verification of Software 12 de Novembro de 2014 1 / 26 Formal Verification
Software Verification: Infinite-State Model Checking and Static Program
Software Verification: Infinite-State Model Checking and Static Program Analysis Dagstuhl Seminar 06081 February 19 24, 2006 Parosh Abdulla 1, Ahmed Bouajjani 2, and Markus Müller-Olm 3 1 Uppsala Universitet,
An Agent-Based Concept for Problem Management Systems to Enhance Reliability
An Agent-Based Concept for Problem Management Systems to Enhance Reliability H. Wang, N. Jazdi, P. Goehner A defective component in an industrial automation system affects only a limited number of sub
Process Modeling Notations and Workflow Patterns
Process Modeling Notations and Workflow Patterns Stephen A. White, IBM Corp., United States ABSTRACT The research work of Wil van der Aalst, Arthur ter Hofstede, Bartek Kiepuszewski, and Alistair Barros
Monitoring the Execution of Space Craft Flight Software
Copyright 2009. All rights reserved. Monitoring the Execution of Space Craft Flight Software Klaus Havelund, Alex Groce, Margaret Smith Jet Propulsion Laboratory (JPL), CA USA California Institute of Technology
Verifying Semantic of System Composition for an Aspect-Oriented Approach
2012 International Conference on System Engineering and Modeling (ICSEM 2012) IPCSIT vol. 34 (2012) (2012) IACSIT Press, Singapore Verifying Semantic of System Composition for an Aspect-Oriented Approach
Test Automation Architectures: Planning for Test Automation
Test Automation Architectures: Planning for Test Automation Douglas Hoffman Software Quality Methods, LLC. 24646 Heather Heights Place Saratoga, California 95070-9710 Phone 408-741-4830 Fax 408-867-4550
Current Standard: Mathematical Concepts and Applications Shape, Space, and Measurement- Primary
Shape, Space, and Measurement- Primary A student shall apply concepts of shape, space, and measurement to solve problems involving two- and three-dimensional shapes by demonstrating an understanding of:
System Aware Cyber Security
System Aware Cyber Security Application of Dynamic System Models and State Estimation Technology to the Cyber Security of Physical Systems Barry M. Horowitz, Kate Pierce University of Virginia April, 2012
System modeling. Budapest University of Technology and Economics Department of Measurement and Information Systems
System modeling Business process modeling how to do it right Partially based on Process Anti-Patterns: How to Avoid the Common Traps of Business Process Modeling, J Koehler, J Vanhatalo, IBM Zürich, 2007.
IV. ALGEBRAIC CONCEPTS
IV. ALGEBRAIC CONCEPTS Algebra is the language of mathematics. Much of the observable world can be characterized as having patterned regularity where a change in one quantity results in changes in other
Axiomatic design of software systems
Axiomatic design of software systems N.P. Suh (1), S.H. Do Abstract Software is playing an increasingly important role in manufacturing. Many manufacturing firms have problems with software development.
AUTOMATED TEST GENERATION FOR SOFTWARE COMPONENTS
TKK Reports in Information and Computer Science Espoo 2009 TKK-ICS-R26 AUTOMATED TEST GENERATION FOR SOFTWARE COMPONENTS Kari Kähkönen ABTEKNILLINEN KORKEAKOULU TEKNISKA HÖGSKOLAN HELSINKI UNIVERSITY OF
In developmental genomic regulatory interactions among genes, encoding transcription factors
JOURNAL OF COMPUTATIONAL BIOLOGY Volume 20, Number 6, 2013 # Mary Ann Liebert, Inc. Pp. 419 423 DOI: 10.1089/cmb.2012.0297 Research Articles A New Software Package for Predictive Gene Regulatory Network
Handling Fault Detection Latencies in Automata-based Scheduling for Embedded Control Software
Handling Fault Detection atencies in Automata-based cheduling for Embedded Control oftware anthosh Prabhu M, Aritra Hazra, Pallab Dasgupta and P. P. Chakrabarti Department of Computer cience and Engineering,
How to realize software evolution of existing BOSS via ZTE SEEM
How to realize software evolution of existing BOSS via ZTE SEEM Zhan Zhang Abstract Due to long-term construction and accumulation for different purposes, telecom carriers normally have very complex IT
From Workflow Design Patterns to Logical Specifications
AUTOMATYKA/ AUTOMATICS 2013 Vol. 17 No. 1 http://dx.doi.org/10.7494/automat.2013.17.1.59 Rados³aw Klimek* From Workflow Design Patterns to Logical Specifications 1. Introduction Formal methods in software
Program Synthesis is a Game
Program Synthesis is a Game Barbara Jobstmann CNRS/Verimag, Grenoble, France Outline Synthesis using automata- based game theory. MoBvaBon, comparison with MC and LTL. Basics Terminology Reachability/Safety
Validated Templates for Specification of Complex LTL Formulas
Validated Templates for Specification of Complex LTL Formulas Salamah Salamah Department of Electrical, computer, Software, and Systems Engineering Embry Riddle Aeronautical University 600 S. Clyde Morris
GOAL-BASED INTELLIGENT AGENTS
International Journal of Information Technology, Vol. 9 No. 1 GOAL-BASED INTELLIGENT AGENTS Zhiqi Shen, Robert Gay and Xuehong Tao ICIS, School of EEE, Nanyang Technological University, Singapore 639798
Tool Support for Model Checking of Web application designs *
Tool Support for Model Checking of Web application designs * Marco Brambilla 1, Jordi Cabot 2 and Nathalie Moreno 3 1 Dipartimento di Elettronica e Informazione, Politecnico di Milano Piazza L. Da Vinci,
