The goal of the project is the creation of an effective tool for solving
business trade-off problems. This software allows designing cost estimation
models and using them to make business decisions (models simulation).
Everyone knows about Cost Modelling as a mental work, since every person
faces the problem of making a decision under uncertainty. Take, for instance,
catering — one has to decide on which food and drinks to
buy to satisfy guests but minimize the expenses. Buying a car is also a tough
decision — choosing the one from the variety of models proposed
by the market, considering credit conditions, etc. Problems like these are usually
solved without using computer programs, but rather relying on the personal
experience and intuition. However, when it comes to the corporate activities,
it is more reasonable to build a model and evaluate options. For example,
buying component parts at one supplier yields better prices, but the
transportation cost is somewhat higher than by the closer one with higher
prices. Even this simplest model requires some calculations to find an optimum.
A very handy tool for cost modelling is Microsoft Excel. Nowadays every
manager or engineer can build a model by means of Excel — i.e.
put formulae into spreadsheet cells that show the dependencies between cost
indicators and parameters, enter the data, perform case study calculations,
build plots.
The question is: what else is needed? The necessity for extra tools emerges
when the model spans a huge number of cases or when the model complexity
reaches thousands of formulae. Advantages of spreadsheets — simplicity,
clearness, keeping the dependencies in the formatted cells along with the
input and output — turn into incoveniences when complexity of the model
increases. Use of spreadsheets precludes structuring and highlighting
components of a complex model. It is hard to trace long chains of references
between cells, especially references between different sheets —
the more complex a model is, the more it looks like spaghetti.
Inseparability of data and formulae impedes the evaluation of a large number of
cases: it is either necessary to enter new input parameters every time storing
the results outside the spreadsheet or to clone the spreadsheet populating it
with different sets of data. One may also further complicate the model by adding
new sets directly into the document.
Alternatively, it is possible to develop a special software package
implementing the model (since a formula in the spreadsheets implicitly gives
rise to the program code). However, in order to create such a model, software
developers have to step in, and this means cost escalation. Financial
analysts and brokers sometimes use this kind of approach, but it is unlikely
that it would be acceptable for industrial managers, designers and engineers.
The COSTMOS project suggests an intermediate compromise solution, sitting
between the poles: Excel spreadsheets and explicitly programmed models. COSTMOS
implements an object-oriented approach to the cost model, using the same
advantages that ensure the success in object-oriented software design and
development.
The model is defined by a set of input parameters and output cost indicators
with the dependencies in-between. The notation for the dependencies formulae
is not any harder than one in Excel. But this is only basic capabilities:
an expert can create not only simple formula, but complex algorithms by
means of Object CML (Cost Modelling Language). Using wizards he or she
can import the dependencies (Excel formula, tables, plots) from office
applications and files.
Moreover, it is possible to define “external modules” such as
Microsoft Excel workbooks and other documents (applications) supporting OLE
automation and functioning as OLE servers. The CML language includes usual
access to object properties and method calls as in Visual Basic, Visual FoxPro,
C# and others popular programming languages. So “input” values
are passed to an external module (placed into corresponding Excel worksheet
cells). Then the module is evaluated and “resulting” values are
taken (from the appropriate cells). It is the shortest way to integrate
exisiting spreadsheets into a large cost model. Cost Modelling Studio
contains
ExcelExt! utilty — simple
freeware application for processing of simulation models based on Microsoft
Excel workbooks.
Designed models can be structured into larger ones by including one model
as a submodel of another. Obviously, the designer of a large model should
not go into the details of the submodels he or she uses — perfect
analogy with classes and subprograms. The nesting can go infinite. This
allows creating even more complex models, performing successive
decomposition and splitting the work among several experts. Finalized
model is processed by Object CML compiler, which generates efficient
executable code (largely platform-independent; currently — for
Windows and Unix FreeBSD platforms). After being compiled the model can be
simulated, i.e. it can be evaluated using the following two tools: Case
Study and Analysis Browser.
The first is intended for calculation and comparison of several cases with
fixed parameter values (usually ten to hundred cases). The results can be
visualized as plots, bar or pie charts, transformed into HTML/XML form for
Internet publishing, exported into Excel or other file formats.
The second tool — Analysis Browser — is used for
profound analysis which involves calculating thousands of cases. User can
specify one or two intervals for the parameter values, thus defining 2D or 3D
cut of many-dimensional solutions space hypercube. The results can also be
visualized as 2D or 3D charts, exported, etc.
Model Designer Toolkit described above is a desktop application intended for
Microsoft Windows 2000/XP environment. Access to models can be granted to a
wide circle of users (without revealing model dependencies and algorithms!).
This can be done via uploading the models onto special web-server that
hosts models and users databases, solver for models simulation and
administrative tools, regulating access to the models. Current implementation
uses freeware database management system PostgreSQL hosted on Unix FreeBSD
server, although it can be readily implemented on any other SQL-compatible
DBMS, for instance Microsoft SQL Server.
To access and evaluate the models there is a slightly truncated version of
Analysis Browser available. It runs directly in Internet Explorer and allows
studying models over the Internet. Model designer manages the access to his
own models, granting execution/copy permissions to everyone, specific groups
or single persons. Since capabilities of Internet Explorer-based "thin
client" are limited, a user has an option to download and install (on Windows
XP/2000 workstation) special “thick client” — desktop
application, that can access the web-server, download the models (observing permissions) and
evaluate them locally using all features of Case Study and Analysis Browsers
tools described above.