HACK, D.R. Utilization of scripting languages for customization of mine planning packages by specialized users.

Application of Computers and Operations Research in the Minerals Industries, South African Institute of Mining and Metallurgy, 2003.

Utilization of scripting languages for customization of mine planning packages by specialized users
D.R. HACK
Halstead GeoNumerics, Inc., Portland, Oregon, USA

The complexity of commercial mining software has gained rapidly over the past decade as hardware developments have surpassed software capabilities at a staggering rate. Software users, recognizing the limitations of off-the-shelf applications, have adapted embedded scripting languages. Custom programming has always had a vital role in mine computing innovations, yielding a dynamic research environment in industry and academia. Fields such as industrial minerals can benefit from customization of existing software, since the majority of mine planning software was designed for large metal mines. Different customization approaches utilizing embedded scripting languages are presented, with examples of sand and gravel applications in development. Following implementation by Surpac and development of the Surpac Command Language, Tcl has been widely applied. Mintec introduced Python, also extensible and portable amongst various operating systems, for use in their MineSight products. In early 2000, Gemcom introduced the use of Microsoft Visual Basic for Applications, widely used customization tools for a decade. Datamine implemented a flexible multi-language approach, with all program commands and processes available through the COM Server Interface. This extends customization from the existing macro language to scripting in HTML, JavaScript, or any language that supports COM.

Introduction
Computer methods have been an integral component in the daily life of operating mines for more than a quarter century. Applications range from pre-packaged off-theshelf programs to massive IT management systems customized by the vendor. The next logical step is end-user customization. Users from sectors for which the software was not originally designed, such as industrial minerals, will benefit particularly from customization, by adapting existing programs to their narrow requirements while utilizing built-in power and sophistication. Consequentially, developers have recognized scripting applications as an inroad to unexplored market sectors. There is not yet a wide variety of industry specific solutions to describe, as computer usage for mine planning is fairly new for many sectors, such as sand and gravel. Solutions generally begin as small tools and proceed through several generations to become more sophisticated modules useful to others. The time to maturity of custom solutions from user to commercial marketplace and/or availability to other users can be considerable. Therefore, this paper will serve more as an overview of aspects relevant to impending development, and a few imminent applications will be discussed.

Brief history of scripting languages relevant to mining applications
Astounding increases in computer speed over the past few years have fostered a comparable increase in the power and sophistication of scripting languages. In addition, the

emergence of web-based applications has popularized embedded scripting languages since scripts can be embedded in HTML documents. Scripting, however, has been around for at least forty years. A ‘scripting language’ is a programming language supported by a host program. A scripting program (or ‘script’) is useful for the automation of complex routines or advanced features within the host program. In addition, a scripting language can be used to integrate components and applications. Job Control Language (JCL) is reported to be the earliest scripting language1, used in the 1960s to sequence job steps to arrange the flow of data in card decks for OS/360. Unix shells, such as sh, csh, and ksh, became popular in the early 1970s, and remain so, for typing interactive commands and automating common tasks. The next milestone was the development of REXX in 1979 was the next milestone relevant to the advance of scripting applications in mining. REXX was used to simplify programming tasks on IBM’s CMS timesharing systems2, and remains influential as a macro language for arbitrary application programs. This concept, critical in the emergence of embedded scripting languages in mining, means that macro languages and interpreters do not need to be designed for each application, as long as the application supports the REXX programming interface. AutoLISP and Visual Basic for Applications (VBA) are early customization innovations that remain in wide use. AutoLISP, a scripting language embedded within AutoCAD and a direct descendant of XLISP, introduced many engineering software users to the concept of scripting. AutoCAD Release 1 was shipped in December 1982, and AutoLISP has been included with AutoCAD since version 2.18 (Release 6) in January 1986.

UTILIZATION OF SCRIPTING LANGUAGES FOR CUSTOMIZATION OF MINE PLANNING

115

Other independent developers. but the Scl extensions map directly to code that has been implemented using C++.tcl extension) of a given task. or broadening the capabilities of the limited macros developed by users in the past. survey data processing programs. back then. 116 APCOM 2003 . Much of this success can be attributed to Tcl’s freeware/open-source availability. was critical to Surpac’s implementation of Tcl in 1998 with the release of Surpac Vision 4. Mining software developers beyond Surpac are introducing Tcl scripting capabilities. In this case.0. enabling client-side and server-side scripting of COM objects through IDispatch and IDUnknown derived interfaces. and freeware languages such as Tcl and Python. MineMax is developing methods to use Tcl for automation in iGANTT12. Scripting is applied to mine planning packages in two ways: customization of reports and other output. Tcl was designed to be ‘extensible’. and Project files. and popular Windows application like CorelDraw5. such as with CSV format files used by MineMax’s iGANTT6. Report customization is more common at present than automation. which was critical to the emergence of scripting in mining applications. the use of embedded scripting languages in mining applications is a logical progression. Australia produces the Tcl-capable MineMax Scheduler and the Gantt-chart development program iGANTT 6 . VBA. rather than a scripting. and by 1997 VBA was embedded in all Microsoft flagship products. there are no performance penalties as computationally intensive sections of code are executed through compiled code rather than interpreted code8. Mainstream commercial users eventually implement these developments. is a Vision resident version of Tk that employs Java and Swing technologies 8 . Tcl The most significant advances in mining software customization have involved the Tool Command Language. develop Tclbased extensions and external modules for Surpac. Though the primary goal was to replace the CMD macro language. Graphical User Interface Design Object. which has fostered a large global community active in the development of extensions and adaptations for a wide range of applications. MineMax of Perth. and procedures 7 . was created to provide an interface with the data objects used internally by Vision. such as variables. a pure Java implementation of Tcl developed by Ousterhout’s team7. How scripting is applied to mining software The emergence of customization in mining software was generally coincident with the popularity of scripting languages in Microsoft products a decade ago. The Perth. control structures. to portability with popular Microsoft products such as Excel and Access. Ousterhout also developed Tcl’s affiliate Graphical User Interface (GUI) toolkit Tk. Tcl was developed in 1988 by UC Berkeley professor John Ousterhout. though the full integration of mining applications in a web environment has yet to be the primary innovation as developers transition from being software vendors to IT management companies.VBA is a ‘hosted’. and the automation of tedious and frequently repeated menu-driven routines. Therefore. part of the Visual Basic family of development tools. stand-alone modules can be created that operate on externally available data structures. such as Tcom11. Because of its embeddability. user-based customization became broadly popular. it could be used to create new applications that were scriptable and extensible without creating a whole new language. or Tcl. Using various freeware and commercial ‘wrapping’ programs. As suggested above. Microsoft began licensing VBA for use with other developer’s software in 1997. Coincident with Tcl implementation. However. as well as the practicality and flexibility of implementation by users. Australia office of Surpac’s South African agent Digital Mining Services started the Z-Files Initiative9 in 2000 as the official distributor of third-party solutions. Beyond Surpac’s internal programmers. The Object Basic project in 1990 was initiated to create an object-oriented version of BASIC4. language but its implementation in mining software is as a scripting tool for customization. Tcom is a Windows-based Tcl extension that provides commands to access and implement Component Object Model (COM) objects. have been implemented by Surpac developers to extend capabilities from automation and custom reporting within Vision. or Scl. most customization was based on macro languages and internal macro procedures (such as Surpac’s CMD macro language). became popular because of the need for ‘automation’ (interacting with and accessing the host application’s object model or the object models of other applications) amongst Windows-based applications3. The resultant Windows portability enabled data input/output connectivity with Excel. The core of each Surpac Tcl implementation is a recorded macro (with *. integrating use of off-the-shelf programs with more sophisticated programming/ customization historically performed by vendors. the Tcl extension Surpac Command Language. Report customization can be based on externally available data structures and is amenable to customization. who wanted to build a cross-application robust interpreted language with a generic set of facilities supplied by the interpreter. that is easy for each host application to add its own features to the basic features of the language. The embedded interpreter compiles scripts at run-time. This script is then converted into a callable Tcl procedure. with over 250 current partners including numerous CAD and GIS platforms. which would require access to program architecture. Scl/Tcl commands are interpreted at run time. This was also important in the emergence of scripting in mining applications. This is coincident with the emergence of scripting in web-based applications. because automation requires access to program architecture. Jacl. Third-party innovations. such as MineSched International of Vancouver BC10. Access. accessible via a GUIDO form that collects user input. Scripting languages used in mining software Vendors have developed two different approaches for implementation of a scripting language: proprietary languages such as VBA and VBScript. Routines can run in the background or be available for user input. or GUIDO. independent developers have developed Scl/Tcl/GUIDO based solutions for Vision. scripting programs such as Tcl can create native executables. as long as the interpreter is embedded. The comma separated value (CSV) format of iGANTT’s basic data storage file lends itself to customization by third-party developers because the data structure is externally available. This choice has a significant impact on user-base acceptance and usage.

with modules to manage production blasthole data. VBA VBA ‘. is used as a record and play medium in Datamine for simple customization tasks. Tcl/Surpac Successful use of Tcom in popular Surpac extensions like MineSched has spread to specialized users since the technology is available and has been field tested by practitioners. The VBA Integrated Development Environment (IDE) includes support for Microsoft Forms for creating custom dialog boxes and Active X controls. A ‘client-side’ script is a program that can accompany an HTML document or be embedded directly in it. a complex multimedia teleconferencing tool. Development of an interface between Python and Microsoft’s COM and ActiveX architectures has been ongoing15. Commercial uses have included search engine components by Infoseek and Four11. along with such factors as grain strength. though the same software may be used.’3.Python Similar to Tcl. such as running Tcl and VBA scripts in tandem in Surpac Vision and AutoCAD respectively. but complex interfaces and procedures can supplement basic capabilities24. VB. Operations is an ore control system. enabling easier data conversion and access. is a first step toward the utilization of granulometric analyses in computerized gravel pit design and planning. response to freeze-thaw conditions. SGMatrix and SGRecPak for the aggregate industry are in development25. Gemcom 20 is currently the only mining software developer to utilize VBA as a scripting tool. Some developers have alluded to a multi-language approach. enabling portability of Microsoft applications similar to Tcom. or C++. but this has since been circumvented by Tcl and Python extensions. a scripting/macro interface is under development. it has emerged as a serious competitor to Perl and Tcl. is one of the properties of sand and gravel that identify it as suitable for use as concrete aggregate. reporting requirements for a sand and gravel (aggregate) pit are far different than those for an underground gold mine. and is common in the creation of HTML web pages. and the automation of common menu-driven routines. Notable large-scale Python projects have involved the creation of an authoring environment for transportable hypermedia presentations. it is promoted a tool for customizing packaged applications for integration with other data and systems. However. Visual Basic scripting edition (VB Script). as well as to construct the installation procedure for Red Hat’s commercial Linux distribution. and UTILIZATION OF SCRIPTING LANGUAGES FOR CUSTOMIZATION OF MINE PLANNING 117 . Macros can be recorded or written in a text editor21. in-process VBA performance is reported 200 times faster than standalone development tools19. Dutch researcher Guido van Rossum created Python in 1989 13 . as macros record only menu selections. VBA supplements the existing macro language in the various Gemcom Desktop Editions (GDE) and Enterprise Management System (GEMS). nor are any graphical editing operations. such as JScript. and short cut keys. following an agreement with Microsoft in early 2000. is a planning and scheduling program with Gantt chart and animation capabilities23. and generate reports16. JScript is Microsoft’s version of the language with proprietary extensions. however. ‘SGMatrix’. automation by an aggregate industry user would tend toward streamlining of methods for efficient volumetric calculations. like ring design. Python has developed other features that are Tcl benefits such as a Pure Java implementation Jython. VB Script offers lightweight scripting capabilities for low memory environments such as web browsers. build models. and a university student registration system14. can be used for customization22. an object-oriented interface to the Tcl/Tk widget set. Python is extensible and portable amongst various operating systems. Two applications. Since then. popular with casual web users. Mintec15 has recently implemented the use of Python in their MineSight Planner and Operations packages. written in Visual Basic. All Studio commands and processes are available through the Datamine COM Server Interface. Datamine was among the first mining software companies to develop a full. Python users report strong numerical handling as opposed to Perl..is a glue language: a language that interfaces with the various objects that make up an application via the host application’s object model. Data entries within dialog boxes are not recorded. VBA’s integration into the Windows operating system and ability to act as a native COM controller suggested it should dominate the field of Microsoft portability.17. VBA. Likewise. JavaScript. rather than methods more appropriate in underground operations. Scripting langiages for aggregate and cement industry applications Both fundamental applications of scripting described above. Some template scripts are available from the manufacturer for user modification18. Planner utilizes MineSight MS2 as a framework. which began as a collection of simple Fortran data processing routines. however non-MS2 users can also use the program for underground and openpit planning. whereas an underground gold mine will be concerned with reporting ore grade extracted per stope in consideration of processing requirements. such as TkInter.. Rather than being presented as a scripting language. accelerator keys. that is customization of reports and other output. Mine2-4D. User-friendly GUI toolkits are available. as well as OpenGL bindings.. as well as for use in data conversion to another software system. An impending release of the scripting interface will provide non-client access to data structures through the Python applications programming interface (API). so any language that supports COM. but Studio was the first package to use the approach intrinsically. These packages use Python for customizable reporting options and interfaces into the reserves/scheduling database. Multi-language COM Server Interface approach A flexible approach to customization was introduced with Datamine Studio in 1999. The program executes on the client's machine when the document loads or when the link is activated. A gravel pit will be concerned primarily with reporting pertaining to volume extracted per lease area. Particle size distribution.. Python will be able to act as a COM controller. It is a freeware webbased scripting language based on the international ECMA Script standard. MineSight products support a macro language. are valuable for industrial minerals users or other specialized markets. the analysis of which is known as ‘granulometrics’. JavaScript and VBScript are examples of client-side scripting languages. independent commercial product using its customization ability and authorship model. For instance.

• Short-Term Planning (Corto Plazo)—Uses the block model generated with the Long-Term Planning script and generates a short-term calendar in consideration of quality and production targets. A variety of output options are available.0963 0.635 0.634 D60 0.021 0.0104 0. Tcl/iGANTT As described above. engineering. assisting in the preliminary identification of spatial structures. Python/Minesight Custom reporting options are valuable to industrial minerals users.2192 -0.1958 D30 0. Using Tcom.51 -0.329 Figure 1.625 0.487 -0.459 0. The scripts can be easily modified and improved at any time if needed.029 0.404 -0.0325 0. SGMatrix is currently a stand-alone program.57 -0. for example.044 -0.622 -0.51 -0. The interface was developed to address the practical requirements of users.3808 -0. given the genetic similarities.64 -0. prepares the bock model so it can be used by RMS.244 -0.304 0.4317 -0.81 #30 -0. or ripping).911 D75 0. all of the selected variables will be correlated with Northing and Easting.2206 -0. Python integration will likely follow the pattern of Tcl integration.81 -0.3949 0.4323 0.and post-mining topographic maps.4222 0.67 -0.0089 0.3816 0.514 -0.67 -0.3819 0.226 0.651 0.67 0.627 -0.735 D50 0.435 0. All of these aspects require customization via scripting.6 0. and exploration26.705 0.82 -0.559 -0.847 GC 0.203 0. 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 Sample #: CN046–COMP Input data file: CN–024 Sample #:CN024–COMP CORRELATION MATRIX: Northing Easting Northing -0.676 UC 0.1021 0.2809 0. This could be particularly valuable to aggregate users. Four primary scripts. based on existing templates. especially when programs are originally designed for metal mines.1375 0. locations and extent of temporary or permanent topsoil stockpiles. based on concepts presented in the reclamation plan. whether graphically or in report format.72 0. the program accepts input as sieve analysis cumulative per cent passing results in Microsoft Excel format. such as estimation of total reclamation costs.1741 0.0553 0.827 #200 0.176 -0. calculations. estimation of costs for individual activities (such as re-vegetation. drainage/erosion control.57 -0.4659 -0.4676 0. were written in Java Script and are as follows: • Data Update (Actualizacion)—Enables the user to import and update blast hole information. products develop a greater market share. As Mintec’s quarry.68 0. such as pre.242 0.detrimental impurities.0856 -0.684 0. and other specialized. and then combines the existing information with the updates as obtained via RMS.594 0.62 0.1412 0. short and long-term planning. and haul road locations. It automates the calculation of the numerous granulometric indices and parameters in use. If sample locations are available.1008 0. Excel output from SGMatrix 118 APCOM 2003 . ‘SGRecPak’ is a Surpac-resident extension for the automation of a concise reclamation bond estimate based on site-specific factors developed during the mine and reclamation planning process.0171 0. because much emphasis is placed on integrated scheduling of topsoil and overburden movement during mining and reclamation.0713 0.3238 -0. whether sedimentologic. iGANTT’s basic data storage structure lends itself to customization by third-party developers because the data structure is externally available. Calculating numerous types of correlations is a popular practice amongst engineering geologists and soils engineers. See Figure 2 for a portion of the GUI.0841 0.1356 -0. • Exploration Office—Provides a link with the Exploration Office software.58 -0.769 #50 -0. as was cited prior with respect to gravel pits versus underground gold mines.312 0. and is very intuitive.54 -0.6 0.029 -0.042 0. COM Server Interface/Datamine The Cemento Andino operation in Peru has recently implemented the use of several Datamine products for use in data management.873 0.68 0.272 -0. or concrete industry in origin.27. It also generates reports that can be checked using Microsoft Excel.0 to 1.0924 0.775 0.506 #100 0.559 0.894 #10 -0. Displayed in this ‘matrix’ are linear correlation coefficients (ρ= -1. The calculation of reclamation performance bonds involves detailed planning.1176 0.6 -0.537 0.4644 0.2345 0.1136 0. is written in Spanish. This functions as a first-order appraisal of spatial data characteristics. • Long-Term Planning (Largo Plazo)—Links with the RM Scheduler (RMS) software program. required reclamation topsoil thickness. The next step is the generation of a ‘master correlation table’.0) of every selected index correlated with every other index (see Figure 1).19 -0. however it is evolving into a Surpac-resident data management environment for aggregate operation exploration and production data.752 -0.2616 0. and cost estimates. as well as update the topography and the block model with new survey data.597 -0.173 D25 0.0816 0.3542 -0.1169 0. launches RMS.745 Easting D10 D25 D30 D50 D60 D75 #10 #30 #50 #100 #200 UC GC Sorting Skewness Kurtosis Dust Ratio D10 0.0979 0.

’22. in order to make best use of their skills and preferences. it also has the tendency to be quite fragmented. In spite of these benefits. such as supposed faster performance than standalone development tools. This could assist new users in the final purchase selection. All Studio commands are available from an HTML page using any supported language. and developments in Python are imminent. A potential disadvantage of Tcl implementation over a more centrally controlled language like VBA is that even though the development community is global in scale and very active. All of the OLE Automation objects in Gemcom follow a consistent naming convention. it is important to present and compare aspects relevant to their industries. and other applications can be started from the same HTML page24. The adaptation of Tcl by other companies like MineMax. GUI from Datamine customization at Cemento Andino Comparative discussion In consideration of the spectrum of new or unexplored options available for specialized users (such as in the aggregate or cement industry) regarding scripting applications in mine planning packages. Another VBA benefit is that less end-user training may be necessary because applications look and feel like the Windows applications that the majority of computer users are already accustomed to. Tcl has a bright future because of the huge global development community. as well as a tradition of tedious terminology and concepts.. As with the Cemento Andino project. Surpac was a pioneer not only in the introduction of an embedded scripting language in a complex mine modelling and planning package. Furthermore. A notable strength of Gemcom’s implementation of VBA is that system integration has been painstakingly constructed and extensively documented for developers28. This impacts the subsequent efficiency and economic benefit of these data management and planning operations. as well as genetically related languages like Python by Mintec. For UTILIZATION OF SCRIPTING LANGUAGES FOR CUSTOMIZATION OF MINE PLANNING 119 . Datamine found that the advantages with the scripts as prepared for the client was that users were able complete tasks very quickly because of this automation. VBA would intrinsically be a firsttier selection.gives the programmer more flexibility in the choice of scripting language and development environment. VBA is no longer the sole option. VBA’s potential dominance has been compromised by corporate control of language developments. As was implied above. and the learning process was much faster than the software prior to customization.. Datamine’s COM Server Interface approach ‘. since open-source languages like Tcl are now capable of Windows integration. broad active VBA development for Gemcom has not yet risen to the level of other applications. but implementation is relatively new. This will assist Gemcom developers in the navigation of the dense layers of terminology. based on whichever mode of customization best suits their purposes. Comparative benefits Regarding the significance of a seamless interface with Windows applications. This dominance has been subsequently circumvented by Tcl and Python extensions. has suggested the long-term popularity of Tcl... However. but also in the adaptation of this package’s architecture to accommodate internal manipulation of functions in their products. VBA does have unique benefits.Figure 2.

solutions may already be available for a particular requirement. then VBA is the only choice available. Vendors. For example. as soon as program architecture. but usage is fairly new in mining circles. Such enthusiasm is critical to remain robust and innovative. Though the focus of prior examples has been aggregate and cement. geostatistics and mine planning for kaolin mining has unique considerations as pertains to the utilization of the important ‘Brightness’ parameter. and tools. From this freeware ‘hacker’ ethic. • How soon must the system be available. For example. with a subset of suitable quality for gems. and tutorials must be freely available. which is to promote end-user experimentation. originate the brashest innovations. which is the inevitable future of mine computing applications. Commodities such as garnet are characterized for sale in terms of their use for industrial purposes. • Is a mine planning package already in use? For example. Acknowledgements A number of people generously provided information and insight for this paper. will likely ignore such languages. such as is the situation with the popularity of Tcom in the Surpac community.instance. Datamine’s COM Server Interface approach should become more popular. Therefore. With respect to product customization for specialized sectors such as industrial minerals. if one has an interest in a particular function such as Excel portability. who have no patience for stumbling blocks and bureaucracy when cyberspace is full of free and easy options. for a popular application is available for manipulation. This is a reality in the information age that cannot be ignored. Tcl has had the earliest success. or open-source code. Specifically. and how much customization is needed? In many instances. while keeping in mind corporate goals and policies. These two aspects can be difficult for corporations to balance in the anarchic tangle of the Internet. The fact that computer usage for mine planning in many sectors is still new is also a factor. Stated otherwise. if a company already uses Gemcom Desktop Edition. are discovering that development of industry specific extensions is a good way to introduce their products into new market sectors. The outcome of each decision clearly impacts that following in the list. Even with respect to aggregate. Any scripting language that remains stifled by the controlling corporation is defeating its own purpose. however. Tim Carew (Gemcom USA) and Jennifer Palma (Gemcom Software/ Vancouver BC) provided information on VBA. one has a recommendation from another user. Ornamental stones such as scoria are characterized by subjective colour parameters that cannot be measured in a laboratory. The most creative programmers. however. one can encounter literally dozens of extensions posted on various websites that are of widely varying quality. • Is it more economical for the vendor. Innovations such as Tcom. planning requirements for a railroad ballast quarry would be different than those for a concrete aggregate site. Considerations in selection Considerations in selection can be summarized as follows. the time to maturity to the commercial marketplace and/or availability to other users can be considerable. but not predicted. Time spent in trainings or on the phone with tech support is not time brainstorming and programming. Rob Vallis (Hemlo Mines) described recent innovations of Tcl in Surpac. VBA’s control by Microsoft has the potential to be a hindrance. but it could prevail as applications become more complex and performance efficiency becomes important. is the cost benefit derived only from operating efficiencies enhanced by customization. Because most custom solutions start small and progress through subsequent generations. extensions. now an integral part of commercial applications like MineSched. extensive programming may be required for unique problems. Abdullah Arik (Mintec) provided a wealth of information on MineSight’s implementation of Python. are available and at what cost. Conversely. or as broad as access to internal functions and processes (such as with Surpac Vision)? Future directions Coincident with the emergence of web-based applications. Jim Butler (MineMax) provided information on Tcl 120 APCOM 2003 . by their present success. whether developed by the vendor or by independent programmers. or a qualified consultant. mining software developers have taken seriously the importance of end-user customization via adoption of embedded scripting languages. Unless. utility of customization is a critical consideration. the original developer no longer has control over the future of his creation. simply because it is the most flexible approach and is inclined toward web applications. This is difficult for the corporation to appreciate when millions of dollars were spent on development. or further by the client’s ability to take control of their industry specific computing requirements? • How intensive are the scripting requirements? For example. to develop and write the programs? Or should the client pay for company staff to attend training? Languages such as Tcl and Python have been traditionally easier for new users to adopt. and industry specific developments are already under way. and if there is too much hassle involved the programmer may not take the time. are the requirements as limited as custom reporting (such as with Python use in Minesight). Guy Sande (Couer d’Alene Mines Corporation) gave insight into the practical implementation of VBA in Gemcom Desktop Editions. it will be some time before robust and valuable solutions for industrial minerals users are available in the greater marketplace though new applications are on the horizon. where others such as VBA require more experience in concepts of object oriented programming. the scripting language and GUI toolkit must be easy for the user to learn (assuming some programming experience). but whose occurrence in a quarry can be mapped by an experienced practitioner. The client should research what solutions. began as a way to circumvent Microsoft application portability only by licensed partners. The innovative spark of the countless number of programmers online far surpasses the corporation’s ability to control their creation. of course. and developers can use this mystique to their advantage to create a rich development environment. The next necessary step is for developers to support an innovative user-base in a way that fosters robust experimentation. Python’s acceptance could be comparable to Tcl’s. The futures of individual scripting languages can be suggested. other industrial minerals sectors have their own unique requirements that require customization.

python. Retrieved on 10th November 2001 from the World Wide Web: http://www.mintec. iGANTT—A Robust Gantt-chart Based Tool for Production Scheduling. P. ARIK. Retrieved on 17th March 2002 from the World Wide Web: http://www. 13. Web Based Scripting Language. In I. LOMAX. 2001. Inc.asp. Instituto de Ingenieros de Minas del Peru. Customized Surpac Tcl extensions for the aggregate industry. Retrieved on 12th December 2001 from the World Wide Web: http://www. Retrieved on 12th January 2001 from the World Wide Web: http://www.com 10. Inc. Instituto de Ingenieros de Minas del Peru 26. and VAN DE VEN. Web Site.microsoft. Gemcom Software International. MineSched Home Page. gemcom. 23. Retrieved on 10th November 2001 from the World Wide Web: http://www. Third Party Development Opportunities using the Surpac Command Language. 1998. 19.au 24. Dave van de Ven (Digital Mining Services Australia) yielded a wealth of information on Tcl. 4.tcl. Inc. History of Scripting. A. Retrieved on 10th April 2002 from the World Wide Web: http://www.html 14. Personal communication: Technical Director. 2002. The Whole Python FAQ.T.P.com/brochure/ scripting. Datamine Peru. 1998. San Francisco. Inc.py?req=all. No date. 1998. 2002. Digital Mining Services Australia.vex.R. Scl. Gemcom Software International. A. 633 pages. 2002.com 16.datamine-studio. M.htm 25. Surpac Software International. Mintec. Vancouver. 1502 pp. 2002. 2001. Earthworks Home Page. Tucson. C. and customization approaches. 2001 Retrieved on 17th May 2002 from the World Wide Web: http://msdn.tk/advocacy/tclHistory. 2002. G. VBA Developer’s Handbook. G. Personal communication: Manager of Technical Support. Mintec. 6. 18. DURAND.com/Business opportunity. 2001.ca 21.asp 20.org/doc/ essays/foreword. Retrieved 4th January 2002 from the World Wide Web: http://msdn.minesched. MineSight Operations promotional brochure. Mintec. DURAND.com/vba/prodinfo/ backgrounder. Datamine Software Ltd. Personal communication: General Manager. Tcl Developer Xchange.implementation in iGANTT. Retrieved on 14th March 2002 from the World Wide Web: http://www. 2002. microsoft. K. Microsoft VBA Licensing Partners. MineMax Resource Optimization Software. Personal communication: Senior Mining Consultant. The Rexx Language. 5 pp. In I. VB & VBA in a Nutshell: The Language. minemax. CDROM Proceedings of the Fourth International Symposium of Computer Science in Mining (INFOMINA 2002).bc. Gemcom Software International.hursley.ibm. 2002. Mintec. 2001. 922 pages. Datamine.com 11. 15. Retrieved on 14th April 2002 from the World Wide Web: http://www. Retrieved on 14th May 2002 from the World Wide Web: http://www.com/prod_iGantt. Sybex. Mintec. VAN ROSSUM. 7 pp. and Albis Duran (Datamine Peru) for detail on specific applications in the cement industry. Gonzalez (Ed). BUTLER. Vancouver. References 1.org/cgi-bin/ faqw.com/rexx/ 3. MineSight Planner promotional brochure. Lima. Mintec. 5. Retrieved on 17th March 2002 from the World Wide Web: http://www. History of Tcl. 22.. Gonzalez (Ed). 27. HACK. Gemcom for Windows User Manual. CDROM Proceedings of the Fourth International Symposium of Computer Science in Mining (INFOMINA 2002). No date. Foreword for ‘Programming Python’.html 7.python.z-files. A. Sebastopol Calif. IBM UK Laboratories. Solucion integrada para el control de calida en canteras de calizas para cemento. Integrated Resource Management Solutions. A. 2002. VBA Object Library Specifications. 2002. No date. Gemcom. and GILBERT. MineMax. Retrieved on 12th February 2002 from the World Wide Web: http://www. J. HUANG. The Ore Is Out There..html 2.html 8. VAN ROSSUM. Inc. D.tcl. 2001. 2000. LAPWORTH. 1997. 2002. Tcl Developer Exchange.earthworks. Special thanks to Andy Lapworth (Datamine UK) for valuable insight on the values of the COM Server Interface approach. Retrieved on 10th February 2002 from the World Wide Web: http://www. Lima. 96 pp. 1999. Microsoft Developer’s Network. Retrieved on 12th March 2002 from the World Wide Web: http://www 2. O’Reilly & Associates. GUIDO. Gemcom. 2000. Volume I: Core. Tcom—Access and implement Windows COM objects with Tcl. 17. Microsoft Developer’s Network. MineSched International Ltd. Mintec.surpac. Microsoft Visual Basic for Applications—ISV Overview.com/vba/companies/company.htm 9. D. GETZ. Inc.net/~cthuang/tcom/ 12. 2002. No date. Retrieved on 12th March 2002 from the World Wide Web: http://www. Tucson. 28. UTILIZATION OF SCRIPTING LANGUAGES FOR CUSTOMIZATION OF MINE PLANNING 121 . Earthworks Corporation.com. Gemcom Software International.tk/advocacy/scriptHistory.

122 APCOM 2003 .