View Issue Details
| ID | Project | Category | View Status | Date Submitted | Last Update |
|---|---|---|---|---|---|
| 0005622 | CaseTalk Modeler | Other | public | 2026-05-29 19:18 | 2026-09-01 21:59 |
| Reporter | Marco Wobben | Assigned To | |||
| Priority | normal | Severity | feature | Reproducibility | have not tried |
| Status | new | Resolution | open | ||
| Summary | 0005622: Generate SQL that hardens state-machine transitions | ||||
| Description | RESEARCH / ENHANCEMENT So-called "temporal" conceptual models (e.g. role transitions Candidate -> Tenderer -> Winner, "a tenderer must exist before being designated winner") are, structurally, state machines: the states are roles/subtypes and the "X before Y" rules are simply which edges exist in the transition graph. The opportunity is to generate SQL that enforces these transitions, so the database itself guarantees state integrity rather than relying on application code. Two generation targets, in priority order:
Recommended scope: start with target 1 (covers the large majority of real cases and drops cleanly into current SQL generation). Treat target 2 as a separate opt-in feature for dialects that support system versioning. Reference: Keet, "Can temporal conceptual modelling be useful in industry?" (2026-05-28) - EU e-procurement (ePO) examples. | ||||
| Tags | export, sql, state-machine | ||||
| CaseTalk Edition | Corporate | ||||
| related to | 0005623 | new | Generate a SQL state table for state-machine states |
|
EXAMPLE SQL SNIPPET The article (Keet, 2026-05-28) does not transcribe its generated SQL; it only states the rule: "the start of tenderer must be before the start of winner, else that organisation won't be inserted in the winner table." The snippet below illustrates that exact rule in both forms discussed in the description. -- (1) STATELESS TRANSITION TABLE -- the allowed edges of the state machine, INSERT INTO allowed_transition (from_state, to_state) VALUES -- Trigger: reject any status change whose (old, new) pair is not an allowed edge. -- (2) HISTORY-BASED ORDERING -- the article's actual "tenderer before winner" Notes:
|
|
| Date Modified | Username | Field | Change |
|---|---|---|---|
| 2026-05-29 19:18 | Marco Wobben | New Issue | |
| 2026-05-29 19:18 | Marco Wobben | Tag Attached: sql | |
| 2026-05-29 19:18 | Marco Wobben | Tag Attached: state-machine | |
| 2026-05-29 19:18 | Marco Wobben | Tag Attached: export | |
| 2026-05-29 19:20 | Marco Wobben | Note Added: 0006213 | |
| 2026-09-01 21:59 | Marco Wobben | Relationship added | related to 0005623 |