Variant Handling, Inheritance and Composition in the ObjectMath Computer Algebra Environment

ObjectMath is a high-level programming environment and modeling language for scientific computing which supports variants and graphical browsing in the environment and integrates object-oriented constructs such as classes and single and multiple inheritance within a computer algebra language. In addition, composition of objects using the part-of relation and support for solution of systems of equations is provided. This environment is currently being used for industrial applications in scientific computing. The ObjectMath environment is designed to handle realistic problems. This is achieved by allowing the user to specify transformations and simplifications of formulae in the model, in order to arrive at a representation which is efficiently solvable. When necessary, equations can be transformed to C++ code for efficient numerical solution. The re-use of equations through inheritance in general reduces models by a factor of two to three, compared to a direct representation in the Mathematica computer algebra language. Also, we found that multiple inheritance from orthogonal classes facilitates re-use and maintenance of application models.

[1]  Bruce W. Char,et al.  Maple V Language Reference Manual , 1993, Springer US.

[2]  William Courington,et al.  NSE highlights , 1989 .

[3]  Mats Andersson,et al.  Omola : An Object-Oriented Language for Model Representation , 1990 .

[4]  Richard D. Jenks,et al.  A Primer: 11 Keys to New Scratchpad , 1984, Symbolic and Algebraic Computation.

[5]  Dag Fritzson,et al.  The need for high-level programming support in scientific computing applied to mechanical analysis , 1992 .

[6]  Mats Andersson An Object-Oriented Modeling Environment , 1989 .

[7]  Carla Limongelli,et al.  Design and Implementation of Symbolic Computation Systems , 1991, Lecture Notes in Computer Science.

[8]  Peter Piela Ascend: an object-oriented computer environment for modeling and analysis , 1989 .

[9]  Peter Fritzson,et al.  An object-oriented language for symbolic computation—applied to machine element analysis , 1992, ISSAC '92.

[10]  Mark Hall,et al.  The Sun Technology Papers , 1990, Sun Technical Reference Library.

[11]  James H. Davenport,et al.  Computer Algebra: Systems and Algorithms for Algebraic Computation , 1988 .

[12]  Peter Fritzson,et al.  The Implementation of ObjectMath - a High-Level Programming Environment for Scientific Computing , 1992, CC.

[13]  David J. Goodman,et al.  Personal Communications , 1994, Mobile Communications.

[14]  Peter Fritzson,et al.  Industrial application of object-oriented mathematical modeling and computer algebra in mechanical analysis , 1992 .

[15]  Lawrence S. Kroll Mathematica--A System for Doing Mathematics by Computer. , 1989 .

[16]  Richard D. Jenks,et al.  AXIOM: the scientific computation system , 1992 .