Behavioral Semantics of Modeling Languages: A Pragmatic Approach

Domain-specific modeling languages (DSMLs) are specialized languages tailored with concepts and features of a particular domain. The abstractions offered by DSMLs allow designers of software systems to ignore implementation details and instead focus on the system at a high level. While higher levels...

Full description

Bibliographic Details
Main Author: Balasubramanian, Daniel Allen
Other Authors: Gabor Karsai
Format: Others
Language:en
Published: VANDERBILT 2011
Subjects:
Online Access:http://etd.library.vanderbilt.edu/available/etd-04082011-145057/
id ndltd-VANDERBILT-oai-VANDERBILTETD-etd-04082011-145057
record_format oai_dc
spelling ndltd-VANDERBILT-oai-VANDERBILTETD-etd-04082011-1450572013-01-08T17:16:47Z Behavioral Semantics of Modeling Languages: A Pragmatic Approach Balasubramanian, Daniel Allen Computer Science Domain-specific modeling languages (DSMLs) are specialized languages tailored with concepts and features of a particular domain. The abstractions offered by DSMLs allow designers of software systems to ignore implementation details and instead focus on the system at a high level. While higher levels of abstraction can offer many advantages, there are still unresolved issues with DSMLs. One of these is the difficulty of applying formal verification methods. This dissertation presents two contributions that assist with the formal verification of domain-specific models. The first is a unified framework in which Statechart models of different semantic variants can be defined, simulated and verified. The key idea is that the user describes only the structure of a model, and then selects the semantics from a set of pluggable components. This allows a single model to be executed using multiple semantics, and a system comprised of interacting models using different semantics can be simulated and verified in a single environment. A lightweight method for specifying properties based on a pattern system was also developed. To perform analysis, the framework is integrated with Java Pathfinder, a software model checker, and Symbolic Pathfinder, its symbolic execution engine. Symbolic execution allows both test-vector generation and reachability analysis. The second major contribution is an extension to Formula, a modeling language and analysis tool from Microsoft Research, that calculates execution traces of models. The behavioral semantics are defined as a set of model transformations, each of which represents an atomic step of execution. The trace computing extension consists of three components. The first is a component that applies all applicable transformations to an input model at a given step and creates a separate trace for each application. The second component is used to create a separate trace for each non-deterministic choice of the input parameters that are passed to a transformation, making non-determinism inside a single execution step explicit to the trace computing module. The third component stores execution traces efficiently by computing and storing only the differences between consecutive steps in a trace when possible. Gabor Karsai VANDERBILT 2011-04-18 text application/pdf http://etd.library.vanderbilt.edu/available/etd-04082011-145057/ http://etd.library.vanderbilt.edu/available/etd-04082011-145057/ en unrestricted I hereby certify that, if appropriate, I have obtained and attached hereto a written permission statement from the owner(s) of each third party copyrighted matter to be included in my thesis, dissertation, or project report, allowing distribution as specified below. I certify that the version I submitted is the same as that approved by my advisory committee. I hereby grant to Vanderbilt University or its agents the non-exclusive license to archive and make accessible, under the conditions specified below, my thesis, dissertation, or project report in whole or in part in all forms of media, now or hereafter known. I retain all other ownership rights to the copyright of the thesis, dissertation or project report. I also retain the right to use in future works (such as articles or books) all or part of this thesis, dissertation, or project report.
collection NDLTD
language en
format Others
sources NDLTD
topic Computer Science
spellingShingle Computer Science
Balasubramanian, Daniel Allen
Behavioral Semantics of Modeling Languages: A Pragmatic Approach
description Domain-specific modeling languages (DSMLs) are specialized languages tailored with concepts and features of a particular domain. The abstractions offered by DSMLs allow designers of software systems to ignore implementation details and instead focus on the system at a high level. While higher levels of abstraction can offer many advantages, there are still unresolved issues with DSMLs. One of these is the difficulty of applying formal verification methods. This dissertation presents two contributions that assist with the formal verification of domain-specific models. The first is a unified framework in which Statechart models of different semantic variants can be defined, simulated and verified. The key idea is that the user describes only the structure of a model, and then selects the semantics from a set of pluggable components. This allows a single model to be executed using multiple semantics, and a system comprised of interacting models using different semantics can be simulated and verified in a single environment. A lightweight method for specifying properties based on a pattern system was also developed. To perform analysis, the framework is integrated with Java Pathfinder, a software model checker, and Symbolic Pathfinder, its symbolic execution engine. Symbolic execution allows both test-vector generation and reachability analysis. The second major contribution is an extension to Formula, a modeling language and analysis tool from Microsoft Research, that calculates execution traces of models. The behavioral semantics are defined as a set of model transformations, each of which represents an atomic step of execution. The trace computing extension consists of three components. The first is a component that applies all applicable transformations to an input model at a given step and creates a separate trace for each application. The second component is used to create a separate trace for each non-deterministic choice of the input parameters that are passed to a transformation, making non-determinism inside a single execution step explicit to the trace computing module. The third component stores execution traces efficiently by computing and storing only the differences between consecutive steps in a trace when possible.
author2 Gabor Karsai
author_facet Gabor Karsai
Balasubramanian, Daniel Allen
author Balasubramanian, Daniel Allen
author_sort Balasubramanian, Daniel Allen
title Behavioral Semantics of Modeling Languages: A Pragmatic Approach
title_short Behavioral Semantics of Modeling Languages: A Pragmatic Approach
title_full Behavioral Semantics of Modeling Languages: A Pragmatic Approach
title_fullStr Behavioral Semantics of Modeling Languages: A Pragmatic Approach
title_full_unstemmed Behavioral Semantics of Modeling Languages: A Pragmatic Approach
title_sort behavioral semantics of modeling languages: a pragmatic approach
publisher VANDERBILT
publishDate 2011
url http://etd.library.vanderbilt.edu/available/etd-04082011-145057/
work_keys_str_mv AT balasubramaniandanielallen behavioralsemanticsofmodelinglanguagesapragmaticapproach
_version_ 1716570271238848512