Results 1 
5 of
5
Rewriting Logic Semantics: From Language Specifications to Formal Analysis Tools
 In Proceedings of the IJCAR 2004. LNCS
, 2004
"... Abstract. Formal semantic definitions of concurrent languages, when specified in a wellsuited semantic framework and supported by generic and efficient formal tools, can be the basis of powerful software analysis tools. Such tools can be obtained for free from the semantic definitions; in our exper ..."
Abstract

Cited by 54 (12 self)
 Add to MetaCart
(Show Context)
Abstract. Formal semantic definitions of concurrent languages, when specified in a wellsuited semantic framework and supported by generic and efficient formal tools, can be the basis of powerful software analysis tools. Such tools can be obtained for free from the semantic definitions; in our experience in just the few weeks required to define a language’s semantics even for large languages like Java. By combining, yet distinguishing, both equations and rules, rewriting logic semantic definitions unify both the semantic equations of equational semantics (in their higherorder denotational version or their firstorder algebraic counterpart) and the semantic rules of SOS. Several limitations of both SOS and equational semantics are thus overcome within this unified framework. By using a highperformance implementation of rewriting logic such as Maude, a language’s formal specification can be automatically transformed into an efficient interpreter. Furthermore, by using Maude’s breadth first search command, we also obtain for free a semidecision procedure for finding failures of safety properties; and by using Maude’s LTL model checker, we obtain, also for free, a decision procedure for LTL properties of finitestate programs. These possibilities, and the competitive performance of the analysis tools thus obtained, are illustrated by means of a concurrent Camllike language; similar experience with Java (source and JVM) programs is also summarized. 1
Automating the Implementation of Kalman Filter Algorithms
 ACM Transactions on Mathematical Software
"... AUTOFILTER is a tool that generates implementations that solve state estimation problems using Kalman filters. From a highlevel, mathematicsbased description of a state estimation problem, AUTOFILTER automatically generates code that computes a statistically optimal estimate using one or more of a ..."
Abstract

Cited by 31 (7 self)
 Add to MetaCart
AUTOFILTER is a tool that generates implementations that solve state estimation problems using Kalman filters. From a highlevel, mathematicsbased description of a state estimation problem, AUTOFILTER automatically generates code that computes a statistically optimal estimate using one or more of a number of wellknown variants of the Kalman filter algorithm. The problem description may be given in terms of continuous or discrete, linear or nonlinear process and measurement dynamics. From this description, AUTOFILTER automates many common solution methods (e.g., linearization, discretization) and generates C or Matlab code fully automatically. AUTOFILTER surpasses toolkitbased programming approaches for Kalman filters because it requires no lowlevel programming skills (e.g., to “glue ” together library function calls). AUTOFILTER raises the level of discourse to the mathematics of the problem at hand rather than the details of what algorithms, data structures, optimizations and so on are required to implement it. An overview of AUTOFILTER is given along with an example of its practical application to deep space attitude estimation.
On the Verification of Synthesized Kalman Filters
, 2003
"... The Kalman Filter is a powerful technique that combines noisy information from predictions and observations to estimate an unknown value. This has tremendous practical applications; for example, Kalman Filters are used to estimate the position of a spaceship given a mathematical model of the ship’s ..."
Abstract

Cited by 1 (0 self)
 Add to MetaCart
(Show Context)
The Kalman Filter is a powerful technique that combines noisy information from predictions and observations to estimate an unknown value. This has tremendous practical applications; for example, Kalman Filters are used to estimate the position of a spaceship given a mathematical model of the ship’s trajectory and inertial measurements. A feature of the Kalman Filter is that while it can be coded in remarkably few lines, practice has shown that it is difficult to code correctly. Moreover, for the sake of efficiency and ease of embedding into flight controllers and other devices, it is often necessary to code a Kalman Filter instance that is specific to an application. As a result, NASA has automated the process of generating these code instances. The complexity of the code generator is such that NASA has discounted the idea of proving the generator correct. Instead, it promotes the view that the generated code itself should be verified. NASA has tried various techniques to perform this validation. In this paper, we explore the use of ACL2 to validate the generated code. 1
Automated Synthesis of Numerical Programs for Simulation of Rigid Mechanical Systems in PhysicsBased Animation
"... Physicsbased animation programs are important in a variety of contexts, including science, engineering, education and entertainment among others. Manual construction of such programs is expensive, timeconsuming and prone to error. We have developed a system for automatically synthesizing physicsb ..."
Abstract
 Add to MetaCart
Physicsbased animation programs are important in a variety of contexts, including science, engineering, education and entertainment among others. Manual construction of such programs is expensive, timeconsuming and prone to error. We have developed a system for automatically synthesizing physicsbased animation programs for a significant class of problems: constrained systems of rigid bodies, subject to driving and dissipative forces, under the control of an interactive user. Our system includes a graphical interface for specifying a physical scenario, including objects, geometry and coordinate systems, along with a symbolic interface for specifying dynamical variables, forces and constraints operating in the scenario. The entities defined in the graphical interface serve as the underlying vocabulary for specifications entered in the symbolic interface. Our system partitions the constraints and dynamical variables into classes and assigns each class to be implemented in a different component of a general simulation program scheme. It generates a numerical C++ simulation program that drives a realtime animation of the specified scenario. Our system is implemented as a collection of rewrite rules in the Mathematica programming language. Our approach provides some of the benefits of formal deductive program synthesis, while keeping the computational costs of program synthesis more in line with conventional program generator technology. We have successfully tested our system on numerous examples.
Specification and Synthesis of Hybrid Automata for PhysicsBased Animation
"... Physicsbased animation programs can often be modeled in terms of hybrid automata. A hybrid automaton includes both discrete and continuous dynamical variables. The discrete variables define the automaton's modes of behavior. The continuous variables are governed by modedependent differential ..."
Abstract
 Add to MetaCart
Physicsbased animation programs can often be modeled in terms of hybrid automata. A hybrid automaton includes both discrete and continuous dynamical variables. The discrete variables define the automaton's modes of behavior. The continuous variables are governed by modedependent differential equations. This paper describes a system for specifying and automatically synthesizing physicsbased animation programs based on hybrid automata. The system presents a program developer with a family of parameterized specification schemata. Each scheme describes a pattern of behavior as a hybrid automaton passes through a sequence of modes. The developer specifies a program by selecting one or more schemata and supplying applicationspecific instantiation parameters for each of them. Each scheme is associated with a set of axioms in a logic of hybrid automata. The axioms serve to document the semantics of the specification scheme. Each scheme is also associated with a set of implementation rules. The rules synthesize program components implementing the specification in a general physicsbased animation architecture. The system allows animation programs to be developed and tested in an incremental manner. The system itself can be extended to incorporate additional schemata for specifying new patterns of behavior, along with new sets of axioms and implementation rules. It has been implemented and tested on over a dozen examples. We believe this research is a significant step toward a specification and synthesis system that is flexible enough to handle a wide variety of animation programs, yet restricted enough to permit programs to be synthesized automatically. 1.