For more information on CACI Simulation Software

SIMPROCESS® - Key Functionality and Technical Papers

Contents

Services-Oriented Architecture (SOD)

SOA/SOD - Services Oriented Architecture and Simulation On Demand (PDF logo pdf - 248KB)

Summary
In the last three to four years business and IT managers have begun to implement a new approach to organizing IT resources, which is usually referred to as a Services Oriented Architecture (SOA). Like other recent IT architectures, SOA provides flexibility for an increasingly complex business environment and requires that companies master new tools to assure that new applications are designed effectively. The key benefits of using SIMPROCESS as a simulation service in an SOA are

  • This concept extends the usefulness of analysis models beyond the up-front business process analysis phases. A greater return on investment is achieved when developing business process analysis models since long-term use of the models is achieved. It provides the capability for the business process models to transition from a passive role to an active role in business process management.
  • Simulation provides valuable business performance insight above and beyond the current situational data presented in traditional BAM and BSC type dashboard solutions. Most BAM type solutions only look at past data and provide key business metrics based on what has already happened in the business. None of the BAM solutions on the market use process simulation to provide predictive performance metrics.
  • SIMPROCESS simulations provide a context for the business performance metrics. Most BAM solutions that rely on data, transaction, and system integration techniques do not have a good way to correlate the performance metrics directly to a customer's business process model.
  • This concept closes the loop for customer's business process improvement lifecycle by automatically simulating business performance and using the results of the simulation to feed back into continual business process analysis. In other words, it reduces the need to constantly drive the simulation for business process analysis.
Simulation on demand can significantly extend current ideas about process monitoring, decision support and BAM, facilitating a new generation of monitoring systems that not only report current data, but provide projections to assist managerial decision making.

Return to Top

Business Activity Monitoring (BAM) with the Predictive Power of Simulation

This new capability adds another dimension to the growing Business Activity Monitoring concept. Simulation provides management the ability to peek into the future of business performance metrics and gives them valuable lead time to optimize key management decisions before problems in operations arise. With traditional Business Activity Monitoring technologies this is a challenge, but SIMPROCESS easily communicates the options in the context of a customer's business processes.

Business Activity Monitoring and Simulation white paper (PDF logo pdf - 498KB)

  • Integration capabilities to DSS, CRM, ERP and user operational systems.
  • Provides server based simulation capability without the User Interface for integration with other Business Activity Monitoring and BPM technologies.
  • Dashboards can be placed on the desktop of a decision maker so that continuous feedback from simulated future situations can be reviewed and acted on before they happen. Dashboard can be broadcasted meaning one or more dashboards can be placed on any person's computer desktop within an enterprise.
  • Dashboard Functionality permits decision makers to visualize information in graphical form (charts, meters, graphs, etc.) by broadcasting messages to dashboards (local or remote) as the simulation progresses.

Return to Top

SIMPROCESS  Six Sigma Six Sigma

1. What is Six Sigma?

In today's business world this has more meaning than just a failure rate. It is a methodology that is being adopted by enterprises to increase their profitability through improving the sigma capability of their business processes. In essence, six sigma means overall excellence, not only in the finished product, but also in the administrative, service and the business processes throughout the whole organization.

"Six Sigma" (taken from a letter in the Greek alphabet) literally means a failure rate of 3.4 per million.

2. The Methodology

The six sigma methodology is a structured approach. It consists of five core phases namely Define, Measure, Analyze, Improve and Control (DMAIC) that allow companies to make exceptional bottom line improvements.

  2.1 Define
The Define phase is a thorough assessment of the current business environment. This primarily includes understating an organization's strategic and operational objectives. In detail this phase entails understanding the customer and their needs, developing a charter, identifying key metrics, etc.

2.2 Measure
The Measure phase includes a review of the types of measurement systems and their key features, as well as the frequency with which defects occur and the process capability, which governs the creation of defects.

Establishing valid and reliable metrics to help monitor progress towards the enterprise goal is also a key part of the measure phase. Exploratory and descriptive data analysis techniques are used to help understand this data.

At the top level the goals will be the strategic objectives of the organization, such as a higher ROI or market share. At the operations level, a goal might be to increase the throughput of a production department. At the project level goals might be to reduce the defect level and increase throughput.

2.3 Analyze
The Analyze phase uses specific statistical methods and tools to isolate key pieces of information, which are critical to the number of defective products. In this phase practical business problems are turned into statistical problems. The system is analyzed to identify ways to eliminate the gap between the current performance of the system or process and the desired goal.

2.4 Improvement
The Improve phase focuses on discovering the key variables, which cause the problem. The key is to improve the existing system. This can be achieved by finding new ways to do things better, cheaper or faster. Project management and other planning and management tools are used to implement the new approach. Statistical methods are used to validate the improvement.

2.5 Control
The Control phase ensures that the same problems don't reoccur by continually monitoring the processes that create the product or service.

Modifying compensation and incentive systems, policies, procedures, MRP, budgets, operating instructions and other management systems may institutionalize the improved system.


3. Discrete Event Simulation with SIMPROCESS

Design of Experiments (DOE) - a statistical approach, determines the number of experiments to conduct in order to gather the optimal level of process performance data that then can be used to identify variables and variable relationships that exert the greatest influence on system characteristics.

Many organizations are finding that they are limited in their ability to conduct the required experiments. Conducting tests in the field could

  • Result in costly manufacturing line downtime
  • Result in excessive scrap
  • Result in measurements not taken often enough for valid analysis
  • Result in costly resource downtime
  • Result in testing a flawed hypotheses which translates to a wasted effort
  • Mean conducting fewer than the optimal number of tests
  • Be too time consuming
However, SIMPROCESS is a tool for creating system models and executing them as discrete event simulations. Discrete event simulation models represent systems from an object oriented perspective, i.e., the modeler can focus on defining and interconnecting system components and let the tool resolve the complexities of inter-component behavior. This capability facilitates modeling of very complex systems where analytical modeling techniques would be unrealistic.

SIMPROCESS provides a detailed view of the system design and facilitates identification of scenarios where the system may lockup. SIMPROCESS models can have a highly detailed representation of system design and logic. The SIMPROCESS model can assess the performance of system designs under realistic loading conditions to determine if design flaws surface under increased event rates and volumes.

4. SIMPROCESS Augments Six Sigma

The use of SIMPROCESS augments and strengthens a phase by phase six sigma implementation. Overall benefits include reduced experimentation duration and costs through simulation, reduced costly field implementations of incorrect solution through solution validation and reduced measurement time with an easy to use tool.

  4.1 Define
SIMPROCESS will support an organization
  • Assess current business environment
  • Develop a framework that mimics the current business environment
  • Provide a start point for measurement and analysis of organizational and operational performance
4.2 Measure
SIMPROCESS will support an organization
  • Capture and organize more comprehensive process data, reduce the overall measurement cost and time and establish a framework used throughout the six sigma lifecycle
  • Uncover process inefficiencies (bottlenecks) and non-value added activities (NVA)
  • Identify key factors and variables influencing the business process performance
4.3 Analyze
SIMPROCESS will support an organization
  • Benchmark internal processes and industry best practices
  • Provide the most cost effective, accurate and rapid strategic weapon for businesses to evaluate alternatives prior to implementing them
  • Visualize how a process would behave, measure its performance and try "What-If" scenarios. It provides an animated picture of the flow and real time graphs of concerned performance measures. It also contains a comprehensive set of statistical tools. This suite of tools can be used to fit input data to a distribution, to design and run experiments and to analyze the results from multiple simulation run
4.4 Improvement
SIMPROCESS will support an organization
  • Eliminate all potential pitfalls by conducting experiments through the power of simulation
  • Create alternative representations of a business process within the same model. Use of Scenario Manager would compare the alternatives and help in choosing the one that maximizes service levels and profits ("To-Be")
  • Generate concise reports of results. In addition to the "standard report," custom reports can be generated for keeping track of service levels, in process inventory and makespan. All reports can be viewed in tabular or graphical form and printed or exported to other software packages.
4.5 Control
SIMPROCESS will support an organization
  • Enable rapid mapping of the improved process
  • Seamlessly interface between with other object oriented workflow management and application development tools
  • Provide an integrated solution for continuous process improvement (CPI)
  • Monitor and control improved processes through the use of real time plots, bar charts, histograms and more. Charts can be easily viewed using MS Office.

5. What You'll Finally See

Integrating process mapping, object oriented simulation and activity-based costing into a single tool, SIMPROCESS meets the most demanding needs for a six sigma implementation and its concerned maintenance.

An enterprise engaged in a six sigma implementation augmented with SIMPROCESS can expect to see

  • Improved customer satisfaction
  • Reduced cycle times
  • Increased productivity
  • Improved capacity and output
  • Reduction in total defects
  • Increased product reliability
  • Decreased work in progress (WIP)
  • Improved process flow

Return to Top

External/Remote Capability - Scenarios for Use

Introduction
The external/remote capability in SIMPROCESS provides our users and service team with powerful capabilities to extend SIMPROCESS models. This capability can be as subtle as placing real time plots on another computer to speed up the simulation on the desktop where the model is running to highly complex interaction with user written applications, commercial off-the-shelf software packages, and dispersed models over a network. This point paper will describe some scenarios where these capabilities might have practical application and furthermore, describe the level of complexity that may be involved in using the features.

Remote Plot Capability
This capability is one of the simplest forms of the external/remote capabilities. It allows our users to set up a separate computer or computers to handle the displaying of real time plots. SIMPROCESS allows real time plots to be selected from dialogs. This feature provides good feedback in graphical form to what is going on in the model during simulation and provides a medium that is easily understood by the business audience that models are being presented to. SIMPROCESS allows custom definitions of models with multiple data variable sources and multiple data lines on the real time plots. It also provides the capability to define plots as hidden so as not to clutter up the screen immediately upon the start of simulation. The hidden plots could be requested via a toolbar button when the user wished to see them.

The remote plot capability also lets the user to set up multiple computers to present the plots while the simulation is running. For high end multimedia rooms with multi-panel projection systems, this feature will be very powerful. In addition to relieving the primary simulation computer from having to clutter the screen with plots, it will also relieve the simulation computer of some of the processing, therefore speeding up the simulation (This is assuming the computers that are handling the plot serving roles are connected to the simulation computer on a relatively high speed LAN).

As far as the complexity for the user, this feature is relatively simple. The user must distribute a few files per the documentation to the computers that are required to do the plot serving and they must know the names of those computers on the network. Their network administrator or system administrator will be able to provide the information and assistance if necessary, however most users should be able to handle the set up by following the instructions in the documentation.

External Application Call
This capability provides users with the ability to extend their simulation logic by writing separate code modules in Java (or Java driver modules that wrap other languages such as C++, C, etc.). For complex computations, reading and writing of data, interfacing to graphical or animation packages, or simply a faster execution of complex expression scripts.

The way the user will implement this capability is to write Java code modules and place them in a predetermined folder called "ext" under the root directory where SIMPROCESS is installed. The ExternalCall function is used in the Expression language to make the calls to the user-written modules.

Typical uses for this feature are
Write Java code modules to interface with another user application that is running on the same computer that the simulation is running on. Handle extremely complex logic behind the activities, entities and resources of a model that are too cumbersome to handle in the SIMPROCESS Expression language. Reuse of complex user written, open source, public domain or licensed algorithms to handle complex logic in a model. For example, a user may download optimization languages such as those found on the Northwestern University Optimization Technology Center site (www.ece.nwu.edu/OTC) and develop optimizations for a SIMPROCESS model.

Development of custom interfaces to user licensed packages such as statistical packages, animation products or custom databases.

Remote Application Call
This capability is very similar to the External Application Call feature except that the calls expect the external modules to be running as Java RMI server modules. The advantage here is that the computer running the simulation does not have to have the application being called running on it. Similar uses are expected for this feature as in the External Call except that interfaces to complex commercial packages such as SAP, Oracle, Peoplesoft, Lawson, etc. are likely to be running on a separate server and will need this capability.

The way the user will implement this capability is to write Java RMI server modules and place them on the target server where the modules will then in turn call local or other server modules to do the planned processing. The RemoteCall function is used in the Expression language to make the calls to the user-written modules. The user must know the name of the server where the RMI server modules are running, the name of the registered server object, the functions (Java methods) that are to be called and the parameters the server modules expect. This feature is more complex than the External Application Call and requires the user to have knowledge of developing networked applications in Java.

Typical uses for this feature are
The same uses as the External Call feature are also applicable here except the external modules are running on another computer over the network. Interface with commercial packages such as SAP, Peoplesoft and Oracle to help in gap analysis of reengineering legacy business processes to enterprise packages. The approach is to model the "As-Is" processes in SIMPROCESS, then model the "To-Be" processes that are implemented best practices in the product and determine the gaps and inefficiencies in the processes through SIMPROCESS simulations.

The SIMPROCESS model could be set up to make Remote Calls to server modules that would mimic the package's transactions and better determine the functional "fit" of the package to the required "To-Be" business processes. Interface with user written training programs that allow a student to play a role in the simulation. For example, a hand held application could be developed that is passed out to students to interact with the simulation while it is running. It would allow the students to see the impacts of their decisions in different scenarios.

External Entity Schedules
This capability provides the capability for external applications to  feed  entities to a SIMPROCESS model. For example, the scenarios in paragraph 4 could be reversed. A commercial package or user-written application could be running in production mode that would feed a SIMPROCESS simulation model that periodically simulates ahead to predict business impacts based on the production and operational systems.

The way the user will implement this capability is to set up an External Schedule in a Generate activity. The user must then develop a Java (or Java wrapped) module that calls the Application Programming Interfaces (API) described in the SIMPROCESS user documentation to generate the entities in the SIMPROCESS model. A SIMPROCESS model that has an External Schedule defined will wait for entities to arrive from the External Server module (which is running on the computer with the simulation). The user does not have to write the External Server module - it is distributed by CACI with SIMPROCESS. The user must write the external applications running on other computers on the network. The external application must know the name of the computer, the name of the model, the name of the entities, the name of the External Schedule and Generate Activity that it needs to send entities to during simulation.

This feature is simple on the SIMPROCESS model side but can be very complex on the external application side.

Typical uses for this feature are
The ability to develop user written entity generation routines to feed a SIMPROCESS model. These routines may be based on user proprietary statistical patterns, up-to-date production system metrics, user generated training interfaces to allow students to play "man in the loop" simulation scenarios or feed transactions from commercial software packages.

An even more interesting implementation of this feature is the ability to develop portions of a SIMPROCESS model and distribute it to separate computers to share the workload. When using the feature in this manner, the user does not have to write ANY Java code. They simply have to set up External Schedules in one model and use the RemoteCall feature described in paragraph 4 in another model to call the External Schedule server that is built in to SIMPROCESS. The screen shots below illustrate this capability. There are two models each running on a different computer. The TwoModelsWorkingA model has an Expression script in the PassOnEntity6 activity that does a RemoteCall to the TwoModelsWorkingB External schedule in the Genera1 activity.

In turn, TwoModelsWorkingB then has an Expression script in the Entity6Dispose activity that does a RemoteCall back to TwoModelsWorkingA, feeding the External Schedule in the Generate33 activity. This example illustrates how separate models can be hooked together to form an integrated modeling environment across the network using several different computers.

This capability may be of great interest to SIMPROCESS users that have developed separate models over the years to analyze different portions of their enterprise processes and now want to integrate the models together to have a broader range of analysis. The users could make relatively minor changes in their existing models to create a network of models.

At this point the simulation clock across the separate computers is not synchronized so the user must be aware of the impacts of separate simulation clocks on the separate computers. We will continue to enhance the external/remote capabilities to allow the users to identify a server simulation clock that will be used by all models at some point in the future.

Return to Top

Database Interfacing

Using Expressions you can retrieve information from an SQL database and you can modify an SQL database by inserting into tables, deleting from tables and updating tables. Knowledge of SQL is required since all queries to the database are SQL queries.

Database System Methods - there are six database related System Methods which can be used in Expressions

  1. OpenDatabase
  2. CloseDatabase
  3. ReadFromDatabase
  4. WriteToDatabase
  5. GetNext
  6. GetResult

Return to Top

Supplementing the Zachman Framework with CACI's RENovate and SIMPROCESS for Process and IT Systems Initiatives

Top management in every enterprise is under heavy pressure to improve performance. Among the biggest challenges facing management are those of quality, timeliness and change. These are the conditions forcing businesses to confront their enterprise architecture, which is the cornerstone for leveraging technology innovations to fulfill the expectations of a viable and dynamic enterprise.

For More on the Zachman Framework

Return to Top