442 research outputs found

    Partial loading of XMI models

    Get PDF
    XML Metadata Interchange (XMI) is an OMG-standardised model exchange format, which is natively supported by the Eclipse Modeling Framework (EMF) and the majority of the modelling and model management languages and tools. Whilst XMI is widely supported, the XMI parser provided by EMF is inefficient in some cases where models are readonly (such as input models for model query, model-to-model transformation, etc) as it always requires loading the entire model into memory. In this paper we present a novel algorithm, and a prototype implementation (SmartSAX), which is capable of partially loading models persisted in XMI. SmartSAX oérs improved performance, in terms of loading time and memory footprint, over the default EMF XMI parser. We describe the algorithm in detail, and present benchmarking results that demonstrate the substantial improvements of the prototype implementation over the XMI parser provided by EMF

    GPSS Compiler/Simulator

    Get PDF
    As with any large software project, the first priority of this thesis is program correctness in the GPSS compiler and correct simulation statistics. Several distinct processes are gone through in the construction of any compiler/simulator: development of specifications, indication of the goals, design, implementation, evaluation, and maintenance. The specifications of the GPSS compiler/simulator were introduced in the thesis proposal. The VAX/VMS 11/750 will be the machine which this GPSS compiler/simulator uses because of the supported \u27C language, a Command Language Definition Utility, and accessibility by this author. The implementation language, \u27C, was chosen based on ease of readability, ease of understanding, the simple but powerful data structures in the language, and the language\u27s support of modularization. Three milestones were identified for this thesis project: the parser, the pseudo code generator, and the simulator. Many projects are started with only the end product in mind, but the goals which were identified constitute essential checkpoints to validate the integrity of the compiler/simulator. There were three distinct design phases due to the milestone identification. The parser design encompassed the initial modular design layout of the source code for the entire compiler, and the design of the symbol table. Design of the pseudo code language had two constraints imposed: the ease of representation of the GPSS language in twoaddress code and the ease of integration of the pseudo language into the parser. Last but by no means unimportant was the design of the simulator, which controls the order of events within a model. After each design phase described above was completed, the implementation or writing of the source code was accomplished. The parser, the pseudo code generator, and the simulator carried through the \u27C capabilities of modularization and readability. Evaluation of the compiler was accomplished at three points: after the implementation of the parser, after the implementation of the pseudo code generator, and after the implementation of the simulator. The milestones or checkpoints specified in the identification of goals were essential in verifying the integrity of the system. Although maintenance is not a part of this thesis, the design phase took into consideration the ease of adding functionality to the implemented subset of GPSS. This compiler/simulator could be used as a base from which a more sophisticated and current version of the GPSS language would immerge

    Acta Cybernetica : Tomus 6. Fasciculus 3.

    Get PDF

    Symbolic and Visual Retrieval of Mathematical Notation using Formula Graph Symbol Pair Matching and Structural Alignment

    Get PDF
    Large data collections containing millions of math formulae in different formats are available on-line. Retrieving math expressions from these collections is challenging. We propose a framework for retrieval of mathematical notation using symbol pairs extracted from visual and semantic representations of mathematical expressions on the symbolic domain for retrieval of text documents. We further adapt our model for retrieval of mathematical notation on images and lecture videos. Graph-based representations are used on each modality to describe math formulas. For symbolic formula retrieval, where the structure is known, we use symbol layout trees and operator trees. For image-based formula retrieval, since the structure is unknown we use a more general Line of Sight graph representation. Paths of these graphs define symbol pairs tuples that are used as the entries for our inverted index of mathematical notation. Our retrieval framework uses a three-stage approach with a fast selection of candidates as the first layer, a more detailed matching algorithm with similarity metric computation in the second stage, and finally when relevance assessments are available, we use an optional third layer with linear regression for estimation of relevance using multiple similarity scores for final re-ranking. Our model has been evaluated using large collections of documents, and preliminary results are presented for videos and cross-modal search. The proposed framework can be adapted for other domains like chemistry or technical diagrams where two visually similar elements from a collection are usually related to each other

    An integrated programming environment for pseudo-code development, IPE-PC

    Get PDF
    An Integrated Programming Environment, IPE-PC, that supports pseudo-code development has been designed and implemented. This environment is based on a Pascal-like language which is designed according to the requirements of a language-based environment. The nucleus of IPE-PC is a language-based editor which represents programs as graphs internally. The same representation is used in every mode of the environment (i.e., editing, compilation, execution, debugging and translation). The system provides facilities to take advantage of both top-down and bottom-up programming. Stepwise refinement has been supported by providing comment structures that can be transformed into procedures. Bottom-up programming is supported because it is possible to create and save program segments which can be inserted to the programs at the appropriate points --Abstract, page ii

    Analysis and improvement of a multi-pass compiler for a pipeline architecture

    Get PDF
    In this thesis a parallel environment for the execution of a multi-pass Pascal compiler is considered. Some possible and appropriate ways to speed up each pass of the parallelized compiler are investigated. In addition, a new approach, using the concepts of software science, is explored for obtaining gross performance characteristics of a multi-pass compiler;A pipeline architecture is used for the parallel compilation. The performance characteristics of the pipelined compiler are determined by a trace-driven simulation of the pipelined compiler. The actions in the multi-processor system are synchronized by an event-driven simulation of the pipeline system. The pipelined compiler and possible improvements are analyzed in terms of the location of the bottleneck, queue size, overhead factor, and partition policy. The lexical analysis phase is found to be the initial bottleneck. The improvement of this phase and its effects on the other phases are presented. Also, possible methods for improving the non-lexical analysis phases are investigated based on a study of the data structures and operations of these phases;For obtaining gross performance characteristics of a multi-pass compiler, an analysis based only on the intermediate code files is performed. One of the key concepts in Halstead\u27s software science, called the language level, is applied to this analysis. From the experimental results and statistical verification it is found that there exists a strong correlation between the stand-alone execution time and language level
    • …
    corecore