A method of documenting exception propagation and handling in Ada programs is proposed. Exception propagation declarations are introduced as a new component of Ada specifications. This permits documentation of those exceptions that can be... more
A method of documenting exception propagation and handling in Ada programs is proposed. Exception propagation declarations are introduced as a new component of Ada specifications. This permits documentation of those exceptions that can be propagated by a subprogram. Exception handlers are documented by entry assertions. Axioms and proof rules for Ada exceptions are given. These rules are simple extensions of previous rules for Pascal and define an axiomatic semantics of Ada exceptions. As a result, Ada programs specified according to the method can be analysed by formal proof techniques for consistency with their specifications, even if they employ exception propagation and handling to achieve required results (i.e. non-error situations). Example verifications are given.
Contains the viewgraphs and other materials for the 48 papers presented at the 18th annual review conference on atmospheric transmission models held at the geophysics directorate, Phillips Laboratory (AFMC), Hanscom AFB, MA ON: 6-8 June... more
Contains the viewgraphs and other materials for the 48 papers presented at the 18th annual review conference on atmospheric transmission models held at the geophysics directorate, Phillips Laboratory (AFMC), Hanscom AFB, MA ON: 6-8 June 1995.
An automatic differentiation tool is used to develop the adjoint code for a three-dimensional computational fluid dynamics solver. Rather than using automatic differentiation to differentiate the entire source code of the computational... more
An automatic differentiation tool is used to develop the adjoint code for a three-dimensional computational fluid dynamics solver. Rather than using automatic differentiation to differentiate the entire source code of the computational fluid dynamics solver, we have applied it selectively to produce code that computes the flux Jacobian matrix and the other partial derivatives that are necessary to compute total derivatives using an adjoint method. The resulting linear discrete adjoint system is then solved using the portable, extensible toolkit for scientific computation. This selective application of automatic differentiation is the central idea behind the automatic differentiation adjoint (ADjoint) approach. This approach has the advantage that it is applicable to arbitrary sets of governing equations and cost functions, and that it is exactly consistent with the gradients that would be computed by exact numerical differentiation of the original solver. Furthermore, the approach is largely automatic, thus avoiding the lengthy development times usually required to develop adjoint solvers for partial differential equations. These significant advantages come at the cost of increased memory requirements for the adjoint solver. Derivatives of drag and lift coefficients are validated, and the low computational cost and ease of implementation of the method are shown.
An emerging breed of generators synthesize complex software systems from libraries of reusable components. These generators, called GenVoca generators, produce high-performance software and offer substantial increases in productivity.... more
An emerging breed of generators synthesize complex software systems from libraries of reusable components. These generators, called GenVoca generators, produce high-performance software and offer substantial increases in productivity. GenVoca is a blueprint for creating domain-specific software component technologies. Predator and Adage are based directly on GenVoca. Experimental evidence from the Predator project supports claims of performance and productivity with this model.>
The authors present a generic model for reifying dependencies in distributed component systems. They discuss how a representation model makes it possible to develop efficient, reliable and dynamically configurable component-based systems
Whereas object-oriented techniques like inheritance and clientship have provided useful tools for taming the complexity of system construction, it is now clear that the same kind of support cannot be extended to evolution. However, the... more
Whereas object-oriented techniques like inheritance and clientship have provided useful tools for taming the complexity of system construction, it is now clear that the same kind of support cannot be extended to evolution. However, the volatility of business requirements (as a result of e-economics) is putting an increasing pressure on the ability to accommodate changes and extensions at run-time, even performed directly by customers, and with minimal impact on the rest of the system. In this paper, we argue for the adoption of an additional structuring principle - coordination - which treats components as black boxes and is compositional with respect to change. This principle is supported by techniques borrowed from parallel program design (superposition) and configurable distributed systems (architectural connectors). We provide a formal semantics based on category theory that admits an implementation via design patterns. Finally, we discuss its impact on software development methodology
Abstract : The aim of this project is to provide basic knowledge of the methods which may be used by a man-computer system to detect the presence of a target, using data from a passive sonar receiver. This research consists of analytical... more
Abstract : The aim of this project is to provide basic knowledge of the methods which may be used by a man-computer system to detect the presence of a target, using data from a passive sonar receiver. This research consists of analytical studies to evaluate important system parameters and experimental investigations measuring operator performance under various operating conditions. The first report is a description of the overall research capability of the display facility at the University of Connecticut facility. The next two reports describe experimental investigations using a simulated sonar search task. The results of the operator's ability to detect curved targets and to use computer aids under light-pen control are described in one while the effects of transforming the dots to vertical line segments are discussed in the other. The next three reports describe a series of experiments on basic human information processing characteristics. (Author)
A fatigue damage computational algorithm utilizing a multiaxial, isothermal, continuum based fatigue damage model for unidirectional metal matrix composites has been implemented into the commercial finite element code MARC using MARC user... more
A fatigue damage computational algorithm utilizing a multiaxial, isothermal, continuum based fatigue damage model for unidirectional metal matrix composites has been implemented into the commercial finite element code MARC using MARC user subroutines. Damage is introduced into the finite element solution through the concept of effective stress which fully couples the fatigue damage calculations with the finite element deformation solution. An axisymmetric stress analysis was performed on a circumferentially reinforced ring, wherein both the matrix cladding and the composite core were assumed to behave elastic-perfectly plastic. The composite core behavior was represented using Hill's anisotropic continuum based plasticity model, and similarly, the matrix cladding was represented by an isotropic plasticity model. Results are presented in the form of S-N curves and damage distribution plots.
A subroutine called DESOL for the numerical solution of ordinary differential equations of the type arising in biological simulation problems is described. DESOL is about as efficient as current high quality integrators, but because of... more
A subroutine called DESOL for the numerical solution of ordinary differential equations of the type arising in biological simulation problems is described. DESOL is about as efficient as current high quality integrators, but because of its compactness it can be easily used on small computers. The subroutine has excellent stability properties and functions with very little required input from the user. In addition, it has features which aid in debugging associated programs. Several test and example problems are given, as is the derivation of the major formulae used in the package.
On appelle la fonction par son identifiant et éventuellement avec des arguments entre parenthèses, comme ceci :... Le type void (= « vide » en français ou « vazia » en portugais) permet exceptionnellement de typer une fonction non... more
On appelle la fonction par son identifiant et éventuellement avec des arguments entre parenthèses, comme ceci :...
Le type void (= « vide » en français ou « vazia » en portugais) permet exceptionnellement de typer une fonction non destinée à être appelée (¿).
La grande utilité des fonctions « void » c’est dans la gestion des événements, par exemple quand on veut désactiver l’action par défaut du clic d’un lien hypertexte. On remplace la cible du lien par une « fonction void » avec obligatoirement une valeur « 0 » (zéro) comme argument, et on redéfinit une nouvelle action pour le clic ou éventuellement on peut définir de nouveaux « EventListners / EventHandlers ». Mais dans notre exemple-ci, le « double-click » est incompatible avec le click, chaque « DOUBLE-CLICK » est accompagné d’un double click (deux clicks).
Une fonction peut avoir ses propres variables, on les appelle « variables locales », ces variables locales peuvent avoir une accessibilité (visibilité) limitée à son bloc quand elles sont déclarées avec le mot-clé var (variables locales au vrai sens du mot), ou se faire voir ou accéder à partir de n’importe où (se comportent comme des variables globales).
Un argument d’une fonction est un paramètre passé à la fonction appelée par la fonction appelante, et qui est réceptionnée dans la fonction appelée par le paramètre formel qui se trouve à la même position (même numéro d’ordre) que dans la liste d’arguments.
Une fonction est appelée pour effectuer une tâche dont le résultat peut être retourné par la fonction et doit être stocké dans une va-riable ou utilisé directement dans un calcul ou être directement af-fiché, envoyé vers le paramètre d’une autre fonction comme argu-ment ... Par défaut (quad il n’y a pas de directive return ou quand return ne spécifie pas une valeur de retour) la fonction retourne « undefined ».
An emerging breed of generators synthesize complex software systems from libraries of reusable components. These generators, called GenVoca generators, produce high-performance software and offer substantial increases in productivity.... more
An emerging breed of generators synthesize complex software systems from libraries of reusable components. These generators, called GenVoca generators, produce high-performance software and offer substantial increases in productivity. GenVoca is a blueprint for creating domain-specific software component technologies. Predator and Adage are based directly on GenVoca. Experimental evidence from the Predator project supports claims of performance and productivity with this model.>
Page 1. Glue-Logic Partitioning for Floorplans with A Rectilinear Datapath Allen С H. Wu and Daniel D. Gajski Department of Information and Computer Science University of California, Irvine, CA 92717, USA Abstract This paper ...