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...
Main Author: | |
---|---|
Other Authors: | |
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 |