Prototyping the Semantics of a DSL using ASF+SDF: Link to Formal Verification of DSL Models

A formal definition of the semantics of a domain-specific language (DSL) is a key prerequisite for the verification of the correctness of models specified using such a DSL and of transformations applied to these models. For this reason, we implemented a prototype of the semantics of a DSL for the specification of systems consisting of concurrent, communicating objects. Using this prototype, models specified in the DSL can be transformed to labeled transition systems (LTS). This approach of transforming models to LTSs allows us to apply existing tools for visualization and verification to models with little or no further effort. The prototype is implemented using the ASF+SDF Meta-Environment, an IDE for the algebraic specification language ASF+SDF, which offers efficient execution of the transformation as well as the ability to read models and produce LTSs without any additional pre or post processing.

[1]  Vlad Rusu,et al.  Embedding domain-specific modelling languages in Maude specifications , 2011, Software & Systems Modeling.

[2]  Jozef Hooman,et al.  A semantics of communicating reactive objects with timing , 2006, International Journal on Software Tools for Technology Transfer.

[3]  Guido Wachsmuth,et al.  Prototyping Visual Interpreters and Debuggers for Domain-Specific Modelling Languages , 2008, ECMDA-FA.

[4]  José Meseguer,et al.  The Maude LTL Model Checker , 2004, WRLA.

[5]  Rob J. van Glabbeek,et al.  Branching time and abstraction in bisimulation semantics , 1996, JACM.

[6]  Douglas C. Schmidt,et al.  Guest Editor's Introduction: Model-Driven Engineering , 2006, Computer.

[7]  Jean Bézivin,et al.  A Practical Experiment to Give Dynamic Semantics to a DSL for Telephony Services Development , 2006 .

[8]  Arie van Deursen,et al.  The Asf+Sdf Meta-Environment: a Component-Based Language Development Environment , 2001, LDTA@ETAPS.

[9]  Ivan Ivanov Application of reflection in a model transformation language , 2008 .

[10]  Paul Klint,et al.  ATerms for manipulation and exchange of structured data: It's all about sharing , 2007, Inf. Softw. Technol..

[11]  Radu Mateescu,et al.  CADP 2010: A Toolbox for the Construction and Analysis of Distributed Processes , 2011, TACAS.

[12]  Antonio Vallecillo,et al.  Formal Specification and Analysis of Domain Specific Models Using Maude , 2009, Simul..

[13]  Emden R. Gansner,et al.  Graphviz - Open Source Graph Drawing Tools , 2001, GD.

[14]  Gerard J. Holzmann,et al.  The Model Checker SPIN , 1997, IEEE Trans. Software Eng..

[15]  G. G. Stokes "J." , 1890, The New Yale Book of Quotations.

[16]  Mark van den Brand,et al.  Transforming Process Algebra Models into UML State Machines: Bridging a Semantic Gap? , 2008, ICMT@TOOLS.

[17]  Stuart Kent,et al.  Model Driven Engineering , 2002, IFM.

[18]  Arie van Deursen,et al.  Domain-specific languages: an annotated bibliography , 2000, SIGP.

[19]  Bow-Yaw Wang,et al.  mu-Calculus Model Checking in Maude , 2004, WRLA.

[20]  Eelco Visser,et al.  Syntax definition for language prototyping , 1997 .

[21]  Marc Geilen,et al.  Software/Hardware Engineering with the Parallel Object-Oriented Specification Language , 2007, 2007 5th IEEE/ACM International Conference on Formal Methods and Models for Codesign (MEMOCODE 2007).

[22]  Arie van Deursen,et al.  The ASF+SDF Meta-environment: A Component-Based Language Development Environment , 2001 .

[23]  Jan Friso Groote,et al.  The Formal Specification Language mCRL2 , 2006, MMOSS.

[24]  Mark van den Brand,et al.  An exercise in iterative domain-specific language design , 2010, IWPSE-EVOL '10.