Wayfinder / Case study / Diagram galleries

Source-derived document; reported behaviour, inference and evidence gaps are identified in the text.

Return to: Lifecycle states

Lifecycle states

In this document

Which states can a business object enter, and what triggers or guards each change?

This view models the Customer record as a small, evidence-supported lifecycle: record presence, selection, and absence after deletion. The states are semantic interpretations of source behavior rather than declared enum labels; the supplied evidence does not define an explicit customer-state enumeration. E0007 The source documents and implements customer insertion, lookup/selection, update, and deletion paths, but generated Java and legacy 4GL artifacts are not proven to be semantically identical or live runtime behavior. E0007 E0010

No initial or terminal state is inferred. Customer updates are not shown as transitions because they modify an already existing record and do not establish a distinct resulting lifecycle state. E0007

Diagram

Source-derived diagram. Some relationships may be inferred and require review.

Preparing diagram…

View Mermaid diagram source
stateDiagram-v2
  state "Customer record present #40;inferred#41;" as n64ee104c34159b16f2dc
  state "Customer record selected #40;inferred#41;" as nc9314e60a784792cb2d3
  state "Customer record absent #40;inferred#41;" as n1033acd67e94faa2f314
  n1033acd67e94faa2f314 --> n64ee104c34159b16f2dc: Customer input completes normally and the add operation executes.  / Input is not interrupted or aborted. 
  n64ee104c34159b16f2dc --> nc9314e60a784792cb2d3: Find-customer lookup selects a matching customer record.  / A matching customer record is found and selected. 
  nc9314e60a784792cb2d3 --> n1033acd67e94faa2f314: The user confirms customer deletion.  / A customer is selected and has no matching orders. 

Elements

Customer record present

Kind: state
Basis: inferred
Description: A customer record is present after a completed customer insertion; the source inserts customer fields into the customer table and obtains the generated customer number. E0007
Evidence: E0007

Customer record selected

Kind: state
Basis: inferred
Description: A present customer can become the current selected customer through customer lookup and browse selection; update and delete operations require a selected customer. E0007
Evidence: E0007

Customer record absent

Kind: state
Basis: inferred
Description: This represents the record condition after a confirmed customer deletion; the source deletes the customer only after confirmation, although the supplied evidence also reports misleading success feedback when deletion is declined in another customer-management path. E0007 E0010
Evidence: E0007, E0010

Relationships

Add customer

From: Customer record absent
To: Customer record present
Relation: transition
Basis: reported
Description: The customer-add path accepts customer fields and, when input completes normally, inserts the customer record and assigns the generated customer number. E0007
Trigger: Customer input completes normally and the add operation executes. E0007
Guard: Input is not interrupted or aborted. E0007
Evidence: E0007

Select customer

From: Customer record present
To: Customer record selected
Relation: transition
Basis: reported
Description: Customer lookup constructs selection criteria, queries customer records ordered by last name, and allows a matching record to be selected for subsequent operations. E0007
Trigger: Find-customer lookup selects a matching customer record. E0007
Guard: A matching customer record is found and selected. E0007
Evidence: E0007

Delete customer

From: Customer record selected
To: Customer record absent
Relation: transition
Basis: reported
Description: The delete path requires a selected customer, blocks deletion when matching orders exist, asks for confirmation, and deletes the record only when the response is y or Y. E0007
Trigger: The user confirms customer deletion. E0007
Guard: A customer is selected and has no matching orders. E0007
Evidence: E0007

Gaps

The supplied evidence does not provide explicit named customer lifecycle states or a formal state machine; the state names above are therefore inferred from record existence and selection behavior. E0007 No transition is modeled for customer update because the evidence shows field modification of an existing record, not a distinct resulting state. E0007

The evidence contains different customer-management artifacts, including legacy 4GL and generated Java. Their one-to-one semantic equivalence is unresolved, so the transitions should not be treated as proof that every artifact implements the same lifecycle. E0010 Runtime execution, database constraints, and transaction outcomes are not independently verified. E0004 E0010

The deletion evidence has an unresolved behavioral inconsistency: the source conditionally performs the delete, but a reported path can still clear the form and display “Record deleted” after a negative response. E0010 Further follow-up should identify the authoritative runtime implementation and verify deletion behavior for customers with and without active orders.

Recovery limitations

  • The view includes explicitly marked inference.

Sources

  • E0004 — SHA256 a7fa93a436c487d708267db6e5038c7415b98377a56232869519d6206a15e7e9
  • E0007 — SHA256 ce6dd2b00b79f008ecb98935db9ed709c044218bcdd4143008d56d06a04cff97
  • E0010 — SHA256 bd29371182d16de63a7651533fa5c84e151a01ea9bf23399f7f6ca0397ab0250