SciXLTM was originally co-developed by Planatech SciComp Inc . Based on its success with SciFinance users, further code generation wrappers were developed for .NET, COM, Java and Python. These extensions, initially optional and known as SciIntegrator, have been incorporated into the core product. A discussion of the original SciXL module continues.
SciXL makes use of Planatech's Language Engine technology to perform a number of useful transformations and productions.
The SciFinanceTM Suite ( www.scicomp.com ) takes a few mathematical statements written in the ASPEN language by financial engineers and produces thousands of lines of 'C' source code which implement sophisticated and powerful solutions to the mathematical problems posed. It also produces an XML file describing the problem and the APIs of the functions used to solve it.
The XML file is read into the Planatech Language Engine, which transforms the interfaces into shapes appropriate for other languages and interfaces, such as an Excel add-in function and an Excel spreadsheet. The engine then produces source code and executables in a variety of languages and formats, resulting in a complete and ready-to-use Excel interface for the analytical function.
Components produced by the language engine
|XLL Project||All the source code for an MS DevStudio DLL project is produced. A template project is used to avoid the interaction required of a Microsoft AppWizard. The names and parameters in the XML specification file were applied to the template project. The project contains all the C and C++ source code required for a well-behaved Excel add-in module and is ready to build.|
|Add-in Function||An Excel add-in function is produced, which reads in arguments from Excel. It validates them as to content and shape and returns errors if required. The function then transforms the input to the format required by the core calculation function generated by SciFinance and calls the function. It then wraps up the result into an Excel format and returns it to the Excel spreadsheet. For some calculations, the function also caches the result, resulting in a huge increase in Excel performance.|
|XLL Add-in||The language engine automatically builds the project, making it easy to use remote machines for the build process.|
|Excel spreadsheet||The engine generates an Excel spreadsheet from a specially formatted Excel template (XLT) and lays out all the arguments and results of the function in a user-friendly manner. The template can be tailored by the user to reflect house style and rules.|