201,053 research outputs found

    An overview of Mirjam and WeaveC

    Get PDF
    In this chapter, we elaborate on the design of an industrial-strength aspectoriented programming language and weaver for large-scale software development. First, we present an analysis on the requirements of a general purpose aspect-oriented language that can handle crosscutting concerns in ASML software. We also outline a strategy on working with aspects in large-scale software development processes. In our design, we both re-use existing aspect-oriented language abstractions and propose new ones to address the issues that we identified in our analysis. The quality of the code ensured by the realized language and weaver has a positive impact both on maintenance effort and lead-time in the first line software development process. As evidence, we present a short evaluation of the language and weaver as applied today in the software development process of ASML

    Real time integration of user preferences into virtual prototypes

    Get PDF
    Within new product development (NPD), both virtual prototypes and physical prototypes play important roles in creating, testing and modifying designs. However, in the current design process, these two forms of prototyping methods are normally used independently and converted from one to the other during different design phases. This conversion process is time consuming and expensive and also introduces potential information loss/corruption problems. If the design process requires many iterations, it may simply be impractical to generate all the conversions that are theoretically required. Therefore, the integration of virtual and physical prototyping may offer a possible solution where the design definition is maintained simultaneously in both the virtual and physical environment. The overall aim of this research was to develop an interface or a tool that achieves real time integration of physical and virtual prototyping. “Real time integration” here means changes to the virtual prototypes will reflect any changes that have been made contemporaneously to the physical prototypes, and vice versa. Thus, conversion of the prototype from physical to virtual (or vice versa) will be achieved immediately, hence saving time and cost. A review of the literature was undertaken to determine what previous research has been conducted in this area. The result of the review shows the research in this area is still in its infancy. The research hypothesis was developed through the use of a questionnaire survey. Totally 102 questionnaires were sent to designers, design directors or design managers to address the issue: will industrial designers want to make use of real time integration and if so, how? The outcome from the literature review drove further development of the research hypothesis and an initial pilot experiment to test this. The pilot trial was designed to address the research questions: • Can real time physical and virtual prototyping integration be conveniently demonstrated? • Will designers and users be comfortable using the integration method? • Will users recognise the benefits of the integration? The results showed that real time integration between physical and virtual prototyping is necessary in helping designers develop new products and for getting users more closely involved. The future research suggested is that more investigations and experiments are needed to explore a proper method that simultaneously employing these two types of prototyping in product development process. Keywords: Physical Prototyping; Virtual Prototyping; Integration; Real Time.</p

    Experimental study of artificial neural networks using a digital memristor simulator

    Get PDF
    © 2018 IEEE. Personal use of this material is permitted. Permission from IEEE must be obtained for all other uses, in any current or future media, including reprinting/republishing this material for advertising or promotional purposes,creating new collective works, for resale or redistribution to servers or lists, or reuse of any copyrighted component of this work in other works.This paper presents a fully digital implementation of a memristor hardware simulator, as the core of an emulator, based on a behavioral model of voltage-controlled threshold-type bipolar memristors. Compared to other analog solutions, the proposed digital design is compact, easily reconfigurable, demonstrates very good matching with the mathematical model on which it is based, and complies with all the required features for memristor emulators. We validated its functionality using Altera Quartus II and ModelSim tools targeting low-cost yet powerful field programmable gate array (FPGA) families. We tested its suitability for complex memristive circuits as well as its synapse functioning in artificial neural networks (ANNs), implementing examples of associative memory and unsupervised learning of spatio-temporal correlations in parallel input streams using a simplified STDP. We provide the full circuit schematics of all our digital circuit designs and comment on the required hardware resources and their scaling trends, thus presenting a design framework for applications based on our hardware simulator.Peer ReviewedPostprint (author's final draft

    A document-like software visualization method for effective cognition of c-based software systems

    Get PDF
    It is clear that maintenance is a crucial and very costly process in a software life cycle. Nowadays there are a lot of software systems particularly legacy systems that are always maintained from time to time as new requirements arise. One important source to understand a software system before it is being maintained is through the documentation, particularly system documentation. Unfortunately, not all software systems developed or maintained are accompanied with their reliable and updated documents. In this case, source codes will be the only reliable source for programmers. A number of studies have been carried out in order to assist cognition based on source codes. One way is through tool automation via reverse engineering technique in which source codes will be parsed and the information extracted will be visualized using certain visualization methods. Most software visualization methods use graph as the main element to represent extracted software artifacts. Nevertheless, current methods tend to produce more complicated graphs and do not grant an explicit, document-like re-documentation environment. Hence, this thesis proposes a document-like software visualization method called DocLike Modularized Graph (DMG). The method is realized in a prototype tool named DocLike Viewer that targets on C-based software systems. The main contribution of the DMG method is to provide an explicit structural re-document mechanism in the software visualization tool. Besides, the DMG method provides more level of information abstractions via less complex graph that include inter-module dependencies, inter-program dependencies, procedural abstraction and also parameter passing. The DMG method was empirically evaluated based on the Goal/Question/Metric (GQM) paradigm and the findings depict that the method can improve productivity and quality in the aspect of cognition or program comprehension. A usability study was also conducted and DocLike Viewer had the most positive responses from the software practitioners

    Quantum Hilbert hotel

    Get PDF
    In 1924 David Hilbert conceived a paradoxical tale involving a hotel with an infinite number of rooms to illustrate some aspects of the mathematical notion of “infinity.” In continuous-variable quantum mechanics we routinely make use of infinite state spaces: here we show that such a theoretical apparatus can accommodate an analog of Hilbert’s hotel paradox. We devise a protocol that, mimicking what happens to the guests of the hotel, maps the amplitudes of an infinite eigenbasis to twice their original quantum number in a coherent and deterministic manner, producing infinitely many unoccupied levels in the process. We demonstrate the feasibility of the protocol by experimentally realizing it on the orbital angular momentum of a paraxial field. This new non-Gaussian operation may be exploited, for example, for enhancing the sensitivity of NOON states, for increasing the capacity of a channel, or for multiplexing multiple channels into a single one

    Assessment of Source Code Obfuscation Techniques

    Get PDF
    Obfuscation techniques are a general category of software protections widely adopted to prevent malicious tampering of the code by making applications more difficult to understand and thus harder to modify. Obfuscation techniques are divided in code and data obfuscation, depending on the protected asset. While preliminary empirical studies have been conducted to determine the impact of code obfuscation, our work aims at assessing the effectiveness and efficiency in preventing attacks of a specific data obfuscation technique - VarMerge. We conducted an experiment with student participants performing two attack tasks on clear and obfuscated versions of two applications written in C. The experiment showed a significant effect of data obfuscation on both the time required to complete and the successful attack efficiency. An application with VarMerge reduces by six times the number of successful attacks per unit of time. This outcome provides a practical clue that can be used when applying software protections based on data obfuscation.Comment: Post-print, SCAM 201
    corecore