|
When I began working on SPARKS it was an operations simulation
and analysis tool that had several incarnations, each specific to
the client models performed. Only the Kernal (see Figure 1) was
generic across all models. During each new engagement, SPARKS' Structural
and Application layers were reworked for the new customer's specific
needs. Each aspect of model development and simulation output was
specific to the particular client's environment and could not be
applied to the next engagement.
While working on SPARKS and applyling it to new clients, I created
generic mechanisms at the Structural and Application Layers to generalize
the model creation and reporting aspects of SPARKS. Additionally,
as the Gensym G2 language evolved from purely rule-based simulation
to a powerful high-level procedural and rule-based language, a team
and I converted SPARKS to take advantage of G2's greater power.
These efforts succeeded in making SPARKS capabale of simulating environments requiring
models of several orders of magnitude greater size and complexity. Moreover, the application of
SPARKS to any new engagment became simpler and faster so that clients could directly
create their own models with only minimal guidance from Coopers
& Lybrand consultants.
Some of our applications of SPARKS include:
- The redesign of the cross-continent back office operations
of an international Wall Street trading firm.
- Analysis of the home banking system of a major commercial bank.
- An assessment of the impact of new technology on the claims
renewal processing of a national insurance company.
 |
| Figure 1: A high-level view of SPARKS'
architecture |
 |
| Figure 2: SPARKS Main Screen allowing
access to model-building elements, simulation parameters and
feedback, and statistical performance output. |
 |
| Figure 3: Diagram of the breakdown of
Process flow into Operations and Tasks, and of the Resource
Model into Functional and Work Units. |
 |
| Figure 4: Demonstration of the breakdown
of Functional Units into other Functional Units and Work Units
with their work buffers. Work Units could have multiple buffers
from several Functional Units. |
 |
| Figure 5: A "hello world"
simple model. |
|