E N D
MetaCalculus The HOLON Modeling Paradigm
MetaCalculus is a computational ontology of mathematical modeling, discovered during the Apollo program at roughly the same time its central concept and pattern emerged in the philosophy of General Systems Theory. It was only afterwards that the congruency of these two philosophies was recognized from the writings of Arthur Koestler and Ken Wilber, encouraging us to make the astounding claim that they are one and the same fundamental pattern of nature. The congruence emerges in the concept of Koestler’s “whole-part”, to which he gave the name “holon”. In MetaCalculus, this describes an “holistic unit” which connects two levels of a self-organizing, multi-dimensional , mathematical hierarchy. Metacalculus holons resolve into a kind of mathematical “DNA” with an alphabet of three kinds of holons: optimization, correlation, and simulation. Op Meta CalculusExtended Languages Co Si Find … to Maximize Calculus Matrix Engine Harness API Find … to Match System: Initiate … Integrate SYSTEMS OPTIMIZATION SYSTEMS CORRELATION Interchangeable Solution Engines SYSTEMS SIMULATION MetaCalculus Holon Paradigm Modeling Holon Alphabet Holon TemplatesLanguage Add-Plug Ins Languages: Nested Automatic Differentiation Engines:
This is the profile of a calculus of variations template, which illustrates the semantic intelligence of Meta Calculus holon nesting. Its mathematical sophistication is hidden because it is masked by a standard feature of programming languages, subroutines, which is what the hierarchic sub-problem models appear to be in the visible source form. But a lot more is going on in this mathematical hierarchy under the hood. Each level in the recursive loop is either a calculus-guided iterative search (Find statements) or a Systems Dynamics simulation (Integrate), and specific automatic differentiation is occurring at each nest level, in the contexts illustrated by grey boxes, with a de-nesting differential-geometry coordinate transformation to morph the differentials from inner to outer holon levels upon completion. (non-algorithmic) OPTDES Find A in TWOPT to Minimize OBJ AD Arithmetic A TWOPT TWOPT Find Y Find Y in TRAJ in TRAJ 0 0 AD Arithmetic Y0 Optimization to Match Y to Match Y 1 1 TRAJ TRAJ TRAJ Solver Integrate DIFF Integrate DIFF Integrate DIFF Correlation DIFF DIFF DIFF Solver X = f(A,X,Y,Z) X = f(A,X,Y,Z) X = f(A,X,Y,Z) Y = f(A,X,Y,Z) Y = f(A,X,Y,Z) Y = f(A,X,Y,Z) Simulation Z = f(A,X,Y,Z) Z = f(A,X,Y,Z) Z = f(A,X,Y,Z) Solver Holistic: Simultaneous Equations Differential Coordinate System Inheritance Metaphoric (Non-Algorithmic)Template Modeling Optimal Design & Control Application Visible Source Code
This example problem was taken from a monograph from two famous mathematicians, Richard Bellman and Robert Kalaba: Quasilinearization and Non-Linear Boundary-Value Problems; about applying Newton’s method in function space (“Quasilinearization”). It was applied to this optimal control problem in a FORTRAN program containing125 statements in the book. We used this problem to show the leverage of PROSE in unifying modeling and programming as one process, without having to define an algorithm—yet requiringonly 25 statements. When I formulated it originally, I didn’t even understand what “quasiilnearization” was, and I didn’t try to understand the algorithmic FORTRAN code. I just intuitively posed the problem from the math description, and got the same answer on the very first run. That is how I became a true believer in this higher modeling paradigm. OPTDES Find A in TWOPT to Minimize OBJ TWOPT Problem .optdes interact find a in .twopt to minimize obj end Find Y in TRAJ 0 to Match Y 1 TRAJ Model .twopt find y0 in .traj to match y1 obj = z/2+a**2 end Default optimization solver: hera Integrate DIFF DIFF X = f(A,X,Y,Z) Default correlation solver: ajax Y = f(A,X,Y,Z) Z = f(A,X,Y,Z) Actual Program in TSPROSE language (1975) Model .traj y=y0, x=1, z=0, t=0, t1=1 initiate athena for .diff equations zdot/z, xdot/x, ydot/y of t step dt to t1 integrate .diff end Model .diff zdot=x**2+y**2 xdot=-a*x+y ydot=x+a*y end
In this version of the template, the outer nest is a constrained optimization problem, solving for ten simultaneous unknowns to satisfy two constraints. Inside its model is the definition and solution of a two-point boundary-value problem involving a second-order differential equation (internally integrated as two simultaneous first-order equations). The point being illustrated here is that at each level of the “subroutine” hierarchy, the mathematics is multidimensional as well as non-linear. Each hierarchic level is a holon, an irreducible mathematical unit of simultaneous (multi-dimensional) variation. And the template self-organizes into a HOLARCHY—a hierarchy of holons. OPTDES Find A in TWOPT to Minimize OBJ TWOPT Find Y in TRAJ 0 to Match Y 1 TRAJ Integrate DIFF DIFF X = f(A,X,Y,Z) Y = f(A,X,Y,Z) Z = f(A,X,Y,Z) Controllers Another Program with Same Template Wing Design Optimization (1976) Global all Problem .wing execute .setup find eis,alpha in .flex by thor under .tcon with bounds delei,delalp with lowers ieu,alphau holding weight matching altotl to maximize winglift tabulate xs,y end Model .flex find dy0 in .beamivp byajax under .icon to match ypa for k=1 to nei do eiavg=eiavg+alpha(k)*eis(k) repeat winglift=integral(force,0,x,4)/ eiavg weight=wtmax-eiavg altotl=arrasum(alpha)-1 rowprint eiavg,winglift, weight,altotl tabulate eis,alpha end Model .beamivp x=0, y=0, dy0dx=dy0, xf=h, y(1)=y0 initiate athenaunder .acon for .beamode equations d2y0dx2/dy0dx, dy0dx/y0 of x step h to xf for i=2 to,npts do integrate .beamode y(I)=y0, xf=xf+h repeat ypa=dy0dx-dy1dx end Model .beamode sum=0 for j=1 to nei do if(x ge sum and x lt (alpha(j)+sum*wl) then goto ode endif sum=sum+alpha(j) repeat dy2dx2=-integral(force,0,x,4)/ ei*(1+dy0dx**2)**1.5 end
The template architecture self-organizes into the bilevel holons—solver and model. These solver/model combinations are computation units having matrix bandwidth of simultaneous solution variables. Holarchies of description levels separating prediction from control manifest to avoid a paradox. Deterministic formulas in a predictive simulation model require constant input parameters. But control of the prediction requires those parameters to be varied. So this variation must be done at a higher level of the holarchy. In this case the mathematical coordinate-system holarchies naturally coincide with subroutine holarchies in which the generated functions are automatically differentiated by calculus arithmetic (see Hierarchy Theory). AD Arithmetic A AD Arithmetic Y0 TRAJ Integrate DIFF Correlation DIFF Solver X = f(A,X,Y,Z) Control Prediction Y = f(A,X,Y,Z) Simulation Z = f(A,X,Y,Z) Solver Control Prediction Differential Coordinate System Inheritance Holistic Template HarnessMathematical Self Organization Holon 1 Holon 2 OPTDES Find A in TWOPT to Minimize OBJ Holon 3 TWOPT Find Y in TRAJ 0 Optimization to Match Y 1 Solver
PROSE introduced Mashupintelligence—a poly-algorithm hybridization strategy, which was simply called “digital calculus semantics”, created long before the web popularized the mashup hybrid notion. It empowers end-user modelers to leap beyond the capabilities of numerical mathematicians and programmers without even appreciating the hybridization they are achieving by simple nesting of Find statements in their ad-hoc models. Under the hood they are dynamically synthesizing search-engine poly-algorithm systems, in which the solver for each holon, its operand equations model, algorithmic differentiation, and the differential geometry coordinate systems nesting transform, are its semantic subassemblies. This was the subtle breakthrough of PROSE that the SIAM mathematicians missed, because they focused on publishing about AD techniques rather than unifying modeling with programming into a single automated process. AD Arithmetic A AD Arithmetic Y0 DIFF X = f(A,X,Y,Z) Y = f(A,X,Y,Z) Z = f(A,X,Y,Z) Automatically Synthesized Hybrid Algorithm Hidden MashupIntelligence:Automatic Poly-Algorithm Synthesis OPTDES Find A in TWOPT to Minimize OBJ TWOPT Find Y in TRAJ 0 Optimization to Match Y 1 TRAJ Solver Integrate DIFF Correlation Holonic Algorithm Components Solver Simulation Solver Differential Geometry Coordinate System Transformation Algorithm
This mashup feature is artificial intelligence under the hood. Its leverage enables user-modelers to create hybrid ad-hoc algorithmic engines that numerical mathematicians and programmers cannot find ways to achieve in conventional languages, much less produce ad-hoc versions of for specific applications. They are handicapped like database programmers were before there was SQL. These nested holon engine composites are unified with the nested models (subroutines) they exercise, so users focusing on the physical analogs of the models are hardly aware of the automatically synthesized mathematical substructure under the hood. They simply learn its capabilities by observing its behavior using intuitive comprehension, uncluttered by formal math and logic. This is the basis for a potential giant leap in K-12 education. Mashup Template Patterns
TAO – Stack-Fan Optimization Holon Modeling Today … Today cloud computing infrastructure enables a quantum leap in holon modeling—deep nested constrained optimization, parallelized by MC optimization broadcasting (MOB searching) which globalizes the optimization and collects the results immediately in a database. As constrained optimization searches often require thousands of iterations at each level, multiple levels were too computational expensive in the PROSE era. Now with parallel supercomputing power at a negligible fraction of manpower cost, TAO is practical for everybody. This brings forth the systems engineer’s dream of practical MDO—multi-disciplinary design optimization, which has been an important investment of Aerospace firms like Boeing for about three decades, using labor-intensive software language platforms. • Total Application Optimization – QUANTUM LEAP • Optimization Model Stacking (holon searching) • Maximize Profit • Minimize Cost • Maximize Performance • Minimize Weight • … • Parallel Fan – MOB Searching • Many search engines, each from grid of start points • Global search results in output database Each holon nest multiplies iterations. Too expensive in TS era. Now practical in Cloud for everyone. Plenty of computer power.
System Dynamics is the third element of the Meta Calculus holon alphabet—the technology made famous by Jay Forrester with his simulation language DYNAMO, and his books on Industrial Dynamics, Urban Dynamics, and World Dynamics. Now with GUI technology, System Dynamics is incorporated in STELLA, VenSim, and PowerSim products, used for simulation modeling. With STELLA in particular, Forrester and his colleagues have been introducing System Dynamics into K-12 education, emphasizing a learner-centered learning approach in which classrooms become laboratories instead of lecture halls. Now is the time to merge Meta Calculus in this initiative to leap beyond 19th century math-science education. System Dynamics TRAJ Integrate DIFF DIFF X = f(A,X,Y,Z) Y = f(A,X,Y,Z) Simulation Z = f(A,X,Y,Z) Solver MetaCalculus Contains • Jay Forrester’s legacy in K-12*education is nowOUR MANDATE • MetaCalculus in Middle School • Can leap 7 grade levels in math modeling • From Algebra to the Calculus of Variations The Promise of System Dynamics Modeling in K-12 Education, D.M. Fisher & P.J. Potash
SD is a Subset of MC • MetaCalculus Template Alphabet is • System Optimization Semantics – SOS • System Correlation Semantics – SCS • System Dynamics Semantics – SDS • SD Motif can be subsumed in MC GUI • To pave the way to MetaScience Forrester’s legacy is a graphical modeling motif which is easily encapsulated in a single holon of MetaCalculus, and the SD GUIs in products like STELLA, Vensim, and Powersim can be subsumed in MetaCalculus GUIs as lower-level modeling containers. These three holon icons can be the GUI pallet alphabet for graphical MetaCalculus design. With this slide, I am starting to discuss a software buildout to an even higher “canning” paradigm, whose focus is not just canning the math under the hood, but canning the bulk of standardized science and engineering as library components as well, in order to further automate application-specific modeling. This buildout is what we are calling MetaScience.
SOS SCS SDS MC[SD] Modeling GUI MC Composer GUI Here is the prototype top-level motif for a MetaCalculus GUI which subsumes System Dynamics GUIs. We can easily imagine the lower-levels of this kind of media in use on laptops or tablet computers, with web collaboration among designers, using cloud-based supercomputing in the background. Next, I would like to show you a scenario where common spreadsheet tools can be employed to enhance intuitive comprehension of MetaCalculus processes. STELLA/VENSIM Translator SD to MC Translator SD Motif Modeling GUI
Engineering Education Using Spreadsheet for Output Comprehension Here is another classic example of Optimization Re-Engineering—what I call “ORE mining”. It is an ideal example for a course in electrical engineering. The formula code on the right was originally a BASIC program written by an EE designer at a West coast manufacturer of electric motors, who was running myriad simulations, attempting to solve for twelve design parameters. He contacted our time-sharing vendor, who put us in touch with him. My associate showed him how to convert his BASIC program to PROSE and add the FIND statement (green code) to solve for the 12 parameters to optimize motor efficiency. The next slide shows how this would have been aided by the use of spreadsheets, leading to a whole new MetaCalculus medium. • FIND Output morphed into spreadsheet • To show iterations of • Independent parameters • Constraints • Objective Function • Rows Match Model Lines • Name in column 1 • Formula in column 2 Historical Alternating Current Motor Design Optimization Re-Engineered from BASIC Simulation into PROSE optimization (in just a few hours)
AC Motor Output Spreadsheet (Mockup) Iteration Output … FIND Output morphed into spreadsheet This first tabbed worksheet is the top holon of the hierarchy, showing the content of the FIND statement. The first two columns show the name and initial values of the independent parameters, constraints and objective function. The remaining columns on the right are the results of the optimization search iterations. The spreadsheet provides an excellent presentation medium for iterative search output, complementing the MetaCalculus language. Unknown independent parameters Constraints Objective Function (efficiency)
Model Output • Rows Match Model Lines • Name in column 1 • Formula in column 2 Iteration Output in remaining columns This slide shows the output of the model being optimized. The first two columns contain the formulas equivalent to the originator’s BASIC program. Column 1 contains the name and column 2 contains the RHS expression of the formulas (internally) and their values visibly. Then, like the previous presentation of the FIND statement, the remaining columns show the search iteration result history. As also shown, the cell-note feature of spreadsheets provides an additional service (similar to the concept of “Spiritext” I will introduce later) which is important pedagogy to comprehending how MetaCalculus works. At any cell in the iterative history, the user may sample the values of the “fluxions”—partial derivative values which are guiding the search algorithm. This is just the kind of diagnostic information that helps the “solution mechanic” trace the progress of the solution search. Note that this could have been shown as a normalized histogram to illustrate scaling. … Using cell notes for Inducting differential calculus from under the hood Constraints Objective Function (efficiency)
Educational Model Base Build-out • AC motor problem was new paradigm example • Optimization Re-Engineering (ORE) mining • Can transform education/research agenda • ORE mining can train students as mentors • Porting old simulation code and applying solvers • Learning solvers by applying them to many models • No need to learn the modeled science • New “Extreme Modeling” Collaboration Paradigm • like PROSE mentor and AC motor design engineer. • Complementary Differences – New Division of Labor Reflecting now on what we just covered, we can see an emerging business agenda which can quite easily transform several mass movements present in the computer industry, namely open-source programmers, academic mathematicians, system dynamic modelers, and next I will talk about gamers. Our agenda can re-polarize these movements into a collaborative software buildout emerging a new division of labor. The astounding notion is that this is merely another software porting agenda, albeit one that involves escalation to the “brass ring” of all design—optimization.
Fodder for ORE Mining - NASA FDS Now I’m going to suggest some fodder, or should I say “kindling”. This is where I start introducing the gamers. But the topic is “serious games”. I once ran a laboratory in the Space Shuttle program, whose everyday task was to play a serious game, resident on a minicomputer using large dumb Tektronics 4014 analog graphics terminals. This game was called the Flight Design System. It was used to plan each and every shuttle mission, from liftoff to landing. Wouldn’t FDS (a large collection of FORTRAN programs) be a fertile testbed for training student engineers of all universities in the pedagogical porting technique of ORE mining, and as a starter kit for instituting MetaScience serious-game building to automate modeling. I can think of other software systems that fit this mold—SPICE and Syntha, for example. On Orbit Graph Generators • Shuttle CAD System for Mission Design • Hundreds of FORTRAN programs Historical Model Base to Train New Engineers
Today with Web 2.0 technology, we have the means to captivate students in learner-centered learning scenarios that can advance their understanding of the sophisticated holistic sciences like ecology and economics, long before they have to deal with the real world as adults. We have fantasy games in which kids can design their own fantasies and play them out with each other across the world. Why not mobilize these sophisticated software systems to teach them MetaScience as early as they themselves want to learn it to play out their own creativity? We already have plenty of gamer communities that are ready to participate in this buildout of educational software, and pave the way for those to come. Learner Centered Learning MMPOG • Massively Multi-Player Online Games • Persistent world simulation (e.g. Atriarch) • Mimic world problem-solving in game contexts • Physics, Economics, Ecology, Political Science • System Dynamics, Data Assimilation, Optimal Control • Nurture world building gamer communities • Teach K-12 MetaScience in game context • Disintermediate classrooms into learning labs
MetaCalculus was so named to represent modeling of problems employing differential and integral calculus solution engines under the hood, but above and beyond the need to formally understand this mathematics. Just like users of SQL needn’t understand the technology of database searching, users can employ technologies without understanding how they work, except in an intuitive way. MetaScience extends this paradigm in three ways. First, it can incorporate new solution methods in the same templates which employ discrete inverse mathematics, such as Diophantine equations. Second, it will be a buildout of diversified application-specific modeling media containing canned engineering modeling component libraries, derived from extensive ORE mining and OOP component recasting, Third, it produces navigable Spiritext webcode documentation that can be employed for users to collaborate in modeling and solution sharing over the web. We will next talk about Spiritext pedagogy and collaboration, i.e. “Spiritexting”. Modeling Paradigm Meta CalculusExtended Languages Languages: Spiritext MENU Metaphoric Solution Tools SYSTEMS OPTIMIZATION Digital Calculus Computation Engine EXECUTIVESYNOPSIS API Automatic Differentiation System: SOURCE CODEDESCRIPTION & ANNOTATION Collab Notes Collab Notes SOURCE CODEIN PREFORMATTED HTML SYSTEMS CORRELATION Collab Notes ELEMENT2 ELEMENT1 ELEMENTn SYSTEMS SIMULATION ... Tools: MetaScience Portal
A feature of all MetaScience languages will be the dynamic WebCode documention we call “Spiritext”, which follows the stream of attention of the reader as context sensitive background narrative using highly augmented tooltip sub-hypertext. Originally intended as a tool for large software system maintenance, its original prototype demonstration was a wiki website of the Apache2 source code written in the C language, including full mouseover expansion of C-preprocessor macros. For semantic-intensive languages like like MC-Fortran, which invoke large solver engines from libraries, the bulk of the Spiritext can be generated and published by the translator, and includes the entire content of all of the user guides and reference manuals that would ever be needed. Spiritext Tranpublished Features Footnote annotating a variable mouse over Navigation Footnote annotating HOLDING phrase of FIND template mouse over
As shown here, access to context-sensitive manual content can be provided by hyperlinks in the flashed tooltips to ordinary web popups. This example provides detailed information about how to use the THOR solver. All of this kind of annotation content is application-generic. It is provided by the language and translator development community, as supplementary data in the translator. Exceptions are translation of coded comments, and the synopsis information in the upper frame, which is taken from special user include files. More Tranpublished Features
Spiritext Wiki Footnote Entry User specified application-specific annotation is added to the application after it is translated. This example dialog is permanent annotation added as footnotes. Much flexibility is provided for structuring the annotation content as combinations of tooltips and popups with various hyperlink connections.
Wiki Application Specific Footnotes Here are examples of application-specific tooltip footnotes added to the Spiritext wiki. Footnote colors distinguish the type of annotation. Application-generic annotation is usually green, whereas application-specific content is usually yellow.
Spiritext Wiki Collab-Note Entry Collaboration is where Spiritext will become viral on tablet-portal machines as the logical extension of phone texting. This is a Collab-Note entry dialog. A Collab-Note is a termporary footnote, added to code as before, but with a time schedule for “reaping”, and an email address to a collaborator or group, for an automatic email notice containing a hyperlink back to the note site. Another variation (TBD) is to use IRC channels for instant Spiritexting between online collaborators, and even voice and video. But before that, sketch graphics from online paint programs or fax images can be included in the tooltips or popups.
AD Pioneering 1966-1980 Interpretive Languages Compiled Languages MetaCalculus Language Evolution Meta Calculus has already seen over 200 man years of development, approximately 170 of which occurred before the MC1 (model compiler) product was developed in 1966. It was the modeling interface to the Apollo Propulsion Analysis Program (APAP). This program was used for mathematically reconstructing the behavior of the Apollo spacecraft primary propulsion systems (SPS, LEM DPS and LEM APS), to accurately assess engine performance, payload capability and malfunction signatures, by assimilating propulsion and guidance telemetry data with detailed simulation and statistical instrument error models. The accuracy of these assessments, validated the payload capability necessary to carry the Lunar Rover vehicle to the moon on later missions. It had not been part of the original Apollo mission model. • MC1 –Model Compiler – NASA Apollo 1966 • MC2 – MODTRAN - FORTRAN Interpreter 1967 • Optimization & Estimation Modeling with Fixed Algorithms • MC3 – SLANG - Macro Language 1968 • Added System Dynamics Algorithm Differentiation • MC4 – SLANG/CUE 1969 • Modular/Relocatable Programs & Algorithms • MC5 – PROSE - Commercial Batch Processing 1973 • CDC Cyber, IBM 370, Univac 1100 Service Bureaus • MC6 – TSPROSE - Commercial Interactive 1975 • CDC Cyber Systems (Cybernet, United Computing Systems) • Stabilization of Meta Calculus Paradigm 16-bit Hiatus – Automatic differentiation infeasible on segmented memories • MC7 – Fortran Calculus 77 – DOS PC (protected mode) Version 1990 • MC8A – SyCal, Synthetic Calculus Fortran 77 (coded – not tested) 1994 • MC7B – MC-Fortran 95 Dialects: FC2, MetaCalc, MetaFor 2010 • MC9 – (Parallel Meta Calculus - TBD) 2013 • MOB Search (MetaCalculus Optimization Broadcasting)
MetaFor MetaCalculus Fortran