There is a growing interest in running legal contracts on digital systems, at the same time, it is important to understand to what extent software contracts may capture legal content. We then undertake a foundational study of legal contracts and we distill four main features: agreement, permissions, violations and obligations. We therefore design Stipula, a domain specific language that assists lawyers in programming legal contracts through specific patterns. The language is based on a small set of abstractions that correspond to common patterns in legal contracts, and that are amenable to be executed either on centralized or on distributed systems. Stipula comes with a formal semantics and an observational equivalence, that provide for a clear account of the contracts' behaviour. The expressive power of the language is illustrated by a set of examples that correspond to template contracts that are often used in practice.
翻译:同时,人们越来越关心数字系统的法律合同的运行,必须了解软件合同可以在多大程度上体现法律内容。我们接着对法律合同进行基础研究,并总结出四个主要特征:协议、许可、违反和义务。因此,我们设计了Stipula,这是一个具体领域的语言,帮助律师通过特定模式制定法律合同。该语言基于与法律合同的共同模式相对应的、可在集中式或分布式系统中执行的一小套抽象概念。Stipula具有正式的语义和观察等同性,对合同行为作了清楚的说明。该语言的表达力通过一系列例子来说明,这些例子与通常用于实践的模板合同相对应。