[Skip Navigation] [CSUSB] / [CNS] / [Comp Sci & Eng Dept] / [R J Botting] / [Monograph] / 10.manifesto
[Index] || [Contents] || [Source] || [ Search monograph] || [Notation] || [Copyright] Fri May 16 11:08:49 PDT 2008


    The MATHS Manifesto

      MATHS Is Not A Programming Language.

    1. MATHS is not for "writing programs." MATHS uses the characters of ASCII to express logical and mathematical formulae. Some formulae can be implemented as systems, objects, data bases, or hardware. It does not depend on any implementation. MATHS describes ideas that are not algorithms. It helps all parts of the software process. MATHS stands for "Multi-purpose Abstractions, Terminology, Heuristics and Symbols."

      MATHS is a low-cost improvement to the software process.

    2. MATHS is designed to make formal methods a part of the software process. MATHS does not require expensive hardware. MATHS does not need complex software. A laptop computer with an ASCII editor and printer is all that is needed.

    3. MATHS decreases the overhead of making a "good" documentation "look good." Rigorous specifications in MATHS can be pre-processed, without additional marking up, ready for a text processor to prepare publication quality documentation. Many figures can be generated automatically since many MATHS formulae have a definite graphic representation.

    4. MATHS minimizes training costs by borrowing from well known notations. It builds on ideas of Computer Science - EBNF, programming languages, data bases.... It is simple to set up local electronic help systems for practitioners.

    5. MATHS includes features to make documentation and source code reusable. It enables the creation of an electronic repository of ideas, data and code ready for reuse. MATHS lets you refer to any published document or public Internet document and then make use of its content.

    6. MATHS is not "Artificial Intelligence" but "Intelligence Amplification." It uses the existing skills and knowledge of its users but makes the recording of thoughts a computer aided process.

      MATHS is not a method. It fits many methods.

    7. It will support many methods and fit with any flavor of programming.

    8. Methods::= Equational ADT specifications
      | Data directed design (eg LCP, JSP, ...)
      | Dynamic analysis and design(eg JSD, CSP, ...)
      | Data analysis(Codd, Bachman, Chen...)
      | Structured analysis and design(eg Yourdon, SSADM, ... )
      | Backtrack Programming
      | Expert Systems
      | Rapid prototyping
      | Flavor programming
    9. | ... , where
    10. Flavor::=
    11. ( hacked | literate | structured | disciplined | object_oriented |...)
    12. & ( low_level | high_level | very_high_level | 4GL | meta | ...)
    13. & ( spaghetti | functional | recursive | modular | concurrent | logic |...)
    14. ~ ( linear | quadratic | dynamic | integer |... ).

      MATHS documents are modular and reusable.

    15. The MATHS user can describe complex things piece by piece. Instead of one complex description MATHS makes it possible to define each part of the problem independently of the rest. There are rules for combining the pieces into a whole. Research and practice shows that multiple descriptions are better than a monolithic description.

    16. MATHS encourages working from what is, to what should be, and then to detailed design. Understanding, documenting, and solving problems replaces 90% of what has been called "programming." Research and practice shows how to use MATHS to express syntactic and semantic structures and translate them into code. Experience shows that such systems are easier to understand, validate, and maintain.

    17. MATHS shows how to recognize and parse the formal parts of documentation. The formal parts can be organized, summarized, indexed and checked. MATHS documents are compatible with Electronic mail and BBS systems. There can be repositories and encyclopedia of ideas.

      Current Status

      A prototype exists. Most of College Algebra, Discrete Mathematics, etc. plus descriptions of C, Ada, EBNF, Floating and integer arithmetic, nroff macros, etc have been expressed in MATHS. A formal definition is being developed. Prototype tools are being designed and tested.


    18. I've been working on the notation since I first tried to prepare a set of notes on grammar theory on a Frieden Flexowriter... It has developed through a about 20 or 30 prototypes since then. A necessarily incomplete prototype for the World-Wide-Web is publically available at [ http://cse.csusb.edu/dick/ ]

      Acknowledgements and Disclaimers.

    19. MATHS would not have come to being without the support provided by the Computer Science and Engineering Department of the California State University, San Bernardino.

    20. MATHS is the sole invention and construction of Richard J. Botting. It may not reflect the opinions, policies or beliefs of any other being, system, or organization with which he has been associated.

    21. This document describes an idea and not a product or service. There is no guarantee of positive results since MATHS requires intelligence, knowledge and skill to be used well. It comes from scientific research with the primary goal of increasing knowledge. I will modify it as its defects are found.


      1. This manifesto is a snapshot of work in progress taken on November 26th 1994.

      2. This manifesto is not in the "public domain" but it can be copied and distributed for any purpose as long as this section is included in its entirety. Permission is given for parts to be quoted if this paragraph is included. This manifesto may not be changed but suggestions for improvements sent by Electronic Mail are welcome. Up to date copies are available free by Electronic Mail from rbotting at CSUSB.

      3. Any improvements, corrections, additions, or examples in the description of MATHS should be submitted to me by Electronic Mail. They will be reviewed and may be returned for improvement or rejected outright. If acceptable then an acknowledgement of the contribution will be EMailed back. In future versions the contribution will be acknowledged.

      4. A similar copywrite holds for published examples of MATHS documentation - namely that it can be reused (given due acknowledgement), but not altered without the current owner's permission. Any improvements, corrections, additions, or examples should be submitted to the current owner of that document by Electronic Mail. If acceptable they should be acknowledged and the contribution documented in later versions.

      . . . . . . . . . ( end of section Copywrite) <<Contents | End>>

    . . . . . . . . . ( end of section The MATHS Manifesto) <<Contents | End>>