Software Engineering, Architecture, Formal Methods, and Methodology

Here are some references:
  1. An Induction Scheme in Higher Order Parameterized Programming, by Joseph Goguen and Kai Lin. A "programming pearl" that illustrates higher order modules and higher order views in BOBJ. May 2002.
  2. Composing Hidden Information Modules over Inclusive Institutions, by Joseph Goguen and Grigore Rosu. This is a two page abstract of a paper in preparation, on the semantics of operations for combining specifications that can hide information. June 2002.
  3. Parameterized Programming and Software Architecture, by Joseph Goguen, in Proceedings, Fourth International Conference on Software Reuse, IEEE Computer Society, April 1996, pages 2-11 (keynote address).
  4. An Implementation-Oriented Semantics for Module Composition, by Joseph Goguen and Will Tracz, in Foundations of Component-based Systems, edited by Gary Leavens and Murali Sitaraman, Cambridge, April 2000, pages 231-263. The full version of 7 March 1997, revised 15 October 1998 is also available, but some bugs still need fixing in this version. Considers horizontal and vertical module composition, with laws relating them, using a purely set theoretic version of institutions (applies to any imperative programming, specification language pair).
  5. The paper Higher order functions considered unnecessary for higher order programming gives details about parameterized programming and functional programming; these ideas influenced the module systems of Ada, C++, ML, and the Modula languages. BOBJ has all the power of higher order functional programming using only first order statements, through the use of parameterized modules, but it goes beyond functional programming in its ability to handle states, based on hidden algebra, and its ability to encapsulate, based on its module system.
  6. Software Engineering with OBJ: algebraic specification in action, edited by Joseph Goguen and Grant Malcolm, Kluwer, April 2000; ISBN 0-7923-7757-5. A book on OBJ3 and its applications. The paper Introducing OBJ, which is essentially a user manual for OBJ3, was revised and extended in August 1999. The Introduction with a table of contents, and the paper More Higher Order Programming with OBJ3, are also available, as is the Introduction in pdf.
  7. Algebraic Semantics of Imperative Programs, by Joseph Goguen and Grant Malcolm (MIT Press, 1996). ISBN 0-262-07172-X. Covers most features of imperative language using algebraic semantics; many exercises that can be done using OBJ3; also contains entry level introductions to universal algebra and OBJ3. [The paper An Executable Course in the Algebraic Semantics of Imperative Programs discusses some pedagogical innovations of this book.]
See also the Brief Summary of Some Research Interests, which is a selective high level overview of projects in Software Engineering, Lite Formal Methods, and Data Integration, with links to webpages on Sociology of Information Technology and Science and User Interface Design.
To Research Projects index page.
To my home page.
Maintained by Joseph Goguen
Last modified: Fri Jul 15 01:08:10 PDT 2005