Logo Oapen
  • Join
    • Deposit
    • For Librarians
    • For Publishers
    • For Researchers
    • Funders
    • Resources
    • OAPEN
        View Item 
        •   OAPEN Home
        • View Item
        •   OAPEN Home
        • View Item
        JavaScript is disabled for your browser. Some features of this site may not work without it.

        A Functional, Comprehensive and Extensible Multi-Platform Querying and Transformation Approach

        Thumbnail
        Download PDF Viewer
        Author(s)
        Horn, Tassilo
        Collection
        Knowledge Unlatched (KU); KU Open Services
        Language
        English
        Show full item record
        Abstract
        This thesis is about a new model querying and transformation approach called FunnyQT which is realized as a set of APIs and embedded domain-specific languages (DSLs) in the JVM-based functional Lisp-dialect Clojure. Founded on a powerful model management API, FunnyQT provides querying services such as comprehensions, quantified expressions, regular path expressions, logic-based, relational model querying, and pattern matching. On the transformation side, it supports the definition of unidirectional model-to-model transformations, of in-place transformations, it supports defining bidirectional transformations, and it supports a new kind of co-evolution transformations that allow for evolving a model together with its metamodel simultaneously. Several properties make FunnyQT unique. Foremost, it is just a Clojure library, thus, FunnyQT queries and transformations are Clojure programs. However, most higher-level services are provided as task-oriented embedded DSLs which use Clojure's powerful macro-system to support the user with tailor-made language constructs important for the task at hand. Since queries and transformations are just Clojure programs, they may use any Clojure or Java library for their own purpose, e.g., they may use some templating library for defining model-to-text transformations. Conversely, like every Clojure program, FunnyQT queries and transformations compile to normal JVM byte-code and can easily be called from other JVM languages. Furthermore, FunnyQT is platform-independent and designed with extensibility in mind. By default, it supports the Eclipse Modeling Framework and JGraLab, and support for other modeling frameworks can be added with minimal effort and without having to modify the respective framework's classes or FunnyQT itself. Lastly, because FunnyQT is embedded in a functional language, it has a functional emphasis itself. Every query and every transformation compiles to a function which can be passed around, given to higher-order functions, or be parametrized with other functions.
        URI
        https://library.oapen.org/handle/20.500.12657/56801
        DOI
        https://doi.org/10.30819/4291
        ISBN
        9783832542917
        Publisher
        Logos Verlag Berlin
        Publisher website
        https://www.logos-verlag.com/
        Publication date and place
        2016
        Grantor
        • Knowledge Unlatched
        Imprint
        Logos Verlag Berlin
        Rights
        https://creativecommons.org/licenses/by-nc-nd/4.0/legalcode
        • Harvested from KU

        Browse

        All of OAPENSubjectsPublishersLanguagesCollections

        My Account

        LoginRegister

        Export

        Repository metadata
        Logo Oapen
        • For Librarians
        • For Publishers
        • For Researchers
        • Funders
        • Resources
        • OAPEN

        Newsletter

        • Subscribe to our newsletter
        • view our news archive

        Follow us on

        License

        • If not noted otherwise all contents are available under Attribution 4.0 International (CC BY 4.0)

        Credits

        • logo EU
        • This project received funding from the European Union's Horizon 2020 research and innovation programme under grant agreement No 683680, 810640, 871069 and 964352.

        OAPEN is based in the Netherlands, with its registered office in the National Library in The Hague.

        Director: Niels Stern

        Address:
        OAPEN Foundation
        Prins Willem-Alexanderhof 5
        2595 BE The Hague
        Postal address:
        OAPEN Foundation
        P.O. Box 90407
        2509 LK The Hague

        Websites:
        OAPEN Home: www.oapen.org
        OAPEN Library: library.oapen.org
        DOAB: www.doabooks.org

         

         

        Export search results

        The export option will allow you to export the current search results of the entered query to a file. Differen formats are available for download. To export the items, click on the button corresponding with the preferred download format.

        A logged-in user can export up to 15000 items. If you're not logged in, you can export no more than 500 items.

        To select a subset of the search results, click "Selective Export" button and make a selection of the items you want to export. The amount of items that can be exported at once is similarly restricted as the full export.

        After making a selection, click one of the export format buttons. The amount of items that will be exported is indicated in the bubble next to export format.