Note too that, to the best of my knowledge, the source code for the applications
listed on this page is NOT generally available. This is not to say
that the source is absolutely unobtainable -- several authors (e.g. Alex Gofen
and/or Robert Lewis) have indicated that they
might make their source code available under certain conditions (for instance,
in the event that an interesting research collaboration is offered to them.)
Applications for which the source is universally available are listed
elsewhere at this site. (NB: "universally
available" means simply that anyone with sufficient cash can obtain the source.
How much cash is actually sufficient can vary anywhere from freeware to phenomenally
expensive...)
Finally, if you or your employer have written an application that you feel should be listed
on these pages, please contact me with all of the
details. I'm looking forward to an ENORMOUS
expansion these listings!
On this page you will find a list of scientific, mathematical, and engineering
applications that are written in Pascal. I've started this page to
publicize the fact that Pascal is NOT a toy language or simply a "teaching
language". Quite to the contrary, my position is that Pascal is a robust general
purpose language, one that is emminently suited to the production of demanding
scientific and engineering applications. Consequently, this page is intended to
give some additional visibility to real world applications in science and industry
that are written in Pascal.
| Cartes Du Ciel: Sky Charts from Patrick Chevalley | |
| The Chemists Workbench from L.R. Good & Son | |
| Hilton Evans' ChemPen family of chemical analysis applications | |
| COMPASS Cave Survey Software | |
| Conductor: a neuron simulator by Robert Lee | |
| Software for ecological analyses and environmental evaluation from Pisces Conservation Ltd. | |
| e-Maging: real-time communications with a femtosecond laser confocal microscope | |
| GeoBlock: modelling and visualization tools for geoscientists | |
| Jarnac & JDesigner: Delphi applications for the systems biology community | |
| MicroDEM, a full-featured GIS from Peter Guth | |
| Ivan Krastev's Modern Optical Design and Analysis Software (MODAS) | |
| The MODFLOW-GUI for viewing 3D finite-difference ground-water models | |
| MRIcro: a medical image viewer by Chris Rorden | |
| OPgm: a program for statistics and chemometrics | |
| PARcalc: modeling the receipt of solar radiation on the Earth for ecological applications | |
| A radiation monitoring application used by the Swedish Radiation Protection Authority | |
| Programs for structural synthesis, from Dmitry L. Rakov | |
| V++: a scientific image processing application from Digital Optics |
| DataLab: a program for statistical data analysis by Hans Lohninger | |
| DELiA: a computer algebra system written in Turbo Pascal | |
| Statistical analysis programs from ESB Consultancy | |
| Expression Buddy from Jim Presley & Sons | |
| Fermat: A Computer Algebra System by Robert Lewis | |
| Ben Crain's NODE: Numerical (solutions) to Ordinary Differential Equations | |
| Pop Tools: a statistics engine for Microsoft's Excel spreadsheet | |
| Primo: Marcel Martin's primality proving program | |
| SimStat and other statistical tools from Provalis Research | |
| Statistics utilities from Chris Rorden | |
| Alexander Gofen's Taylor Center for the solution of ODEs |
| ArrayTran: numerical analysis from Hazel's Country Computing | |
| F. Dail Singleton's Digital Analytics | |
| Neurocontroller design using Elegance from Pieter Spronck | |
| Janez Makovsek's FFT Properties: a spectrum analyzer written in Delphi | |
| The Integrated Machinery System (IMS): industrial automation with PLCs by Impuls Technic Aps | |
| OMAX Corporation's CAD/CAM control system software for their JetMachining Center | |
| Jaroslav Sklenar's PetriSim: a Discrete Simulation Environment | |
| Martin Lafferty's Production Robots Engineering Ltd. | |
| RockWorks, from RockWare, Inc. | |
| Software for the automotive and aeronautical industries from SimDesign | |
| Statics 2000 and other civil engineering software from Multisoft | |
| Structural engineering applications from Survey Design Associates Ltd. | |
| TF32: Paul Milenkovic's time-frequency analysis package for 32-bit Windows |
COMPASS is a software package designed to edit, process, analyze and view cave survey data using an IBM PC compatible computer. The programs in the system allow you to enter cave data, revise the data, generate statistics on the cave, close loops, view plots from various angles on the screen and finally, print finished quality plots on almost any of dot matrix, laser, ink jet printer and a variety of line plotters.The current version of COMPASS is written in XPL, C++, Pascal and Delphi. The COMPASS webpage displays some very impressive graphics depicting a model of Lechuguilla Cave...and apparently the software lets you take "joystick fly-throughs" of completely mapped caves.
Conductor is an interactive neuron simulator and analyzer. Models can range from multicompartment to multicellular, and the simulator features the ability to calculate derived model outputs in addition to simple time-series voltage trajectories, calcium dynamics, and channel gating dynamics. Model parameters can be automatically tuned to drive these derived model "behaviors" toward specified goals. Additional analytical and search capabilities include second order sensitivity analysis, generation of "random" variations in parameters, and the ability to analyze and optimize the simulator itself improve its performance.Sadly there is no URL for Conductor. If you'd like more information about the program, try contacting the author directly.
(most of the text above was appropriated from the PISCES website and occasionally augmented by an on-line brochure describing the many services offered by PISCES Conservation Ltd.)Demo versions and complete documentation for all of the programs listed above are available for download at the PISCES website.
Geoblock is an application for 3D modeling, database management and visualization of geoscience datasets. It is designed to use for mineral deposit exploration, ore reserve estimation, mine planning and simulation of processes in mining sites.
This software delivers with the open source codes as integrated system for geoscientists, mainly geologists, survey and mining engineers. One of the purposes of this project consists also in implementation of multi language GUI support for an easy localization of the program.
Geoblock 1.5.3 for Windows was released 2002-11-04
GeoBlock is written in Delphi, and (as you'd expect for an Open Source application) the complete source is available at the Geoblock website.
MODFLOW-2000 simulates steady and nonsteady flow in an irregularly shaped flow system in which aquifer layers can be confined, unconfined, or a combination of confined and unconfined. Flow from external stresses, such as flow to wells, areal recharge, evapotranspiration, flow to drains, and flow through river beds, can be simulated.
MRIcro allows Windows PCs to view medical images. It is a standalone program, but includes tools to complement SPM (software that allows neuroimagers to normalise and analyse MRI, fMRI and PET images). MRIcro allows efficient viewing and exporting of brain images. In addition, it allows neuropsychologists to identify regions of interest (ROIs, e.g. lesions). MRIcro can create Analyze format headers for exporting brain images to other platforms.MRIcro is written in pure Object Pascal, and runs under both Windows (a 100% Delphi implementation) and Linux (100% Kylix). It is well supported by an on-line users guide, a tutorial that includes step-by-step instructions and a sample MRI scan, a special set of 3D volume-rendering instructions and its very own MRIcro FAQ webpage.Features
- Converts medical images to SPM friendly Analyze format.
- View Analyze format images (big or little endian).
- Create Analyze format headers (big or little endian).
- Create 3D regions of interest (with computed volume & intensity).
- Overlap multiple regions of interest.
- Rotate images to match SPM template images.
- Export images to BMP, JPEG, PNG or TIF format.
- Yoked images: linked viewing of multiple images (e.g. view same coordinates of PET and MRI scans).
Patrick hopes to finish his Ph.D. later this year, and until then the Delphi source code of the model is not available. Some offshoots of his code are beginning to appear in the public domain though, including
(A tip of the hat to Patrick van Laake for kindly providing the blurb above...)
V++ is a big powerful product, and I'm afraid I cannot do it justice with a brief blurb on these pages. Fortunately Digital Optics has taken care of all that quite nicely. For a quick overview, check out their press release announcing V++ Version 4.0. And for those interested in taking a more in-depth look, additional web pages provide an extensive feature list and complete set of product specifications.
The Digital Optics crew clearly are committed to Object Pascal as their development language of choice. Quoting Gary Prentice here...
V++ is written almost entirely in Borland Delphi 5. It also includes some code written in assembler where we need extremely fast performance.All in all I have to say that this is very impressive stuff...V++ incorporates a standard Windows GUI but an interesting feature for readers of your list will be that our built-in automation language is based on Pascal (rather than the ubiquitous Visual Basic). This gives V++ many obvious advantages and we are very proud of the power and flexibility of VPascal. Differences from standard Pascal include the fact that variables are implicitly typed and that VPascal is fully vectorized. The last point means that it handles 1D, 2D and even 3D arrays the same way as ordinary variables.
This is a critical feature for us since VPascal is designed for processing images and video. For example, averaging three images can be done as simply as this:
Result := ( Image1 + Image2 + Image3 ) / 3 ;Having a Pascal-based language gives us the ability to handle image expressions with ease - this is a significant competitive advantage for us. It's also interesting to note that the VPascal compiler is itself written in Object Pascal!
| DataLab |
DataLab is a program for exploratory statistical data analysis. The
DataLab webpage describes
the program as follows:
DataLab is quite different from other statistical packages in that it does not claim to cover all statistical techniques. Moreover, DataLab has been deliberately designed to be not a full-featured, blown-up package but rather to be a handy and easy-to-use tool in everyday work with experimental data. It provides only some of the more fundamental methods and the selection of these methods has certainly been guided by a personal need of the author. Therefore DataLab provides tools for both the visualization and interpretation of data.(I personally applaud this kind of effort...not every problem in data analysis needs the overwhelming feature set -- and concomitant complexity -- that programs such as Axum, Origin, or SigmaPlot bring to bear...) |
| Simulations as a learning tool |
The simulation series is not a single program, but instead a collection of separate executables that are intended to be used as supporting tools in teaching math and science. Various topics in mathematics, statistics, physics, and chemistry. are presented. |
| Coimbra | Coimbra is a document management tool specializing in the creation of electronic textbooks (e.g., see the author's own Teach/Me - Data Analysis, published by Springer) |
DELiA, written in Turbo PASCAL by Bocharov and his collaborators [8], is a stand alone computer algebra system for investigating differential equations.CiteSeer provides the following references for DELiA:
| ESBstats | is a statistical analysis and inference package capable of handling a broad range of computational data analysis tasks. The ESBStats package includes on-line help, tutorials, graphics, import/export capabilities, a customizable MS Office 97 Interface, an integrated scientific calculator, spell checking, and a host of other goodies. And of course it comes with a tremendous list of computational and data handling features) |
| ESBPDF Analysis | is a tool that provides everything needed for using and manipulating both discrete and continuous probability distributions. ESBPDF "knows" all about the Binomial, Poisson, Normal, Exponential, Student t, Chi Squared, F, and LogNormal Distributions and is completely conversant with the inverses of the Normal, Student t, Chi Squared, F and LogNormal Distributions Other features include Lists of Binomial Coefficients, Factorials and Permutations; Calculations of Gamma and Beta Functions; and Printing of Standard Normal Tables & Critical t Values A full-featured trial version of ESBPDF Analysis is available for download at the ESB website |
| ESB Calculator Pro | The pro version is an Enhanced Scientific Calculator with infix notation, support for full exponential notation support, numerous built-in scientific functions, a paper trail, a results history list, built-in and user-defined constants, and a comprehensive help file. A freeware version containing somewhat reduced functionality is also available. |
| ESB Unit Conversion Utility | A Win32 utility to easily convert between units of measurement |
(Thanks to Jim Presley for the above description.)
"...does arithmetic of arbitrarily long integers and fractions, symbolic calculations, graphics, and other numerical calculations. It is extremely fast and extremely economical of space. The main version that I care most about is oriented toward polynomial and matrix algebra over the rationals Q and finite fields (hence the name "QFermat"). On the Mac side, there are versions that run under MPW for 68K Macs and stand-alone versions for PPC. There is also a "float" version for graphics. All versions are available here."By all appearances Fermat is an actively developed (last update: 13 July 2001) and well documented (by a 95 page PDF user's guide) program. The author backs up his claim that "Fermat is a state-of-the-art research tool for real problems" with a list of research projects and scholarly publications in which his software played a crucial role. And for those of you who might be interested in exactly how a CAS works, there is this tantalizing tidbit at the Fermat FAQ
a numerical solver for Ordinary Differential Equations, designed as a kind of visual tutorial for students of numerical methods.According to the accompanying helpfile/tutorial, the current version of NODE handles two general classes of problems...
In addition to NODE, Ben also distributes two other useful exploratory tools:
I had the priviledge of test driving an earlier version of NODE. It was a useful tool back then, and it's better now. At the moment (21 September 2002) all of Ben's programs are beta versions, and can be downloaded and used free of charge. And for those of you do decide to take any one (or all!) of them for a spin, Ben asked me to remind you that "they are actively under construction, far from complete or bug-free. I post them in their present form because they contain enough functionality to be useful to students. And I (Ben Crain, that is!) would really like to get bug reports, or any comments/suggestions from users."
(FWIW, the About page
of the
Primo is a primality proving program based on the ECPP algorithm: Elliptic Curve Primality Proving. Given positive odd integers, Primo tests whether these integers are prime, and if they are it produces primality certificates. Primo is suitable for the checking of crypto-primes and to prove whether they are actually prime... or not.Primo is a genuine prime number powerhouse: it currently holds the record for the largest prime number (5020 digits) ever discovered using the ECPP algorithm.
| SimStat | is a general purpose statistical analysis package that delivers descriptive statistics (mean, variance, standard deviation, etc.), frequency analyses, multiple regressions, time series analyses, reliability analyses, and whole host of other goodies |
| StatItem | for performing classical item analysis on multiple-choice item questionnaires. For each item in the scale, StatItem can compute various statistics to assess their discrimination value and their contribution to the overall internal consistency the scale |
| WordStat | content analysis software (with many numerical methods like cluster, multidimensional scaling and correspondence analysis, etc.) |
| Italassi | a freeware multiple regression interaction viewer |
(Thanks to Normand Peladeau of Provalis Research for alerting me to the SimStat family of programs. The italicized descriptions in this blurb were "borrowed" from the Provalis Research website.)
| Statilite | allows you to compute a number of neuropsychological statistics, including binomial probability, chi-squared, Fisher exact test, D-prime, and geometrical functions. |
| XLGen | works with Excel to provide rapid data analysis, including descriptive statistics, analysis of variance, t-tests, f-tests, and outlier filtering. |
- Elegance, which stands for Engineering Laboratory for Experiments with Genetic Algorithms for Neural Controller Evolution, is a program designed to experiment with the use of genetic algorithms to design controllers, especially neurocontrollers, which need to work in a reinforcement situation.
- Genetic algorithms (GAs) are search algorithms based on the principles of natural selection and natural genetics. A working knowledge of GAs is necessary to be able to work with Elegance. Neither this manual nor the on-line help system will tell the user much about GA theory. Those who wish to read about it, should get one of the many books about it. I heartily recommend Goldberg's Genetic Algorithms in Search, Optimization & Machine Learning (Goldberg 1989).
- Neurocontrollers are neural networks which are used to generate the input for a plant, so that the plant will produce a certain output. A plant is a process, which maps input to output and which may have internal parameters. More information about plants is found in the on-line help system. Neural network theory, however, is considered to be something the user is already familiar with. As a reference to neural networks, I recommend Alexander & Morton's "An Introduction to Neural Computing" (Aleksander 1990).
a PC based report oriented real time Scope/Spectrum analyzer. It features parametric windows, peak interpolation, rich set of peak marking features, on-line wavelets decomposition, higher order spectral analysis, cross and auto correlation, cepstral analysis, cross spectral analysis, FIR filter designer, decimation and interpolation, advanced printing and high quality charts. Special care has been given to accurate phase angle measurement. FFT Properties is one of the few frequency analyzers in the world that features extremely accurate non-parametric phase angle measurement of non-periodic signals and linear phase peak filtering.To allow users to make modifications to the existing program, Janez also offers the complete source of FFT Properties for sale. However (quoting the FFT VCL blurb at FFT Properties website), the FFT Properties 3.5 VCL is NOT royalty free. The distribution of derived work from FFT Properties 3.5 VCL requires one license of FFT Properties 3.5 shareware for each copy of the derived work.
...used Delphi 5 to make a system to control industrial machinery which is called Integrated Machinery System (IMS). The system is very complicated and uses a lot of DLL plugins, as well as a script language. The system is comprised of several executables:
- an IMS server,
- the IMS Viewer,
- and PacManager.
The server makes all the communication with the machine (actually it's a PLC), the Viewer is a MMI (Man-Machine Interface), and PacManager is a palletizing CAD/CAM program. They all communicate with each other through TCP/IP. The whole system is about 3-500,000 lines of pascal code. All made in Delphi.Delphi doubters disperse: IMS is unquestionably an industrial strength application!
The OMAX software is all written in Delphi 5. According to Carl, OMAX "chose Delphi because it is very robust for this kind of application, and [they] have been very happy."
PetriSim is a native DOS application that apparently works fine under Windows 3.x/95/98/NT/ME). To create user models you need Turbo or Borland Pascal 7...a restriction which should present absolutely no impediment to most (if not all) of the visitors to this website...
I design and build large SCARA type palletising robots. All the application software is written in Delphi - including trajectory generation and implemention. There is no external servo controller. Servo interrupts are handled by a kernel mode driver (written in C) , but the motion buffers are kept full by APC routines written in Delphi and running in user mode. My applications simultaneously render a 3-D live image of the robot and its surroundings using OpenGL.What Martin didn't say is that he has written a suite of Delphi components that appears to provide everything necessary for OPC server programming using Delphi. An evaluation version of prOpcKit library is available for download, and the licensed version comes with complete source code.
I also do OPC clients and servers for industrial applications - SCADA and so on.
Reading Martin's post for the first time sent me scurrying for a techno-dictionary that would help me decipher all the acronyms. (My familiarity with robot terminology is limited to whatever Issac Assimov included in his I, Robot series!) For those of you who might be equally clueless, here's a partial glossary...
(The italicized text immediately above was swiped shamelessly from the
RockWorks Overview
page on 6 September 2001.)
The current version, RockWorks2002, is now hosted on a slightly different set
of operating systems (Windows 98 / ME / NT / 2000 / XP (with NT/2000 recommended)).
In addition, RockWorks2002 adds an OpenGL 3D viewer and several new analysis tools
and plot types.
Update, 23 Febrary 2003
It turns out that Rockware2002 is not the only piece of software written in Delphi
by the folks at RockWare Inc. Thanks to a
tip from Molly Mayfield at Rockware Technical Services I now know about
LogPlot, which
(according to the LogPlot homepage)
is "an easy-to-use boring log plotting software program with almost unlimited
flexibility in log layout", and "has been used by geoscientists since 1983
to display their geotechnical, environmental, geophysical, mud/gas, and mining data
as a graphic boring log".
Nils describes (in italicized text) the products produced by SimDesign as follows...
MPOS - Motion Platform Optimisation Software
MPOS optimises the geometry of 6 degree of freedom "stewart platform" flight simulator motion systems, based on design requirements. Requirements are usually specified as a set of weights for each motion, e.g. X, Y, Z movement and pitch, roll, yaw rotations. Another input is the minimum required dexterity of the system throughout its workspace. Checks are done to see if the resulting design is safe. The software produces an optimum architecture layout (e.g. leg positions, actuator lengths). There are many options available to configure the design process to the users wishes. However, the software is quite complex, and cannot be used without substantial prior knowledge of motion platform design.RoboFit
Since its first creation in 1998, MPOS has been constantly updated to reflect newest design challenges. MPOS is licensed to the Dutch company ADSE, and is for sale to other companies under special conditions. MPOS has been successfully utilized in projects for NASA and Boeing, and in several in-house projects of ADSE.
At the SimDesign website you can read a bit more about specific applications of MPOS to the problem domain. (And if you're interested in a very detailed look at the technical background underlying the development of MPOS, check out Integrated Design of Flight Simulator Motion Cueing Systems, a paper presented at the Royal Aeronautical Society Conference in London, May 2002 and available via PDF at the SimDesign website. Note too that virtually all the graphics in this paper were generated by either MPOS or WASHOUT (used in combination with Matlab for the 2d and 3d rendering))
RoboFit is a robot guidance application for use in automotive plants. This industry strength application utilises laser-based sensors to measure car parts or bodies and provides path correction data to connected robots through many types of interfaces (RS232, RS485, OPC, etc). RoboFit is based on Windows NT, and can be controlled remotely over TCP/IP. It works in-line, and allows all measurements to be taken in under one second, so the fixturing part takes only a fraction of the cycle time of the process.
If you are unfamiliar with the subject area (as I am), the blurb above (kindly provided by Nils Haeck) may prove to be some rough sledding. Fortunately, the SimDesign website provides a nice explanation of the RoboFit measurement concept and lists a number of potential applications for the RoboFit sofware.
The Washout Calculation Tool
SimDesign's washout calculation tool began its life as a Delphi port of FORTRAN code of Motion Washout algorithms described in Nahon/Reid's "Flight Simulation Motion-Base Drive Algorithms" (a standard work for flight simulator motion washout design). Now however this software is much more than just a simple port, as it also allows import of many different formats of flight historical data, is able to visualise this data in graphs, is able to visualise the final required workspace as a point cloud with circumscribing ellipsoid, and can put this data into Matlab to create graphs.Like MPOS, the washout calculation tool was also successfully utilized in projects for NASA and Boeing and in in-house projects of ADSE.
ABC-View Manager
ABC-View Manager is not typical of the applications listed on this page, as it has no immediately obvious use in science, mathematics, or engineering. ABC-View Manager is in fact a shareware image viewer and file manager. I list it here because under the hood ABC-View Manager uses some neat fuzzy logic techniques to recognize all "similar images" among potentially millions of image files on a disk. The SimDesign folks have also expressed a willingness to make the "similar images" functionality available as separate component. And if your requirements dictate string or text searching rather than image analysis, SimDesign has also produced a spin-off from the image search engine in the form of a "fuzzy-text matching" plugin. Contact Nils Haeck at SimDesign for more information on this...SimDesign also offers several Delphi number-crunching components aimed at the high-end market.
| Statics 2000 | A very sophisticated and user-friendly Space Frame Analysis computer program.
It can face any type of multistore buildings from Reinforced concrete. It is
fully automated and produces full drawings with structural plans, ready to be
plotted. It is really fast, very easy to use, and you can play and make changes
really easy.
Freeware Version: The full program Statics 2000 but with reduced number of beams and columns for each floor. |
| Pepe 2000 | Analysis and design of slabs with 3-node and 4-node finite elements. The design is based on the Greek and EC codes for reinforced concrete. |
| MetalCAD | Analysis and design of steel structures according to Eurocode 3 |
| Toixos 2000 | Analysis and design of retain walls from reinforced concrete. |
Written in the Delphi dialect of Object Pascal, TF32 directly calls the Windows API using its own set of object classes and does not use the Delphi VCL (Visual Component Library) classes.
(My thanks to Paul Milenkovic for alerting me to the existence of TF32 and for providing the descriptive text above.)