User Tools

Site Tools


concepts:tool

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
concepts:tool [2009/10/16 18:26]
shona.weldon
concepts:tool [2010/11/12 15:52] (current)
marcus.williams
Line 1: Line 1:
 ====== Tool On Objects Language ====== ====== Tool On Objects Language ======
  
-Tools-On-Objects Language, is an interactive language for manipulating structured data objects including multi-dimensioned arrays, sets and geometric objects. ​ TOOL is the only language needed throughout the whatIf? platform.+Tools-On-Objects Language, is an interactive language for manipulating structured data objects including multi-dimensioned arrays, sets and geometric objects. ​ TOOL is the only ((Occasionally,​ for complex source data files, a pre-processor script written in another language (e.g. AWK, Perl, R) may be used.)) ​language needed throughout the whatIf? platform.
  
 ===== One Language to Rule Them All ===== ===== One Language to Rule Them All =====
Line 32: Line 32:
 ===== 4GL ===== ===== 4GL =====
  
-TOOL is fourth-generation programming language (abbreviated 4GL) [[http://​en.wikipedia.org/​wiki/​4GL]] ​specifically designed for handling large arrays of multi-dimensional data.  This makes it well suited for model building.+TOOL is fourth-generation programming language (abbreviated 4GL) specifically designed for handling large arrays of multi-dimensional data.  This makes it well suited for model building.
  
 Specialized algorithms for model building are built into TOOL for efficiency and simplicity and they are called tools. ​ There are currently 137 tools in TOOL and this list is ever growing as a need arises. Here are a few common modelling constructs built into TOOL: Specialized algorithms for model building are built into TOOL for efficiency and simplicity and they are called tools. ​ There are currently 137 tools in TOOL and this list is ever growing as a need arises. Here are a few common modelling constructs built into TOOL:
Line 41: Line 41:
   * ...and many more!   * ...and many more!
  
 +
 +=== Why 4GL? ===
 +Here's an excerpt from [[http://​en.wikipedia.org/​wiki/​4GL]]
 +
 +"In the evolution of computing, the 4GL followed the 3GL in an upward trend toward higher abstraction and statement power.
 +
 +The natural-language,​ block-structured mode of the third-generation programming languages improved the process of software development. However, 3GL development methods can be slow and error-prone. It became clear that some applications could be developed more rapidly by adding a higher-level programming language and methodology which would generate the equivalent of very complicated 3GL instructions with fewer errors. In some senses, software engineering arose to handle 3GL development. 4GL and 5GL projects are more oriented toward problem solving and systems engineering."​
  
  
 ===== Multidimensional Support ===== ===== Multidimensional Support =====
  
-TOOL handles multidimensional arrays (objects) in a way that makes the math as simple as working with single value variables. ​ For example to multiply a population stock variable which is broken down by region(reg),​ gender(gen),​ time(t) and age(a) by a survival rate by only region time and age the math is simply:+TOOL handles multidimensional arrays (objects) in a way that makes the math as simple as working with single-value (i.e. scalar) ​variables. ​ For example to multiply a population stock variable which is broken down by region(reg),​ gender(gen),​ time(t) and age(a) by a survival rate by only region time and age the math is simply:
 <​code>​ <​code>​
 survivors[reg,​gen,​t,​a] = population[reg,​gen,​t,​a] * survivalRate[reg,​t,​a] survivors[reg,​gen,​t,​a] = population[reg,​gen,​t,​a] * survivalRate[reg,​t,​a]
Line 76: Line 83:
 ===== Import/​Export channels ​ ===== ===== Import/​Export channels ​ =====
  
-TOOL is used to read and write data external to the model and it supports various formats and file types:+TOOL is used to read and write data external to the model and it supports various formats and file types as described in the following article:
  
-Formats: +[[howtos:workwithdata:​Data Format vs File Format]]
-  * Record  +
-  * Coordinate  +
-  * Odometer+
  
-File Types: 
-  * CSV files  
-  * Delimited files - any character but tab is most common 
-  * dbf 
  
  
concepts/tool.1255717616.txt.gz · Last modified: 2009/10/16 18:26 by shona.weldon