Synthetic Scenario Simulation


API   Tests   Examples

Synthetic Scenario Simulation (s2sim or syntheticsim) is a framework for studying, exercising, testing, and evaluating problems and solutions.

S2SIM provides isolation between behavior (events or transitions) and sequencing (or timing) of behavior. Behavior is through adaptation of EventSuper, which behavior sequencing is accomplished through provisioning of XML using a schema (syntheticsim.xsd).

Synthetic Scenario Simulation aims to capture the dynamics of object life cycle such as: States for a ticket could be described as available, sold, and used. Yet not all tickets for all events will follow that exact sequence of events. Consider the overbooking policy of US airlines. In this business model, statistical analysis suggests that a certain percentage of tickets for certain flights will not be used. To maximize resource utilization (plane seats), the number of sold tickets is greater than the number of seats. However, the goal is to consistently utilize 100% of the seats even when a percentage of the tickets are never used.

Often a solution represents one of more aspects of a system of collaborating processes. A vending solution could be described as four (or more) collaborating processes: point of sale (PoS), PoS inventory (or items), consumers, and technicians. The PoS might be a vending machine which collects currency for cusumers to purchase available items. A technician services the vending machine to collect cash and restock items.

Realistically, events occur in somewhat randomly. After study of a system, some predicability can be derived and the the collaborating processes can be modeled to satisfy (or optimize) the desired system outcome. For example, consider that the vending system described above is to offer sun shades and rain umbrellas adjacent the tube stations near Regent's park in London. We might observe: Given this our optimized system solution could adjust item selection based on weather and servicing based on customer traffic.

Describe processing using the S2SIM scenario scriping language (syntheticsim.xsd). Returning to the ticketing example, consider an event ticket sales system: A set of scenarios in S2SIM could be described as: Each ticket life cycle (or event sequence) could be described as: Use S2SIM to study and test this system by providing state (or instance) implementations for a ticket. This might include event idenfication, sold status, availability time, sold time. Provide an configurable S2SIM creator (factory) implemention to construct and initialize the state objects based event idenitication and number of tickets, and provide implementations of events such as a sold event which updates the sold status and time on a ticket.

With Synthetic Scenario Simulation the implementation behavior/events is separated from the scenarios. S2SIM provides a easy to adapt application programming interface (API) for stateful objects, events, and factories (creators). Scenarios are expressed in the XML scripting language and run in the S2SIM interpreter/simulator.

Things S2SIM can do: Learn, use, and contribute to S2SIM. Contact me for any questions, comments, or concerns.


Stuart Fraser