Implementation of the Hierarchical Graph Rewriting Language LMNtal.

Kei Murayama, Shintaro Kudo, Ken Sakurai, Ken Mizuno, Norio Kato, Kazunori Ueda

    Research output: Contribution to journalArticle

    1 Citation (Scopus)

    Abstract

    LMNtal is a language model based on hierarchical graph rewriting that allows the representation and the manipulation of connectivity expressed using links and hierarchy expressed using membranes. The model allows concise description of programs involving dynamic data structures and multiset processing. Since LMNtal features fine-grained concurrency whose atomic operation is the application of a rewrite rule, how to implement it correctly and efficiently is far from obvious. This motivated us to implement LMNtal using Java and establish implementation techniques that are both correct and reasonably efficient. Our implementation consists of a compiler into intermediate code, an interpreter of the intermediate code, and a translator from the intermediate code to Java source code. It also provides a variety of useful features including foreignlanguage interface. The cruxes of the implementation techniques include the handling of links that cross membranes and the asynchronous execution of rewrite rules belonging to different membranes. This paper describes the design and implementation of our publicly available LMNtal system, focusing on technical issues raised in the course of the development. Those issues include the representation of hierarchical graph structures, intermediate code, and safe asynchronous execution of multiple tasks.

    Original languageEnglish
    Pages (from-to)47-77
    Number of pages31
    JournalComputer Software
    Volume25
    Issue number2
    DOIs
    Publication statusPublished - 2008

    Fingerprint

    Membranes
    Data structures
    Processing

    ASJC Scopus subject areas

    • Software

    Cite this

    Implementation of the Hierarchical Graph Rewriting Language LMNtal. / Murayama, Kei; Kudo, Shintaro; Sakurai, Ken; Mizuno, Ken; Kato, Norio; Ueda, Kazunori.

    In: Computer Software, Vol. 25, No. 2, 2008, p. 47-77.

    Research output: Contribution to journalArticle

    Murayama, K, Kudo, S, Sakurai, K, Mizuno, K, Kato, N & Ueda, K 2008, 'Implementation of the Hierarchical Graph Rewriting Language LMNtal.', Computer Software, vol. 25, no. 2, pp. 47-77. https://doi.org/10.11309/jssst.25.2_47
    Murayama, Kei ; Kudo, Shintaro ; Sakurai, Ken ; Mizuno, Ken ; Kato, Norio ; Ueda, Kazunori. / Implementation of the Hierarchical Graph Rewriting Language LMNtal. In: Computer Software. 2008 ; Vol. 25, No. 2. pp. 47-77.
    @article{23e539fe757047bea3a8e0b92067c3cb,
    title = "Implementation of the Hierarchical Graph Rewriting Language LMNtal.",
    abstract = "LMNtal is a language model based on hierarchical graph rewriting that allows the representation and the manipulation of connectivity expressed using links and hierarchy expressed using membranes. The model allows concise description of programs involving dynamic data structures and multiset processing. Since LMNtal features fine-grained concurrency whose atomic operation is the application of a rewrite rule, how to implement it correctly and efficiently is far from obvious. This motivated us to implement LMNtal using Java and establish implementation techniques that are both correct and reasonably efficient. Our implementation consists of a compiler into intermediate code, an interpreter of the intermediate code, and a translator from the intermediate code to Java source code. It also provides a variety of useful features including foreignlanguage interface. The cruxes of the implementation techniques include the handling of links that cross membranes and the asynchronous execution of rewrite rules belonging to different membranes. This paper describes the design and implementation of our publicly available LMNtal system, focusing on technical issues raised in the course of the development. Those issues include the representation of hierarchical graph structures, intermediate code, and safe asynchronous execution of multiple tasks.",
    author = "Kei Murayama and Shintaro Kudo and Ken Sakurai and Ken Mizuno and Norio Kato and Kazunori Ueda",
    year = "2008",
    doi = "10.11309/jssst.25.2_47",
    language = "English",
    volume = "25",
    pages = "47--77",
    journal = "Computer Software",
    issn = "0289-6540",
    publisher = "Japan Society for Software Science and Technology",
    number = "2",

    }

    TY - JOUR

    T1 - Implementation of the Hierarchical Graph Rewriting Language LMNtal.

    AU - Murayama, Kei

    AU - Kudo, Shintaro

    AU - Sakurai, Ken

    AU - Mizuno, Ken

    AU - Kato, Norio

    AU - Ueda, Kazunori

    PY - 2008

    Y1 - 2008

    N2 - LMNtal is a language model based on hierarchical graph rewriting that allows the representation and the manipulation of connectivity expressed using links and hierarchy expressed using membranes. The model allows concise description of programs involving dynamic data structures and multiset processing. Since LMNtal features fine-grained concurrency whose atomic operation is the application of a rewrite rule, how to implement it correctly and efficiently is far from obvious. This motivated us to implement LMNtal using Java and establish implementation techniques that are both correct and reasonably efficient. Our implementation consists of a compiler into intermediate code, an interpreter of the intermediate code, and a translator from the intermediate code to Java source code. It also provides a variety of useful features including foreignlanguage interface. The cruxes of the implementation techniques include the handling of links that cross membranes and the asynchronous execution of rewrite rules belonging to different membranes. This paper describes the design and implementation of our publicly available LMNtal system, focusing on technical issues raised in the course of the development. Those issues include the representation of hierarchical graph structures, intermediate code, and safe asynchronous execution of multiple tasks.

    AB - LMNtal is a language model based on hierarchical graph rewriting that allows the representation and the manipulation of connectivity expressed using links and hierarchy expressed using membranes. The model allows concise description of programs involving dynamic data structures and multiset processing. Since LMNtal features fine-grained concurrency whose atomic operation is the application of a rewrite rule, how to implement it correctly and efficiently is far from obvious. This motivated us to implement LMNtal using Java and establish implementation techniques that are both correct and reasonably efficient. Our implementation consists of a compiler into intermediate code, an interpreter of the intermediate code, and a translator from the intermediate code to Java source code. It also provides a variety of useful features including foreignlanguage interface. The cruxes of the implementation techniques include the handling of links that cross membranes and the asynchronous execution of rewrite rules belonging to different membranes. This paper describes the design and implementation of our publicly available LMNtal system, focusing on technical issues raised in the course of the development. Those issues include the representation of hierarchical graph structures, intermediate code, and safe asynchronous execution of multiple tasks.

    UR - http://www.scopus.com/inward/record.url?scp=70349325452&partnerID=8YFLogxK

    UR - http://www.scopus.com/inward/citedby.url?scp=70349325452&partnerID=8YFLogxK

    U2 - 10.11309/jssst.25.2_47

    DO - 10.11309/jssst.25.2_47

    M3 - Article

    VL - 25

    SP - 47

    EP - 77

    JO - Computer Software

    JF - Computer Software

    SN - 0289-6540

    IS - 2

    ER -