Abstract
This paper proposes a simplicity-oriented approach and framework for language-to-language transformation of, in particular, graphical languages. Key to simplicity is the decomposition of the transformation specification into sub-rule systems that separately specify purpose-specific aspects. We illustrate this approach by employing a variation of Plotkin’s Structural Operational Semantics (SOS) for pattern-based transformations of typed graphs in order to address the aspect ‘computation’ in a graph rewriting fashion. Key to our approach are two generalizations of Plotkin’s structural rules: the use of graph patterns as the matching concept in the rules, and the introduction of node and edge types. Types do not only allow one to easily distinguish between different kinds of dependencies, like control, data, and priority, but may also be used to define a hierarchical layering structure. The resulting Type-based Structural Operational Semantics (TSOS) supports a well-structured and intuitive specification and realization of semantically involved language-to-language transformations adequate for the generation of purpose-specific views or input formats for certain tools, like, e.g., model checkers. A comparison with the general-purpose transformation frameworks ATL and Groove, illustrates along the educational setting of our graphical WebStory language that TSOS provides quite a flexible format for the definition of a family of purpose-specific transformation languages that are easy to use and come with clear guarantees.
Highlights
Today, computational thinking [31,51] is important for computer scientists
– Language-Driven Engineering (LDE) which directly involves the application experts in the application development by providing them with dedicated purposespecific languages that typically enhance the graphical notation used in the domain already, and that are meant to evolve during the application lifecycle to capture arising new needs [44]
We use the Cinco Meta Tooling Suite [37] to generate the graphical development environments for all languages presented in this paper: the WebStory language, the state model used for model checking, as well as the dedicated DSL for modeling the transformations with Type-based Structural Operational Semantics (TSOS)-based rules
Summary
Computational thinking [31,51] is important for computer scientists. Rather, it enters almost everybody’s life, when, e.g., dealing with modern mobile phones, configuring your TV, or even buying a ticket at today’s vending machines. – Language-Driven Engineering (LDE) which directly involves the application experts in the application development by providing them with dedicated purposespecific (graphical) languages that typically enhance the graphical notation used in the domain already, and that are meant to evolve during the application lifecycle to capture arising new needs [44] Precondition for these approaches are powerful frameworks, often called language workbenches [21], for the realization and evolution of the required domain-specific development environments. In order to conveniently make the TSOS format applicable in practice, we use our language workbench Cinco [7,37] to generate domain-specific development environments for language-to-language transformations that are already tailored to the considered source and target languages.
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have
More From: International Journal on Software Tools for Technology Transfer
Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.