Case study: Re-engineering C++ component models via automatic program transformation

2007 ◽  
Vol 49 (3) ◽  
pp. 275-291 ◽  
Author(s):  
Robert L. Akers ◽  
Ira D. Baxter ◽  
Michael Mehlich ◽  
Brian J. Ellis ◽  
Kenn R. Luecke
10.29007/gpsh ◽  
2018 ◽  
Author(s):  
Abdulbasit Ahmed ◽  
Alexei Lisitsa ◽  
Andrei Nemytykh

It has been known for a while that program transformation techniques, in particular, program specialization, can be used to prove the properties of programs automatically. For example, if a program actually implements (in a given context of use) a constant function, sufficiently powerful and semantics preserving program transformation may reduce the program to a syntactically trivial ``constant'' program, pruning unreachable branches and proving thereby the property. Viability of such an approach to verification has been demonstrated in previous works where it was applied to the verification of parameterized cache coherence protocols and Petri Nets models.In this paper we further extend the method and present a case study on its appication to the verification of a cryptographic protocol. The protocol is modeled by functional programs at different levels of abstraction and verification via program specialization is done by using Turchin's supercompilation method.


Author(s):  
Loïc Correnson ◽  
Etienne Duris ◽  
Didier Parigot ◽  
Gilles Roussel

Author(s):  
Robert Scott Pierce ◽  
David Rosen

In this research we describe a computer-aided approach to geometric tolerance analysis for assemblies and mechanisms. This new tolerance analysis method is based on the “generate-and-test” approach. A series of as-manufactured component models are generated within a NURBS-based solid modeling environment. These models reflect errors in component geometry that are characteristic of the manufacturing processes used to produce the components. The effects of different manufacturing process errors on product function is tested by simulating the assembly of these imperfect-form component models and measuring geometric attributes of the assembly that correspond to product functionality. A tolerance analysis model is constructed by generating-and-testing a sequence of component variants that represent a range of manufacturing process capabilities. The generate-and-test approach to tolerance analysis is demonstrated using a case study that is based on a high-speed stapling mechanism. As-manufactured models that correspond to two different levels of manufacturing precision are generated and assembly between groups of components with different precision levels is simulated. Misalignment angles that correspond to functionality of the stapling mechanism are measured at the end of each simulation. The results of these simulations are used to build a tolerance analysis model and to select a set of geometric form and orientation tolerances for the mechanism components. It is found that this generate-and-test approach yields insight into the interactions between individual surface tolerances that would not be gained using more traditional tolerance analysis methods.


1995 ◽  
Vol 5 (4) ◽  
pp. 549-581 ◽  
Author(s):  
Willem G. Vree ◽  
Pieter H. Hartel

AbstractCommunication lifting is a program transformation that can be applied to a synchronous process network to restructure the network. This restructuring in theory improves sequential and parallel performance. The transformation has been formally specified and proved correct and it has been implemented as an automatic program transformation tool. This tool has been applied to a small set of programs consisting of synchronous process networks. For these networks communication lifting generates parallel programs that do not require locking. Measurements indicate performance gains in practice both with sequential and parallel evaluation. Communication lifting is a worthwhile optimization to be included in a compiler for a lazy functional language.


2015 ◽  
Author(s):  
M. Godjevac ◽  
P. de Vos ◽  
H. Zhou ◽  
C. Thiem

When simulating a ship propulsion system, it is often required to evaluate various characteristics of a ship propulsion system and the selected modelling approach changes according to the goal of the simulation. For example, data-based models are sufficient for simulations of steady state conditions while first principle models are more suitable for transient conditions. Additionally, it is often necessary to compare different propulsion configurations. For component models, this might require different modelling approaches to describe various performances and/or different sets of parameters used to describe different propulsion configurations. Even though there are various databases of ship component models, none of them allows the user to change the modelling approach or pre-set values of parameters used to describe the component models. In order to allow the changing of the modelling approach together with the parameters of the component models, a novel two-part modelling approach is proposed in this paper. The proposed approach separates the component model into two parts: process and parametric part. By adjusting the process part of the component model, the modelling approach can easily be changed. And by adjusting the parametric part of the component model, it is possible to adjust the component’s characteristics and accommodate different configurations. In this investigation, a mean value first principle diesel engine model has been selected as a case study to demonstrate the flexibility of the proposed approach. As shown in the paper, the proposed approach allows the user to combine the benefits of a first principle model with the accuracy of the data based models. Additionally, the functional mock-up interface (FMI) standard has been used in the investigation to show that the proposed approach can be used in different software environments.


2007 ◽  
Vol 130 (1) ◽  
Author(s):  
Robert Scott Pierce ◽  
David Rosen

In this research, we describe a computer-aided approach to geometric tolerance analysis for assemblies and mechanisms. A series of as-manufactured component models are generated within a NURBS-based solid modeling environment. These models reflect errors in component geometry that are characteristic of the manufacturing processes used to produce the components. The effects of different manufacturing process errors on product function are tested by simulating the assembly of imperfect-form component models and by measuring geometric attributes of the assembly that correspond to product functionality. A tolerance analysis model is constructed by generating and testing component variants that represent different manufacturing precision levels. The application of this approach to tolerance analysis is demonstrated using a case study that is based on a high-speed stapling mechanism.


2007 ◽  
Vol 176 (3) ◽  
pp. 1703-1712 ◽  
Author(s):  
Fausto Pedro García Márquez ◽  
Diego Jose Pedregal Tercero ◽  
Felix Schmid

Sign in / Sign up

Export Citation Format

Share Document