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.
History
Invented by Milos Konopasek in the late 1970s and initially developed in 1982 by Software Arts, the company behind VisiCalc, Software Arts also released a series of "Solverpacks" - "ready-made versions of some of the formulas most commonly used in specific areas of application."
The New York Times described TK Solver as doing "for science and engineering what word processing did for corporate communictions [sic] and calc packages did for finance." sold its ownership of the software to Universal Technical Systems less than two years later. The interface comprises nine classes of objects that can be shared between and merged into other TK files:
- Rules: equations, formulas, function calls which may include logical conditions
- Variables: a listing of the variables that are used in the rules, along with values (numeric or non-numeric) that have been entered by the user or calculated by the software
- Units: all units conversion factors, in a single location, to allow automatic update of values when units are changed
- Lists: ranges of numeric and non-numeric values which can be associated with a variable or processed directly
Rules, variables and units
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 including Advanced Spring Design, Integrated Gear Software, Interactive Roark’s Formulas, Heat Transfer on TK, and Dynamics and Vibration Analysis.
Data display and sharing
Tables, plots, comments, and the MathLook notation display tool can be used to enrich TK Solver models. Models can be linked to other components with Microsoft Visual Basic and .NET tools, or they can be web-enabled using the RuleMaster product or linked with Excel spreadsheets using the Excel Toolkit product. There is also a DesignLink option linking TK Solver models with CAD drawings and solid models. In the premium version, standalone models can be shared with others who do not have a TK license, opening them in Excel or the free TK Player.
Reception
BYTEs 1982 preview of TK Solver said that it was "an interesting program that does for equation-solving what the pocket calculator does for arithmetic—replacees drudgery and the possibility of error with speed and accuracy". The magazine's 1984 review stated that "TK!Solver is superb for solving almost any kind of equation", but that it did not handle matrices, and that a programming language like Fortran or APL was superior for simultaneous solution of linear equations. The magazine concluded that despite limitations, it was a "powerful tool, useful for scientists and engineers. No similar product exists". By version 5.0, TK Solver added Matrix handling functionality.
Competitive products appeared by mid-1988: Mathsoft's Mathcad and Borland's Eureka: The Solver.
Dan Bricklin, known for VisiCalc and his Software Arts's initial development of TK Solver, was quoted as saying that the market "wasn't as big as we thought it would be because not that many people think in equations."
