Software Engineering, Architecture, Formal
Methods, and Methodology
Here are some references:
- 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.
- 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.
- 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).
- 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).
- 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.
- 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.
- 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