Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Home Topics Titles Quotes Blog Featured Help
Richard John Botting
California State University
San Bernardino, California

Richard Botting’s research focuses on the theory and practice of software development. He wrote his first program (solving a quadratic equation) while still a schoolboy in the 1950s. His search for better methods started when he worked as a scientific programmer at Imperial Chemical Industries in the 1960s. In turn, he has been agile, formal, modular, structured, data driven, dynamic, functional, incremental, and object oriented.

Richard earned a PhD in Computer Science (1971) and a B. Tech. in Applied Mathematics (1968) at Brunel University (UK). His PhD thesis explored the fundamental algorithms of computer graphics. Richard joined the faculty of the Computer Science Department at Brunel University in 1970. He researched structured methods and tools. In 1978, he moved to the British Civil Service College to learn Michael Jackson’s methods. He taught about the systems development method (SDM), and helped develop the structured systems analysis and design methodology (SSADM).

In 1981, Richard moved to California State University, San Bernardino. He founded its computer science department in 1982, and was its first chair. He pioneered using computers in teaching in the 1980s, and using the Web in teaching in the 1990s. He started by experimenting with rapid prototyping and evolutionary delivery to make tools for his students. He is in the fifth and eighth editions of Who’s who among America’s teachers, after being nominated for the campus’ outstanding teacher reward. Richard serves on many committees.

From 1996 to 2001, he was the network administrator for the computer science department. Currently, he gives seminars introducing new technologies. In the 2005 series, he initiated the move from UML1 to UML2. He also presents papers at national and international conferences. Recent topics have been the evolution of software, and ethical ways to teach professional ethics. He is a reviewer for many conferences, journals, and publishers.

He developed a documentation language that included discrete mathematics, logic, and proofs, and created a translator into Hypertext Markup Language (HTML). He now uses this in teaching and to maintain a searchable Web site on software development ( This covers people, notations, tools, methods, processes, languages, logics, and mathematics. The site has notes and links on every topic from "agility" to "Z," and a growing bibliography of at least 3,000 publications. It has specifications and tutorials for many languages, including ML, Java, unified modeling language (UML), and PHP: hypertext preprocessor (PHP). He records his current interests and activities in a blog on his site.

Richard lives in San Bernardino, California, and acts as system administrator for his wife’s Macintosh. His interests include music, books, birds, and classic movies.


Optimising the ProB model checker for B using partial order reduction
Dobrikov I., Leuschel M.  Formal Aspects of Computing 28(2): 295-323, 2016. Type: Article

Model checking is a way to see if a design meets requirements. It starts with a model that abstracts how events affect a system. Then, the designers formulate a required behavior, for example, that something will never happen. The checker then sea...


Model driven development of business applications: a practitioner’s perspective
Kulkarni V.  ICSE 2016 (Companion to the Proceedings of the 38th International Conference on Software Engineering, Austin, TX,  May 14-22, 2016) 260-269, 2016. Type: Proceedings

If you invent a better software development paradigm, nobody will beat a pathway to your door. You may have to spend years tuning it to show that it works. For example, this paper describes a ten-year project to see how model-driven engineering (M...


Non-recursive trade-offs between two-dimensional automata and grammars
Průša D.  Theoretical Computer Science 610, Part A, 121-132, 2016. Type: Article

All computer scientists should be familiar with the theory of one-dimensional strings including the automata that can recognize them and the grammars that generate them. But the two-dimensional version is terra incognita to many, and wildly differ...


Rigorous modeling and analysis of interoperable medical devices
Mashkoor A., Sametinger J.  MSM 2016 (Proceedings of the Modeling and Simulation in Medicine Symposium, Pasadena, CA,  Apr 3-6, 2016) 1-8, 2016. Type: Proceedings, Reviews: (2 of 2)

“First, do no harm” meets the Internet of Things (IoT)? This paper proposes that we need to be sure that medical systems are functional, safe, and secure--of course. Further, the authors try to show how these three concerns can be...


A logical approach to deciding semantic subtyping
Gesbert N., Genevès P., Layaïda N.  ACM Transactions on Programming Languages and Systems 38(1): 1-31, 2015. Type: Article

Although object-oriented subtyping has been efficiently resolved by compilers for years, this paper shows how subtyping in Extensible Markup Language (XML)-centric functional languages can be done with a SAT solver. It gives a tested formal specif...


Send Your Comments
Contact Us
Reproduction in whole or in part without permission is prohibited.   Copyright © 2000-2016 ThinkLoud, Inc.
Terms of Use
| Privacy Policy