{"title":"An Approach to Develop Correct-by-Construction Business Process Models Using a Formal Domain Specific Language","authors":"Yousra Bendaly Hlaoui, Salma Ayari","doi":"10.1002/smr.2762","DOIUrl":null,"url":null,"abstract":"<div>\n \n <p>As the size and the complexity of business process models are an important driver of error probability, it is recommended to split large models into smaller models. Hence, we propose, in this paper, to develop business process models by refinement. A refinement is a transformation of a source model to a target model expressed in the same modeling language. This transformation should preserve the semantics of the source model to provide semantically correct target model. Thus, we propose, in this paper, a domain specific language based on Business Process Model and Notation (BPMN) language for developing by refinement business process models correct-by-construction. Hence, we propose (i) a <span></span><math>\n <semantics>\n <mrow>\n <mi>B</mi>\n <mi>P</mi>\n <mi>M</mi>\n <msub>\n <mrow>\n <mi>N</mi>\n </mrow>\n <mrow>\n <mi>R</mi>\n </mrow>\n </msub>\n </mrow>\n <annotation>$$ BPM{N}_R $$</annotation>\n </semantics></math> formal syntax throughout a context-free grammar <span></span><math>\n <semantics>\n <mrow>\n <msub>\n <mrow>\n <mi>G</mi>\n </mrow>\n <mrow>\n <mi>B</mi>\n <mi>P</mi>\n <mi>M</mi>\n <msub>\n <mrow>\n <mi>N</mi>\n </mrow>\n <mrow>\n <mi>R</mi>\n </mrow>\n </msub>\n </mrow>\n </msub>\n </mrow>\n <annotation>$$ {G}_{BPM{N}_R} $$</annotation>\n </semantics></math>, (ii) axiomatic semantics to ensure the refinement correction when building business process models, (iii) operational semantics in terms of Kripke structure permitting formal verification of provided <span></span><math>\n <semantics>\n <mrow>\n <mi>B</mi>\n <mi>P</mi>\n <mi>M</mi>\n <msub>\n <mrow>\n <mi>N</mi>\n </mrow>\n <mrow>\n <mi>R</mi>\n </mrow>\n </msub>\n </mrow>\n <annotation>$$ BPM{N}_R $$</annotation>\n </semantics></math> models to check their reliability. The Kripke structure supports the verification of behavioral requirements represented by the Computational Tree Logic (CTL) temporal logic and verified by NuSMV model checker. Based on these semantics, we prove the validity of the <span></span><math>\n <semantics>\n <mrow>\n <mi>B</mi>\n <mi>P</mi>\n <mi>M</mi>\n <msub>\n <mrow>\n <mi>N</mi>\n </mrow>\n <mrow>\n <mi>R</mi>\n </mrow>\n </msub>\n </mrow>\n <annotation>$$ BPM{N}_R $$</annotation>\n </semantics></math> compiler that we have developed to assist developers when building their correct <span></span><math>\n <semantics>\n <mrow>\n <mi>B</mi>\n <mi>P</mi>\n <mi>M</mi>\n <msub>\n <mrow>\n <mi>N</mi>\n </mrow>\n <mrow>\n <mi>R</mi>\n </mrow>\n </msub>\n </mrow>\n <annotation>$$ BPM{N}_R $$</annotation>\n </semantics></math> models and to transform these models to NuSMV code to prove their reliability.</p>\n </div>","PeriodicalId":48898,"journal":{"name":"Journal of Software-Evolution and Process","volume":"37 2","pages":""},"PeriodicalIF":1.7000,"publicationDate":"2025-02-11","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Journal of Software-Evolution and Process","FirstCategoryId":"94","ListUrlMain":"https://onlinelibrary.wiley.com/doi/10.1002/smr.2762","RegionNum":4,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"Q3","JCRName":"COMPUTER SCIENCE, SOFTWARE ENGINEERING","Score":null,"Total":0}
引用次数: 0
Abstract
As the size and the complexity of business process models are an important driver of error probability, it is recommended to split large models into smaller models. Hence, we propose, in this paper, to develop business process models by refinement. A refinement is a transformation of a source model to a target model expressed in the same modeling language. This transformation should preserve the semantics of the source model to provide semantically correct target model. Thus, we propose, in this paper, a domain specific language based on Business Process Model and Notation (BPMN) language for developing by refinement business process models correct-by-construction. Hence, we propose (i) a formal syntax throughout a context-free grammar , (ii) axiomatic semantics to ensure the refinement correction when building business process models, (iii) operational semantics in terms of Kripke structure permitting formal verification of provided models to check their reliability. The Kripke structure supports the verification of behavioral requirements represented by the Computational Tree Logic (CTL) temporal logic and verified by NuSMV model checker. Based on these semantics, we prove the validity of the compiler that we have developed to assist developers when building their correct models and to transform these models to NuSMV code to prove their reliability.