implementation of object orientation in the application
SAS® System as application development platform
Let's start with a simple statement:
The speed of reaction on emerging developments becomes more and more important for the success of enterprises.
If you agree with this statement you should also agree to the following:
Looking into the past is not sufficient to set the course for the future.
Simulation and forecasting are means to meet the challenges of today.
Simulation Technology
well known examples
world models (Forester, Global 2000)
planning models (Ifo, Roland Berger)
company systems Thomas Witte: Simulationstheorie und ihre Anwendung auf betriebliche Systeme (1973!!)
different types
Monte Carlo simulation use random number generators and show distributions
production plants
queues
System Dynamics do not use random numbers, results are reproduceable
world models
housing markets
Simulation for Business Management Needs
Demands
easy access to different data sources
integrated reporting system (management information)
providing data for other information systems
easy and flexible definition of models
easy maintainance of models and further development
automatic documentation
The curent task was
Planning of Liquidity and Profitability
simulation of the main accountancy
input from existing forecasts and estimations
modelling of processes with delays
2000 accounts and auxiliary variables
support for the recognition of errors during the model definition
step by step approach for the creation of the models (object orientation)
complete documentation including cross reference lists
easy further development and refinement
Main Structure
Object Orientation?
Due to a number of reasons the object oriented approach has to be modified:
development of a model by evolution Starting with a simple model it must be possible to further develop it.
classes will be further developed (changed)
variables may change their class
this requires methods to balance a new class structure with an earlier developped model under the control of the developper
class model
strict control of types
the class model defines the sequence of calculations
default calculations
limited inheritance
test program to control the consistency of a class model
documentation Various documents are created automatically from the class and model definitions.
enhancements The actual version of OSiPT has an implementation of "dimensions" using the "WS Planungs-Klassen". A dimension is a hierarchical definition of items. A class definition may be linked to such a dimension. Then a model variable is a vector of these items and will be automatically summarized after calculations have been performed according to the definition of the class. In the model definition phase you cann address the variable itself as a vector and the individual items.
Integrated Application
integration of data access and preparation
execution of the simulation and management of different scenarios with comments and documentation
modularisation deviding a model into submodels and managing the execution
reports for executives using a report generator
what if analyses using codeless development of panels. Each variable of the model can be placed on the screen as input or display field. Tables and charts are supported as well.
comparisons of plan and actual
interactive information system with drill down paths
Implementation using the SAS System
The most important reasons for implemening such a tool using the SAS System were the knowledge of the developper and the fact, that most of the data was already stored in a SAS database.
But there are also other reaons for using the SAS System:
application development environment
short development time
flexible adjustment to new demands
support for prototyping concepts
investment securty
the programs are easy to understand and easy to maintain by the customer
they are portable to any platform supported by the SAS System
data access and preparation
datastep compiler and SCL(to compile the class and model defintions)