{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,10,11]],"date-time":"2025-10-11T01:17:32Z","timestamp":1760145452908,"version":"build-2065373602"},"reference-count":37,"publisher":"MDPI AG","issue":"3","license":[{"start":{"date-parts":[[2024,7,18]],"date-time":"2024-07-18T00:00:00Z","timestamp":1721260800000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0\/"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["Software"],"abstract":"<jats:p>Petri nets are a graphical notation for describing a class of discrete event dynamic systems whose behaviours are characterised by concurrency, synchronisation, mutual exclusion and conflict. They have been used over the years for the modelling of various distributed systems applications. With the advent of pervasive systems and the Internet of Things, the Calculus of Context-aware Ambients (CCA) has emerged as a suitable formal notation for analysing the behaviours of these systems. In this paper, we are interested in comparing the expressive power of Petri nets to that of CCA. That is, can the class of systems represented by Petri nets be modelled in CCA? To answer this question, an algorithm is proposed that maps any Petri net onto a CCA process. We prove that a Petri net and its corresponding CCA process are behavioural equivalent. It follows that CCA is at least as expressive as Petri nets, i.e., any system that can be specified in Petri nets can also be specified in CCA. Moreover, tools developed for CCA can also be used to analyse the behaviours of Petri nets.<\/jats:p>","DOI":"10.3390\/software3030015","type":"journal-article","created":{"date-parts":[[2024,7,18]],"date-time":"2024-07-18T16:55:36Z","timestamp":1721321736000},"page":"284-309","update-policy":"https:\/\/doi.org\/10.3390\/mdpi_crossmark_policy","source":"Crossref","is-referenced-by-count":0,"title":["Mapping Petri Nets onto a Calculus of Context-Aware Ambients"],"prefix":"10.3390","volume":"3","author":[{"ORCID":"https:\/\/orcid.org\/0000-0002-3741-3074","authenticated-orcid":false,"given":"Fran\u00e7ois","family":"Siewe","sequence":"first","affiliation":[{"name":"School of Computer Science and Informatics, De Montfort University, Leicester LE1 9BH, UK"}]},{"ORCID":"https:\/\/orcid.org\/0000-0001-6749-9844","authenticated-orcid":false,"given":"Vasileios","family":"Germanos","sequence":"additional","affiliation":[{"name":"School of Computer Science and Informatics, De Montfort University, Leicester LE1 9BH, UK"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-5840-4513","authenticated-orcid":false,"given":"Wen","family":"Zeng","sequence":"additional","affiliation":[{"name":"School of Computer and Information Engineering, Shanghai Polytechnic University, Shanghai 201209, China"}]}],"member":"1968","published-online":{"date-parts":[[2024,7,18]]},"reference":[{"key":"ref_1","unstructured":"Petri, C.A. (1962). Kommunikation mit Automaten (Communication with Automata). [Ph.D. Thesis, University of Bonn]."},{"key":"ref_2","doi-asserted-by":"crossref","first-page":"541","DOI":"10.1109\/5.24143","article-title":"Petri nets: Properties, analysis and applications","volume":"77","author":"Murata","year":"1989","journal-title":"Proc. IEEE"},{"key":"ref_3","doi-asserted-by":"crossref","unstructured":"Hoare, C. (1985). Communicating Sequential Processes, Prentice Hall.","DOI":"10.1007\/978-3-642-82921-5_4"},{"key":"ref_4","doi-asserted-by":"crossref","unstructured":"Milner, R. (1980). A Calculus of Communicating Systems, Springer.","DOI":"10.1007\/3-540-10235-3"},{"key":"ref_5","unstructured":"Milner, R. (1999). Communication and Mobile Systems: The \u03c0-Calculus, Cambridge University Press."},{"key":"ref_6","doi-asserted-by":"crossref","unstructured":"Fournet, C., and Gonthier, G. (1996, January 21\u201324). The reflexive CHAM and the join-calculus. Proceedings of the 23rd ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, St. Petersburg Beach, FL, USA.","DOI":"10.1145\/237721.237805"},{"key":"ref_7","doi-asserted-by":"crossref","first-page":"597","DOI":"10.1016\/j.jcss.2010.02.003","article-title":"The Calculus of Context-aware Ambients","volume":"77","author":"Siewe","year":"2011","journal-title":"J. Comput. Syst. Sci."},{"key":"ref_8","unstructured":"Siewe, F. (2023, November 23). ccaPL: A CCA Programming Environment. Available online: https:\/\/fsiewe.afrilocode.net\/CCA\/index.html."},{"key":"ref_9","doi-asserted-by":"crossref","first-page":"177","DOI":"10.1016\/S0304-3975(99)00231-5","article-title":"Mobile Ambients","volume":"240","author":"Cardelli","year":"2000","journal-title":"Theor. Comput. Sci."},{"key":"ref_10","doi-asserted-by":"crossref","first-page":"e3808","DOI":"10.1002\/ett.3808","article-title":"Agent-based negotiation approach for feature interactions in smart home systems using calculus of the context-aware ambient","volume":"33","author":"Alfakeeh","year":"2022","journal-title":"Trans. Emerg. Telecommun. Technol."},{"key":"ref_11","unstructured":"Mennicke, S. (2012). A Petri Net Semantics for the Join-Calculus, TU Braunschweig. Available online: https:\/\/www.researchgate.net\/profile\/Stephan_Mennicke\/publication\/225026105_A_Petri_Net_Semantics_for_the_Join-Calculus\/links\/0c960531eab88c058c000000\/A-Petri-Net-Semantics-for-the-Join-Calculus.pdf."},{"key":"ref_12","doi-asserted-by":"crossref","first-page":"485","DOI":"10.1016\/S0950-5849(97)00006-2","article-title":"Mapping Petri nets to concurrent programs in CC++","volume":"39","author":"Yao","year":"1997","journal-title":"Inf. Softw. Technol."},{"key":"ref_13","first-page":"187","article-title":"Petri Nets to B-Language Transformation in Software Development","volume":"11","author":"Sobota","year":"2014","journal-title":"Acta Polytech. Hung."},{"key":"ref_14","doi-asserted-by":"crossref","unstructured":"Boukelkoul, S., and Redjimi, M. (2013, January 24\u201326). Mapping between Petri nets and DEVS models. Proceedings of the 2013 3rd International Conference on Information Technology and e-Services (ICITeS), Sousse, Tunisia.","DOI":"10.1109\/ICITeS.2013.6624067"},{"key":"ref_15","doi-asserted-by":"crossref","first-page":"2","DOI":"10.1145\/288197.581193","article-title":"Modelling with generalized stochastic Petri nets","volume":"26","author":"Marsan","year":"1998","journal-title":"ACM Sigmetr. Perform. Eval. Rev."},{"key":"ref_16","doi-asserted-by":"crossref","first-page":"45","DOI":"10.1016\/0166-3615(94)90031-0","article-title":"Putting high-level Petri nets to work in industry","volume":"25","year":"1994","journal-title":"Comput. Ind."},{"key":"ref_17","unstructured":"(2023, November 23). AT&T Labs-Research. Graphviz Distribution. Available online: http:\/\/www.research.att.com\/sw\/tools\/graphviz\/download.html."},{"key":"ref_18","doi-asserted-by":"crossref","first-page":"65","DOI":"10.1007\/BF00206326","article-title":"The Dining Cryptographers Problem: Unconditional Sender and Recipient Untraceability","volume":"1","author":"Chaum","year":"1988","journal-title":"J. Cryptol."},{"key":"ref_19","unstructured":"Mazar\u00e9, L. (2004, January 3\u20134). Using unification for opacity properties. Proceedings of the Workshop on Issues in the Theory of Security (WITS\u201904), Barcelona, Spain."},{"key":"ref_20","doi-asserted-by":"crossref","first-page":"101","DOI":"10.1016\/j.entcs.2004.10.010","article-title":"Modelling Opacity Using Petri Nets","volume":"121","author":"Bryans","year":"2005","journal-title":"Electr. Notes Theor. Comput. Sci."},{"key":"ref_21","doi-asserted-by":"crossref","unstructured":"Rozenberg, G. (1992). The box calculus: A new causal algebra with multi-label communication. Advances in Petri Nets 1992, Springer.","DOI":"10.1007\/3-540-55610-9"},{"key":"ref_22","doi-asserted-by":"crossref","unstructured":"Jonsson, B., and Parrow, J. (1994). Operational Semantics for the Petri Box Calculus. CONCUR \u201994: Concurrency Theory, Springer.","DOI":"10.1007\/BFb0014992"},{"key":"ref_23","doi-asserted-by":"crossref","unstructured":"Cerone, A. (2002, January 8\u201312). Implementing Condition\/Event Nets in the Circal Process Algebra. Proceedings of the 5th International Conference on Fundamental Approaches to Software Engineering, FASE \u201802, Grenoble, France.","DOI":"10.1007\/3-540-45923-5_4"},{"key":"ref_24","doi-asserted-by":"crossref","unstructured":"Milner, R. (2003). Bigraphs for Petri nets. Advanced Course on Petri Nets, Springer.","DOI":"10.1007\/978-3-540-27755-2_19"},{"key":"ref_25","doi-asserted-by":"crossref","first-page":"107","DOI":"10.1016\/j.entcs.2005.02.008","article-title":"A congruence for Petri nets","volume":"127","author":"Sassone","year":"2005","journal-title":"Electron. Notes Theor. Comput. Sci."},{"key":"ref_26","doi-asserted-by":"crossref","first-page":"989","DOI":"10.1017\/S0960129506005664","article-title":"Transition systems, link graphs and Petri nets","volume":"16","author":"Leifer","year":"2006","journal-title":"Math. Struct. Comput. Sci."},{"key":"ref_27","first-page":"1","article-title":"A polynomial translation of pi-calculus FCPs to safe Petri nets","volume":"9","author":"Khomenko","year":"2013","journal-title":"Log. Methods Comput. Sci."},{"key":"ref_28","doi-asserted-by":"crossref","unstructured":"Khomenko, V., and Germanos, V. (2015). Modelling and Analysis Mobile Systems Using-calculus (EFCP). Transactions on Petri Nets and Other Models of Concurrency X, Springer.","DOI":"10.1007\/978-3-662-48650-4_8"},{"key":"ref_29","doi-asserted-by":"crossref","first-page":"59","DOI":"10.1007\/BF02915446","article-title":"A distributed operational semantics for CCS based on condition\/event systems","volume":"26","author":"Degano","year":"1988","journal-title":"Acta Inform."},{"key":"ref_30","doi-asserted-by":"crossref","unstructured":"Goltz, U. (1990). CCS and Petri nets. LITP Spring School on Theoretical Computer Science, Springer.","DOI":"10.1007\/3-540-53479-2_14"},{"key":"ref_31","doi-asserted-by":"crossref","first-page":"138","DOI":"10.1016\/j.jlap.2008.08.002","article-title":"Distributed semantics for the \u03c0-calculus based on Petri nets with inhibitor arcs","volume":"78","author":"Busi","year":"2009","journal-title":"J. Log. Algebr. Program."},{"key":"ref_32","doi-asserted-by":"crossref","first-page":"35","DOI":"10.1006\/inco.1996.0072","article-title":"Model Checking Mobile Processes","volume":"129","author":"Dam","year":"1996","journal-title":"Inf. Comput."},{"key":"ref_33","unstructured":"Sangiorgi, D., and Walker, D. (2001). The \u03c0-Calculus: A Theory of Mobile Processes, Cambridge University Press."},{"key":"ref_34","doi-asserted-by":"crossref","unstructured":"van Glabbeek, R., and Vaandrager, F. (1987, January 15\u201319). Petri net models for algebraic theories of concurrency. Proceedings of the PARLE Parallel Architectures and Languages Europe, Eindhoven, The Netherlands.","DOI":"10.1007\/3-540-17945-3_13"},{"key":"ref_35","doi-asserted-by":"crossref","unstructured":"Siewe, F., Germanos, V., and Zeng, W. (2020, January 13\u201317). Analysing Petri Nets in a Calculus of Context-Aware Ambients. Proceedings of the 2020 IEEE 44th Annual Computers, Software, and Applications Conference (COMPSAC), Madrid, Spain.","DOI":"10.1109\/COMPSAC48688.2020.00-19"},{"key":"ref_36","doi-asserted-by":"crossref","first-page":"195","DOI":"10.1016\/0304-3975(94)00073-R","article-title":"On the implementation of concurrent calculi in net calculi: Two case studies","volume":"141","author":"Gorrieri","year":"1995","journal-title":"Theor. Comput. Sci."},{"key":"ref_37","doi-asserted-by":"crossref","unstructured":"Taubner, D.A. (1989). Finite Representations of CCS and TCSP Programs by Automata and Petri Nets, Springer.","DOI":"10.1007\/3-540-51525-9"}],"container-title":["Software"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/www.mdpi.com\/2674-113X\/3\/3\/15\/pdf","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,10,10]],"date-time":"2025-10-10T15:19:23Z","timestamp":1760109563000},"score":1,"resource":{"primary":{"URL":"https:\/\/www.mdpi.com\/2674-113X\/3\/3\/15"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2024,7,18]]},"references-count":37,"journal-issue":{"issue":"3","published-online":{"date-parts":[[2024,9]]}},"alternative-id":["software3030015"],"URL":"https:\/\/doi.org\/10.3390\/software3030015","relation":{},"ISSN":["2674-113X"],"issn-type":[{"type":"electronic","value":"2674-113X"}],"subject":[],"published":{"date-parts":[[2024,7,18]]}}}