Type System
Discussion
A type system defines the types used in a model, language, schema, interface, system, or architecture and defines the rules that govern the use of those types.
A type system supports semantics by constraining which values, objects, expressions, messages, events, or model elements belong to which categories. It also constrains which operations, relationships, assignments, transformations, or interpretations are valid for those categories.
Type systems help prevent semantic errors. For example, a weak model may represent notional amount, price, quantity, and exchange rate as decimals. A stronger type system distinguishes those concepts and prevents an implementation from treating them as interchangeable numbers.
In DIDO Solutions work, type systems provide a bridge between conceptual meaning and implementation artifacts such as schemas, DDS IDL, APIs, databases, event contracts, and validation logic.
Definition
set of types and rules that govern the classification, use, compatibility, and interpretation of values, objects, expressions, or model elements
Source
Generalised from software engineering, modeling, and formal language usage; specialized for use in the FX Demo Reference Architecture.
Note
A type system expresses formal semantics when it constrains interpretation in a repeatable and testable way. Type systems may appear in programming languages, schema languages, data models, ontology languages, interface definitions, and metamodels.
Example
An FX type system may define CurrencyCode, CurrencyPair, NotionalAmount, ExchangeRate, TradeDate, SettlementDate, LEI, and TradeIdentifier. The type system prevents a settlement date from being used as a trade identifier and prevents an exchange rate from being treated as a notional amount.
© 2026 Dido Solutions, Inc. and Jackrabbit Consulting, Inc.