An overview of CAFE specification environment-an algebraic approach for creating, verifying, and maintaining formal specifications over networks

CAFE is the name of a network based environment now under development for supporting systematic creation, checking, verification, and maintenance of formal specifications. CAFE has an algebraic specification language called CafeOBJ as its main specification language, and adopts an algebraic specification paradigm as its foundation. CafeOBJ is a successor of the OBJ language, and has important new features for concurrency and behavioral specifications. Concurrency and behavior are specified based on rewriting logic and behavioral (hidden sorted) algebra respectively. These new features make it possible to provide powerful language constructs for formal object oriented specifications. CAFE is designed to be a network based environment. For sharing specification documents systematically over networks, a new document formatting language called Forsdonnet (FORmal Specification Document ON NETwork) is designed by extending HTML. Forsdonnet includes constructs for formal and informal specifications, commands for executing (prototyping) and cheeking/verifying CafeOBJ specifications, etc. Forsdonnet is designed to be based on already established standard network infrastructure components like HTML and Netscape Navigator. The paper gives an overview and design considerations of the CAFE environment, featuring mainly CafeOBJ and Forsdonnet languages.

[1]  José Meseguer,et al.  Parameterized programming in OBJ2 , 1987, ICSE '87.

[2]  William McCune,et al.  OTTER 3.0 Reference Manual and Guide , 1994 .

[3]  Joseph A. Goguen,et al.  Towards an Algebraic Semantics for the Object Paradigm , 1992, COMPASS/ADT.

[4]  Kokichi Futatsugi,et al.  Specification Writing as Construction of Hierarchically Structured Clusters of Operators , 1980, IFIP Congress.

[5]  José Meseguer,et al.  Principles of OBJ2 , 1985, POPL.

[6]  José Meseguer,et al.  Order-Sorted Algebra I: Equational Deduction for Multiple Inheritance, Overloading, Exceptions and Partial Operations , 1992, Theor. Comput. Sci..

[7]  José Meseguer,et al.  A logical theory of concurrent objects and its realization in the Maude language , 1993 .

[8]  Joseph A. Goguen,et al.  Putting Theories Together to Make Specifications , 1977, IJCAI.

[9]  Petros S. Stefaneas,et al.  Logical support for modularisation , 1993 .

[10]  Razvan Diaconescu,et al.  A Category-Based Equational Logic Semantics to Constraint Programming , 1995, COMPASS/ADT.

[11]  Ataru T. Nakagawa,et al.  Software process a la Algebra: OBJ for OBJ , 1990, [1990] Proceedings. 12th International Conference on Software Engineering.

[12]  M. Clavel,et al.  Principles of Maude , 1996, WRLA.

[13]  二木 厚吉,et al.  Logical semantics for CafeOBJ , 1996 .

[14]  José Meseguer,et al.  Rewriting as a unified model of concurrency , 1990, OOPSLA/ECOOP '90.

[15]  José Meseguer,et al.  Models and Equality for Logical Programming , 1987, TAPSOFT, Vol.1.

[16]  J. Goguen,et al.  2OBJ: a metalogical framework theroem prover based on equational logic , 1992, Philosophical Transactions of the Royal Society of London. Series A: Physical and Engineering Sciences.

[17]  José Meseguer,et al.  Unifying Functional, Object-Oriented and Relational Programming with Logical Semantics , 1987, Research Directions in Object-Oriented Programming.

[18]  Fred B. Schneider,et al.  A Logical Approach to Discrete Math , 1993, Texts and Monographs in Computer Science.

[19]  F W Lawvere,et al.  AN ELEMENTARY THEORY OF THE CATEGORY OF SETS. , 1964, Proceedings of the National Academy of Sciences of the United States of America.

[20]  Kazuhiro Ogata,et al.  TRAM: An Abstract Machine for Order-Sorted Conditioned Term Rewriting Systems , 1997, RTA.

[21]  J.F.Th. Kamperman,et al.  Compilation of Term Rewriting Systems , 1996 .

[22]  John V. Guttag,et al.  The specification and application to programming of abstract data types. , 1975 .

[23]  Ataru T. Nakagawa,et al.  Stepwise refinement process with modularity , 1989, ICSE '89.

[24]  Joseph A. Goguen,et al.  The Semantics of CLEAR, A Specification Language , 1979, Abstract Software Specifications.

[25]  Kokichi Futatsugi,et al.  Stepwise Refinement Process With Modularity: An Algebraic Approach , 1989, 11th International Conference on Software Engineering.

[26]  Răzvan Diaconescu Foundations of behavioural specification in rewriting logic , 1996, WRLA.

[27]  Joseph A. Goguen,et al.  An Oxford survey of order sorted algebra , 1994, Mathematical Structures in Computer Science.

[28]  Joseph A. Goguen Momories of ADJ , 1989, Bull. EATCS.

[29]  Kazuhiro Ogata,et al.  Design and Implementation of Parallel TRAM , 1997, Euro-Par.

[30]  José Meseguer,et al.  EQLOG: Equality, Types, and Generic Modules For Logic Programming , 1986, Logic Programming: Functions, Relations, and Equations.

[31]  Joseph A. Goguen,et al.  Institutions: abstract model theory for specification and programming , 1992, JACM.

[32]  Jonathan P. Bowen,et al.  Applications of Formal Methods , 1995 .

[33]  Joseph A. Goguen,et al.  Memories of ADJ , 1993, Current Trends in Theoretical Computer Science.

[34]  Kokichi Futatsugi,et al.  A hierarchical structuring method for functional software systems , 1982, ICSE '82.

[35]  Shin Nakajima,et al.  An Object-Oriented Modeling Method for Algebraic Specifications in CafeOBJ , 1997, Proceedings of the (19th) International Conference on Software Engineering.