Source-derived document; reported behaviour, inference and evidence gaps are identified in the text.
Return to: System context
System context
In this document
Where is the application boundary, who uses it, and which external systems interact with it?
This view defines the application boundary around the D4 desktop program, its apparent human user, and two evidenced external interaction points: the stores7 database and an operating-system command facility. The entry point, Swing configuration, main menu, database alias, and command execution call are reported in the supplied source synthesis. E0001 E0002
Customer, order, stock, report, and framework classes are treated as internal application concerns and are not modeled as separate elements. The framework is only referenced through usage patterns; its implementation and runtime behavior are absent, so that dependency is not treated as a proven external integration. E0001 E0002
The database boundary is supported by a named alias and SQL/database call sites, but the schema and complete connection behavior are unavailable. Report output to files or printers is documented or referenced, while the report framework and exact execution lifecycle are not independently established; therefore no separate file or printer integration is asserted here. E0001 E0002
Diagram
Preparing diagram…
View Mermaid diagram source
flowchart LR
n00e9910f49c13a529180["D4 Demo Application"]
n894bf6f12368e01c7e7c["Application User (inferred)"]
ndafdefe5fe9f97e9e0a1["stores7 Database"]
ndb92d0cc5def03172d2a["Operating-System Command Facility"]
n894bf6f12368e01c7e7c -.->|"User operates application (inferred)"| n00e9910f49c13a529180
n00e9910f49c13a529180 -->|"Application persists business data"| ndafdefe5fe9f97e9e0a1
n00e9910f49c13a529180 -->|"Application executes command"| ndb92d0cc5def03172d2a
Elements
D4 Demo Application
Kind: application
Basis: reported
Description: The application is represented by D4_Main.main, which creates and starts the D4 module; configuration names GUIApplication, and the main menu exposes Customer, Orders, Stock, Reports, and Exit commands. E0001 E0002
Evidence: E0001, E0002
Application User
Kind: actor
Basis: inferred
Description: A user is inferred from the menu-driven customer, order, stock, and report operations exposed by the application. The evidence does not establish a more specific role, such as clerk, administrator, or manager. E0001 E0003
Evidence: E0001, E0003
Goal: Operate the application menus for the documented customer, order, stock, and reporting functions, subject to the implementation limits of those functions. E0001 E0002 E0003
stores7 Database
Kind: external_system
Basis: reported
Description: The application selects a database alias named stores7 and uses Java SQL classes; source references SQL tables including customer, orders, items, stock, manufact, and state. The actual schema is not supplied. E0001 E0002
Evidence: E0001, E0002
Operating-System Command Facility
Kind: external_system
Basis: reported
Description: The application exposes a bang command that passes user-entered text to _app.execute, providing a shell-like command-execution path. The source warns that this instruction may be unsafe or erroneous. E0001 E0002
Evidence: E0001, E0002
Relationships
User operates application
From: Application User
To: D4 Demo Application
Relation: interacts
Basis: inferred
Description: The menu structure provides customer, order, stock, report, and exit options, from which interaction by an application user is inferred; no user identity or authorization model is established. E0001 E0003
Trigger: Selection of an application menu command. E0001
Information: Customer, order, stock, or report operation selections. E0001 E0003
Mechanism: Menu-driven desktop interface configured around the D4 main module. E0001 E0002
Control: Some documented operations are only placeholders or are explicitly described as unimplemented, including order update/delete, stock CRUD, and backlog or stock-list reports. E0002 E0003
Evidence type: Menu definitions and help documentation; not live runtime observation. E0001 E0002 E0003
Evidence: E0001 E0003 E0002
Application persists business data
From: D4 Demo Application
To: stores7 Database
Relation: interacts
Basis: reported
Description: The application obtains the stores7 database through _app.getDB, uses Java SQL classes, and contains customer and order persistence logic. The supplied material does not establish the complete schema or all database behavior. E0001 E0002
Trigger: Customer or order database operations. E0001 E0002
Information: Customer records, orders, order items, and referenced stock or state data. E0001 E0002
Mechanism: Database alias lookup and SQL/database APIs, including prepared statements, result sets, inserts, updates, and queries. E0001 E0002
Control: Order creation attempts transaction commit and rollback paths, but framework implementations are missing, so transaction completeness is unresolved. E0002
Evidence type: Source call sites and SQL references in published artifacts; not live connection verification. E0001 E0002
Evidence: E0001 E0002
Application executes command
From: D4 Demo Application
To: Operating-System Command Facility
Relation: interacts
Basis: reported
Description: The bang command prompts for a command and passes it to _app.execute(true, Str.valueOf(cmd)), creating a shell-like command-execution path. The source includes a warning about possible unsafe or erroneous execution. E0001 E0002
Trigger: Selection of the bang command and entry of command text. E0002
Information: User-entered command text. E0002
Mechanism: _app.execute invoked by the D4 main module. E0002
Control: The warning W0107 indicates a documented safety or execution concern; the behavior of _app.execute is not available for further validation. E0001 E0002
Evidence type: Published source call site and migration warning; not live operating-system observation. E0001 E0002
Evidence: E0001 E0002
Gaps
The evidence does not name a concrete user role, identify authentication or authorization, or establish whether the application is used by one actor class or several. E0001 E0003
The stores7 schema, connection implementation, and framework classes are missing. Consequently, table relationships, database deployment, transaction guarantees, and the precise boundary between application code and framework services remain unresolved. E0001 E0002
The framework dependency is referenced but its implementation is absent; it is therefore not modeled as a separate external system or as proof of an external integration. E0001 E0002
File and printer output are mentioned for reports, but the report factory and output lifecycle are outside the supplied evidence. A separate printer or file-system relationship requires source showing the actual destination and execution path. E0001 E0002
The documented menu surface conflicts with implementation evidence: order update/delete, stock CRUD, backlog reporting, and stock-list reporting are presented as operations but are also identified as unimplemented or placeholder behavior. E0002 E0003
Recovery limitations
- The view includes explicitly marked inference.
Sources
- E0001 — SHA256
26c6795c3bc4cc1018c05a3a14a9e8bfd1a7ac99525d062262c695930de1f2d0 - E0002 — SHA256
94dd964106462ec595f965ac2acdca80c48d31234c90d9f93ef18c5d0f26cf01 - E0003 — SHA256
d6724e53cd2df11bbcdc4c2e6b8487fa7ffa2317a121b3ebae2594a6130343e0
Harten documentation of the Informix 4GL and Java source repository, from the retained 17 October 2026 export. The exact upstream revision analysed is not established. Source findings do not establish runtime behaviour or equivalence between the implementations.
Evidence identifiers are retained for traceability. The underlying analysis records are not included in this public edition; credential values are redacted. About this case study.