159,804 research outputs found

    Inspection Methods in Programming

    Get PDF
    The work reported here lies in the area of overlap between artificial intelligence software engineering. As research in artificial intelligence, it is a step towards a model of problem solving in the domain of programming. In particular, this work focuses on the routine aspects of programming which involve the application of previous experience with similar programs. I call this programming by inspection. Programming is viewed here as a kind of engineering activity. Analysis and synthesis by inspection area prominent part of expert problem solving in many other engineering disciplines, such as electrical and mechanical engineering. The notion of inspections methods in programming developed in this work is motivated by similar notions in other areas of engineering. This work is also motivated by current practical concerns in the area of software engineering. The inadequacy of current programming technology is universally recognized. Part of the solution to this problem will be to increase the level of automation in programming. I believe that the next major step in the evolution of more automated programming will be interactive systems which provide a mixture of partially automated program analysis, synthesis and verification. One such system being developed at MIT, called the programmer's apprentice, is the immediate intended application of this work. This report concentrates on the knowledge are of the programmer's apprentice, which is the form of a taxonomy of commonly used algorithms and data structures. To the extent that a programmer is able to construct and manipulate programs in terms of the forms in such a taxonomy, he may relieve himself of many details and generally raise the conceptual level of his interaction with the system, as compared with present day programming environments. Also, since it is practical to expand a great deal of effort pre-analyzing the entries in a library, the difficulty of verifying the correctness of programs constructed this way is correspondingly reduced. The feasibility of this approach is demonstrated by the design of an initial library of common techniques for manipulating symbolic data. This document also reports on the further development of a formalism called the plan calculus for specifying computations in a programming language independent manner. This formalism combines both data and control abstraction in a uniform framework that has facilities for representing multiple points of view and side effects

    Applying inspection to object-oriented software

    Get PDF
    The benefits of the object-oriented paradigmare widely cited. At the same time, inspection is deemed to be the most cost-effective means of detecting defects in software products. Why then, is there no published experience, let alone quantitative data, on the application of inspection to object-oriented systems? We describe the facilities of the object-oriented paradigm and the issues that these raise when inspecting object-oriented code. Several problems are caused by the disparity between the static code structure and its dynamic runtime behaviour. The large number of small methods in object-oriented systems can also cause problems. We then go on to describe three areas which may help mitigate problems found. Firstly, the use of various programming methods may assist in making object-oriented code easier to inspect. Secondly, improved program documentation can help the inspector understand the code which is under inspection. Finally, tool support can help the inspector to analyse the dynamic behaviour of the code. We conclude that while both the object-oriented paradigm and inspection provide excellent benefits on their own, combining the two may be a difficult exercise, requiring extensive support if it is to be successful

    Methods for computer aided inspection of geometric tolerances

    Get PDF
    This thesis investigates computational methods for assessing tolerance specifications of geometric features in a context of computer aided inspection. It is concerned with checking the sampled features for containment within tolerance zones specified at the design stage, not with explicit shape measurement. The significance of this difference is highlighted when two or more features are to be inspected in combination. The approach adopted is to express the tolerance information as a set of inequality constraints and then to seek efficient methods for determining the feasibility of the set, that is whether all the constraints can be simultaneously satisfied. Roundness inspection is used to introduce all the concepts of the new formulations. By linearisation of the constraints, a standard approximation in roundness measurement, a new algorithm is implemented which provides a “GO-NOGO” result of inspection by checking for feasibility in a highly efficient way. This algorithmic approach is then extended to other inspection situations where naturally linear constraints or valid linearisation occur. Since there are many inspection cases where linearisation is not appropriate, non-linear optimisation techniques are then investigated for their effectiveness in feasibility testing. The inspection of arrays of circular features is used here as a typical test case. Genetic search methods are explored as a possible alternative to formal non-linear programming and guidelines for their efficient use for this problem are proposed. These methods are then compared and contrasted with formal methods, particularly generalised reduced gradient (GRG) and sequential quadratic programming (SQP). The linear algorithm is shown to be the most efficient when it can be used, although all techniques were fast enough for on-line use with modest sized data sets. Currently all the non-linear methods are too expensive for routine use on large data sets. GRG is recommended as having the most favourable combination of good and bad features, but there is some evidence that genetic search might be relatively more efficient for more complex inspection problems

    Using the image sensor for the identification of defects

    Get PDF
    Predmetom bakalĂĄrskej prĂĄce je pouĆŸitie kamery na detekciu zĂĄvad. V prvej časti sĂș vysvetlenĂ© zĂĄkladnĂ© pojmy tĂœkajĂșce sa činnosti kamery a zĂĄkladnĂ© nĂĄstroje optickej inĆĄpekcie. V nasledujĂșcej časti sĂș ukĂĄzanĂ© rĂŽzne metĂłdy programovania rovnakej inĆĄpekcie. NaprogramovanĂœ je aj export dĂĄt pre robotickĂ© rameno v zadanom tvare. DanĂ© programy sĂș overenĂ© v prostredĂ­ GUI od vĂœrobcov Banner Engeneering a Cognex. NavrhnutĂœ program je overenĂœ aj na kamere od vĂœrobcu Banner Engeneering. ZĂĄverom prĂĄce je spracovanie a zhodnotenie rĂŽznych metĂłd programovania s poukĂĄzanĂ­m na vĂœhody/nevĂœhody pouĆŸĂ­vania niektorĂœch nĂĄstrojov.The thesis focuses on the use of cameras for detection of faults. The first part explains the basic concepts concerning the function of cameras and basic instruments of optical inspection. In the following part, various methods for programming the same inspection are shown. Data export for robotic arm is also programmed in desired shape. The programs are verified in a GUI from manufacturers Banner Engineering and Cognex. The proposed program is also verified using camera by manufacturer Banner Engineering. Thesis is concluded by processing and evaluation of different methods of programming, highlighting the advantages/disadvantages of using certain tools.

    vrmlgen: An R Package for 3D Data Visualization on the Web

    Get PDF
    The 3-dimensional representation and inspection of complex data is a frequently used strategy in many data analysis domains. Existing data mining software often lacks functionality that would enable users to explore 3D data interactively, especially if one wishes to make dynamic graphical representations directly viewable on the web. In this paper we present vrmlgen, a software package for the statistical programming language R to create 3D data visualizations in web formats like the Virtual Reality Markup Language (VRML) and LiveGraphics3D. vrmlgen can be used to generate 3D charts and bar plots, scatter plots with density estimation contour surfaces, and visualizations of height maps, 3D object models and parametric functions. For greater flexibility, the user can also access low-level plotting methods through a unified interface and freely group different function calls together to create new higher-level plotting methods. Additionally, we present a web tool allowing users to visualize 3D data online and test some of vrmlgen's features without the need to install any software on their computer.

    A mixed-methods exploration of an environment for learning computer programming

    Get PDF
    A mixed-methods approach is evaluated for exploring collaborative behaviour, acceptance and progress surrounding an interactive technology for learning computer programming. A review of literature reveals a compelling case for using mixed-methods approaches when evaluating technology-enhanced-learning environments. Here, ethnographic approaches used for the requirements engineering of computing systems are combined with questionnaire-based feedback and skill tests. These are applied to the ‘Ceebot’ animated 3D learning environment. Video analysis with workplace observation allowed detailed inspection of problem solving and tacit behaviours. Questionnaires and knowledge tests provided broad sample coverage with insights into subject understanding and overall response to the learning environment. Although relatively low scores in programming tests seemingly contradicted the perception that Ceebot had enhanced understanding A mixed-methods approach is evaluated for exploring collaborative behaviour, acceptance and progress surrounding an interactive technology for learning computer programming. A review of literature reveals a compelling case for using mixed-methods approaches when evaluating technology-enhanced-learning environments. Here, ethnographic approaches used for the requirements engineering of computing systems are combined with questionnaire-based feedback and skill tests. These are applied to the ‘Ceebot’ animated 3D learning environment. Video analysis with workplace observation allowed detailed inspection of problem solving and tacit behaviours. Questionnaires and knowledge tests provided broad sample coverage with insights into subject understanding and overall response to the learning environment. Although relatively low scores in programming tests seemingly contradicted the perception that Ceebot had enhanced understanding of programming, this perception was nevertheless found to be correlated with greater test performance. Video analysis corroborated findings that the learning environment and Ceebot animations were engaging and encouraged constructive collaborative behaviours. Ethnographic observations clearly captured Ceebot’s value in providing visual cues for problem-solving discussions and for progress through sharing discoveries. Notably, performance in tests was most highly correlated with greater programming practice (p50.01). It was apparent that although students had appropriated technology for collaborative working and benefitted from visual and tacit cues provided by Ceebot, they had not necessarily deeply learned the lessons intended. The key value of the ‘mixed-methods’ approach was that ethnographic observations captured the authenticity of learning behaviours, and thereby strengthened confidence in the interpretation of questionnaire and test findings. of programming, this perception was nevertheless found to be correlated with greater test performance. Video analysis corroborated findings that the learning environment and Ceebot animations were engaging and encouraged constructive collaborative behaviours. Ethnographic observations clearly captured Ceebot’s value in providing visual cues for problem-solving discussions and for progress through sharing discoveries. Notably, performance in tests was most highly correlated with greater programming practice (p50.01). It was apparent that although students had appropriated technology for collaborative working and benefitted from visual and tacit cues provided by Ceebot, they had not necessarily deeply learned the lessons intended. The key value of the ‘mixed-methods’ approach was that ethnographic observations captured the authenticity of learning behaviours, and thereby strengthened confidence in the interpretation of questionnaire and test findings

    Visualizing Tree Structures in Genetic Programming

    Full text link
    This paper presents methods to visualize the structure of trees that occur in genetic programming. These methods allow for the inspection of structure of entire trees even though several thousands of nodes may be involved. The methods also scale to allow for the inspection of structure for entire populations and for complete trials even though millions of nodes may be involved. Examples are given that demonstrate how this new way of “seeing” can afford a potentially rich way of understanding dynamics that underpin genetic programming. The examples indicate further studies that might be enabled by visualizing structure at these scales.Peer Reviewedhttp://deepblue.lib.umich.edu/bitstream/2027.42/45620/1/10710_2005_Article_7621.pd

    A bi-objective robust inspection planning model in a multi-stage serial production system

    Get PDF
    International audienceIn this paper, a bi-objective mixed-integer linear programming (BOMILP) model for planning of an inspection process used to detect nonconforming products and malfunctioning processors in a multi-stage serial production system is presented. The model involves two inter-related decisions: 1) which quality characteristics need what kind of inspections (i.e., which-what decision) and 2) when the inspection of these characteristics should be performed (i.e., when decision). These decisions require a trade-off between the cost of manufacturing (i.e., production, inspection and scrap costs) and the customer satisfaction. Due to inevitable variations in the manufacturing systems, a global robust BOMILP (RBOMILP) is developed to tackle the inherent uncertainty of the concerned parameters (i.e., production and inspection times, errors type I and II, misadjustment and dispersion of the process). In order to optimally solve the presented RBOMILP model, a meta-heuristic algorithm, namely differential evolution (DE) algorithm, is combined with the Taguchi and Monte Carlo methods. The proposed model and solution algorithm are validated through a real industrial case from a leading automotive industry in France
    • 

    corecore