Developer(s) | Software Arts; Universal Technical Systems |
---|---|
Stable release |
5.0
|
Operating system | Windows |
Type | Mathematics/engineering |
Website | www |
TK Solver (originally TK!Solver) is a mathematical modeling and problem solving software system based on a declarative, rule-based language, commercialized by Universal Technical Systems, Inc.
Invented by Milos Konopasek in the late 1970s and initially developed in 1982 by Software Arts, the company behind VisiCalc, TK Solver was acquired by Universal Technical Systems in 1984 after Software Arts fell into financial difficulty and was sold to Lotus Software. Konopasek's goal in inventing the TK Solver concept was to create a problem solving environment in which a given mathematical model built to solve a specific problem could be used to solve related problems (with a redistribution of input and output variables) with minimal or no additional programming required: once a user enters an equation, TK Solver can evaluate that equation as is—without isolating unknown variables on one side of the equals sign.
TK Solver's core technologies are a declarative programming language, algebraic equation solver, an iterative equation solver, and a structured, object-based interface. The interface comprises nine classes of objects that can be shared between and merged into other TK files:
Each class of object is listed and stored on its own worksheet—the Rule Sheet, Variable Sheet, Unit Sheet, etc. Within each worksheet, each object has properties summarized on subsheets or viewed in a property window. The interface uses toolbars and a hierarchal navigation bar that resembles the directory tree seen on the left side of the Windows Explorer.
The declarative programming structure is embodied in the rules, functions and variables that form the core of a mathematical model.
All rules are entered in the Rule Sheet or in user-defined functions. Unlike a spreadsheet or imperative programming environment, the rules can be in any order or sequence and are not expressed as assignment statements. "A + B = C / D" is a valid rule in TK Solver and can be solved for any of its four variables. Rules can be added and removed as needed in the Rule Sheet without regard for their order and incorporated into other models. A TK Solver model can include up to 32,000 rules, and the library that ships with the current version includes utilities for higher mathematics, statistics, engineering and science, finances, and programming.
Variables in a rule are automatically posted to the Variable Sheet when the rule is entered and the rule is displayed in mathematical format in the MathLook View window at the bottom of the screen. Any variable can operate as an input or an output, and the model will be solved for the output variables depending on the choice of inputs.