Model the role, not just the object.
A person can act as a buyer or a merchant. A product can become goods, then an order line. Each role makes its own business facts visible.
S++ describes who participates in a business operation, what must be checked, what changes, and where consistency matters. The implementation can adapt without losing the business story.
In a conventional system, a single business operation may be scattered across models, controllers, validation, persistence, and transaction code. S++ brings the participants and the operation back into view.
A person can act as a buyer or a merchant. A product can become goods, then an order line. Each role makes its own business facts visible.
A scene declares its participants and calls checks, calculations, and updates in business order. Transaction boundaries are visible in the source.
The application and physical layers choose service routing, storage, numeric representation, and transaction implementation.
Here is an excerpt from the Petstore payment scene. The participants, eligibility checks, bounded funds transfer, and record updates are all part of one explicit flow.
Follow the Petstore flowScenario serial payShopOrder(
Buyer, Merchant, ShopOrder, PaymentAgreement
) {
checkBuyerCredential;
checkPaymentEligibility;
preparePayment;
transaction {
payOrderFunds bounds {
Buyer.wallet: [0, null];
Merchant.cash: [0, null];
};
updateShopOrder;
insertReceipt(PaymentAgreement.receipt);
}
}Illustrative excerpt; omitted preparation and lookup steps are present in the demo source.
The project is being tested against both a complete commerce journey and selected banking deposit transactions. Each example exposes different modeling and consistency questions.
S++ is an active language project. Its demos execute through generated Java services, and the team tracks limits alongside working behavior. We are looking for teams willing to evaluate the model on real business workflows.
Read the current boundariesWe are preparing guided evaluations of S++ with engineering teams and early partners.