From verified model to executable program: the PAT approach

CSP# is a formal modeling language that emphasizes the design of communication in concurrent systems. PAT framework provides a model checking environment for the simulation and verification of CSP# models. Although the desired properties can be formally verified at the design level, it is not always...

Full description

Saved in:
Bibliographic Details
Main Authors: Zhu, Huiquan, Sun, Jing, Dong, Jin Song, Lin, Shang-Wei
Other Authors: School of Computer Science and Engineering
Format: Article
Language:English
Published: 2017
Subjects:
Online Access:https://hdl.handle.net/10356/83777
http://hdl.handle.net/10220/42797
Tags: Add Tag
No Tags, Be the first to tag this record!
Institution: Nanyang Technological University
Language: English
id sg-ntu-dr.10356-83777
record_format dspace
spelling sg-ntu-dr.10356-837772020-03-07T11:49:01Z From verified model to executable program: the PAT approach Zhu, Huiquan Sun, Jing Dong, Jin Song Lin, Shang-Wei School of Computer Science and Engineering Modeling Checking CSP# CSP# is a formal modeling language that emphasizes the design of communication in concurrent systems. PAT framework provides a model checking environment for the simulation and verification of CSP# models. Although the desired properties can be formally verified at the design level, it is not always straightforward to ensure the correctness of the system’s implementation conforms to the behaviors of the formal design model. To avoid human error and enhance productivity, it would be beneficial to have a tool support to automatically generate the executable programs from their corresponding formal models. In this paper, we propose such a solution for translating verified CSP# models into C# programs in the PAT framework. We encoded the CSP# operators in a C# library-“PAT.Runtime”, where the event synchronization is based on the “Monitor” class in C#. The precondition and choice layers are built on top of the CSP event synchronization to support language-specific features. We further developed a code generation tool to automatically transform CSP# models into multi-threaded C# programs. We proved that the generated C# program and original CSP# model are equivalent on the trace semantics. This equivalence guarantees that the verified properties of the CSP# models are preserved in the generated C# programs. Furthermore, based on the existing implementation of choice operator, we improved the synchronization mechanism by pruning the unnecessary communications among the choice operators. The experiment results showed that the improved mechanism notably outperforms the standard JCSP library. Accepted version 2017-07-04T07:05:05Z 2019-12-06T15:31:51Z 2017-07-04T07:05:05Z 2019-12-06T15:31:51Z 2015 Journal Article Zhu, H., Sun, J., Dong, J. S., & Lin, S.-W. (2016). From verified model to executable program: the PAT approach. Innovations in Systems and Software Engineering, 12(1), 1-26. 1614-5046 https://hdl.handle.net/10356/83777 http://hdl.handle.net/10220/42797 10.1007/s11334-015-0269-z en Innovations in Systems and Software Engineering © 2015 Springer-Verlag London Limited. This is the author created version of a work that has been peer reviewed and accepted for publication by Innovations in Systems and Software Engineering, Springer-Verlag London Limited. It incorporates referee’s comments but changes resulting from the publishing process, such as copyediting, structural formatting, may not be reflected in this document. The published version is available at: [http://dx.doi.org/10.1007/s11334-015-0269-z]. 46 p. application/pdf
institution Nanyang Technological University
building NTU Library
country Singapore
collection DR-NTU
language English
topic Modeling Checking
CSP#
spellingShingle Modeling Checking
CSP#
Zhu, Huiquan
Sun, Jing
Dong, Jin Song
Lin, Shang-Wei
From verified model to executable program: the PAT approach
description CSP# is a formal modeling language that emphasizes the design of communication in concurrent systems. PAT framework provides a model checking environment for the simulation and verification of CSP# models. Although the desired properties can be formally verified at the design level, it is not always straightforward to ensure the correctness of the system’s implementation conforms to the behaviors of the formal design model. To avoid human error and enhance productivity, it would be beneficial to have a tool support to automatically generate the executable programs from their corresponding formal models. In this paper, we propose such a solution for translating verified CSP# models into C# programs in the PAT framework. We encoded the CSP# operators in a C# library-“PAT.Runtime”, where the event synchronization is based on the “Monitor” class in C#. The precondition and choice layers are built on top of the CSP event synchronization to support language-specific features. We further developed a code generation tool to automatically transform CSP# models into multi-threaded C# programs. We proved that the generated C# program and original CSP# model are equivalent on the trace semantics. This equivalence guarantees that the verified properties of the CSP# models are preserved in the generated C# programs. Furthermore, based on the existing implementation of choice operator, we improved the synchronization mechanism by pruning the unnecessary communications among the choice operators. The experiment results showed that the improved mechanism notably outperforms the standard JCSP library.
author2 School of Computer Science and Engineering
author_facet School of Computer Science and Engineering
Zhu, Huiquan
Sun, Jing
Dong, Jin Song
Lin, Shang-Wei
format Article
author Zhu, Huiquan
Sun, Jing
Dong, Jin Song
Lin, Shang-Wei
author_sort Zhu, Huiquan
title From verified model to executable program: the PAT approach
title_short From verified model to executable program: the PAT approach
title_full From verified model to executable program: the PAT approach
title_fullStr From verified model to executable program: the PAT approach
title_full_unstemmed From verified model to executable program: the PAT approach
title_sort from verified model to executable program: the pat approach
publishDate 2017
url https://hdl.handle.net/10356/83777
http://hdl.handle.net/10220/42797
_version_ 1681034068901232640