[Skip Navigation] [CSUSB] / [CNS] / [CSE] / [R J Botting] / [Samples] / index
[Index] [Contents] [Source Text] [About] [Notation] [Copyright] [Comment/Contact] [Search ]
Thu May 9 14:38:16 PDT 2013

Contents


    Index of Samples of MATHS Documentation

      About my samples

      These pages are part of Richard J Botting's professional development program. They demonstrate how a simple formal language [ ../maths/ ] can be used in developing software and web pages.

      These pages are not about code but about ways of thinking about problems and solutions. They often focus on the special languages and protocols that form a large part of computing.

      Changes


      (Changes 2013):

        (May 2013): Added rules to [ usecases.html ]
        (April 2013): added a new company to [ people.html ]
        (March 2013): [ patterns.html ] (From CSE375 notes).
        (February 2013): Updated [ design99.html ] to [ design13.html ] and so discovered that [ tex2html.html ] and the associated script (bin/tex2html) did not translate the Greek letter rho ρ correctly (or at all). Fixed it.


      (Changes 2012):

        (December 2012): Added SEMAT to [ methods.html ]
        (November 2012): Editted links in [ tools.html ] and added [ SQL BNF ] below.
        (July 2012): Added Git to [ tools.html ]
        (June 2012): Drafted the syntax of Scala [ scala.syntax.html ]

        Small changes to [ javascript.html ]


        (April 2012): Added JSON [ JSON.html ] and a link to Julia [ languages.html#Julia ] , also refactored [ languages.html ] to create [ PEPA.html ] and [ LOTOS.html ] (two process algebra languages).

        TO say nothing of being sidetracked into [ fizzbuzz.html ] (Damn you codepad).


        (March 2012): Added a link on history of [ lisp.html ] typography.


        (January 2012): Added resources on the history of [ hypertalk.html ]



      (Changes 2011):

        (December 2011): Fixed a broken link in [ methods.html#ontology ] and modernised the MATHS used in [ hypertalk.html ] to describe the syntax and semantics behind Apple's Hypercard.

        Corrected errors in [ ProbabilityCA.html ] on techniques for modelling Cellular Automata.

        Added links to good page of links on AI and the history of Microsoft to [ etc.html ] (thanks to Sarah Washington, December 2011).


        (September 2011): Added a translation of a Z description of a Body of Knowledge [ BoK.html ]

        Replaced a broken link at [ people.html#Women in CSci ] (With thanks to Jenna Hill)


        (July 2011): Added some links on UNIX and Linux below.


        (June 2011): added links on semantic markup to [ comp.html.syntax.html ]

        Thinking about adding a raw data format to MATHS [ maths/addRawData.html ]


        (April 2011): Added link to a Belorussian translation of my Python page in [ python.html ]

        Added a link to [ z.html ] and [ etc.html#Spiked Math Comic ]

        Added a link to UML models to half a dozen languages.

        Created an set of notes on using probability in modelling Cellular Automata [ ProbabilityCA.html ]


        (March 2011): added an example of a class definition to [ python.syntax.html ]
        (February 2011): Created [ Grunske08.html ] grammar of probabilistic (model checkable) requirements.
        (January 2011): improving [ ml.syntax.html ] (ML Syntax).



      (Changes 2010):

        (December 2010): Fixed spelling and grammar in [ tenses.html ]

        Replaced broken link and tweaked [ etc.html ] (thank you Mary).

        A joke expressed in MATHS [ nerd-venn-diagram.html ] or is it serious?

        Updated [ etc.html ] with two new Jobs and Careers items.


        (November 2010): Repaired or removed broken links in [ python.html ]

        Added [ class_managers_assistent.html ] as an example of MATHS doing Z. Plus [ class_managers_assistent1.html ] for a more MATHS style form.

        Improved [ usecases.html ]


        (October 2010): Added a description of PEPA to [ languages.html ]


        (June 2010): corrected description of abstarct in [ uml.html ] and added GoStats [ computer-programming.html ] to [ languages.html ]


        (May 2010): improved notes on [ reference.html#MBTI ] Myers-Briggs personality types.

        Improved notes on Formal Methods [ methods.html ]


        (March 2010): Finally corrected the communication diagram [ uml.comm.gif ] in the UML notes [ uml0.html#Communication ] and added a note on showing private(-) and public (+) members.

        Added a new resume site to [ etc.html ]


        (January 2010): added link on end of lines in ASCII [ comp.txt.ASCII.html#EOLN ] and SIKULI to [ ../languages.html ]



      (Changes 2009):

        (November 2009): Corrected typos in [ ada.syntax.html ]


        (October 2009): Added a link to [ people.html#Blogs ]

        Created [ teaching.html ] (based on my notes on teaching in my old Palm Pilot).


        (September 2009): Improved table handling (I hope) and parts of [ reference.html ]


        (July 2009): Improved notes on ASCII and BREAKs and DISCONNECTs [ comp.text.ASCII.html ]


        (June 2009): Added Bliss resources to [ languages.html#Artificial Langauges ] and Spidergrams to [ tools.html#Mind Mapping by Tony Buzan ]


        (May 2009): [ methods.html#The_Tao_of_programming ] [ standards.html ] (Music) [ maths.html ]
        (April 2009): Added Spec# to [ languages.html ]

        Added some links to blogs [ people.html#Blogs ] from Mark Doernhoefer's SIGSOFT column.

        Added some links on esoteric languages to [ languages.html ]
        (March 2009): [ tools.html ] (New link to Marc Doernhoefer's Tool Time article in SENotes).



      (changes 2008):
      1. (December 2008): [ reference.html ] (Personal memos uploaded from old Palm Tungsten E2). [ etc.html ] (new job site and new academic info contributed).
      2. (November 2008): [ tools.html ] (Proof assistants), [ perl.html ] (Windows versions).
      3. (October 2008): [ intro.comp.html.html ]
      4. (September 2008): [ br.d.html ] [ maths.html ]
      5. (August 2008): [ languages.html#Artificial Languages ] [ etc.html#Computer Chronicles TV Program ]

        [ people.html#Doernhoefer08b ] -- a link to websites about people important for computing

      6. (July 29th 2008) -- completed [ languages.html#YAML ] and added [ languages.html#little b ]
      7. Started to use [ maths.html ] (blog) and [ maths/ ] (directory) to document and record developments (and thoughts) on the tools based on the MATHS language.
      8. New set of Frequently Asked Questions for simple CS1 C++ [ c++.FAQ.html ]


      (changes 2007):
      1. New summary of mapping ΤΕΧ to HTML [ tex2html.html ] in MATHS. Includes list of Greek alphabet.
      2. Improved information on [ people.html#Societies ]
      3. New topic [ etc.html#Visualization and Diagrams and Presentations ]


      (new 2006): following
      1. (Winter 2006): URLs [ URL.syntax.html ]
      2. (Summer 2006): Z [ z.html ] [ comp.spec.Z.html ]

        [ tenses.html ] (From an English Grammar)

        [ tautologies.html ] (From Reichenbach45)

      3. (Spring 2006) TeX [ languages.html#TeX ] [ comp.text.TeX.html ] [ comp.text.TeX.Mathematical.html ]


      (new 2005): following
      1. (November) Prime Numbers [ primes.html ]
      2. (October) Sudoku [ sudoku.html ]
      3. (Summer) Medieval Logic [ syllogisms.html ]
      4. (June) Initial documentation on PHP [ php_intro.html ]
      5. (June) Moving UML documentations from 1.* to UML2.0 [ uml.html ]


      (new 2004): following
      1. New entry on ontologies (logical models of parts of the world): Ontologies.
      2. (Z Syntax): recreated [ z.syntax.html ] from a copy in another directory in HTML!


        (A): A new small autocode [ A.html ] based on the languages I used in the 1960s.


        (Minski): A small but universal language: TBA based on Minski's book.



      (new2003): following

        (People in Software Development): [ people.html ]
        (Tools for Software Development): [ tools.html ]
        (General Software Development Links): [ etc.html ]
        (Languages): [ languages.html ]
        (Methods): [ methods.html ]
        (Standards): [ standards.html ]

      Search my samples

      This form has been improved and moved to [ lab.html ] where you can search for more with less trouble.

      Some Simple Examples of Math in Use


      (Class Managers Assistent): How to do Z in MATHS [ class_managers_assistent.html ] (Started November 12th 2010).
      (filter to allow case insensitive searches of my bibliography): [ nocase.html ] (Mar 14th 2000)
      (Analysis of the Sudoku puzzle): Careful definition [ sudoku.html ]
      (Solving a Car Talk Puzzler about a fishing expedition): [ fish.html ]
      (Mathematical Model of the 99 Beers on a Wall Song): [ 99beers.html ]
      (Mathematical Model of A Data Mart Project): [ project.html ]
      (Selecting FTP jobs to kill): . [ hours.html ]
      (Recognizing Abbreviations for Months): . [ months.html ]
      (Word wrapping a file): . [ br.d.html ]

      Descriptions of systems other than software


      (The Local csci.csusb.edu domain): [ csci.csusb.edu.html ]

      Glossaries


      (glossary): [ glossary.html ]
      (HTML.glossary): [ comp.html.glossary.html ]
      (Methods.glossary): [ methods.glossary.html ]
      (objects.glossary): [ objects.glossary.html ]
      (Programming languages.Glossary): [ languages.glossary.html ]


      (Ada glossary): [ ada.glossary.html ]
      (C++ glossary): [ c++.glossary.html ]
      (Java glossary): [ java.glossary.html ]
      (Prolog glossary): [ prolog.glossary.html ]
      (SmallTalk glossary): [ smalltalk.glossary.html ]
      (C++ Standard Template Library STL glossary): [ stl.glossary.html ]
      (Unified Modeling Language UML Glossary): [ uml.glossary.html ]

      Mail


      (mail.syntax): [ mail.syntax.html ]
      (comp.mail.MIME): [ comp.mail.MIME.html ]

      Methods, Processes, Standard, Methodologists


      (Methods): [ methods.html ]
      (Standards): [ standards.html ]

      Meta-languages


      (comp.text.Meta): languages [ comp.text.Meta.html ] and
      (an introduction to XBNF): . [ intro_ebnf.html ]

      Miscellaneous Notations


      (Colors): [ color.html ]
      (comp.prog.5_Hungarian): [ comp.prog.5_Hungarian.html ]
      (comp.text.ASCII): [ comp.text.ASCII.html ]
      (comp.text.Meta): languages that describe other languages: [ comp.text.Meta.html ]
      (Regular Expressions): used in many languages (and in theory) to describe sets of strings [ regular_expressions.html ]
      (Unified Modeling Language UML): [ uml.html ] and the
      (Object Constraint Language OCL): [ ocl.html ] plus
      (conjectural grammar .mdl file format Rational Rose): . [ uml.mdl.html ]
    1. mdl::DOS_file_extension=indicates a Rational ROse model.


      (Virtual Reality Modeling Language VRML): . [ vrml.html ]

      Mark Up Languages


      (HTML syntax): HyperText Markup Language [ comp.html.syntax.html ]
      (XHTML): eXtendable HTML (Febuary 2000) [ xhtml.html ]
      (SGML): Standard Generalized Markup Language [ comp.text.SGML.html ]
      (TeX): Mathematical mark-up and type setting. [ languages.html#TeX ] [ comp.text.TeX.html ] [ comp.text.TeX.Mathematical.html ]
      (XML): (eXtensible Markup Language). [ xml.html ]

      Also see [ languages.html ]

      Patterns


      (patterns): GRASP, OO, Gof, ... [ patterns.html ]

      Ontologies

    2. Ontology::=A logical model of a domain typically expressing relations between classes of objects. The syntax seems to be usally based on LISP (hasPurpose SomeThing reasonForBeing) or XML. Aristotle seems to have been the first, archetypal, ontologist. [ Ontology_%28computer_science%29 ] (Wikipedia) [ related.html ] (projects) [ what-is-an-ontology.html ] (FAQ) [ http://www.co-ode.org/ontologies/pizza/2005/10/18/ ] (Pizza).


      (Cyc): The closed source grand-daddy of all computerized ontologies developed by Doug Lenat , which has an open source version called OpenCyc
      (OpenCyc): The top 1% of Cyc taxonomy and open. [ opencyc-ontology.txt ] (5Megabytes of LISPy text)


      (SUMO): Suggested Upper Merged Ontology. An open source formal upper ontology [ http://www.ontologyportal.org/ ] developed under the IEEE P1600.1 Standard Upper Ontology Working Group [ http://suo.ieee.org/ ] and maintained by Adam Pease [ http://home.earthlink.net/~adampease/professional/ ] SUMO can be browsed on-line at [ http://icosym-nt.cvut.cz/kifb/en/ ] (BROKEN!) and has a WikiPedia article [ Suggested_Upper_Merged_Ontology ] , a UML model [ Phytila-SUMO.html ] and another web site [ http://ontology.teknowledge.com/ ]


      (bibliographic items mentioning ontologies): Including Doug Lenat... [ bib.php?search=ontolog ]


      (My notes on Ontologies): Modelling classifications [ notn_16_Classification.html ] and a sampler [ logic_8_Natural_Language.html ] of logical ontologies.

      Unified Modeling Language

      Also known as the UML. See [ uml.html ] and [ ocl.html ] (Object Constraint Language) plus a conjectural grammar for the .mdl files used by Rational Rose [ uml.mdl.html ]

      Programming Languages


        (Other languages): [ languages.html ]
        (Languages Glossary): [ comp.lang.Glossary.html ]

        Ada


        (Pointers to ada on the Web): [ ada.html ]
        (ada glossary): [ ada.glossary.html ]
        (ada83 syntax): [ ada.syntax.html ]

        Algol


        (algol60 syntax): (Based on the Algol 60 Report). [ algol60.syntax.html ]

        From an old CDC manual [ Algol-BNF.html ] (Bernhard Treutwein).

        From the original via ΤΕΧ by Erik Schoenfelder [ report.htm ] (Brigton University, Sussex, England)


        (Algol 68 Wilhelm Bernhard Kloke): home page [ index.html ] and Revised Report [ RR ]

        C and C++


        (Pointers to the draft copy of the C++ Standard): (the real standard costs money). [ http://www.csci.csusb.edu/dick/c++std/ ]
        (syntax/BNF from the standard): Translated into XBNF [ c++.standard.syntax.html ]
        (Overview of C++): [ c++.html ] including pointers to:
        (c++ glossary): [ c++.glossary.html ]
        (c++ syntax): [ c++.syntax.html ]
        (c semantics): [ c.semantics.html ]
        (c syntax): [ c.syntax.html ] (Standard Template Library(STL)): [ stl.html ]

        COBOL


        (Introduction): [ cobol.html ]
        (Syntax): [ cobol.syntax.html ]

        HyperTalk


        (HyperTalk Handbook): [ hypertalk.html ]

        Java


        (Pointers to Java Documentation): [ java.html ]
        (syntax): [ java.syntax.html ]
        (semantics): [ java.semantics.html ]
        (Applications Programmer Interfaces Java API 1.2): [ java.1.2.classes.html ]
        (API 1.0 to 1.1): [ java.class.tree.html ]
        (Java Classes): [ java.classes.html ]

        JavaScript


        (JavaScript): [ javascript.html ]

        LISP


        (lisp.lexemes): [ lisp.lexemes.html ]
        (lisp.semantics): [ lisp.semantics.html ]
        (lisp.syntax): [ lisp.syntax.html ]

        Pascal


        (pascal.lexemes): [ pascal.lexemes.html ]
        (pascal.syntax): [ pascal.syntax.html ]

        Perl


        (perl): [ perl.html ] also see [ Regular Expressions ] below.

        PHP

        [ php_intro.html ] also see [ Regular Expressions ] below.

        Python

        [ languages.html#Python ] [ python.html ] [ python.syntax.html ]

        Prolog


        (Prolog Overview Pointers): [ prolog.html ]
        (prolog.glossary): [ prolog.glossary.html ]
        (prolog.semantics): [ prolog.semantics.html ]
        (prolog.syntax): [ prolog.syntax.html ]
        (prolog.predicates): (For SWI-prolog). [ prolog.predicates.html ]
        (prolog.www.sites): [ prolog.www.sites.html ]
        (prolog.FAQ): [ prolog.questions ]

        Smalltalk


        (smalltalk.glossary): [ smalltalk.glossary.html ]
        (smalltalk.semantics): [ smalltalk.semantics.html ]
        (smalltalk.syntax): [ smalltalk.syntax.html ]

        Standard ML


        (ml.syntax.html): [ ml.syntax.html ]

        SQL -- Structured Query Language -- Data Base


        (SQL BNF): syntax [ http://savage.net.au/SQL/ ] (several standards 1992..2003)

        Small Languages

        These are different starting points for an exercise in Object Oriented analysis and design of programming languages [ http://cse.csusb.edu/dick/cs320/ ] course. The student's first task is to find out what is wrong with the LRMs below and then propose some fixes. By the end of the quarter they will have developed their own improved languages and LRMs. All are welcome to attend these presentations.

          (small): a small language(January 2001) [ small.html ]
          (OJ): a very small language(April 1st 2000) [ oj.html ]
          (Small Awk Language): (January 2000). [ smallawk.html ]
          (A): A small autocode [ A.html ]
          (SOOP): Simple Object Oriented Programming [ SOOP.html ]
          (Juice): A small Java like Language [ juice.html ]

      . . . . . . . . . ( end of section Programming Languages) <<Contents | End>>

      Operating System Languages

        UNIX and Linux etc

        The O'Reilly books have been the best resource for learning UNIX/Linux/OSX/bash/sh/... for many decades: [ linux ]

        I have some notes for a course on UNIX scripting for power users... [ ../cs360/notes/ ] but this is way out of date.

        Here are some reference pages:
        (unix linux commands): [ unix.commands.html ]
        (unix syntax): UNIX operating system commands [ unix.syntax.html ] also see [ Regular Expressions ]
        (shell syntax): bash, ksh, csh, sh, ... [ shell.syntax.html ] also see [ Regular Expressions ]

      Specification and Requirements Languages

        IEEE SRS


        (IEEE Standard SRS templates): [ IEEEoutline.html ]

        Local SRS


        (Local Standard SRS templates): [ outline.html ] (HTML) [ outline.mth ] (MATHS)

        Unified


        (Unified Modeling Language): [ uml.html ] and the
        (Object Constraint Language): (OCL). [ ocl.html ]

        Z


        (comp.spec.Z): [ comp.spec.Z.html ]
        (z.syntax): [ z.syntax.html ]

      . . . . . . . . . ( end of section Specification and Requirements Languages) <<Contents | End>>

      Languages For systems, Problem, and Domain Analysis


        (test translating URLs MATHS to HTML): (March 2000) [ tester.html ]
        (MATHS manifesto): [ 10.manifesto.html ]
        (MATHS README): [ intro_README.html ]
        (MATHS lexicon): [ math.lexicon.html ]
        (MATHS syntax): [ math.syntax.html ]

        Some [ Specification and Requirements Languages ] can also be used to describe problem domains and existing systems.

      . . . . . . . . . ( end of section Languages For systems, Problem, and Domain Analysis) <<Contents | End>>

      Theories

      There is nothing so practical as a good theory [ end1 ]


      (Medieval Logic): Categorical syllogisms [ syllogisms.html ]
      (BAN logic authentication): June 2002 [ BAN.html ]


      (Design Theory Circa 1995): [ design95.html ]
      (Design Theory Circa 1999): [ design99.html ]

      End Notes

        end1

        The source for this quote is commonly given as Kurt Lewin. I'm trying to find it in a publication. It certainly seems to reflect his attitude. I thought it was Dirac. I've heard of other attributions.

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

    . . . . . . . . . ( end of section Index of Samples of MATHS Documentation) <<Contents | End>>

( End of document ) <<Contents | Top