Introduction
The conceptual leap from managing contract text and data, to understanding the real-time rights and obligations of the various parties to a contract is a major one! To get even a partial view of the rights and obligations of contractual parties requires creating a computable representation of the logic and workflow inherent/implicit in the contact, as well as tapping into a digital representation of real-world contract events.
This is an area of long-standing research, spanning: ontology, business rules, workflow, functional programming, state-machines, event processing and formal logic.
In this article I have pulled some of the strands of contract digitisation research together to give a sense for the depth, breadth and complexity in representing contract logic.
Undaunted, I shall present ideas for future work in a follow up article!
Note, if you’ve not read it, I recommend you first read the article on Obligation Management.
Toward a Perdurantist Ontology of Contracts
Sergio de Cesare and Guido L. Geerts
This paper uses the Business Objects Reference Ontology (BORO) ontology to model contractual obligations. In a perdurantist ontology an entity has a space-time relationship: and in the context of a contract the ontology is used to indicate that a Person enters a state of ContractualParty, as well as a variety of CommitmentStates. The long-lived entities, such as Person enter and exit various states based on contract events.
Modelling Legal Contracts as Processes
Aspassia Daskalopulu
Contracts are regarded as process and they are analysed in terms of the obligations that are active at various points during their life span. An informal notation is introduced that summarizes conveniently the states of an agreement as it evolves over time. Such a representation enables us to determine what the status of an agreement is, given an event or a sequence of events that concern the performance of actions by the agents involved.

Towards Modelling Obligations in Event-B
Juan Bicarregui⋆, Alvaro Arenas⋆, Benjamin Aziz⋆, Philippe Massonet† and Christophe Ponsard†
⋆e-Science Centre, STFC Rutherford Appleton Laboratory, UK
†Centre of Excellence in Information and Communication Tech. (CETIC), Belgium {j.c.bicarregui, a.e.arenas, b.aziz}@rl.ac.uk, {phm, cp}@cetic.be
The B-Method is a method of software development based on B, used to create formally-verified safety-critical software systems. This paper adds a syntactic extension of Event-B incorporating a limited notion of obligation described by triggers. The trigger of an event is the dual of the guard: when a guard is not true, an event must not occur, whereas when a trigger is true, the event must occur.
Business Contract Obligation Monitoring through use of Multi Tier Contract Ontology
Vandana Kabilan, Paul Johannesson, Dickson M Rugaimukamu


Obligations: Obligations are mandatory. They have an obligation owner, who is the recipient of the obligation and there is an obligation ownee, who is the one who has to carry out the obligation. It is mandatory for the ownee to execute the obligation condition once and only once in every single execution of the contract.
Permissions/Rights: Permissions or Rights too have a rights Owner and a ownee, but the right is executed by the owner in this case. The execution of a right is of an optional nature or it may be conditional depending on the execution of some other obligation.
Prohibitions: Prohibitions are statements of whatever actions should not be executed or whatever actions may be unacceptable to either or both parties.

Inactive: Every obligation can be said to be in ‘inactive’ state once the contract has been signed but contract execution is yet to be started. The obligation will remain in ‘inactive’ state in between cycles of contract execution also.
Active: An obligation may be said to be ‘active’ when the triggering performance event has been issued. For example, once the buyer sends the Purchase Order to the seller and he receives it, then the seller’s obligation to deliver is triggered.
Pending: When fulfillment activity from performer’s side has been accomplished but the acceptance from the other party is still awaited. When the seller has dispatched the goods from his warehouse, and is waiting for the third party carrier to deliver the goods to the buyer. Alternatively, an obligation may remain in the pending state, till the all the necessary fulfillment criteria are satisfied. The buyer may have received the goods but may have rejected the goods as being unsatisfactory.
Fulfilled: when the performance conditions are satisfied within the stipulated performance conditions. Once the buyer inspects the goods and accepts the delivery.
Terminated/Cancelled: if the activation of the obligation is terminated or cancelled by the Obligee, mutually, or legal authority.
Contract Workflow Model Patterns Using BPMN
Vandana Kabilan

Programming Languages and Law: A Research Agenda
James Grimmelmann
https://dl.acm.org/doi/10.1145/3511265.3550447
If code is law, then the language of law is a programming language. Lawyers and legal scholars can learn about law by studying programming-language theory, and programming-language tools can be usefully applied to legal problems. This article surveys the history of research into programming languages and law and presents ten promising avenues for future efforts. Its goals are to explain how the combination of programming languages and law is distinctive within the broader field of computer science and law, and to demonstrate with concrete examples the remarkable power of programming-language concepts in this new domain.
Modeling the dynamics of contractual relations
Cristine Griffo, Lauro César Araujo, Samuel Meira Brasil Jr., Mamede-Lima Marques, Giancarlo Guizzardi and João Paulo A. Almeida
A unilateral contractual amendment is a legal procedure that adds, removes, or alters parts of the original contract. It replaces the specified portion of the original contract and keeps the continuity of the overall legal relation. On the contrary, a contractual novation is a mode of discharging contracts with the consent of the parties. The effect of novation is a new contract with a new legal relation and the discharge of the old contract (Meena, 2008).
Generally, in adhesion service contracts such as Internet provisioning, app subscription, telephony services, etc., a clause is included to give the service provider the means to promote unilateral contract modification. This clause should be understood as establishing a legal relation of power and subjection, where the power holder is the service provider and the subjection holder is the customer. Therefore, the bargaining power is asymmetric in such types of contracts.
From an Ontology of Service Contracts to Contract Modeling in Enterprise Architecture
Cristine Griffo, João Paulo A. Almeida, Giancarlo Guizzardi, Julio Cesar Nardi
Abstract— Service contracts bind parties legally, regulating their behavior in the scope of a (business) service relationship. Given that there are legal consequences attached to service contracts, understanding the elements of a contract is key to managing services in an enterprise. After all, provisions in a service contract establish obligations and rights for service providers and customers that must be respected in service delivery.
Symboleo: Towards a Specification Language for Legal Contracts
Sepehr Sharifi, Alireza Parvizimosaed, Daniel Amyot, Luigi Logrippo, John Mylopoulos
Symboleo: a language for specifying legal contractual requirements and generating smart contracts
Daniel Amyot
WER 2022, Workshop on Requirements Engineering Brazil (Online), August 23, 2022 damyot@uottawa.ca
Abstract—Legal contracts specify the terms and conditions (in essence, requirements) that apply to business transactions. Smart contracts are software systems that monitor and control the execution of contracts to ensure compliance. This paper proposes a formal specification language for contracts, called Symboleo, where contracts consist of collections of obligations and powers that define the legal contract’s compliant executions. The formal semantics of Symboleo is based on an extension of an ontology for Law and is described in terms of logical axioms on statecharts that describe the lifetimes of contracts, obligations and powers. Our proposal includes a preliminary evaluation through the specification of a real life-inspired Sale-of-Goods contract, with a prototype execution engine. We envision this language to enable formally verifying contracts to detect requirements-level issues and to generate executable smart contracts (e.g., on blockchain technology).

Contract: a collection of obligations and powers between two or more roles, which are assigned to parties during execution, and are concerned with two or more assets (since at least one asset should be associated with each role.
Asset: an owned (tangible or intangible) item of value [9]. Assets include contractual considerations [10] that a contract is concerned with. Other kinds of assets can also be used to ensure proper execution of a contract, e.g., a bill of lading for freight contracts or invoices. Asset quantity and quality constraints are typically specified in contracts.
Legal Position: legal positions are the legal relationships between roles. For our purposes, there are just two such relationships: obligations and powers [8].
Obligation: the legal duty of a debtor towards a creditor to bring about a certain legal situation (consequent) when another legal situation (antecedent) holds. Surviving obligations remain in effect after the termination of the contract. A 6-month non- disclosure obligation after the end of the contract is an example of a surviving obligation. Obligations usually concern assets and are instantiated by conditions (trigger)3.
Legal situation: a type of situation associated with a contract, obligation or power instance. Situations are states of affairs and are comprised of possibly many endurants (including other situations and relata) [12]. A situation occurs within a time interval T, but not in any of its proper subintervals [13]. Event: a happening that occurs at a time instance, and that cannot change. Events also have pre-state and post-state situ- ations [12], [13]. For example, delivered for a product is an event whose pre-state is ‘being in transit’ and post-state is ‘being in the point of destination’.
Power: the right of a party to create, change, suspend or extinguish legal positions. A power is instantiated by a trigger and has an antecedent (legal situation) that must be met for it to become in effect.
Role: contractual roles are characterized by collections of obligations and powers they participate in [6].
Party: a legal agent (person or institution) who owns assets and who is assigned roles in contracts.
FCL: A FORMAL LANGUAGE FOR WRITING CONTRACTS
QIAN HU, M.Sc.
Contracts are legally enforceable agreements between two or more parties. The agreements can contain temporally based conditions, such as actions taken by the contract parties or events that happen, that trigger changes to the state of the con- tract when the conditions become true. Since the structure of these conditions can be very complex, it can be difficult to write contracts in a natural language in a clear and unambiguous way. A better approach is to have a formal language with a pre- cise semantics to represent contracts. Contracts expressed in such a language have a mathematically precise meaning and can be written, analyzed, and manipulated by software.

Modeling Obligations with Event-Calculus
Mustafa Hashmi, Guido Governatori and Moe Thandar Wynn
Time plays an essential role in norms, legal reasoning and in areas governed by norms. For example many of the normative requirements in the area of business process compliance concern the temporal aspects of norms. Suppose you have a contract specifying that one party has thirty days to pay for an invoice, and that goods cannot be delivered without payment. Thus you have an obligation to pay after receiving an invoice, which, in turn, requires that the payment must be made before the time of delivery. Receiving the invoice triggers (enforces) the obligation to make a payment to complete the transaction. Accordingly we have conditions that must be fulfilled in a determined time interval or within a given deadline, and other conditions that must happen before or after specific events. Moreover, some obligations may include conditions that must persist over an interval of time e.g., continuous monitoring of the patient’s blood pressure and ECG during a surgical operation. Regardless of the type, validity and nature of the legal effect(s) that an obligation represents, the temporal aspect of an obligation revolves around the following generic aspects [17]: (i) the time when an obligation is in force, (ii) the time when an obligation is fulfilled, and (iii) the time of application. Accordingly, when a business process is subject to norms, it is particularly important that the process complies with the obligations imposed by the norms for the whole duration of its validity and meets the deadlines, and follows constraints for maintaining and delaying actions.
Modelling Contracts Using RuleML
Guido Governatori Antonino Rotolo
This paper focuses on transforming business contract rules from natural language into a machine readable and executable form. In particular, our aim is to implement the contract in a way that allows explicit monitoring of rules by the computer for any case of violation. Based on a given contract scenario, the contract, in its human-oriented form, will be analysed and represented in a logical form using Deontic and Defeasible Logic. From its logical form, the contract will be transformed into a machine readable rule notation, based on RuleML, and implemented as executable semantics.
1 Pingback