Engineering Object-Oriented Semantics Using Graph Transformations

H. Kastenberg, A.G. Kleppe, Arend Rensink

    Research output: Book/ReportReportProfessional

    23 Downloads (Pure)

    Abstract

    In this paper we describe the application of the theory of graph transformations to the practise of language design. We have defined the semantics of a small but realistic object-oriented language (called TAAL) by mapping the language constructs to graphs and their operational semantics to graph transformation rules. In the process we establish a mapping between UML models and graphs. TAAL was developed for the purpose of this paper, as an extensive case study in engineering object-oriented language semantics using graph transformation. It incorporates the basic aspects of many commonly used object-oriented programming languages: apart from essential imperative programming constructs, it includes inheritance, object creation and method overriding. The language specification is based on a number of meta-models written in UML. Both the static and dynamic semantics are defined using graph rewriting rules. In the course of the case study, we have built an Eclipse plug-in that automatically transforms arbitrary TAAL programs into graphs, in a graph format readable by another tool. This second tool is called Groove, and it is able to execute graph transformations. By combining both tools we are able to visually simulate the execution of any TAAL program.
    Original languageUndefined
    Place of PublicationEnschede
    PublisherCentrum voor Telematica en Informatie Technologie
    Number of pages93
    Publication statusPublished - Mar 2006

    Publication series

    NameCTIT Technical Report Series
    PublisherCentre for Telematics and Information Technology, University of Twente
    No.06-12
    ISSN (Print)1381-3625

    Keywords

    • EWI-6140
    • IR-66199
    • METIS-238662

    Cite this

    Kastenberg, H., Kleppe, A. G., & Rensink, A. (2006). Engineering Object-Oriented Semantics Using Graph Transformations. (CTIT Technical Report Series; No. 06-12). Enschede: Centrum voor Telematica en Informatie Technologie.
    Kastenberg, H. ; Kleppe, A.G. ; Rensink, Arend. / Engineering Object-Oriented Semantics Using Graph Transformations. Enschede : Centrum voor Telematica en Informatie Technologie, 2006. 93 p. (CTIT Technical Report Series; 06-12).
    @book{fa90b08cde4d41fc8116ed1129793be2,
    title = "Engineering Object-Oriented Semantics Using Graph Transformations",
    abstract = "In this paper we describe the application of the theory of graph transformations to the practise of language design. We have defined the semantics of a small but realistic object-oriented language (called TAAL) by mapping the language constructs to graphs and their operational semantics to graph transformation rules. In the process we establish a mapping between UML models and graphs. TAAL was developed for the purpose of this paper, as an extensive case study in engineering object-oriented language semantics using graph transformation. It incorporates the basic aspects of many commonly used object-oriented programming languages: apart from essential imperative programming constructs, it includes inheritance, object creation and method overriding. The language specification is based on a number of meta-models written in UML. Both the static and dynamic semantics are defined using graph rewriting rules. In the course of the case study, we have built an Eclipse plug-in that automatically transforms arbitrary TAAL programs into graphs, in a graph format readable by another tool. This second tool is called Groove, and it is able to execute graph transformations. By combining both tools we are able to visually simulate the execution of any TAAL program.",
    keywords = "EWI-6140, IR-66199, METIS-238662",
    author = "H. Kastenberg and A.G. Kleppe and Arend Rensink",
    year = "2006",
    month = "3",
    language = "Undefined",
    series = "CTIT Technical Report Series",
    publisher = "Centrum voor Telematica en Informatie Technologie",
    number = "06-12",

    }

    Kastenberg, H, Kleppe, AG & Rensink, A 2006, Engineering Object-Oriented Semantics Using Graph Transformations. CTIT Technical Report Series, no. 06-12, Centrum voor Telematica en Informatie Technologie, Enschede.

    Engineering Object-Oriented Semantics Using Graph Transformations. / Kastenberg, H.; Kleppe, A.G.; Rensink, Arend.

    Enschede : Centrum voor Telematica en Informatie Technologie, 2006. 93 p. (CTIT Technical Report Series; No. 06-12).

    Research output: Book/ReportReportProfessional

    TY - BOOK

    T1 - Engineering Object-Oriented Semantics Using Graph Transformations

    AU - Kastenberg, H.

    AU - Kleppe, A.G.

    AU - Rensink, Arend

    PY - 2006/3

    Y1 - 2006/3

    N2 - In this paper we describe the application of the theory of graph transformations to the practise of language design. We have defined the semantics of a small but realistic object-oriented language (called TAAL) by mapping the language constructs to graphs and their operational semantics to graph transformation rules. In the process we establish a mapping between UML models and graphs. TAAL was developed for the purpose of this paper, as an extensive case study in engineering object-oriented language semantics using graph transformation. It incorporates the basic aspects of many commonly used object-oriented programming languages: apart from essential imperative programming constructs, it includes inheritance, object creation and method overriding. The language specification is based on a number of meta-models written in UML. Both the static and dynamic semantics are defined using graph rewriting rules. In the course of the case study, we have built an Eclipse plug-in that automatically transforms arbitrary TAAL programs into graphs, in a graph format readable by another tool. This second tool is called Groove, and it is able to execute graph transformations. By combining both tools we are able to visually simulate the execution of any TAAL program.

    AB - In this paper we describe the application of the theory of graph transformations to the practise of language design. We have defined the semantics of a small but realistic object-oriented language (called TAAL) by mapping the language constructs to graphs and their operational semantics to graph transformation rules. In the process we establish a mapping between UML models and graphs. TAAL was developed for the purpose of this paper, as an extensive case study in engineering object-oriented language semantics using graph transformation. It incorporates the basic aspects of many commonly used object-oriented programming languages: apart from essential imperative programming constructs, it includes inheritance, object creation and method overriding. The language specification is based on a number of meta-models written in UML. Both the static and dynamic semantics are defined using graph rewriting rules. In the course of the case study, we have built an Eclipse plug-in that automatically transforms arbitrary TAAL programs into graphs, in a graph format readable by another tool. This second tool is called Groove, and it is able to execute graph transformations. By combining both tools we are able to visually simulate the execution of any TAAL program.

    KW - EWI-6140

    KW - IR-66199

    KW - METIS-238662

    M3 - Report

    T3 - CTIT Technical Report Series

    BT - Engineering Object-Oriented Semantics Using Graph Transformations

    PB - Centrum voor Telematica en Informatie Technologie

    CY - Enschede

    ER -

    Kastenberg H, Kleppe AG, Rensink A. Engineering Object-Oriented Semantics Using Graph Transformations. Enschede: Centrum voor Telematica en Informatie Technologie, 2006. 93 p. (CTIT Technical Report Series; 06-12).