4,854 research outputs found

    Voting as validation in robot programming

    Get PDF
    This paper investigates the use of voting as a conflict-resolution technique for data analysis in robot programming. Voting represents an information-abstraction technique. It is argued that in some cases a voting approach is inherent in the nature of the data being analyzed: where multiple, independent sources of information must be reconciled to give a group decision that reflects a single outcome rather than a consensus average. This study considers an example of target classification using sonar sensors. Physical models of reflections from target primitives that are typical of the indoor environment of a mobile robot are used. Dispersed sensors take decisions on target type, which must then be fused to give the single group classification of the presence or absence and type of a target. Dempster-Shafer evidential reasoning is used to assign a level of belief to each sensor decision. The decisions are then fused by two means. Using Dempster's rule of combination, conflicts are resolved through a group measure expressing dissonance in the sensor views. This evidential approach is contrasted with the resolution of sensor conflict through voting. It is demonstrated that abstraction of the level of belief through voting proves useful in resolving the straightforward conflicts that arise in the classification problem. Conflicts arise where the discriminant data value, an echo amplitude, is most sensitive to noise. Fusion helps to overcome this vulnerability: in Dempster-Shafer reasoning, through the modeling of nonparametric uncertainty and combination of belief values; and in voting, by emphasizing the majority view. The paper gives theoretical and experimental evidence for the use of voting for data abstraction and conflict resolution in areas such as classification, where a strong argument can be made for techniques that emphasize a single outcome rather than an estimated value. Methods for making the vote more strategic are also investigated. The paper addresses the reduction of dimension of sets of decision points or decision makers. Through a consideration of combination/order, queuing criteria for more strategic fusion are identified

    Glimmers: Resolving the Privacy/Trust Quagmire

    Full text link
    Many successful services rely on trustworthy contributions from users. To establish that trust, such services often require access to privacy-sensitive information from users, thus creating a conflict between privacy and trust. Although it is likely impractical to expect both absolute privacy and trustworthiness at the same time, we argue that the current state of things, where individual privacy is usually sacrificed at the altar of trustworthy services, can be improved with a pragmatic GlimmerGlimmer ofof TrustTrust, which allows services to validate user contributions in a trustworthy way without forfeiting user privacy. We describe how trustworthy hardware such as Intel's SGX can be used client-side -- in contrast to much recent work exploring SGX in cloud services -- to realize the Glimmer architecture, and demonstrate how this realization is able to resolve the tension between privacy and trust in a variety of cases

    A Convex Polynomial Force-Motion Model for Planar Sliding: Identification and Application

    Full text link
    We propose a polynomial force-motion model for planar sliding. The set of generalized friction loads is the 1-sublevel set of a polynomial whose gradient directions correspond to generalized velocities. Additionally, the polynomial is confined to be convex even-degree homogeneous in order to obey the maximum work inequality, symmetry, shape invariance in scale, and fast invertibility. We present a simple and statistically-efficient model identification procedure using a sum-of-squares convex relaxation. Simulation and robotic experiments validate the accuracy and efficiency of our approach. We also show practical applications of our model including stable pushing of objects and free sliding dynamic simulations.Comment: 2016 IEEE International Conference on Robotics and Automation (ICRA

    Preserving the Quality of Architectural Tactics in Source Code

    Get PDF
    In any complex software system, strong interdependencies exist between requirements and software architecture. Requirements drive architectural choices while also being constrained by the existing architecture and by what is economically feasible. This makes it advisable to concurrently specify the requirements, to devise and compare alternative architectural design solutions, and ultimately to make a series of design decisions in order to satisfy each of the quality concerns. Unfortunately, anecdotal evidence has shown that architectural knowledge tends to be tacit in nature, stored in the heads of people, and lost over time. Therefore, developers often lack comprehensive knowledge of underlying architectural design decisions and inadvertently degrade the quality of the architecture while performing maintenance activities. In practice, this problem can be addressed through preserving the relationships between the requirements, architectural design decisions and their implementations in the source code, and then using this information to keep developers aware of critical architectural aspects of the code. This dissertation presents a novel approach that utilizes machine learning techniques to recover and preserve the relationships between architecturally significant requirements, architectural decisions and their realizations in the implemented code. Our approach for recovering architectural decisions includes the two primary stages of training and classification. In the first stage, the classifier is trained using code snippets of different architectural decisions collected from various software systems. During this phase, the classifier learns the terms that developers typically use to implement each architectural decision. These ``indicator terms\u27\u27 represent method names, variable names, comments, or the development APIs that developers inevitably use to implement various architectural decisions. A probabilistic weight is then computed for each potential indicator term with respect to each type of architectural decision. The weight estimates how strongly an indicator term represents a specific architectural tactics/decisions. For example, a term such as \emph{pulse} is highly representative of the heartbeat tactic but occurs infrequently in the authentication. After learning the indicator terms, the classifier can compute the likelihood that any given source file implements a specific architectural decision. The classifier was evaluated through several different experiments including classical cross-validation over code snippets of 50 open source projects and on the entire source code of a large scale software system. Results showed that classifier can reliably recognize a wide range of architectural decisions. The technique introduced in this dissertation is used to develop the Archie tool suite. Archie is a plug-in for Eclipse and is designed to detect wide range of architectural design decisions in the code and to protect them from potential degradation during maintenance activities. It has several features for performing change impact analysis of architectural concerns at both the code and design level and proactively keep developers informed of underlying architectural decisions during maintenance activities. Archie is at the stage of technology transfer at the US Department of Homeland Security where it is purely used to detect and monitor security choices. Furthermore, this outcome is integrated into the Department of Homeland Security\u27s Software Assurance Market Place (SWAMP) to advance research and development of secure software systems
    corecore