35 research outputs found

    Language and tool support for multilingual programs

    Get PDF
    textProgrammers compose programs in multiple languages to combine the advantages of innovations in new high-level programming languages with decades of engineering effort in legacy libraries and systems. For language inter-operation, language designers provide two classes of multilingual programming interfaces: (1) foreign function interfaces and (2) code generation interfaces. These interfaces embody the semantic mismatch for developers and multilingual systems builders. Their programming rules are difficult or impossible to verify. As a direct consequence, multilingual programs are full of bugs at interface boundaries, and debuggers cannot assist developers across these lines. This dissertation shows how to use composition of single language systems and interposition to improve the safety of multilingual programs. Our compositional approach is scalable by construction because it does not require any changes to single-language systems, and it leverages their engineering efforts. We show it is effective by composing a variety of multilingual tools that help programmers eliminate bugs. We present the first concise taxonomy and formal description of multilingual programming interfaces and their programming rules. We next compose three classes of multilingual tools: (1) Dynamic bug checkers for foreign function interfaces. We demonstrate a new approach for automatically generating a dynamic bug checker by interposing on foreign function interfaces, and we show that it finds bugs in real-world applications including Eclipse, Subversion, and Java Gnome. (2) Multilingual debuggers for foreign function interfaces. We introduce an intermediate agent that wraps all the methods and functions at language boundaries. This intermediate agent is sufficient to build all the essential debugging features used in single-language debuggers. (3) Safe macros for code generation interfaces. We design a safe macro language, called Marco, that generates programs in any language and demonstrate it by implementing checkers for SQL and C++ generators. To check the correctness of the generated programs, Marco queries single-language compilers and interpreters through code generation interfaces. Using their error messages, Marco points out the errors in program generators. In summary, this dissertation presents the first concise taxonomy and formal specification of multilingual interfaces and, based on this taxonomy, shows how to compose multilingual tools to improve safety in multilingual programs. Our results show that our compositional approach is scalable and effective for improving safety in real-world multilingual programs.Computer Science

    Managing Uncertainty in Geological Scenarios Using Machine Learning-Based Classification Model on Production Data

    No full text
    Training image (TI) has a great influence on reservoir modeling as a spatial correlation in the multipoint geostatistics. Unlike the variogram of the two-point geostatistics that is mathematically defined, there is a high degree of geological uncertainty to determine a proper TI. The goal of this study is to develop a classification model for determining the proper geological scenario among plausible TIs by using machine learning methods: (a) support vector machine (SVM), (b) artificial neural network (ANN), and (c) convolutional neural network (CNN). After simulated production data are used to train the classification model, the most possible TI can be selected when the observed production responses are put into the trained model. This study, as far as we know, is the first application of CNN in which production history data are composed as a matrix form for use as an input image. The training data are set to cover various production trends to make the machine learning models more reliable. Therefore, a total of 800 channelized reservoirs were generated from four TIs, which have different channel directions to consider geological uncertainty. We divided them into training, validation, and test sets of 576, 144, and 80, respectively. The input layer comprised 800 production data, i.e., oil production rates and water cuts for eight production wells over 50 time steps, and the output layer consisted of a probability vector for each TI. The SVM and CNN models reasonably reduced the uncertainty in modeling the facies distribution based on the reliable probability for each TI. Even though the ANN and CNN had roughly the same number of parameters, the CNN outperformed the ANN in terms of both validation and test sets. The CNN successfully classified the reference model’s TI with about 95% probability. This is because the CNN can grasp the overall trend of production history. The probabilities of TI from the SVM and CNN were applied to regenerate more reliable reservoir models using the concept of TI rejection and reduced the uncertainty in the geological scenario successfully

    An Abstract

    No full text
    Source-level debuggers improve productivity by helping developers control and inspect program execution. Although many programs use multiple languages, building mixed-language debuggers remains a challenge and debugging mixed-language programs is at best painful. This paper introduces Lamp, a software architecture for building mixed-language debuggers. Lamp defines a debugger agent and a uniform interface to singlelanguage component debuggers with standard features. The Lamp agent orchestrates execution and singlelanguage component debuggers. To demonstrate the architecture, we implement Blink, a debugger for Java and C programs. Blink is portable: it supports multiple operating systems (Windows and Linux), multiple JVMs (Sun and IBM), and multiple C compilers (GNU and Microsoft). Blink is scalable: its new implementation effort scales proportionally to its new features, adding 7 thousand lines of code to 80 thousand for jdb and a million for gdb. Blink is efficient: debugging is as fast as with jdb. These results demonstrate that Lamp is a practical architecture for developing mixedlanguage debuggers that can greatly ease developing correct mixed-language software.

    A Comparative Study on Evaluating the Service Quality Attributes based on Kano Model: A Case of Low-cost Carrier and Full-service Carrier

    No full text
    The emergence and development of low-cost carriers(LCC) with competitive price is heating up the competition in the aviation market more, especially between low-cost carriers(LCC) and full-service carriers(FSC). Therefore, it became more important than ever to implement service differentiation strategies of each airline for securing customers and competitiveness. In this sense, the purpose of this study is to compare and assess the different expectations of the customers for airline service attributes pursued by FSCs and LCCs. Three main dimensions of airline service quality attributes (physical, human, and system service), were selected and this study clarified the service quality attributes of each airline carrier using Kano Model. Data were collected from Korean passengers who experienced both LCCs and FSCs for international or domestic flights. As results, this study demonstrated several differences in airline service quality attributes between FSCs and LCCs, which imply that each airline needs to adopt differential strategies to be more competitive. In particular, most physical-related attributes for FSCs were a ‘must-be’ dimension while the majority of attributes for LCCs was clarified ‘one-dimensional’ attribute. The current study also presented implications to be helpful in developing the quality of service and establishing marketing strategies for improvement in customer satisfaction

    Evaluating the potential of burn severity mapping and transferability of Copernicus EMS data using Sentinel-2 imagery and machine learning approaches

    No full text
    The abiotic and biotic conditions in forest ecosystems can be significantly influenced by forest fires. However, difficulties in policy decisions for restoration inevitably occur in the absence of information on the damaged forests, such as location, area, and burn severity. In this study, eight spectral indices calculated from Sentinel 2 MSI imagery and machine learning algorithms (Random Forest (RF) and Support Vector Machine (SVM)) were used for mapping burned areas and severity. Two study sites with similar meteorological environment (dry season) and species (coniferous vegetation) were tested, and dataset (EMSR448) from Copernicus Emergency Management Service (CEMS) was used as the reference truth. RF showed better performance for classifying pixels from classes with similar properties than SVM. Normalized Burn Ratio (NBR) and Green Normalized Difference Vegetation Index (GNDVI) showed high importance in assessing fire severity suggesting that it may be effective for identifying senescent plants. The results also confirmed that the CEMS dataset has transferability as a reference truth for fire damage classification in other regions. Implementation of this method enables fast and accurate mapping of the area and severity of destructive damage by forest fires, and also has applicability for other disasters

    Repetitive Controller With Phase-Lead Compensation for Cuk CCM Inverter

    No full text
    This paper proposes a repetitive controller with phase-lead compensation for an unfolding-type Cuk continuous conduction mode (CCM) inverter operating in the CCM. The Cuk CCM inverter features medium power capacity, step up/down ability, and low input/output current ripples, so it is well suited to distributed power generation systems. To achieve accurate tracking of the reference output current, we make the use of the repetitive controller coupled with a conventional proportional-integral controller and a nominal duty ratio. In developing the proposed controller, we use the average model of the Cuk CCM inverter in the grid-connected case. The two right-half plane (RHP) zeros in the transfer function of the Cuk CCM inverter cause phase lag of the closed-loop system; to compensate for the phase lag, we implement a phase-lead compensation algorithm in the repetitive control scheme. We also provide detailed and practical design guidelines of the control parameters to develop a stable Cuk CCM inverter. Experimental tests using a 500-W Cuk CCM inverter demonstrate the desirable performance of the proposed control approach.1110sciescopu
    corecore