Skip to main content
Log in

Specification and analysis of legal contracts with Symboleo

  • Theme Section Paper
  • Published:
Software and Systems Modeling Aims and scope Submit manuscript

Abstract

Legal contracts specify the terms and conditions—in essence, requirements—that apply to business transactions. This paper proposes a formal specification language for legal contracts, called Symboleo, where contracts consist of collections of obligations and powers that define a legal contract’s compliant executions. Symboleo offers execution time operations such as subcontracting, assignment, and substitution. Its formal semantics is defined in terms of logical axioms on statecharts that describe the lifetimes of contracts, obligations, and powers. We have implemented two tools to support the analysis of contract specifications. One is a conformance validation tool that enables checking that a specification is consistent with the expectations of contracting parties. The other tool enables model-checking of desired contract properties, expressed in temporal logic. We envision Symboleo with its associated tools as enablers for the formal verification of contracts to detect requirements-level issues. Our proposal includes an evaluation through the specification of two real life-inspired contracts.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7

Similar content being viewed by others

Notes

  1. Markets And Markets 2020, see online information at http://bit.ly/IoTmarket2020

  2. From the Greek word \(\Sigma \upsilon \mu \beta o\lambda \alpha \iota o\), which means contract.

  3. A trigger is true by default for most obligations. However, suspensive obligations need to be triggered explicitly before they are instantiated [3].

  4. https://github.com/Smart-Contract-Modelling-uOttawa/Symboleo-JS-Core/tree/main/ontology.

  5. For the interested reader, a good tutorial on Event Calculus is provided by Shanahan et al. [78].

  6. In these statecharts, we use \({<verb>{}ed}\) for events that have happened, e.g., transitions ‘Discharged’ and ‘Suspended’, and \({<{}verb>{}}\) for states describing situations, e.g., ‘Discharge’ and ‘Suspension’.

  7. Non-suspensive obligations are instantiated when contract execution is launched.

  8. This is also known as a Contrary to Duty (CTD) Obligation [75].

  9. We remark that the presence/absence of such deadlines has no impact on the termination of the analysis carried out by the tools. SymboleoPC relies on nuXmv, which uses LTL and CTL symbolic model checking that is sound and complete [24] over finite state domains (note that time is not part of the state space [24]). SymboleoCC relies on Prolog, which uses a variant of the resolution algorithm that sacrifices termination to improve performance [60]; in principle, checking for scenarios may not terminate, but we have not encountered this situation so far.

  10. https://github.com/Smart-Contract-Modelling-uOttawa/Symboleo-IDE.

References

  1. Accord Project: Ergo. https://accordproject.org/projects/ergo/ (2020)

  2. Alberti, M., Chesani, F., Gavanelli, M., Lamma, E., Mello, P., Montali, M., Torroni, P.: Expressing and verifying business contracts with abductive logic programming. Int. J. Electron. Commerce 12(4), 9–38 (2008)

    Article  MATH  Google Scholar 

  3. Allard, M.P.: The retroactive effect of conditional obligations in tax law. Can. Tax J. 49(6), 1726–1839 (2001)

    Google Scholar 

  4. Allen, J.F.: Towards a general theory of action and time. Artif. Intell. 23(2), 123–154 (1984)

    Article  MATH  Google Scholar 

  5. Alqahtani, S.M., He, X., Gamble, R.F., Papa, M.: Formal verification of functional requirements for smart contract compositions in supply chain management systems. In: 53rd Hawaii International Conference on System Sciences, HICSS 2020, pp. 1–10. ScholarSpace (2020). https://doi.org/10.24251/HICSS.2020.650

  6. Alt, L.: Ethereum formal verification. https://bit.ly/37dSc87 (2020)

  7. Alt, L., Reitwiessner, C.: SMT-based verification of solidity smart contracts. In: Margaria, T., Steffen, B. (eds.) Leveraging Applications of Formal Methods, Verification and Validation. Industrial Practice, pp. 376–388. Springer, Cham (2018)

  8. Athan, T., Boley, H., Governatori, G., Palmirani, M., Paschke, A., Wyner, A.: OASIS LegalRuleML. In: Proceedings of the Fourteenth International Conference on Artificial Intelligence and Law, ICAIL’13, pp. 3–12. ACM (2013). https://doi.org/10.1145/2514601.2514603

  9. Athan, T., Governatori, G., Palmirani, M., Paschke, A., Wyner, A.: LegalRuleML: Design principles and foundations. In: Reasoning Web International Summer School, pp. 151–188. Springer, Berlin (2015). https://doi.org/10.1007/978-3-319-21768-0_6

  10. Azzopardi, S., Pace, G.J., Schapachnik, F., Schneider, G.: Contract automata. Artif. Intell. Law 24(3), 203–243 (2016). https://doi.org/10.1007/s10506-016-9185-2

    Article  Google Scholar 

  11. Bettini, L.: Implementing Domain-Specific Languages with Xtext and Xtend - Second Edition. Packt Publishing (2016)

  12. Bettini, L.: Implementing domain-specific languages with Xtext and Xtend, Second edition. Packt Publishing Ltd (2016)

  13. Bix, B.H.: Contract Law: Rules, Theory, and Context. Cambridge University Press, Cambridge (2012)

    Book  Google Scholar 

  14. California Independent System Operator Corporation: Appendix b.21 distributed energy resource provider agreement (2016). https://bit.ly/2TF79rD

  15. Cambronero, M.E., Llana, L., Pace, G.J.: A calculus supporting contract reasoning and monitoring. IEEE Access 5, 6735–6745 (2017). https://doi.org/10.1109/ACCESS.2017.2696577

    Article  Google Scholar 

  16. Cardoso, H.L., Oliveira, E.: Directed deadline obligations in agent-based business contracts. In: Coordination, Organizations, Institutions and Norms in Agent Systems V, pp. 225–240. Springer, Berlin (2010)

  17. Carmo, J., Jones, A.J.I.: Deontic logic and contrary-to-duties. In: Gabbay, D.M., Guenthner, F. (eds.) Handbook of Philosophical Logic, vol. 8, pp. 265–343. Springer, Dordrecht (2002). https://doi.org/10.1007/978-94-010-0387-2_4

  18. Cavada, R., Cimatti, A., Dorigatti, M., Griggio, A., Mariotti, A., Micheli, A., Mover, S., Roveri, M., Tonetta, S.: The nuXmv symbolic model checker. In: Biere, A., Bloem, R. (eds.) Computer Aided Verification, pp. 334–342. Springer, Cham (2014). https://doi.org/10.1007/978-3-319-08867-9_22

  19. Cavada, R., Cimatti, A., Dorigatti, M., Griggio, A., Mariotti, A., Micheli, A., Mover, S., Roveri, M., Tonetta, S.: The nuXmv symbolic model checker. In: CAV 2014, LNCS, vol. 8559, pp. 334–342 (2014)

  20. Chesani, F., Mello, P., Montali, M., Torroni, P.: Representing and monitoring social commitments using the event calculus. Auton. Agent. Multi-Agent Syst. 27(1), 85–130 (2013)

    Article  Google Scholar 

  21. Chlipala, A.: Certified Programming with Dependent Types: A Pragmatic Introduction to the Coq Proof Assistant. MIT Press, Cambridge (2013)

    Book  MATH  Google Scholar 

  22. Cimatti, A., Clarke, E., Giunchiglia, E., Giunchiglia, F., Pistore, M., Roveri, M., Sebastiani, R., Tacchella, A.: NuSMV 2: An opensource tool for symbolic model checking. In: Computer Aided Verification, pp. 359–364. Springer, Berlin (2002). https://doi.org/10.1007/3-540-45657-0_29

  23. Cimatti, A., Roveri, M., Susi, A., Tonetta, S.: Validation of requirements for hybrid systems: a formal approach. ACM Trans. Softw. Eng. Methodol. 21(4), 22:1–22:34 (2012). https://doi.org/10.1145/2377656.2377659

  24. Clarke, E.M., Grumberg, O., Kroening, D., Peled, D.A., Veith, H.: Model Checking, 2nd Edition. MIT Press (2018)

  25. CSM Lab: Symboleo Conformance Checker (2020). https://github.com/Smart-Contract-Modelling-uOttawa/Symboleo-Compliance-Checker. Accessed 26 Oct 2020

  26. CSM Lab and University of Trento: Symboleo Property Checker: a nuXmv-based property checker for Symboleo specifications (2020). https://bit.ly/3lVbao0

  27. Dardenne, A., Van Lamsweerde, A., Fickas, S.: Goal-directed requirements acquisition. Sci. Comput. Program. 20(1–2), 3–50 (1993)

    Article  MATH  Google Scholar 

  28. Daskalopulu, A.: Modelling legal contracts as processes. In: Database and Expert Systems Applications, 2000. 11th International Workshop on, pp. 1074–1079. IEEE (2000)

  29. Daskalopulu, A.K.: Logic-based tools for the analysis and representation of legal contracts. Ph.D. thesis, Citeseer (1999)

  30. Digital Asset Holdings: DAML. https://daml.com/ (2020)

  31. Dwyer, M.B., Avrunin, G.S., Corbett, J.C.: Patterns in property specifications for finite-state verification. In: Proceedings of the 21st International Conference on Software Engineering, pp. 411–420 (1999)

  32. El Kholy, W., El-Menshawy, M., Bentahar, J., Qu, H., Dssouli, R.: Formal specification and automatic verification of conditional commitments. IEEE Intell. Syst. 30(2), 36–44 (2015)

    Article  Google Scholar 

  33. El Menshawy, M., Bentahar, J., El Kholy, W., Dssouli, R.: Reducing model checking commitments for agent communication to model checking ARCTL and GCTL. Auton. Agent. Multi-Agent Syst. 27(3), 375–418 (2013)

    Article  Google Scholar 

  34. El Menshawy, M., Bentahar, J., Qu, H., Dssouli, R.: On the verification of social commitments and time. In: The 10th International Conference on Autonomous Agents and Multiagent Systems-Volume 2, pp. 483–490 (2011)

  35. Emerson, E.A., Clarke, E.M.: Using branching time temporal logic to synthesize synchronization skeletons. Sci. Comput. Program. 2(3), 241–266 (1982). https://doi.org/10.1016/0167-6423(83)90017-5

    Article  MATH  Google Scholar 

  36. Ethereum Foundation: Solidity. https://solidity.readthedocs.io/ (2020)

  37. Farmer, W.M., Hu, Q.: FCL: a formal language for writing contracts. In: Quality Software Through Reuse and Integration, pp. 190–208. Springer (2016)

  38. Farrell, A.D., Sergot, M.J., Sallé, M., Bartolini, C., Trastour, D., Christodoulou, A.: Performance monitoring of service-level agreements for utility computing using the event calculus. In: Electronic Contracting, 2004. Proceedings. First IEEE International Workshop on, pp. 17–24. IEEE (2004)

  39. Fuxman, A., Liu, L., Mylopoulos, J., Roveri, M., Traverso, P.: Specifying and analyzing early requirements in tropos. Requir. Eng. 9(2), 132–150 (2004). https://doi.org/10.1007/s00766-004-0191-7

    Article  Google Scholar 

  40. Goedertier, S., Vanthienen, J.: Designing compliant business processes with obligations and permissions. In: International Conference on Business Process Management, pp. 5–14. Springer (2006)

  41. Governatori, G.: Representing business contracts in RuleML. Int. J. Cooperative Inf. Syst. 14(02n03), 181–216 (2005)

  42. Governatori, G., Idelberger, F., Milosevic, Z., Riveret, R., Sartor, G., Xu, X.: On legal contracts, imperative and declarative smart contracts, and blockchain systems. Artif. Intell. Law 26(4), 377–409 (2018)

    Article  Google Scholar 

  43. Governatori, G., Milosevic, Z.: Dealing with contract violations: formalism and domain specific language. In: EDOC Enterprise Computing Conference, 2005 Ninth IEEE International, pp. 46–57. IEEE (2005)

  44. Governatori, G., Milosevic, Z.: A formal analysis of a business contract language. Int. J. Cooperative Inf. Syst. 15(04), 659–685 (2006)

    Article  Google Scholar 

  45. Greenspan, S.J., Mylopoulos, J., Borgida, A.: Capturing more world knowledge in the requirements specification. In: Proceedings of the 6th International Conference on Software Engineering, pp. 225–234 (1982)

  46. Griffo, C., Almeida, J.P.A., Guizzardi, G.: Towards a legal core ontology based on Alexy’s theory of fundamental rights. In: Multilingual Workshop on Artificial Intelligence and Law (ICAIL) (2015)

  47. Griffo, C., Almeida, J.P.A., Guizzardi, G., Nardi, J.C.: From an ontology of service contracts to contract modeling in enterprise architecture. In: 2017 IEEE 21st International Enterprise Distributed Object Computing Conference (EDOC), pp. 40–49. IEEE (2017)

  48. Guizzardi, G., Wagner, G., Almeida, J.P.A., Guizzardi, R.S.: Towards ontological foundations for conceptual modeling: the unified foundational ontology (UFO) story. Appl. Ontol. 10(3–4), 259–271 (2015)

    Article  Google Scholar 

  49. Hashmi, M., Governatori, G., Wynn, M.T.: Modeling obligations with event-calculus. In: International Workshop on Rules and Rule Markup Languages for the Semantic Web, LNCS, vol. 8620, pp. 296–310. Springer (2014)

  50. Hohfeld, W.N.: Some fundamental legal conceptions as applied in judicial reasoning. Yale Lj 23, 16 (1913)

    Article  Google Scholar 

  51. Jones, A.J., Sergot, M.: A formal characterisation of institutionalised power. Logic J. IGPL 4(3), 427–443 (1996)

    Article  MathSciNet  MATH  Google Scholar 

  52. Kindler, E.: Safety and liveness properties: a survey. Bull. Eur. Assoc. Theor. Comput. Sci. 53(268–272), 30 (1994)

    Google Scholar 

  53. Kirby, J.: Assignments and transfers of contractual duties: Integrating theory and practice. Victoria U. Wellington L. Rev. 31, 317 (2000)

    Article  Google Scholar 

  54. Kowalski, R.A., Sergot, M.J.: A logic-based calculus of events. In: Schmidt, J.W., Thanos, C. (eds.) Foundations of Knowledge Base Management: Contributions from Logic, Databases, and Artificial Intelligence, Book resulting from the Xania Workshop 1985, Topics in Information Systems, pp. 23–55. Springer, Berlin (1985)

  55. Ladleif, J., Weske, M.: A unifying model of legal smart contracts. In: Conceptual Modeling, pp. 323–337. Springer, Cham (2019)

  56. Lee, R.M.: A logic model for electronic contracting. Decis. Support Syst. 4(1), 27–44 (1988)

    Article  Google Scholar 

  57. Lethbridge, T.C., Forward, A., Badreddin, O., Brestovansky, D., Garzon, M., Aljamaan, H., Eid, S., Husseini Orabi, A., Husseini Orabi, M., Abdelzad, V., Adesina, O., Alghamdi, A., Algablan, A., Zakariapour, A.: Umple: model-driven development for open source and education. Sci. Comput. Program. 208, 102665 (2021). https://doi.org/10.1016/j.scico.2021.102665

    Article  Google Scholar 

  58. Letia, I.A., Groza, A.: Running contracts with defeasible commitment. In: International Conference on Industrial, Engineering and Other Applications of Applied Intelligent Systems, LNCS, vol. 4031, pp. 91–100. Springer (2006)

  59. Levy, K.E.: Book-smart, not street-smart: blockchain-based smart contracts and the social workings of law. Engag. Sci. Technol. Soc. 3, 1–15 (2017)

    Article  Google Scholar 

  60. Lloyd, J.W.: Foundations of Logic Programming, 2nd Edition. Springer (1987). https://doi.org/10.1007/978-3-642-83189-8

  61. Lomuscio, A., Qu, H., Raimondi, F.: MCMAS: an open-source model checker for the verification of multi-agent systems. Int. J. Softw. Tools Technol. Transf. 19(1), 9–30 (2017). https://doi.org/10.1007/s10009-015-0378-x

    Article  Google Scholar 

  62. Manna, Z., Pnueli, A.: The temporal logic of reactive and concurrent systems: specification. Springer (1992). https://doi.org/10.1007/978-1-4612-0931-7

    Article  MATH  Google Scholar 

  63. Meyer, J.J.C.: Deontic logic: A concise overview. In: Deontic Logic in Computer Science: Normative System Specification, pp. 3–16. Wiley (1993)

  64. Mik, E.: Smart contracts: terminology, technical limitations and real world complexity. Law Innov. Technol. 9(2), 269–300 (2017)

    Article  Google Scholar 

  65. Montali, M.: jREC. https://www.inf.unibz.it/~montali/tools.html (2016)

  66. Monteiro, P.T., Ropers, D., Mateescu, R., Freitas, A.T., De Jong, H.: Temporal logic patterns for querying dynamic models of cellular interaction networks. Bioinformatics 24(16), i227–i233 (2008)

    Article  Google Scholar 

  67. Nehai, Z., Piriou, P., Daumas, F.F.: Model-checking of smart contracts. In: IEEE International Conference on Internet of Things (iThings) and IEEE Green Computing and Communications (GreenCom) and IEEE Cyber, Physical and Social Computing (CPSCom) and IEEE Smart Data (SmartData), pp. 980–987. IEEE (2018). https://doi.org/10.1109/Cybermatics_2018.2018.00185

  68. Nelaturu, K., Mavridou, A., Veneris, A.G., Laszka, A.: Verified development and deployment of multiple interacting smart contracts with VeriSolid. In: IEEE International Conference on Blockchain and Cryptocurrency, ICBC 2020, pp. 1–9. IEEE (2020). https://doi.org/10.1109/ICBC48266.2020.9169428

  69. OMG: Unified modeling language (omg uml), version 2.5.1. https://www.omg.org/spec/UML/ (2017)

  70. Pace, G.J., Prisacariu, C., Schneider, G.: Model checking contracts: a case study. In: Automated Technology for Verification and Analysis, 5th International Symposium, ATVA, LNCS, vol. 4762, pp. 82–97. Springer, Berlin (2007). https://doi.org/10.1007/978-3-540-75596-8_8

  71. Parvizimosaed, A., Sharifi, S.: Symboleo Compliance Checker, v0.2 (2020). https://doi.org/10.5281/zenodo.3840727

  72. Parvizimosaed, A., Sharifi, S., Amyot, D., Logrippo, L., Mylopoulos, J.: Subcontracting, assignment, and substitution for legal contracts in symboleo. In: Conceptual Modeling (ER 2020), pp. 271–285. Springer International Publishing, Cham (2020). https://doi.org/10.1007/978-3-030-62522-1_20

  73. Permenev, A., Dimitrov, D., Tsankov, P., Drachsler-Cohen, D., Vechev, M.: Verx: safety verification of smart contracts. In: 2020 IEEE Symposium on Security and Privacy, SP, pp. 18–20 (2020)

  74. Pill, I., Semprini, S., Cavada, R., Roveri, M., Bloem, R., Cimatti, A.: Formal analysis of hardware requirements. In: 43rd Design Automation Conference (DAC), pp. 821–826. ACM (2006). https://doi.org/10.1145/1146909.1147119

  75. Prakken, H., Sergot, M.: Contrary-to-duty obligations. Stud. Logica. 57(1), 91–115 (1996)

    Article  MathSciNet  MATH  Google Scholar 

  76. Prisacariu, C., Schneider, G.: A formal language for electronic contracts. In: International Conference on Formal Methods for Open Object-Based Distributed Systems, pp. 174–189. Springer, Berlin (2007)

  77. Reyna, A., Martín, C., Chen, J., Soler, E., Díaz, M.: On blockchain and its integration with IoT. challenges and opportunities. Future Gener. Comput. Syst. 88, 173–190 (2018). https://doi.org/10.1016/j.future.2018.05.046

  78. Shanahan, M.: The event calculus explained. In: Artificial intelligence today, pp. 409–430. Springer, Berlin (1999)

  79. Sharifi, S.: Smart contracts: From formal specification to blockchain code. Master’s thesis, University of Ottawa, Canada (2020). https://doi.org/10.20381/ruor-25092

  80. Sharifi, S., Parvizimosaed, A.: Symboleo Text Editor, v0.1 (2020). https://doi.org/10.5281/zenodo.3840773

  81. Sharifi, S., Parvizimosaed, A., Amyot, D., Logrippo, L., Mylopoulos, J.: Symboleo: A specification language for smart contracts. In: 28th IEEE International Requirements Engineering Conference (RE’20), pp. 384–389. IEEE CS (2020). https://doi.org/10.1109/RE48521.2020.00049

  82. Siano, P., De Marco, G., Rolán, A., Loia, V.: A survey and evaluation of the potentials of distributed ledger technology for peer-to-peer transactive energy exchanges in local energy markets. IEEE Syst. J. 13(3), 3454–3466 (2019). https://doi.org/10.1109/JSYST.2019.2903172

    Article  Google Scholar 

  83. Soavi, M., Zeni, N., Mylopoulos, J., Mich, L.: Contratto–a method for transforming legal contracts into formal specifications. In: 16th International Conference on Research Challenges in Information Science (RCIS’22). Springer, Berlin (2022)

  84. Souri, A., Rahmani, A.M., Jafari Navimipour, N.: Formal verification approaches in the web service composition: a comprehensive analysis of the current challenges for future research. Int. J. Commun Syst 31(17), e3808 (2018). https://doi.org/10.1002/dac.3808

    Article  Google Scholar 

  85. Steinberg, D., Budinsky, F., Merks, E., Paternostro, M.: EMF: Eclipse Modeling Framework. Pearson Education (2008)

  86. Szabo, N.: Formalizing and securing relationships on public networks. First Monday 2(9) (1997)

  87. The British Standards Institution: PAS 333, smart legal contracts - specification (2020). https://accordproject.org/news/bsi/. Online; Accessed 26 Oct 2020

  88. The nuXmv team: The nuXmv symbolic model checker (2020). https://nuxmv.fbk.eu

  89. Thomas Van Binsbergen, L., Liu, L.C., Van Doesburg, R., Van Engers, T.: eFLINT: a domain-specific language for executable norm specifications. In: 19th ACM SIGPLAN International Conference on Generative Programming: Concepts and Experiences (GPCE ’20). ACM (2020). https://doi.org/10.1145/3425898.3426958

  90. Tikhomirov, S.: Smart Contract Languages. https://github.com/s-tikhomirov/smart-contract-languages (2020). [Online; accessed 23-April-2020]

  91. Tolmach, P., Li, Y., Lin, S.W., Liu, Y., Li, Z.: A survey of smart contract formal specification and verification (2020). arXiv:2008.02712

  92. Wikipedia contributors: Asset — Wikipedia, the free encyclopedia. https://bit.ly/35TjZrn (2019). [Online; accessed 21-October-2019]

Download references

Acknowledgements

The authors thank P. Bacquero, V. Callipel, R. El Hamdani, F. Gélinas, E. Jonchères, D. Restrepo Amariles, G. Sileno, T. van Binsbergen, and T. van Engers (lawyers, researchers, and professors from the Autonomy Through Cyberjustice Technologies project) for their feedback on Symboleo and guidance on subcontracting. The authors are also thankful to A. Rahimi Kian for providing guidance on transactive energy contracts, to C. Griffo and G. Guizzardi for useful discussions about UFO-L, and to the members of our CSM Lab for their contributions to Symboleo. We are also grateful to the anonymous reviewers for their constructive comments. This paper was improved substantially thanks to their feedback.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Daniel Amyot.

Additional information

Communicated by J. Araujo, A. Moreira, G. Mussbacher, and P. Sánchez

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Partially funded by an NSERC Strategic Partnership Grant titled “Middleware Framework and Programming Infrastructure for IoT Services” and by SSHRC’s Partnership Grant “Autonomy Through Cyberjustice Technologies”.

Rights and permissions

Springer Nature or its licensor (e.g. a society or other partner) holds exclusive rights to this article under a publishing agreement with the author(s) or other rightsholder(s); author self-archiving of the accepted manuscript version of this article is solely governed by the terms of such publishing agreement and applicable law.

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Parvizimosaed, A., Sharifi, S., Amyot, D. et al. Specification and analysis of legal contracts with Symboleo. Softw Syst Model 21, 2395–2427 (2022). https://doi.org/10.1007/s10270-022-01053-6

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10270-022-01053-6

Keywords

Navigation