MATHS Is Not A Programming Language.
- MATHS is not for "writing programs." MATHS uses the characters of ASCII
to express a mixture of informal and formal documentation. Some formulae can be
implemented as systems, objects, data bases, or hardware. It does not depend
on any implementation. MATHS describes ideas 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.
- 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.
- 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 precise graphic representation. Tools can produce
HTML pages automatically.
- 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.
- 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 use its content.
- 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.
- It will support many methods and fit with any flavor of programming.
- 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
- | OOA/D
- | Flavor programming
- | ... ,
where
- Flavor::=
- ( hacked | literate | structured | disciplined | object_oriented |...)
- & ( low_level | high_level | very_high_level | 4GL | meta | ...)
- & ( spaghetti | functional | recursive | modular | concurrent | logic |...)
- ~ ( linear | quadratic | dynamic | integer |... ).
MATHS documents are modular and reusable.
- 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.
- The simple reuse mechanism allows the extension of existing documents. There
is a special notation whereby an author can indicate a "hole" in the document
[ holefaq.html ]
and invite others to fill in the hole or plug in their own work.
- 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.
- 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
world-wide repositories and encyclopedia of ideas.
Current Status
- A prototype exists. Sample documents are available on the the WWW
[ http://www.csci.csusb.edu/dick/samples/ ]
that include descriptions of Ada, C, C++, HTML, Java, ..., Z simple problems, and
[ http://www.csci.csusb.edu/dick/maths/ ]
most of College Algebra and Discrete Mathematics.
A formal definition is being developed.
The reference manuals and introduction are available at
[ http://www.csci.csusb.edu/dick/maths/ ]
or via anonymous FTP from
ftp://www.csci.csusb.edu/dick/maths
History
- I've been working on notation since I designed a programming language for a
manual calculator in 1962. MATHS started when I first tried to prepare a set
of notes on grammar theory on a Frieden Flexowriter... It has developed
through about 20 or 30 prototypes since then [Thanks1].
Acknowledgements and Disclaimers.
- MATHS would not have come to being without the support provided by the
California State University, San Bernardino. 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.
- 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.
Thanks1
I'd like to thank
Ulf Schünemann
[ http://www.cs.mun.ca/~ulf/ ]
for helping to correct a mistake here.
. . . . . . . . . ( end of section Acknowledgements and Disclaimers.) <<Contents | Index>>
Copyright
- This manifesto is a snapshot of work in progress taken on
Tue Aug 31 17:07:22 PDT 1999.
- 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@csusb.edu or dick@csci.csusb.edu.
Also on the WWW at http://www.csci.csusb.edu/dick/monograph/10.manifesto.html
or by anonymous FTP at
ftp://www.csci.csusb.edu/dick/monograph/10.manifesto.mth.
- 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 acknowledgment of the contribution will be EMailed back. In future
versions the contribution will be acknowledged.
- A similar copyright holds for published examples of MATHS documentation -
namely that it can be reused (given due acknowledgment), 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 Copyright) <<Contents | Index>>