2000
DOI: 10.1007/978-1-4757-6541-0_1
|View full text |Cite
|
Sign up to set email alerts
|

Introducing OBJ

Abstract: This is an introduction to the philosophy and use of OBJ, emphasizing its operational semantics, with aspects of its history and its logical semantics. Release 2 of OB13 is described in detail, with many examples. OBJ is a wide spectrum first-order functional language that is rigorously based on (order sorted) equationallogic and parameterized programming, supporting a declarative style that facilitates verification and allows OBJ to be used as a theorem prover.Order sorted algebra provides a notion of subsort… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1
1

Citation Types

0
80
0
2

Year Published

2002
2002
2007
2007

Publication Types

Select...
6
2

Relationship

0
8

Authors

Journals

citations
Cited by 150 publications
(82 citation statements)
references
References 87 publications
0
80
0
2
Order By: Relevance
“…The prototype implementation of our symbolic analysis framework constitutes a term rewrite system based on OBJ3 ( [3,20]) and Mathematica [38]. Together with the analysis results of Flow sample programs, we have made it available at [14].…”
Section: Methodsmentioning
confidence: 99%
See 1 more Smart Citation
“…The prototype implementation of our symbolic analysis framework constitutes a term rewrite system based on OBJ3 ( [3,20]) and Mathematica [38]. Together with the analysis results of Flow sample programs, we have made it available at [14].…”
Section: Methodsmentioning
confidence: 99%
“…Due to (20) we have to compute the result of symbolic evaluation of one iteration of the loop body to derive the underlying recurrence relations. For this we can reuse the clean slate closure context c e by defining c 0 : : = c e and proceed with the calculation of…”
Section: Pathconditionmentioning
confidence: 99%
“…In standard functional treatments of algebra (Goguen, et al, 1993;Goguen and Malcolm, 1997) the primitive operations of a datatype are known as (algebraic) constructors and these may be used to create every unique instance of the datatype. The constructors of a Stack would therefore include both newStack and push (in the functional universe), because these two operations alone may be used to construct every conceivable Stack instance.…”
Section: Approximating Algebraic Statesmentioning
confidence: 99%
“…While some might find it daunting to construct the kind of recurrence relations found in an algebraic specification (Goguen, et al, 1993;Goguen and Malcolm, 1997), most programmers are capable of detecting when an instance of a property is violated. This leads to the idea of confirming oracle values incrementally in the lazy systematic testing approach, whereby the specification is acquired gradually, and always evolves in step with the code.…”
Section: Improvements Over Previous Approachesmentioning
confidence: 99%
“…The most basic parts of the language-supporting module hierarchies of functional and system modules and some predefined modules-are implemented in C++, giving rise to a sublanguage called Core Maude. This is extended by special syntax for object-oriented specifications, and by a rich module algebra of parameterized modules and module composition in the Clear/OBJ style [10,32] giving rise to the Full Maude language.…”
Section: Implementing Formal Specification Languagesmentioning
confidence: 99%