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...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Veröffentlicht in:Innovations in systems and software engineering Jg. 12; H. 1; S. 1 - 26
Hauptverfasser: Zhu, Huiquan, Sun, Jing, Dong, Jin Song, Lin, Shang-Wei
Format: Journal Article
Sprache:Englisch
Veröffentlicht: London Springer London 01.03.2016
Schlagworte:
ISSN:1614-5046, 1614-5054
Online-Zugang:Volltext
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
Abstract 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.
AbstractList 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.
Author Zhu, Huiquan
Sun, Jing
Dong, Jin Song
Lin, Shang-Wei
Author_xml – sequence: 1
  givenname: Huiquan
  surname: Zhu
  fullname: Zhu, Huiquan
  organization: Department of Computer Science, National University of Singapore
– sequence: 2
  givenname: Jing
  surname: Sun
  fullname: Sun, Jing
  email: jing.sun@auckland.ac.nz
  organization: Department of Computer Science, University of Auckland
– sequence: 3
  givenname: Jin Song
  surname: Dong
  fullname: Dong, Jin Song
  organization: Department of Computer Science, National University of Singapore
– sequence: 4
  givenname: Shang-Wei
  surname: Lin
  fullname: Lin, Shang-Wei
  organization: School of Computer Engineering, Nanyang Technological University
BookMark eNp9j01LAzEQhoNUsK3-AG_5A9FMvpbVUylWhYIe6jlks5N2S3dTkq1of71bKh49zTC8z_A-EzLqYoeE3AK_A86L-wwgpWIcNOPClOx4QcZgQDHNtRr97cpckUnOW8610UaOyeMixZZ-YmpCgzVtY4072keKX-gPvat2SPcprpNrH2i_Qfo-W1G3H07Ob67JZXC7jDe_c0o-Fk-r-Qtbvj2_zmdL5iXwnnkvEaUEpYu6Bh6gBCd4YUBUpgBZSeN1gKDQSzPUEioAFiBEVWpeBQlySuD816eYc8Jg96lpXfq2wO3J3p7t7WBvT_b2ODDizOQh260x2W08pG6o-Q_0A_G2XcQ
Cites_doi 10.1007/s11704-008-0035-6
10.1109/TR.2006.879605
10.5753/sbes.2002.23941
10.1145/2430536.2430537
10.1109/MEMCOD.2003.1210108
10.1145/360051.360079
10.1109/ISORC.2000.839557
10.1049/ip-sen:20050014
10.1002/cpe.1425
10.1007/s10703-010-0099-4
10.1109/HASE.2012.12
10.1007/s10703-013-0197-1
10.1109/TASE.2009.32
10.1007/978-3-642-02658-4_59
10.1007/978-3-642-21464-6_5
10.1109/PDSE.2000.847856
10.1109/ICSE.1998.671106
10.1007/978-3-642-34281-3_17
10.1109/ICECCS.2006.1690364
10.1109/ISSRE.2011.19
10.1145/355620.361161
ContentType Journal Article
Copyright Springer-Verlag London 2015
Copyright_xml – notice: Springer-Verlag London 2015
DBID AAYXX
CITATION
DOI 10.1007/s11334-015-0269-z
DatabaseName CrossRef
DatabaseTitle CrossRef
DatabaseTitleList
DeliveryMethod fulltext_linktorsrc
Discipline Computer Science
EISSN 1614-5054
EndPage 26
ExternalDocumentID 10_1007_s11334_015_0269_z
GroupedDBID -59
-5G
-BR
-EM
-Y2
-~C
.86
.VR
06D
0R~
0VY
203
29I
2J2
2JN
2JY
2KG
2LR
2P1
2VQ
2~H
30V
4.4
406
408
409
40D
40E
5GY
5VS
67Z
6NX
95-
95.
95~
96X
AAAVM
AABHQ
AACDK
AAHNG
AAIAL
AAJBT
AAJKR
AANZL
AARHV
AARTL
AASML
AATNV
AATVU
AAUYE
AAWCG
AAYIU
AAYQN
AAYTO
AAYZH
ABAKF
ABBBX
ABBXA
ABDZT
ABECU
ABFTD
ABFTV
ABHLI
ABHQN
ABJNI
ABJOX
ABKCH
ABKTR
ABMNI
ABMQK
ABNWP
ABQBU
ABQSL
ABSXP
ABTEG
ABTHY
ABTKH
ABTMW
ABULA
ABWNU
ABXPI
ACAOD
ACBXY
ACDTI
ACGFS
ACHSB
ACHXU
ACKNC
ACMDZ
ACMLO
ACOKC
ACOMO
ACPIV
ACREN
ACSNA
ACZOJ
ADHHG
ADHIR
ADINQ
ADKNI
ADKPE
ADRFC
ADTPH
ADURQ
ADYFF
ADYOE
ADZKW
AEBTG
AEFQL
AEGAL
AEGNC
AEJHL
AEJRE
AEKMD
AEMSY
AEOHA
AEPYU
AESKC
AETLH
AEVLU
AEXYK
AFBBN
AFGCZ
AFLOW
AFQWF
AFWTZ
AFYQB
AFZKB
AGAYW
AGDGC
AGJBK
AGMZJ
AGQEE
AGQMX
AGRTI
AGWIL
AGWZB
AGYKE
AHAVH
AHBYD
AHKAY
AHSBF
AHYZX
AIAKS
AIGIU
AIIXL
AILAN
AITGF
AJBLW
AJRNO
AJZVZ
ALMA_UNASSIGNED_HOLDINGS
ALWAN
AMKLP
AMTXH
AMXSW
AMYLF
AMYQR
AOCGG
ARMRJ
ASPBG
AVWKF
AXYYD
AYJHY
AZFZN
B-.
BA0
BDATZ
BGNMA
BSONS
CAG
COF
CS3
CSCUP
DDRTE
DL5
DNIVK
DPUIP
EBLON
EBS
EIOEI
EJD
ESBYG
FEDTE
FERAY
FFXSO
FIGPU
FINBP
FNLPD
FRRFC
FSGXE
FWDCC
GGCAI
GGRSB
GJIRD
GNWQR
GQ6
GQ7
GQ8
GXS
H13
HF~
HG5
HG6
HLICF
HMJXF
HQYDN
HRMNR
HVGLF
HZ~
I09
IHE
IJ-
IKXTQ
IWAJR
IXC
IXD
IXE
IZIGR
IZQ
I~X
I~Z
J-C
J0Z
JBSCW
JCJTX
JZLTJ
KDC
KOV
LAS
LLZTM
M4Y
MA-
N2Q
NB0
NPVJJ
NQJWS
NU0
O9-
O93
O9J
OAM
P9O
PF0
PT4
QOS
R89
R9I
ROL
RPX
RSV
S16
S1Z
S27
S3B
SAP
SCO
SDH
SHX
SISQX
SJYHP
SNE
SNPRN
SNX
SOHCF
SOJ
SPISZ
SRMVM
SSLCW
STPWE
SZN
T13
TSG
TSK
TSV
TUC
U2A
UG4
UOJIU
UTJUX
UZXMN
VC2
VFIZW
W23
W48
WK8
YLTOR
Z45
Z7R
Z7X
Z7Z
Z83
Z88
ZMTXR
~A9
AAPKM
AAYXX
ABBRH
ABDBE
ABFSG
ABJCF
ABRTQ
ACSTC
ADHKG
AEZWR
AFDZB
AFFHD
AFHIU
AFKRA
AFOHR
AGQPQ
AHPBZ
AHWEU
AIXLP
ARAPS
ATHPR
AYFIA
BENPR
BGLVJ
CCPQU
CITATION
HCIFZ
K7-
M7S
PHGZM
PHGZT
PQGLB
PTHSS
ID FETCH-LOGICAL-c310t-cc3ee331457dd10f191a207612b6713b36c5f1f4ec3605624f1e7122b950bf313
IEDL.DBID RSV
ISICitedReferencesCount 6
ISICitedReferencesURI http://www.webofscience.com/api/gateway?GWVersion=2&SrcApp=Summon&SrcAuth=ProQuest&DestLinkType=CitingArticles&DestApp=WOS_CPL&KeyUT=000369942300001&url=https%3A%2F%2Fcvtisr.summon.serialssolutions.com%2F%23%21%2Fsearch%3Fho%3Df%26include.ft.matches%3Dt%26l%3Dnull%26q%3D
ISSN 1614-5046
IngestDate Sat Nov 29 01:47:31 EST 2025
Fri Feb 21 02:37:50 EST 2025
IsPeerReviewed true
IsScholarly true
Issue 1
Keywords C#
CSP
Modeling checking
Multi-threaded programming
Language English
LinkModel DirectLink
MergedId FETCHMERGED-LOGICAL-c310t-cc3ee331457dd10f191a207612b6713b36c5f1f4ec3605624f1e7122b950bf313
PageCount 26
ParticipantIDs crossref_primary_10_1007_s11334_015_0269_z
springer_journals_10_1007_s11334_015_0269_z
PublicationCentury 2000
PublicationDate 2016-03-01
PublicationDateYYYYMMDD 2016-03-01
PublicationDate_xml – month: 03
  year: 2016
  text: 2016-03-01
  day: 01
PublicationDecade 2010
PublicationPlace London
PublicationPlace_xml – name: London
PublicationSubtitle A NASA Journal
PublicationTitle Innovations in systems and software engineering
PublicationTitleAbbrev Innovations Syst Softw Eng
PublicationYear 2016
Publisher Springer London
Publisher_xml – name: Springer London
References Gardner W (2003) Bridging CSP and C++ with selective formalism and executable specifications. In: Proceedings of first ACM and IEEE international conference on formal methods and models for co-design (MEMOCODE’03). IEEE, pp 237–245
LehmbergAOlsenMAn introduction to CSP.NETCommun Process Archit200620061330
WelchPBrownNMooresJChalmersKSputhBIntegrating and extending JCSPCommun Process Archit2007200765349370
Sun J, Liu Y, Dong JS, Chen C (2009) Integrating specification and programs for system modeling and verification. In: Proceedings of the third IEEE international symposium on theoretical aspects of software engineering (TASE’09), pp 127–135
Welch P, Martin J (2000) A CSP model for Java multithreading. In: Proceedings of international symposium on software engineering for parallel and distributed systems, pp 114–122
YangLPoppletonMJCSProB: implementing integrated formal specifications in concurrent JavaCommun Process Archit2007656788
Liu Y, Sun J, Dong JS (2011) PAT 3: an extensible architecture for building multi-domain model checkers. In: ISSRE, pp 190–199
Schaller N, Hilderink G, Welch P (2000) Using Java for parallel computing: JCSP versus CTJ, a comparison. In: Communicating process architectures, pp 205–226
LeeSJDobbieGSunJGrovesLTheorem prover approach to semistructured data designForm Methods Syst Des201037116010.1007/s10703-010-0099-41207.68127
Gardner W (2000) CSP++: an object-oriented application framework for software synthesis from CSP specifications. Ph.D. thesis, Politecnico di Milano, Italy
SummerfieldMProgramming in Go: creating applications for the 21st century2012Menlo ParkAddison-Wesley Professional
EastIMartinJWelchPDuceDGreenMgCSP: a graphical tool for designing CSP systemsCommun Process Archit 2004200427233
Liang H, Dong JS, Sun J, Duke R, Seviora RE (2006) Formal specification-based online monitoring. In: ICECCS’06: proceedings of the 11th IEEE international conference on engineering of complex computer systems. IEEE Computer Society, Washington, DC, pp 152–160. doi:10.1109/ICECCS.2006.1690364
HoareCMonitors: an operating system structuring conceptCommun ACM1974171054955710.1145/355620.3611610308.68029
Liang H, Dong JS, Sun J (2007) Evolution and runtime monitoring of software systems. In: SEKE’07: Proceedings of the 19th international conference on software engineering and knowledge engineering. Knowledge Systems Institute Graduate School, Skokie, pp 343–348
Sun J, Liu Y, Dong JS, Pang J (2009) PAT: towards flexible verification under fairness. In: Proceedings of the 21th international conference on computer aided verification (CAV’09). Lecture notes in computer science, vol 5643. Springer, New York, pp 709–714
Brown N (2007) C++CSP2: a many-to-many threading model for multicore architectures. In: Communicating process architectures 2007: WoTUG-30, pp 183–205
BaierCKatoenJPrinciples of model checking2008CambridgeThe MIT Press1179.68076
Mahony B, Dong JS (1998) Blending object-Z and timed CSP: an introduction to TCOZ. In: Proceedings of the 20th international conference on software engineering (ICSE’98). IEEE Computer Society, pp 95–104
SunJLiuYDongJSSunJCompositional encoding for bounded model checkingFront Comput Sci China20082436837910.1007/s11704-008-0035-6
Kleine M (2009) Using CSP for software verification. In: Proceedings of formal methods 2009 doctoral symposium. Eindhoven University of Technology, pp 8–13
JonesGProgramming in Occam1986LondonPrentice-Hall International
LiYDongJSSunJLiuYSunJModel checking approach to automated planningForm Methods in Syst Des201444217620210.1007/s10703-013-0197-11291.68263
Yuan L, Dong JS, Sun J, Basit HA (2006) Generic fault tolerant software architecture reasoning and customization. IEEE Trans Reliab 55(3):421–435. doi:10.1109/TR.2006.879605
Lin SW, Liu Y, Hsiung PA, Sun J, Dong JS (2012) Automatic generation of provably correct embedded systems. In: Formal methods and software engineering. Springer, New York, pp 214–229
Sun J, Dong JS, Jarzabek S, Wang H (2006) Computer-aided dispatch system family architecture and verification: an integrated formal approach. IEE Proc Softw 153(3):102–112. doi:10.1049/ip-sen:20050014
Sun J, Liu Y, Dong JS, Liu Y, Shi L (2013) Étienne André: modeling and verifying hierarchical real-time systems using stateful timed CSP. ACM Trans Softw Eng Methodol 22(1):3:1–3:29. doi:10.1145/2430536.2430537
YangLPoppletonMJava implementation platform for the integrated state-and event-based specification in PROBConcurr Comput Pract Exp20102281007102210.1002/cpe.1425
Gardner W (2005) CSP++: how faithful to CSPm. In: Proc. communicating process architectures 2005 (WoTUG-27), pp 129–146
WelchPMartinJFormal analysis of concurrent java systemsCommun Process Archit200058275301
Bjørndalen JM, Vinter B, Anshus OJ (2007) PyCSP—communicating sequential processes for python. In: McEwan AA, Schneider SA, Ifill W, Welch PH (eds) The 30th communicating process architectures conference (CPA’07), pp 229–248
Hilderink G, Bakkers A, Broenink J (2000) A distributed real-time Java system based on CSP. In: Proceedings of third IEEE international symposium on object-oriented real-time distributed computing (ISORC’00). IEEE, pp 400–407
BrownNCC++ CSP networkedCommun Process Archit20042004185200
Kleine M (2011) CSP as a coordination language. In: Coordination models and languages. Springer, New York, pp 65–79
Zhang J, Liu Y, Sun J, Dong JS, Sun J (2012) Model checking software architecture design. In: 2012 IEEE 14th international symposium on high-assurance systems engineering (HASE), pp 193–200. doi:10.1109/HASE.2012.12
Hoare C (1985) Communicating sequential processes. In: Prentice-Hall international series in computer science. Prentice/Hall International, London
Freitas L (2002) JACK: a process algebra implementation in Java. Ph.D. thesis, Centro de Informatica, Universidade Federal de Pernambuco
HowardJHProving monitorsCommun ACM197619527327910.1145/360051.3600790322.68016
BrownNWelchPAn introduction to the Kent C++ CSP LibraryCommun Process Archit20032003139156
C Baier (269_CR1) 2008
C Hoare (269_CR12) 1974; 17
L Yang (269_CR37) 2010; 22
P Welch (269_CR33) 2007; 2007
NC Brown (269_CR5) 2004; 2004
269_CR9
N Brown (269_CR4) 2003; 2003
SJ Lee (269_CR18) 2010; 37
269_CR22
269_CR21
269_CR24
269_CR23
269_CR26
269_CR25
269_CR28
L Yang (269_CR36) 2007; 65
A Lehmberg (269_CR19) 2006; 2006
J Sun (269_CR32) 2008; 2
I East (269_CR6) 2004; 27
Y Li (269_CR20) 2014; 44
269_CR29
G Jones (269_CR15) 1986
M Summerfield (269_CR27) 2012
269_CR11
269_CR10
P Welch (269_CR35) 2000; 58
269_CR7
269_CR13
269_CR8
269_CR34
269_CR2
269_CR3
269_CR17
269_CR39
269_CR16
269_CR38
JH Howard (269_CR14) 1976; 19
269_CR31
269_CR30
References_xml – reference: Sun J, Liu Y, Dong JS, Liu Y, Shi L (2013) Étienne André: modeling and verifying hierarchical real-time systems using stateful timed CSP. ACM Trans Softw Eng Methodol 22(1):3:1–3:29. doi:10.1145/2430536.2430537
– reference: EastIMartinJWelchPDuceDGreenMgCSP: a graphical tool for designing CSP systemsCommun Process Archit 2004200427233
– reference: Zhang J, Liu Y, Sun J, Dong JS, Sun J (2012) Model checking software architecture design. In: 2012 IEEE 14th international symposium on high-assurance systems engineering (HASE), pp 193–200. doi:10.1109/HASE.2012.12
– reference: LehmbergAOlsenMAn introduction to CSP.NETCommun Process Archit200620061330
– reference: BrownNWelchPAn introduction to the Kent C++ CSP LibraryCommun Process Archit20032003139156
– reference: Freitas L (2002) JACK: a process algebra implementation in Java. Ph.D. thesis, Centro de Informatica, Universidade Federal de Pernambuco
– reference: Sun J, Liu Y, Dong JS, Chen C (2009) Integrating specification and programs for system modeling and verification. In: Proceedings of the third IEEE international symposium on theoretical aspects of software engineering (TASE’09), pp 127–135
– reference: LeeSJDobbieGSunJGrovesLTheorem prover approach to semistructured data designForm Methods Syst Des201037116010.1007/s10703-010-0099-41207.68127
– reference: WelchPMartinJFormal analysis of concurrent java systemsCommun Process Archit200058275301
– reference: YangLPoppletonMJava implementation platform for the integrated state-and event-based specification in PROBConcurr Comput Pract Exp20102281007102210.1002/cpe.1425
– reference: Liang H, Dong JS, Sun J, Duke R, Seviora RE (2006) Formal specification-based online monitoring. In: ICECCS’06: proceedings of the 11th IEEE international conference on engineering of complex computer systems. IEEE Computer Society, Washington, DC, pp 152–160. doi:10.1109/ICECCS.2006.1690364
– reference: SummerfieldMProgramming in Go: creating applications for the 21st century2012Menlo ParkAddison-Wesley Professional
– reference: Gardner W (2003) Bridging CSP and C++ with selective formalism and executable specifications. In: Proceedings of first ACM and IEEE international conference on formal methods and models for co-design (MEMOCODE’03). IEEE, pp 237–245
– reference: Schaller N, Hilderink G, Welch P (2000) Using Java for parallel computing: JCSP versus CTJ, a comparison. In: Communicating process architectures, pp 205–226
– reference: Hoare C (1985) Communicating sequential processes. In: Prentice-Hall international series in computer science. Prentice/Hall International, London
– reference: Brown N (2007) C++CSP2: a many-to-many threading model for multicore architectures. In: Communicating process architectures 2007: WoTUG-30, pp 183–205
– reference: Mahony B, Dong JS (1998) Blending object-Z and timed CSP: an introduction to TCOZ. In: Proceedings of the 20th international conference on software engineering (ICSE’98). IEEE Computer Society, pp 95–104
– reference: Welch P, Martin J (2000) A CSP model for Java multithreading. In: Proceedings of international symposium on software engineering for parallel and distributed systems, pp 114–122
– reference: Bjørndalen JM, Vinter B, Anshus OJ (2007) PyCSP—communicating sequential processes for python. In: McEwan AA, Schneider SA, Ifill W, Welch PH (eds) The 30th communicating process architectures conference (CPA’07), pp 229–248
– reference: Liang H, Dong JS, Sun J (2007) Evolution and runtime monitoring of software systems. In: SEKE’07: Proceedings of the 19th international conference on software engineering and knowledge engineering. Knowledge Systems Institute Graduate School, Skokie, pp 343–348
– reference: Lin SW, Liu Y, Hsiung PA, Sun J, Dong JS (2012) Automatic generation of provably correct embedded systems. In: Formal methods and software engineering. Springer, New York, pp 214–229
– reference: Sun J, Dong JS, Jarzabek S, Wang H (2006) Computer-aided dispatch system family architecture and verification: an integrated formal approach. IEE Proc Softw 153(3):102–112. doi:10.1049/ip-sen:20050014
– reference: WelchPBrownNMooresJChalmersKSputhBIntegrating and extending JCSPCommun Process Archit2007200765349370
– reference: Gardner W (2005) CSP++: how faithful to CSPm. In: Proc. communicating process architectures 2005 (WoTUG-27), pp 129–146
– reference: Kleine M (2011) CSP as a coordination language. In: Coordination models and languages. Springer, New York, pp 65–79
– reference: BaierCKatoenJPrinciples of model checking2008CambridgeThe MIT Press1179.68076
– reference: HoareCMonitors: an operating system structuring conceptCommun ACM1974171054955710.1145/355620.3611610308.68029
– reference: Hilderink G, Bakkers A, Broenink J (2000) A distributed real-time Java system based on CSP. In: Proceedings of third IEEE international symposium on object-oriented real-time distributed computing (ISORC’00). IEEE, pp 400–407
– reference: SunJLiuYDongJSSunJCompositional encoding for bounded model checkingFront Comput Sci China20082436837910.1007/s11704-008-0035-6
– reference: Liu Y, Sun J, Dong JS (2011) PAT 3: an extensible architecture for building multi-domain model checkers. In: ISSRE, pp 190–199
– reference: LiYDongJSSunJLiuYSunJModel checking approach to automated planningForm Methods in Syst Des201444217620210.1007/s10703-013-0197-11291.68263
– reference: JonesGProgramming in Occam1986LondonPrentice-Hall International
– reference: Kleine M (2009) Using CSP for software verification. In: Proceedings of formal methods 2009 doctoral symposium. Eindhoven University of Technology, pp 8–13
– reference: BrownNCC++ CSP networkedCommun Process Archit20042004185200
– reference: YangLPoppletonMJCSProB: implementing integrated formal specifications in concurrent JavaCommun Process Archit2007656788
– reference: HowardJHProving monitorsCommun ACM197619527327910.1145/360051.3600790322.68016
– reference: Yuan L, Dong JS, Sun J, Basit HA (2006) Generic fault tolerant software architecture reasoning and customization. IEEE Trans Reliab 55(3):421–435. doi:10.1109/TR.2006.879605
– reference: Gardner W (2000) CSP++: an object-oriented application framework for software synthesis from CSP specifications. Ph.D. thesis, Politecnico di Milano, Italy
– reference: Sun J, Liu Y, Dong JS, Pang J (2009) PAT: towards flexible verification under fairness. In: Proceedings of the 21th international conference on computer aided verification (CAV’09). Lecture notes in computer science, vol 5643. Springer, New York, pp 709–714
– volume: 2006
  start-page: 13
  year: 2006
  ident: 269_CR19
  publication-title: Commun Process Archit
– ident: 269_CR8
– volume: 2
  start-page: 368
  issue: 4
  year: 2008
  ident: 269_CR32
  publication-title: Front Comput Sci China
  doi: 10.1007/s11704-008-0035-6
– ident: 269_CR13
– ident: 269_CR38
  doi: 10.1109/TR.2006.879605
– ident: 269_CR7
  doi: 10.5753/sbes.2002.23941
– ident: 269_CR30
  doi: 10.1145/2430536.2430537
– ident: 269_CR9
  doi: 10.1109/MEMCOD.2003.1210108
– ident: 269_CR2
– volume: 19
  start-page: 273
  issue: 5
  year: 1976
  ident: 269_CR14
  publication-title: Commun ACM
  doi: 10.1145/360051.360079
– ident: 269_CR11
  doi: 10.1109/ISORC.2000.839557
– ident: 269_CR28
  doi: 10.1049/ip-sen:20050014
– volume: 22
  start-page: 1007
  issue: 8
  year: 2010
  ident: 269_CR37
  publication-title: Concurr Comput Pract Exp
  doi: 10.1002/cpe.1425
– volume: 37
  start-page: 1
  issue: 1
  year: 2010
  ident: 269_CR18
  publication-title: Form Methods Syst Des
  doi: 10.1007/s10703-010-0099-4
– ident: 269_CR39
  doi: 10.1109/HASE.2012.12
– volume: 44
  start-page: 176
  issue: 2
  year: 2014
  ident: 269_CR20
  publication-title: Form Methods in Syst Des
  doi: 10.1007/s10703-013-0197-1
– ident: 269_CR26
– ident: 269_CR29
  doi: 10.1109/TASE.2009.32
– volume: 2004
  start-page: 185
  year: 2004
  ident: 269_CR5
  publication-title: Commun Process Archit
– ident: 269_CR10
– volume-title: Programming in Go: creating applications for the 21st century
  year: 2012
  ident: 269_CR27
– ident: 269_CR31
  doi: 10.1007/978-3-642-02658-4_59
– volume: 58
  start-page: 275
  year: 2000
  ident: 269_CR35
  publication-title: Commun Process Archit
– volume: 2007
  start-page: 349
  issue: 65
  year: 2007
  ident: 269_CR33
  publication-title: Commun Process Archit
– volume: 2003
  start-page: 139
  year: 2003
  ident: 269_CR4
  publication-title: Commun Process Archit
– ident: 269_CR21
– ident: 269_CR17
  doi: 10.1007/978-3-642-21464-6_5
– ident: 269_CR34
  doi: 10.1109/PDSE.2000.847856
– volume-title: Principles of model checking
  year: 2008
  ident: 269_CR1
– ident: 269_CR3
– ident: 269_CR25
  doi: 10.1109/ICSE.1998.671106
– ident: 269_CR16
– ident: 269_CR23
  doi: 10.1007/978-3-642-34281-3_17
– volume-title: Programming in Occam
  year: 1986
  ident: 269_CR15
– volume: 65
  start-page: 67
  year: 2007
  ident: 269_CR36
  publication-title: Commun Process Archit
– ident: 269_CR22
  doi: 10.1109/ICECCS.2006.1690364
– ident: 269_CR24
  doi: 10.1109/ISSRE.2011.19
– volume: 17
  start-page: 549
  issue: 10
  year: 1974
  ident: 269_CR12
  publication-title: Commun ACM
  doi: 10.1145/355620.361161
– volume: 27
  start-page: 233
  year: 2004
  ident: 269_CR6
  publication-title: Commun Process Archit 2004
SSID ssj0056563
Score 2.056884
Snippet CSP# is a formal modeling language that emphasizes the design of communication in concurrent systems. PAT framework provides a model checking environment for...
SourceID crossref
springer
SourceType Index Database
Publisher
StartPage 1
SubjectTerms Artificial Intelligence
Computer Applications
Computer Science
Original Paper
Software Engineering
Title From verified model to executable program: the PAT approach
URI https://link.springer.com/article/10.1007/s11334-015-0269-z
Volume 12
WOSCitedRecordID wos000369942300001&url=https%3A%2F%2Fcvtisr.summon.serialssolutions.com%2F%23%21%2Fsearch%3Fho%3Df%26include.ft.matches%3Dt%26l%3Dnull%26q%3D
hasFullText 1
inHoldings 1
isFullTextHit
isPrint
journalDatabaseRights – providerCode: PRVAVX
  databaseName: Springer Nature - Connect here FIRST to enable access
  customDbUrl:
  eissn: 1614-5054
  dateEnd: 99991231
  omitProxy: false
  ssIdentifier: ssj0056563
  issn: 1614-5046
  databaseCode: RSV
  dateStart: 20050401
  isFulltext: true
  titleUrlDefault: https://link.springer.com/search?facet-content-type=%22Journal%22
  providerName: Springer Nature
link http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwnV1LS8NAEB60evBifWJ9sQdPykKym2wSPRWxeJBStEpvIfuCHmykTUX6651Ns5SCHvS-hDDMznyz8818AFdcGx0XgaJxGhrqFnZRmWDNE2lp00AUCGlr1ZKnpN9PR6Ns0Mxxzzzb3bck60i9GnbDcsoxJtxEscjoYhO2MNulTq_h-eXNh18HUGpWPeYdGmP151uZP31iPRmtd0LrBNNr_-vX9mC3wZOku3SAfdgwkwNoe60G0lzdQ7jrTct3gn47tgg6SS2AQ6qSmC-j5pWbnyINVeuWICYkg-6Q-H3jR_DaexjeP9JGOIEqRGsVVYobw3kYxYnWYWCxJiuYe7BgUmBRKrlQsQ1tZBQXDgBFNjRJyJjM4kBaHvJjaE3KiTkBYjVjShSRybSIRCElK6xkCPIK7YJB1IFrb8H8Y7kfI19tQnZmydEsuTNLvujAjbdf3lyV2e-nT_90-gx2EMuIJT3sHFrVdG4uYFt9VuPZ9LJ2kW_MiLVn
linkProvider Springer Nature
linkToHtml http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwnV1LSwMxEB60CnqxPrE-c_CkBHaTbLarpyKWirUUrdLbsnlBD22l3Yr015tsN5SCHvQeluVjMvN9mRfAFVVaRVkgcVQPNXYDu7CIreZhSph6wDNLaYutJe2406n3-0m37OOe-mp3n5IsPPWy2c3KKVcx4TqKeYLn67DBbMByA_NfXt-9-3UEpaiqt3EHR1b9-VTmT59YDUarmdAiwDSr__q1Xdgp-SRqLAxgD9b0aB-qflcDKq_uAdw1J-MhsnY7MJZ0omIBDsrHSH9pOctd_xQqS7VukeWEqNvoIT9v_BDemg-9-xYuFydgadlajqWkWlMasihWKgyM1WQZcQ8WRHArSgXlMjKhYVpS7ggQM6GOQ0JEEgXC0JAeQWU0HuljQEYRInnGdKI445kQJDOCWJKXKecMWA2uPYLpx2I-RrqchOxgSS0sqYMlndfgxuOXlldl-vvpkz-dvoStVu-5nbYfO0-nsG15DV-Uip1BJZ_M9Dlsys98MJ1cFObyDVjquEs
linkToPdf http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwpV1LSwMxEB60inixPrE-c_CkhHaz2WxXT0VdFEspWKW3ZfOCHtyWdivSX2-yu6EU9CDeQwjDJPN9mW9mAK58qWSQtgQO2p7CtmEX5qHhPFRy3W6x1EDaYmpJN-z12sNh1K_mnM6c2t2lJMuaBtulKcubE6mby8I3Q62sesJWF7MIL9Zhg1odvaXrr-_uKbZgpVDYmxiEA8MEXVrzpy1WA9NqVrQINnH938fchZ0KZ6JO6Rh7sKayfai7GQ6outIHcBdPxx_I-PNIGzCKisE4KB8j9aXEPLd1VaiScN0igxVRvzNArg_5IbzFj4P7J1wNVMDCoLgcC-Er5fseDUIpvZY2XC0l9iODcGbIKveZCLSnqRI-s8CIak-FHiE8Clpc-55_BLVsnKljQFoSIlhKVSQZZSnnJNWcGPCXSvtI0AZcO2smk7JvRrLskGzNkhizJNYsyaIBN86WSXWFZr-vPvnT6kvY6j_ESfe593IK2wbusFJBdga1fDpX57ApPvPRbHpReM43mMDBLw
openUrl ctx_ver=Z39.88-2004&ctx_enc=info%3Aofi%2Fenc%3AUTF-8&rfr_id=info%3Asid%2Fsummon.serialssolutions.com&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=article&rft.atitle=From+verified+model+to+executable+program%3A+the+PAT+approach&rft.jtitle=Innovations+in+systems+and+software+engineering&rft.au=Zhu%2C+Huiquan&rft.au=Sun%2C+Jing&rft.au=Dong%2C+Jin+Song&rft.au=Lin%2C+Shang-Wei&rft.date=2016-03-01&rft.pub=Springer+London&rft.issn=1614-5046&rft.eissn=1614-5054&rft.volume=12&rft.issue=1&rft.spage=1&rft.epage=26&rft_id=info:doi/10.1007%2Fs11334-015-0269-z&rft.externalDocID=10_1007_s11334_015_0269_z
thumbnail_l http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/lc.gif&issn=1614-5046&client=summon
thumbnail_m http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/mc.gif&issn=1614-5046&client=summon
thumbnail_s http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/sc.gif&issn=1614-5046&client=summon