Weighted State Machine Framework for Clinical Load Simulation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing load testing techniques for large clinical data systems like Microsoft Amalga® UIS fail to realistically simulate client loads due to the vast amount of data and complex user access patterns, making it difficult to evaluate and improve the system effectively.
Innovation Solution
The technology employs state machines to simulate users, where each state machine represents a user with multiple states and operations, allowing for random selection based on weights to mimic real-user interactions, enabling a realistic load test by simulating random user scenarios and operations, including biased weighting for more common actions.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If known load testing techniques are used, then the testing process is simple, but the simulation realism is insufficient due to inability to handle vast clinical data and complex user access patterns
Solution Approach 1:
The user behavior is segmented into discrete states (e.g., viewing patient list, viewing patient details, searching) with defined transitions between them. This segmentation allows the complex simulation to be built from manageable state machine components, each handling specific user actions and transitions, thereby improving simulation realism without overwhelming system complexity
Solution Approach 2:
The state machines incorporate dynamic element selection where specific patients, doctors, or data sets are randomly selected during execution rather than being fixed. This dynamic behavior allows the simulation to adapt to different clinical scenarios and data sets, enhancing realism while the underlying state machine structure maintains manageable complexity
2Measurement precision
If random selection without weighting is used, then the implementation is simple, but the user behavior patterns are not representative of real-world usage
Solution Approach 1:
The selection mechanism uses weighted parameters assigned to different states and transitions based on observed user behavior frequencies. Common actions (e.g., viewing patient details) are assigned higher weights while less frequent actions (e.g., searching) receive lower weights. This parameter-based weighting system accurately reproduces real-world usage patterns while maintaining the simplicity of random selection logic
Solution Approach 2:
The system incorporates feedback loops where state machine execution results are monitored and used to adjust weights and transition probabilities. This feedback mechanism allows the simulation to continuously improve its behavioral accuracy by learning from actual system performance data and user interaction patterns, enhancing behavior accuracy without requiring complex manual configuration
3Reliability
If comprehensive load testing is performed, then system reliability is improved, but the testing time and resources increase significantly
Solution Approach 1:
State machines are pre-configured with clinically realistic scenarios, data access patterns, and user behavior models before testing begins. This preliminary setup includes pre-defining state transitions, weighting schemes, and test scenarios based on observed usage patterns, allowing comprehensive reliability testing to execute efficiently without requiring extensive real-time analysis or adjustment during the actual load testing phase
Data Source
AI summary
Described is a technology for load testing a service such as a medical data service (e.g., Microsoft Amalga® UIS) with mixed test sets. Simulated users perform randomly selected operations against the service. State machines are created to represent the simulated users, with the operations arranged within states of the state machine. By randomly selecting each state and its operations, the actions of many real users may be simulated, providing a realistic load test of the service. Moreover, to match certain types of usage scenarios, the states in a state machine may be weighted relative to one another so that the random selection is biased in favor of more weighted states. Similarly, each operation within a state may be weighted relative to each other operation within the same state, so that when a state is determined, the random selection is biased in favor of more weighted operations within that state.


