5 research outputs found

    MetaXMorph: Hierarchical Transformation of Data with Metadata

    Get PDF
    This research is about transforming data. Data comes in different shapes; it can be structured as a graph, a tree, a collection of tables, or some other shape. In this thesis, we focus on data structured as a tree, which is known as hierarchical data. The same data could be structured in many different tree shapes. Previously it was shown how to transform data from one tree shape, one hierarchy to another without losing any information. But sometimes the pieces of the hierarchy are annotated or associated with metadata, that is, with data about the data itself. The metadata can have special semantics that must be preserved when the data is transformed. Previous research also sketched how to transform hierarchical data annotated with metadata without losing information while preserving the semantics of the metadata. In this thesis, we implement the research on transforming data with metadata by extending XMorph, a data transformation language. And we evaluate the extension showing that the overhead is modest

    Plug-and-Play SQL

    Get PDF
    We present an efficient model to retrieve data from a database by implementing plug-and-play queries using the query guards. The model is efficient in the sense that it saves time when writing a query and promotes query portability and reuse. A plug-and-play query is a freestanding query that can couple to any data socket and self determine whether it can be evaluated reliably on the data. We use hierarchies to improve SQL querying in a way that eliminates the need to write a view to construct virtual tables or a set of tables to run a query. The hierarchy is a declarative specification of the desired shape of data rather than a description of how the data is organized. The advantage is that the common use of logical or semantic pointers in the SQL queries is eliminated and a natural way to group data for aggregation is provided. The plug-and-play queries have several advantages, they are portable and can be used to evaluate any data source

    Plug-and-Play Web Services

    Get PDF
    The goal of this research is to make it easier to design and create web services for relational databases. A web service is a software service for providing data over computer networks. Web services provide data endpoints for many web applications. We adopt a plug-and-play approach for web service creation whereby a designer constructs a “plug,” which is a simple specification of the output produced by the service. If the plug can be “played” on the database then the web service is generated. Our plug-and-play approach has three advantages. First, a plug is portable. You can take the plug to any data source and generate a web service. Second, a plug-and-play service is more reliable. The web service generation checks the database to determine if the service can be safely and correctly generated. Third, plug-and-play web services are easier to code for complex data since a service designer can write a simple plug, abstracting away the data’s real complexity. We describe how to build a system for plug-and-play web services, and experimentally evaluate the system. The software produced by this research will make life easier for web service designers

    Synthesis of Execution Plans for the QVT Core Language

    Get PDF
    Model transformation languages (MTLs) are important for Model Driven Engineering as they allow the automation of the engineering design process of hardware and software products, in particular at the preliminary and detailed design phases. However, the theories from compiler optimization have not been reused substantively in the development of MTLs. This makes the challenges associated with the implementation of declarative MTLs harder to overcome, in particular with respect to the synthesis of the execution plan (a representation of the control component of the transformation algorithm). The QVT Core MTL is a declarative language, part of a set of standards proposed by the Object Management Group® in order to support the adoption of Model Driven Engineering (MDE). This research presents how instruction scheduling theories can be used for the synthesis of execution plans, in particular for the QVT Core language. The main contributions are a novel approach for performing data dependence analysis on the QVT Core language and its use for the synthesis of execution plans, and the application of metaheuristics to solve the scheduling problem inherent to the synthesis of execution plans. The research demonstrated the feasibility of applying compiler optimization techniques in the design of MTLs and provides a methodology that can be used to construct effi cient execution plans that result in correct transformations. The performance gains and correctness will help the widespread use of the QVT Core language and encourage the adoption of compiler optimization techniques in the implementation of other MTLs
    corecore