Holarchies of Differential Propagation
Since these holistic problem models could be independently automated and solved due to this closure, they could be ''blended'' into higher wholes by nesting one inside of another, in the manner of subroutines. Users could regard them as if they were ordinary subroutines. Yet semantically, this mathematical blending was considerably more complex than the mechanics of subroutines because an iterative solution engine was attached to each problem model by its ''calling'' operator template above it in the program hierarchy. In its numerical solution process, this engine would take control and would call the problem model subroutine iteratively, not returning to the calling template until its system problem was solved. During some or maybe all of the iterative model-subroutine calls the engine would invoke automatic differentiation of the formulas in the model holarchy with respect to the model's input-unknowns (arguments) defined in the calling template. Additional mechanisms were performed in the semantics to accommodate ubiquitous nesting of these holistic models.Differentiation of Prediction Processes
If the nested solution was a prediction (e.g. numerical integration), then its solution algorithm, in addition to the model formulas, would also be automatically differentiated. Since this differentiation propagated (via the chain rule) throughout the integration from initial conditions to boundary conditions, the differentiation of boundary conditions with respect to initial conditions (so calledDifferentiation of Search Processes
If the inner nested problem was a search, and the outer problem was also a search (e.g. optimization), then the partial derivatives produced with respect to the inner-search unknowns had to be converted into partial derivatives of the outer search via a differential-geometry coordinate transformation. This was also an iterative process involving higher order differentiation and sometimes different independent variables. Yet, these extended and iterative differential-arithmetic processes were totally hidden from the user, and were hardly more significant in his modeling task than if only ordinary subroutines and their calls were involved. The fact that they were iterative and the number and kind of iterations were indefinite, because a whole sub-problem was being solved which was also a part of a higher problem. It was natural to call each problem nest a " holon", as this dynamic entity perfectly fitted the theory ofAutomation Operator Templates
The complete modeling paradigm consisted of only three classes of holons, as distinguished by their operator templates below.Optimization
FIND ''simultaneous-unknowns'' IN ''model-subroutine'' BY ''solver-engine'' ''HOLDING ''inequality-constraint-variables'' ''MATCHING ''equality-constraint-variables'' TO MAXIMIZE, MINIMIZE ''objective-variable''Correlation
FIND ''simultaneous-unknowns'' IN ''model-subroutine'' BY ''solver-engine'' TO MATCH ''equality-constraint-variables''Simulation
INITIATE ''solver-engine'' FOR ''model-subroutine'' EQUATIONS ''rate-variables/level-variables'' OF ''independent-variable'' STEP ''increment-variable'' TO ''limit-variable'' INTEGRATE ''model-subroutine'' BY ''solver-engine'' These three operator templates created dynamic holons encapsulating an equations model subroutine hierarchy which could contain other nested holons, because the model subroutines could contain any of the operator templates encapsulating sub-problems. Each holon in the holarchy had a solver algorithm engine, which could be interchanged with others in its holon class. The extended arithmetic of automatic differentiation and its ability to dynamically differentiate numerical integration gave rise to the unique mode of holarchy modeling illustrated in Figure 1. This example problem was originally a FORTRAN application fromAutomated Holon Architecture
Holons are formula-system solution processes
As mentioned above, a Holon is a computation container like a spreadsheet that encapsulates a set of ''input'' algebraic formulas. But unlike a spreadsheet, these formulas are parts of an irreducible whole which can only be solved together as a unit, involving a succession of approximations (iterations). A spreadsheet, which only involves a single pass of formula calculations, may therefore be thought of as a "degenerate" or "reduced" holon, one that only involves single-pass calculations. A holon model elevates an encapsulated system of algebraic formulas to a higher problem archetype relating simultaneous unknowns to a definable solution condition other than a single pass through the set of formulas. Iterative calculus "under the hood" is required to "converge" multiple-pass approximations to the solution condition.Metaphoric Problem Archetypes
Each holon automates one of the three system-problem archetypes that have emerged from higher math with a distinct class of solution methods, applicable as interchangeable operators. These methods operate on the input formulas and their calculations, to guide the successive approximations to the holon solution. These problem archetypes easily precipitate out of the formula collections that represent modeling of natural phenomena, and can be used as building blocks to synthesize whole computation programs as holarchies of sequential or nested holons. Used together as an alphabet these archetypal problems become a topology of higher math modeling within an algebraic programming language containing special semantic "glue" methodologies which propagate calculus "influence" through the collections of holons. As the holons combine to form greater wholes via alphabetic combination, such holarchies also tend to become problem archetypes, which often precipitate out of natural phenomena modeling. Examples are boundary-value problems, solved by the combination of correlation and simulation holons.PROSE Pantheon
PROSE introduced a pantheon of interchangeable solvers named for mythical gods in the three engine categories:Optimization
* HERA an advanced version of Newton's second-order gradient method with special logic to recognize and avoid unwanted extrema during its search process; * HERCULES a special constrained optimization solver for linear, integer, and mixed-integer problems; * JOVE a sequential unconstrained optimization technique applying Newton's second-order gradient search; * JUPITER a moving exterior truncations penalty-function method applying a Davidon-Fletcher-Powell (DFP) variable-metric search; * THOR a "sectionally linearized" linear programming technique; and * ZEUS a sequential unconstrained optimization technique applying a Davidon-Fletcher-Powell (DFP) variable-metric search.Correlation
* AJAX a damped Newton-Raphson and Newton-Gauss pseudo-inverse root finder; and * MARS a damped Newton-Raphson and Newton-Householder pseudo-inverse root finder.System-Dynamics Simulation
* ATHENA multi-order Runge-Kutta with differential propagation and optional limiting of any output dependent variables; * GEMINI self-starting technique of rational function extrapolation from Gragg, Bulirsch, and Stoer with differential propagation or not according to context; * ISIS Runge-Kutta-Gill with differential propagation; * JANISIS ISIS or JANUS, depending on differential or non-differential-propagating contexts; * JANUS Adams-Moulton predictor-corrector for non-differential-propagating contexts; * MERCURY Gears rate/state differentiating stiff and step-size optimizing method for non-differential-propagating contexts; * MERLIN self-starting technique of rational function extrapolation from Gragg, Bulirsch, and Stoer with differential propagation; * MINERVA multi-order Runge-Kutta without differential propagation and optional limiting of any output dependent variables; * NEPTUNE self-starting technique of rational function extrapolation from Gragg, Bulirsch, and Stoer without differential propagation; and * PEGASUS a special 5th order Runge-Kutta technique known as Sarafyan Embedding, in which a 4th order result is obtained at the same time plus optional limiting of any output dependent variables in non-differential propagating contexts.Nesting Contexts
These solvers applied different numerical methods in the three engine categories, depending upon the nesting context in which they were applied. Some simulation solvers (JANUS, MERCURY, MINERVA, MERLIN and PEGASUS) could not be nested in automatic differentiation contexts of correlation and optimization because they were not ''overloaded'' for automatic-differentiation arithmetic. Thus hybrid versions, JANISIS (ISIS or JANUS) and GEMINI (MERLIN or NEPTUNE) were introduced, which would work efficiently in automatic differentiation mode or ordinary arithmetic mode (differentiation internally turned off). This greatly speeded up the iterative searches of solvers like AJAX, MARS, JOVE, ZEUS, and JUPITER, which iteratively called their models many more times in non-differentation mode, when various modes of non-derivative search sub-steps were applied.References
{{reflist, 2 Fourth-generation programming languages Programming language implementation