TY - GEN
T1 - PARAMETERIZED PROGRAMMING IN OBJ2.
AU - Futatsugi, Kokichi
AU - Goguen, Joseph
AU - Meseguer, Jose
AU - Okada, Koji
PY - 1987
Y1 - 1987
N2 - A discussion is presented on parameterized programming, a powerful technique for the construction, maintenance, and reuse of software in which modules may be parameterized over very general interfaces that describe what properties of an environment are required for the module to work correctly. Ease of construction, maintenance, and reuse of software are all enhanced by the flexibility of the parameterization mechanism provided. The basics of OBJ2, a language designed to support parameterized programming using algebraic specification techniques, are presented. OBJ2 provides facilities for user-definable abstract data types, parameterized abstract objects, and interactive programming. It is a functional programming language based on equational logic, rather than on general first-order logic; because equations can be interpreted directly as rewrite rules, it is easy to see their computational significance as well as their logical significance. Some simple examples of parameterized programming in OBJ2 are provided.
AB - A discussion is presented on parameterized programming, a powerful technique for the construction, maintenance, and reuse of software in which modules may be parameterized over very general interfaces that describe what properties of an environment are required for the module to work correctly. Ease of construction, maintenance, and reuse of software are all enhanced by the flexibility of the parameterization mechanism provided. The basics of OBJ2, a language designed to support parameterized programming using algebraic specification techniques, are presented. OBJ2 provides facilities for user-definable abstract data types, parameterized abstract objects, and interactive programming. It is a functional programming language based on equational logic, rather than on general first-order logic; because equations can be interpreted directly as rewrite rules, it is easy to see their computational significance as well as their logical significance. Some simple examples of parameterized programming in OBJ2 are provided.
UR - http://www.scopus.com/inward/record.url?scp=0023207695&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=0023207695&partnerID=8YFLogxK
M3 - Conference contribution
AN - SCOPUS:0023207695
SN - 0897912160
T3 - Proceedings - International Conference on Software Engineering
SP - 51
EP - 60
BT - Proceedings - International Conference on Software Engineering
PB - IEEE
ER -