.Open 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 .See ../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): .Box (May 2013): Added rules to .See ./usecases.html (April 2013): added a new company to .See ./people.html (March 2013): .See ./patterns.html (From CSE375 notes). (February 2013): Updated .See ./design99.html to .See ./design13.html and so discovered that .See ./tex2html.html and the associated script (bin/tex2html) did not translate the Greek letter `rho` \rho correctly (or at all). Fixed it. .Close.Box (Changes 2012): .Box (December 2012): Added SEMAT to .See ./methods.html (November 2012): Editted links in .See ./tools.html and added .See SQL BNF below. (July 2012): Added Git to .See ./tools.html (June 2012): Drafted the syntax of Scala .See ./scala.syntax.html Small changes to .See ./javascript.html (April 2012): Added JSON .See ./JSON.html and a link to Julia .See ./languages.html#Julia , also refactored .See ./languages.html to create .See ./PEPA.html and .See ./LOTOS.html (two process algebra languages). TO say nothing of being sidetracked into .See ./fizzbuzz.html (Damn you codepad). (March 2012): Added a link on history of .See ./lisp.html typography. (January 2012): Added resources on the history of .See ./hypertalk.html .Close.Box (Changes 2011): .Box (December 2011): Fixed a broken link in .See ./methods.html#ontology and modernised the $MATHS used in .See ./hypertalk.html to describe the syntax and semantics behind Apple's Hypercard. Corrected errors in .See ./ProbabilityCA.html on techniques for modelling Cellular Automata. Added links to good page of links on AI and the history of Microsoft to .See ./etc.html (thanks to Sarah Washington, December 2011). (September 2011): Added a translation of a Z description of a Body of Knowledge .See ./BoK.html Replaced a broken link at .See ./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 .See ./comp.html.syntax.html Thinking about adding a raw data format to MATHS .See ./maths/addRawData.html (April 2011): Added link to a Belorussian translation of my Python page in .See ./python.html Added a link to .See ./z.html and .See ./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 .See ./ProbabilityCA.html (March 2011): added an example of a class definition to .See ./python.syntax.html (February 2011): Created .See ./Grunske08.html grammar of probabilistic (model checkable) requirements. (January 2011): improving .See ./ml.syntax.html (ML Syntax). .Close.Box (Changes 2010): .Box (December 2010): Fixed spelling and grammar in .See ./tenses.html Replaced broken link and tweaked .See ./etc.html (thank you Mary). A joke expressed in $MATHS .See ./nerd-venn-diagram.html or is it serious? Updated .See ./etc.html with two new Jobs and Careers items. (November 2010): Repaired or removed broken links in .See ./python.html Added .See ./class_managers_assistent.html as an example of MATHS doing Z. Plus .See ./class_managers_assistent1.html for a more MATHS style form. Improved .See ./usecases.html (October 2010): Added a description of PEPA to .See ./languages.html (June 2010): corrected description of `abstarct` in .See ./uml.html and added GoStats .See http://gostats.com/resources/computer-programming.html to .See ./languages.html (May 2010): improved notes on .See ./reference.html#MBTI Myers-Briggs personality types. Improved notes on Formal Methods .See ./methods.html (March 2010): Finally corrected the communication diagram .See ./uml.comm.gif in the UML notes .See ./uml0.html#Communication and added a note on showing private(-) and public (+) members. Added a new resume site to .See ./etc.html (January 2010): added link on end of lines in ASCII .See ./comp.txt.ASCII.html#EOLN and SIKULI to .See ../languages.html .Close.Box (Changes 2009): .Box (November 2009): Corrected typos in .See ./ada.syntax.html (October 2009): Added a link to .See ./people.html#Blogs Created .See ./teaching.html (based on my notes on teaching in my old Palm Pilot). (September 2009): Improved table handling (I hope) and parts of .See ./reference.html (July 2009): Improved notes on ASCII and BREAKs and DISCONNECTs .See ./comp.text.ASCII.html (June 2009): Added Bliss resources to .See ./languages.html#Artificial Langauges and Spidergrams to .See ./tools.html#Mind Mapping by Tony Buzan (May 2009): .See ./methods.html#The_Tao_of_programming .See ./standards.html (Music) .See ./maths.html (April 2009): Added Spec# to .See ./languages.html Added some links to blogs .See ./people.html#Blogs from Mark Doernhoefer's SIGSOFT column. Added some links on esoteric languages to .See ./languages.html (March 2009): .See ./tools.html (New link to Marc Doernhoefer's Tool Time article in SENotes). .Close.Box (changes 2008): .Box (December 2008): .See ./reference.html (Personal memos uploaded from old Palm Tungsten E2). .See ./etc.html (new job site and new academic info contributed). (November 2008): .See ./tools.html (Proof assistants), .See ./perl.html (Windows versions). (October 2008): .See ./intro.comp.html.html (September 2008): .See ./br.d.html .See ./maths.html (August 2008): .See ./languages.html#Artificial Languages .See ./etc.html#Computer Chronicles TV Program .See ./people.html#Doernhoefer08b -- a link to websites about people important for computing (July 29th 2008) -- completed .See ./languages.html#YAML and added .See ./languages.html#little b Started to use .See ./maths.html (blog) and .See ./maths/ (directory) to document and record developments (and thoughts) on the tools based on the $MATHS language. New set of Frequently Asked Questions for simple CS1 C++ .See ./c++.FAQ.html .Close.Box (changes 2007): .Box New summary of mapping \TeX to HTML .See ./tex2html.html in MATHS. Includes list of Greek alphabet. Improved information on .See ./people.html#Societies New topic .See ./etc.html#Visualization and Diagrams and Presentations .Close.Box (new 2006): following .Box (Winter 2006): URLs .See ./URL.syntax.html (Summer 2006): Z .See ./z.html .See ./comp.spec.Z.html .See ./tenses.html (From an English Grammar) .See ./tautologies.html (From Reichenbach45) (Spring 2006) TeX .See ./languages.html#TeX .See ./comp.text.TeX.html .See ./comp.text.TeX.Mathematical.html .Close.Box (new 2005): following .Box (November) Prime Numbers .See ./primes.html (October) Sudoku .See ./sudoku.html (Summer) Medieval Logic .See ./syllogisms.html (June) Initial documentation on PHP .See ./php_intro.html (June) Moving UML documentations from 1.* to UML2.0 .See ./uml.html .Close.Box (new 2004): following .Box New entry on ontologies (logical models of parts of the world): $Ontologies. (Z Syntax): recreated .See http://www/dick/samples/z.syntax.html from a copy in another directory in HTML! (A): A new small autocode .See http://www.csci.csusb.edu/dick/samples/A.html based on the languages I used in the 1960s. (Minski): A small but universal language: $TBA based on Minski's book. .Close.Box (new2003): following .Box (People in Software Development): .See http://www.csci.csusb.edu/dick/samples/people.html (Tools for Software Development): .See http://www.csci.csusb.edu/dick/samples/tools.html (General Software Development Links): .See http://www.csci.csusb.edu/dick/samples/etc.html (Languages): .See http://www.csci.csusb.edu/dick/samples/languages.html (Methods): .See http://www.csci.csusb.edu/dick/samples/methods.html (Standards): .See http://www.csci.csusb.edu/dick/samples/standards.html .Close.Box . Search my samples This form has been improved and moved to .See http://www/dick/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 .See ./class_managers_assistent.html (Started November 12th 2010). (filter to allow case insensitive searches of my bibliography): .See http://www.csci.csusb.edu/dick/samples/nocase.html (Mar 14th 2000) (Analysis of the Sudoku puzzle): Careful definition .See ./sudoku.html (Solving a Car Talk Puzzler about a fishing expedition): .See http://www.csci.csusb.edu/dick/samples/fish.html (Mathematical Model of the 99 Beers on a Wall Song): .See http://www.csci.csusb.edu/dick/samples/99beers.html (Mathematical Model of A Data Mart Project): .See http://www.csci.csusb.edu/dick/samples/project.html (Selecting FTP jobs to kill): . .See http://www.csci.csusb.edu/dick/samples/hours.html (Recognizing Abbreviations for Months): . .See http://www.csci.csusb.edu/dick/samples/months.html (Word wrapping a file): . .See http://www.csci.csusb.edu/dick/samples/br.d.html . Descriptions of systems other than software (The Local csci.csusb.edu domain): .See http://www.csci.csusb.edu/dick/samples/csci.csusb.edu.html . Glossaries (glossary): .See http://www.csci.csusb.edu/dick/samples/glossary.html (HTML.glossary): .See http://www.csci.csusb.edu/dick/samples/comp.html.glossary.html (Methods.glossary): .See http://www.csci.csusb.edu/methods.glossary.html (objects.glossary): .See http://www.csci.csusb.edu/dick/samples/objects.glossary.html (Programming languages.Glossary): .See http://www.csci.csusb.edu/dick/samples/languages.glossary.html (Ada glossary): .See http://www.csci.csusb.edu/dick/samples/ada.glossary.html (C++ glossary): .See http://www.csci.csusb.edu/dick/samples/c++.glossary.html (Java glossary): .See http://www.csci.csusb.edu/dick/samples/java.glossary.html (Prolog glossary): .See http://www.csci.csusb.edu/dick/samples/prolog.glossary.html (SmallTalk glossary): .See http://www.csci.csusb.edu/dick/samples/smalltalk.glossary.html (C++ Standard Template Library STL glossary): .See http://www.csci.csusb.edu/dick/samples/stl.glossary.html (Unified Modeling Language UML Glossary): .See http://www.csci.csusb.edu/dick/samples/uml.glossary.html . Mail (mail.syntax): .See http://www.csci.csusb.edu/dick/samples/mail.syntax.html (comp.mail.MIME): .See http://www.csci.csusb.edu/dick/samples/comp.mail.MIME.html . Methods, Processes, Standard, Methodologists (Methods): .See http://www.csci.csusb.edu/dick/samples/methods.html (Standards): .See http://www.csci.csusb.edu/dick/samples/standards.html . Meta-languages (comp.text.Meta): languages .See http://www.csci.csusb.edu/dick/samples/comp.text.Meta.html and (an introduction to XBNF): . .See http://www.csci.csusb.edu/dick/maths/intro_ebnf.html . Miscellaneous Notations (Colors): .See http://www.csci.csusb.edu/dick/samples/color.html (comp.prog.5_Hungarian): .See http://www.csci.csusb.edu/dick/samples/comp.prog.5_Hungarian.html (comp.text.ASCII): .See http://www.csci.csusb.edu/dick/samples/comp.text.ASCII.html (comp.text.Meta): languages that describe other languages: .See http://www.csci.csusb.edu/dick/samples/comp.text.Meta.html (Regular Expressions): used in many languages (and in theory) to describe sets of strings .See ./regular_expressions.html (Unified Modeling Language UML): .See http://www.csci.csusb.edu/dick/samples/uml.html and the (Object Constraint Language OCL): .See http://www.csci.csusb.edu/dick/samples/ocl.html plus (conjectural grammar .mdl file format Rational Rose): . .See http://www.csci.csusb.edu/dick/samples/uml.mdl.html mdl::DOS_file_extension=`indicates a Rational ROse model`. (Virtual Reality Modeling Language VRML): . .See http://www.csci.csusb.edu/dick/samples/vrml.html . Mark Up Languages (HTML syntax): HyperText Markup Language .See http://www.csci.csusb.edu/dick/samples/comp.html.syntax.html (XHTML): eXtendable HTML (Febuary 2000) .See http://www.csci.csusb.edu/dick/samples/xhtml.html (SGML): Standard Generalized Markup Language .See http://www.csci.csusb.edu/dick/samples/comp.text.SGML.html (TeX): Mathematical mark-up and type setting. .See ./languages.html#TeX .See http://www.csci.csusb.edu/dick/samples/comp.text.TeX.html .See ./comp.text.TeX.Mathematical.html (XML): (eXtensible Markup Language). .See http://www.csci.csusb.edu/dick/samples/xml.html Also see .See http://www.csci.csusb.edu/dick/samples/languages.html . Patterns (patterns): GRASP, OO, Gof, ... .See ./patterns.html . Ontologies 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. .See http://en.wikipedia.org/wiki/Ontology_%28computer_science%29 (Wikipedia) .See http://www.cs.utexas.edu/users/mfkb/related.html (projects) .See http://www-ksl.stanford.edu/kst/what-is-an-ontology.html (FAQ) .See 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. .See http://www.cyc.com/SUO/opencyc-ontology.txt (5Megabytes of LISPy text) (SUMO): Suggested Upper Merged Ontology. An open source formal upper ontology .See http://www.ontologyportal.org/ developed under the IEEE P1600.1 Standard Upper Ontology Working Group .See http://suo.ieee.org/ and maintained by Adam Pease .See http://home.earthlink.net/~adampease/professional/ SUMO can be browsed on-line at .See http://icosym-nt.cvut.cz/kifb/en/ (BROKEN!) and has a WikiPedia article .See http://en.wikipedia.org/wiki/Suggested_Upper_Merged_Ontology , a UML model .See http://ontology.teknowledge.com:8080/rsigma/Phytila/Phytila-SUMO.html and another web site .See http://ontology.teknowledge.com/ (bibliographic items mentioning ontologies): Including Doug Lenat... .See http://www.csci.csusb.edu/dick/bib.php?search=ontolog (My notes on Ontologies): Modelling classifications .See http://www.csci.csusb.edu/dick/maths/notn_16_Classification.html and a sampler .See http://www.csci.csusb.edu/dick/maths/logic_8_Natural_Language.html of logical ontologies. . Unified Modeling Language Also known as the UML. See .See ./uml.html and .See ./ocl.html (Object Constraint Language) plus a conjectural grammar for the .mdl files used by Rational Rose .See ./uml.mdl.html .Open Programming Languages (Other languages): .See http://www.csci.csusb.edu/dick/samples/languages.html (Languages Glossary): .See http://www.csci.csusb.edu/dick/samples/comp.lang.Glossary.html . Ada (Pointers to ada on the Web): .See http://www.csci.csusb.edu/dick/samples/ada.html (ada glossary): .See http://www.csci.csusb.edu/dick/samples/ada.glossary.html (ada83 syntax): .See http://www.csci.csusb.edu/dick/samples/ada.syntax.html . Algol (algol60 syntax): (Based on the Algol 60 Report). .See http://www.csci.csusb.edu/dick/samples/algol60.syntax.html From an old CDC manual .See http://www.lrz-muenchen.de/~bernhard/Algol-BNF.html (Bernhard Treutwein). From the original via \TeX by Erik Schoenfelder .See http://burks.brighton.ac.uk/burks/language/other/a60rr/report.htm (Brigton University, Sussex, England) (Algol 68 Wilhelm Bernhard Kloke): home page .See http://vestein.arb-phys.uni-dortmund.de/~wb/index.html and Revised Report .See http://vestein.arb-phys.uni-dortmund.de/~wb/RR . C and C++ (Pointers to the draft copy of the C++ Standard): (the real standard costs money). .See http://www.csci.csusb.edu/dick/c++std/ (syntax/BNF from the standard): Translated into XBNF .See ./c++.standard.syntax.html (Overview of C++): .See http://www.csci.csusb.edu/dick/samples/c++.html including pointers to: (c++ glossary): .See http://www.csci.csusb.edu/dick/samples/c++.glossary.html (c++ syntax): .See http://www.csci.csusb.edu/dick/samples/c++.syntax.html (c semantics): .See http://www.csci.csusb.edu/dick/samples/c.semantics.html (c syntax): .See http://www.csci.csusb.edu/dick/samples/c.syntax.html (Standard Template Library(STL)): .See http://www.csci.csusb.edu/dick/samples/stl.html . COBOL (Introduction): .See http://www.csci.csusb.edu/dick/samples/cobol.html (Syntax): .See http://www.csci.csusb.edu/dick/samples/cobol.syntax.html . HyperTalk (HyperTalk Handbook): .See http://www.csci.csusb.edu/dick/samples/hypertalk.html . Java (Pointers to Java Documentation): .See http://www.csci.csusb.edu/dick/samples/java.html (syntax): .See http://www.csci.csusb.edu/dick/samples/java.syntax.html (semantics): .See http://www.csci.csusb.edu/dick/samples/java.semantics.html (Applications Programmer Interfaces Java API 1.2): .See http://www.csci.csusb.edu/dick/samples/java.1.2.classes.html (API 1.0 to 1.1): .See http://www.csci.csusb.edu/dick/samples/java.class.tree.html (Java Classes): .See http://www.csci.csusb.edu/dick/samples/java.classes.html . JavaScript (JavaScript): .See http://www.csci.csusb.edu/dick/samples/javascript.html . LISP (lisp.lexemes): .See http://www.csci.csusb.edu/dick/samples/lisp.lexemes.html (lisp.semantics): .See http://www.csci.csusb.edu/dick/samples/lisp.semantics.html (lisp.syntax): .See http://www.csci.csusb.edu/dick/samples/lisp.syntax.html . Pascal (pascal.lexemes): .See http://www.csci.csusb.edu/dick/samples/pascal.lexemes.html (pascal.syntax): .See http://www.csci.csusb.edu/dick/samples/pascal.syntax.html . Perl (perl): .See http://www.csci.csusb.edu/dick/samples/perl.html also see .See Regular Expressions below. . PHP .See http://www.csci.csusb.edu/dick/samples/php_intro.html also see .See Regular Expressions below. . Python .See ./languages.html#Python .See ./python.html .See ./python.syntax.html . Prolog (Prolog Overview Pointers): .See http://www.csci.csusb.edu/dick/samples/prolog.html (prolog.glossary): .See http://www.csci.csusb.edu/dick/samples/prolog.glossary.html (prolog.semantics): .See http://www.csci.csusb.edu/dick/samples/prolog.semantics.html (prolog.syntax): .See http://www.csci.csusb.edu/dick/samples/prolog.syntax.html (prolog.predicates): (For SWI-prolog). .See http://www.csci.csusb.edu/dick/samples/prolog.predicates.html (prolog.www.sites): .See http://www.csci.csusb.edu/dick/samples/prolog.www.sites.html (prolog.FAQ): .See http://www.csci.csusb.edu/dick/samples/prolog.questions . Smalltalk (smalltalk.glossary): .See http://www.csci.csusb.edu/dick/samples/smalltalk.glossary.html (smalltalk.semantics): .See http://www.csci.csusb.edu/dick/samples/smalltalk.semantics.html (smalltalk.syntax): .See http://www.csci.csusb.edu/dick/samples/smalltalk.syntax.html . Standard ML (ml.syntax.html): .See http://www.csci.csusb.edu/dick/samples/ml.syntax.html . SQL -- Structured Query Language -- Data Base (SQL BNF): syntax .See 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 .See http://www/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. .Box (small): a small language(January 2001) .See http://www.csci.csusb.edu/dick/samples/small.html (OJ): a very small language(April 1st 2000) .See http://www.csci.csusb.edu/dick/samples/oj.html (Small Awk Language): (January 2000). .See http://www.csci.csusb.edu/dick/samples/smallawk.html (A): A small autocode .See http://www.csci.csusb.edu/dick/samples/A.html (SOOP): Simple Object Oriented Programming .See ./SOOP.html (Juice): A small Java like Language .See ./juice.html .Close.Box .Close Programming Languages .Open 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: .See http://oreilly.com/pub/topic/linux I have some notes for a course on UNIX scripting for power users... .See ../cs360/notes/ but this is way out of date. Here are some reference pages: (unix linux commands): .See ./unix.commands.html (unix syntax): UNIX operating system commands .See http://www.csci.csusb.edu/dick/samples/unix.syntax.html also see .See Regular Expressions (shell syntax): bash, ksh, csh, sh, ... .See http://www.csci.csusb.edu/dick/samples/shell.syntax.html also see .See Regular Expressions .Close .Open Specification and Requirements Languages . IEEE SRS (IEEE Standard SRS templates): .See http://www/dick/SRS/IEEEoutline.html . Local SRS (Local Standard SRS templates): .See http://www/dick/SRS/outline.html (HTML) .See http://www/dick/SRS/outline.mth (MATHS) . Unified (Unified Modeling Language): .See http://www.csci.csusb.edu/dick/samples/uml.html and the (Object Constraint Language): (OCL). .See http://www.csci.csusb.edu/dick/samples/ocl.html . Z (comp.spec.Z): .See http://www.csci.csusb.edu/dick/samples/comp.spec.Z.html (z.syntax): .See http://www.csci.csusb.edu/dick/samples/z.syntax.html .Close Specification and Requirements Languages .Open Languages For systems, Problem, and Domain Analysis (test translating URLs MATHS to HTML): (March 2000) .See http://www.csci.csusb.edu/dick/samples/tester.html (MATHS manifesto): .See http://www.csci.csusb.edu/dick/monograph/10.manifesto.html (MATHS README): .See http://www.csci.csusb.edu/dick/maths/intro_README.html (MATHS lexicon): .See http://www.csci.csusb.edu/dick/samples/math.lexicon.html (MATHS syntax): .See http://www.csci.csusb.edu/dick/samples/math.syntax.html Some .See Specification and Requirements Languages can also be used to describe problem domains and existing systems. .Close Languages For systems, Problem, and Domain Analysis . Theories `There is nothing so practical as a good theory` .See end1 (Medieval Logic):Categorical syllogisms .See ./syllogisms.html (BAN logic authentication): June 2002 .See http://www.csci.csusb.edu/dick/samples/BAN.html (Design Theory Circa 1995): .See http://www.csci.csusb.edu/dick/samples/design95.html (Design Theory Circa 1999): .See http://www.csci.csusb.edu/dick/samples/design99.html .Open 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. .Close End Notes .Close Index of Samples of MATHS Documentation