Overview of CDL

From working with several of R3’s members and partners, a common challenge is how to write down a CorDapp design. A CorDapp has a lot of interacting parts: States, Contracts, Flows, Transactions, API’s, Participants, Signers. It’s difficult to capture, and hence reason, about the behaviour of the whole CorDapp.

There is a risk that if inappropriate representation techniques are used, important dimensions of the design could be obscured leading to sub-optimal design decisions. Working on a design when you can’t quite write it down can also cause poor communication and inefficiencies within teams, this can lead to frustration and we want people to be happy using Corda.

Corda Design Language (CDL) is a bespoke design Language used to accurately represent and reason about CorDapp designs.

The overview has the following sections: