Abstract
Petri-nets and their variants (Place/Transition nets, High-Level Petri Nets, etc.) are widely used in the development of safety critical-systems. Their success is related to three major aspects: a formal semantics, a graphical syntax and the availability of verification tools. In our previous work we presented a new vision for the semantic definition of Petri-nets applying a Formal Model-Driven Engineering (FMDE) built on the B method. The approach is powered by Meeduse, a language workbench that we developed in order to formally instrument executable Domain-Specific Languages (xDSLs) by applying a deep embedding technique and the B method. However, because of the abstract nature of the underlying formal models, our deep embedding is suitable for the validation and verification activities at the design stage but not sufficient to generate code for target platforms. This paper advances our previous work with a shallow embedding technique taking benefit of the B method tools in order to safely synthesize executable Petri-net controllers that can be embedded in target platforms.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
Notes
- 1.
Robot manip: https://mcc.lip6.fr/2024/pdf/RobotManipulation-form.pdf
Satellite memory: https://mcc.lip6.fr/2024/pdf/SatelliteMemory-form.pdf
Smart Home: https://mcc.lip6.fr/2024/pdf/SmartHome-form.pdf.
References
Abrial, J.R.: The B-Book: Assigning Programs to Meanings. Cambridge University Press, New York (1996)
Amparore, E., et al.: Presentation of the 9th edition of the model checking contest. In: Beyer, D., Huisman, M., Kordon, F., Steffen, B. (eds.) TACAS 2019. LNCS, vol. 11429, pp. 50–68. Springer, Cham (2019). https://doi.org/10.1007/978-3-030-17502-3_4
AtelierB. http://www.atelierb.eu/en/. Accessed 27 May 2021
Attiogbé, C.: Semantic embedding of Petri nets into Event-B. In: Integration of Model-based Formal Methods Tools, Dusseldorf, Germany (2009)
Bendraou, R., Combemale, B., Crégut, X., Gervais, M.P.: Definition of an eXecutable SPEM 2.0. In: 14th Asia-Pacific Software Engineering Conference (APSEC), Nagoya, Japan, pp. 390–397. IEEE CS Press (2007)
Berthomieu, B., Ribet, P.O., Vernadat, F.: The tool TINA - construction of abstract state spaces for Petri nets and time Petri nets. Int. J. Prod. Res. 42(14), 2741–2756 (2004). https://doi.org/10.1080/00207540412331312688
Bettini, L.: Implementing Domain-Specific Languages with Xtext and Xtend, 2nd edn. Packt Publishing (2016)
Bobbio, A.: System modelling with Petri nets. In: Colombo, A.G., de Bustamante, A.S. (eds.) Systems Reliability Assessment, pp. 103–143. Springer, Netherlands, Dordrecht (1990). https://doi.org/10.1007/978-94-009-0649-5_6
Bon, P., Collart-Dutilleul, S.: From a solution model to a B model for verification of safety properties. J. Univers. Comput. Sci. 19(1), 2–24 (2013)
Boulton, R.J., Gordon, A., Gordon, M.J.C., Harrison, J., Herbert, J., Tassel, J.V.: Experience with embedding hardware description languages in HOL. In: Proceedings of the IFIP TC10/WG 10.2 International Conference on Theorem Provers in Circuit Design: Theory, Practice and Experience, pp. 129–156. North-Holland Publishing Co., NLD (1992)
Distefano, S., Scarpa, M., Puliafito, A.: From UML to Petri nets: the PCM-based methodology. IEEE Trans. Softw. Eng. 37(1), 65–79 (2011). https://doi.org/10.1109/TSE.2010.10
Dumas, M., García-Bañuelos, L.: Process mining reloaded: event structures as a unified representation of process models and event logs. In: Devillers, R., Valmari, A. (eds.) PETRI NETS 2015. LNCS, vol. 9115, pp. 33–48. Springer, Cham (2015). https://doi.org/10.1007/978-3-319-19488-2_2
Eclipse: Acceleo (2012). http://www.eclipse.org/acceleo/
Hartmann, T., Sadilek, D.A.: Undoing operational steps of domain-specific modeling languages. In: Proceedings of the 8th OOPSLA Workshop on Domain-Specific Modeling (DSM 2008) - University of Alabama at Birmingham (2008)
Hillah, L.M., Kordon, F., Petrucci, L., Trèves, N.: PNML framework: an extendable reference implementation of the Petri net markup language. In: Lilius, J., Penczek, W. (eds.) PETRI NETS 2010. LNCS, vol. 6128, pp. 318–327. Springer, Heidelberg (2010). https://doi.org/10.1007/978-3-642-13675-7_20
Idani, A.: Dependability of model-driven executable DSLs. In: Muccini, H., et al. (eds.) ECSA 2020. CCIS, vol. 1269, pp. 358–373. Springer, Cham (2020). https://doi.org/10.1007/978-3-030-59155-7_27
Idani, A.: Meeduse: a tool to build and run proved DSLs. In: Dongol, B., Troubitsyna, E. (eds.) IFM 2020. LNCS, vol. 12546, pp. 349–367. Springer, Cham (2020). https://doi.org/10.1007/978-3-030-63461-2_19
Idani, A.: Formal model-driven executable DSLs: application to Petri-nets. Int. NASA J. Innov. Syst. Softw. Eng. (ISSE) 18(4), 543–566 (2022). https://doi.org/10.1007/s11334-021-00408-4
Idani, A., Ledru, Y., Vega, G.: Alliance of model driven engineering with a proof-based formal approach. Int. NASA J. Innov. Syst. Softw. Eng. (ISSE) 16(3) (2020)
Idani, A., Vega, G., Leuschel, M.: Applying formal reasoning to model transformation: the Meeduse solution. In: Proceedings of the 12th Transformation Tool Contest, co-located with STAF 2019, Software Technologies: Applications and Foundations. CEUR Workshop Proceedings, vol. 2550, pp. 33–44 (2019)
Jouault, F., Allilaire, F., Bézivin, J., Kurtev, I., Valduriez, P.: ATL: A QVT-like transformation language. In: Companion to the 21st ACM SIGPLAN Symposium on Object-oriented Programming Systems, Languages, and Applications, OOPSLA 2006, pp. 719–720. ACM, New York (2006)
Kim, S.-K., David, C.: Formalizing the UML class diagram using object-Z. In: France, R., Rumpe, B. (eds.) UML 1999. LNCS, vol. 1723, pp. 83–98. Springer, Heidelberg (1999). https://doi.org/10.1007/3-540-46852-8_7
Korecko, S., Sobota, B.: Petri-nets to B-language transformation in software development. Acta Polytechnica Hungarica 11, 187–206 (2014)
Langer, P., Mayerhofer, T., Kappel, G.: Semantic model differencing utilizing behavioral semantics specifications. In: Dingel, J., Schulte, W., Ramos, I., Abrahão, S., Insfran, E. (eds.) MODELS 2014. LNCS, vol. 8767, pp. 116–132. Springer, Cham (2014). https://doi.org/10.1007/978-3-319-11653-2_8
Lano, K., Clark, D., Androutsopoulos, K.: UML to B: formal verification of object-oriented models. In: Boiten, E.A., Derrick, J., Smith, G. (eds.) IFM 2004. LNCS, vol. 2999, pp. 187–206. Springer, Heidelberg (2004). https://doi.org/10.1007/978-3-540-24756-2_11
Lausdahl, K., Lintrup, H.K.A., Larsen, P.G.: Connecting UML and VDM++ with open tool support. In: Cavalcanti, A., Dams, D.R. (eds.) FM 2009. LNCS, vol. 5850, pp. 563–578. Springer, Heidelberg (2009). https://doi.org/10.1007/978-3-642-05089-3_36
Leuschel, M.: Formal model-based constraint solving and document generation. In: Ribeiro, L., Lecomte, T. (eds.) SBMF 2016. LNCS, vol. 10090, pp. 3–20. Springer, Cham (2016). https://doi.org/10.1007/978-3-319-49815-7_1
Leuschel, M., Butler, M.: ProB: an automated analysis toolset for the B method. Softw. Tools Technol. Transfer (STTT) 10(2), 185–203 (2008)
Lime, D., Roux, O.H., Seidner, C., Traonouez, L.-M.: Romeo: a parametric model-checker for Petri nets with stopwatches. In: Kowalewski, S., Philippou, A. (eds.) TACAS 2009. LNCS, vol. 5505, pp. 54–57. Springer, Heidelberg (2009). https://doi.org/10.1007/978-3-642-00768-2_6
Mayerhofer, T., Langer, P., Wimmer, M., Kappel, G.: xMOF: executable DSMLs based on fUML. In: Erwig, M., Paige, R.F., Van Wyk, E. (eds.) SLE 2013. LNCS, vol. 8225, pp. 56–75. Springer, Cham (2013). https://doi.org/10.1007/978-3-319-02654-1_4
Meeduse. https://vasco.imag.fr/tools/meeduse/. Accessed 19 Feb 2024
PNML. http://www.pnml.org. Accessed 27 May 2021
Steinberg, D., Budinsky, F., Paternostro, M., Merks, E.: EMF: Eclipse Modeling Framework, 2nd edn. Addison-Wesley (2008)
The ePNK. http://www2.compute.dtu.dk/~ekki/projects/ePNK/index.shtml. Accessed 15 Dec 2020
Wachsmuth, G.: Modelling the operational semantics of domain-specific modelling languages. In: Lämmel, R., Visser, J., Saraiva, J. (eds.) GTTSE 2007. LNCS, vol. 5235, pp. 506–520. Springer, Heidelberg (2008). https://doi.org/10.1007/978-3-540-88643-3_16
Wildmoser, M., Nipkow, T.: Certifying machine code safety: shallow versus deep embedding. In: Slind, K., Bunker, A., Gopalakrishnan, G. (eds.) TPHOLs 2004. LNCS, vol. 3223, pp. 305–320. Springer, Heidelberg (2004). https://doi.org/10.1007/978-3-540-30142-4_22
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Ethics declarations
Competing Interests
The author(s) has no competing interests to declare that are relevant to the content of this manuscript.
Rights and permissions
Copyright information
© 2024 The Author(s), under exclusive license to Springer Nature Switzerland AG
About this paper
Cite this paper
Idani, A. (2024). Transpilation of Petri-nets into B. In: Bonfanti, S., Gargantini, A., Leuschel, M., Riccobene, E., Scandurra, P. (eds) Rigorous State-Based Methods. ABZ 2024. Lecture Notes in Computer Science, vol 14759. Springer, Cham. https://doi.org/10.1007/978-3-031-63790-2_5
Download citation
DOI: https://doi.org/10.1007/978-3-031-63790-2_5
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-031-63789-6
Online ISBN: 978-3-031-63790-2
eBook Packages: Computer ScienceComputer Science (R0)