As explained in the nxt wiki https://nxtwiki.org/wiki/Phasing , Phasing is about deferring the execution of a transaction until certain conditions are met.Currently, phasing approval models and minimum balance models allows flexible definition of approval rules for a transaction (a.k.a “Smart Transactions”), however, they cannot be mixed and matched to provide more functional approval modals.To support more advanced phasing logic, we now added to Ardor the ability to create "Composite" voting models.A composite model defines the voting models building blocks and the logic to bind them into an "Approve" or "Reject" decision.The composite model supports the AND (&), OR (|) and NOT (!) logical operators and defines an expression which applies these operators on a combination of simple voting models.Examples:Using a NOT operator, allows you to setup a "dead man switch" so that funds are transferred to another account only in case an account did not approve this transaction until a certain height i.e. the account owner is assumed dead.Using a NOT and AND operators, you can define that a transaction is approved at certain height only if none of the accounts in the whitelist has voted against it.You can also define more complex conditions like approve a transaction only in case an account from a whitelist (i.e. a regulator, manager, judge etc) has approved it OR an account holding a certain number of tokens approved it i.e a user a stake holder etc.User interface:New page to define approval models:Define the logical expressioin for the composite model by referring to other voting models:View the row approval model JSON data:Reference the approval model when submitting a transaction: