Publications


BOOKS

Program Generators using Java and XML, Prentice-Hall, 2001. Using domain engineering techniques, this book shows a variety of techniques for writing program generators in Java using XML as a specification language. See http://craigc.com/pg for more details.

An Introduction to Data Types, Addison-Wesley, 1986, translated to Japanese by Kyoritsu Shuppan, 1990, translated to Dutch, 1991. In this book I give a detailed treatment of programming language data types and abstractions, from the simple numeric types to complex data constructors. The book ends with a description and examples of data abstractions and algebraic specifications.

Grammars for Programming Languages, Elsevier-North Holland, (with Robert Uzgalis), 1977. This book shows the variety of grammatical techniques and formalisms used in the definition of programming languages. The highlight of the book is the demonstration of how to use W-grammars (double level grammars) in defining not only the syntax but also the complete semantics of a simple programming language named ASPLE. Subsequently, ASPLE has been used by numerous authors for illustrating various techniques in defining the semantics of programming languages.


PAPERS

"Dividing the Software Pie," (with Jan Fertig and George Newsome), AT&T Technical Journal, vol. 75, no. 2, 1996.

"Untangling the Dependency Jumble," Proceedings of the AT&T Symposium on Software Reuse, May, 1995.

"Specification Driven Tools and Techniques," in Encyclopedia of Software Engineering, edited by John Marchiniak, published by Wiley-Interscience, 1994.

"Software Conveyor Belt: An Attack Strategy for Software Development," (with others), Proceedings of the Second annual AT&T Symposium on Software, July, 1992.

"The Next Generation of Specification-Driven Tools", (with T.T.Wetmore IV), Proceedings of the AT&T conference on Specification Driven Tools, Oct. 1989.

"Tools for Building Application Generators," AT&T Technical Journal (with Chandra Kintala), vol. 67, no. 4, 1988.

"Building Application Generators," IEEE Software, July, 1988; also reprinted in Domain Analysis and Software System Modeling by Prieto-Diaz and Arango, 1991. This paper was identified as one of the landmarks in the software reuse literature by Frakes & Isoda, IEEE Software, September, 1994.

"The Computer Science Education Program at AT&T Bell Laboratories, Merrimack Valley," in Proceedings of the SEI conference on Software Engineering Education, Springer-Verlag, (with R.W.MacDonald), 1987.

"Computer Science: Key to a Space Program Renaissance," 1981 NASA/ASEE Summer Study, (with 20 others), August, 1981.

"Mathematical Specifications," SIGPLAN Notices Vol. 15, 2, December, 1980.

"Programming Languages considered as Abstract Data Types," Proceedings of ACM 80, October, 1980.

"Logical Structure Specification and Data Type Definition," Proceedings of ACM 79, (with Billy Claybrook and Don Criscione), October, 1979.

"The Design and Implementation of a Simple Programming Language for Microcomputers," AFIPS Conference Proceedings, Vol. 46, 1977 National Computer Conference (with C.D.Satten).

"Meaning and Syntactic Redundancy," published in New Directions in Algorithmic Languages, Edited by S.A.Schuman, Institut de Recherche d'Informatique et d'Automatique (IRIA), 1975

"Redundant Specification in Programming Languages through Pouches," Proceedings of the International ALGOL 68 Conference at Stillwater, OK, June 1975.

"Computer Assisted Interactive Modeling of Coastal Processes," Environmental Dynamics Inc. for ONR contract No. N00014-73-C-0501 (with J.Dracup, S.Grant, J.Smith, and R.Uzgalis), August 1974.