| J.A. Goguen and J. Meseguer. Order--Sorted Algebra Solves the Constructor-- Selector, Multiple Representation and Coercion Problems. In Logic in Computer Science, IEEE, 1987. |
....set of each of its supertypes. Functions on such values exhibit subtype polymorphism, as a function works on any subset of its domain. Cardelli used such models in an early proof of the soundness of a type system with subtype polymorphism [Car88] Goguen and Meseguer s Order Sorted Algebra (OSA) GM87] used inclusion models to help deal with subtyping in algebraic specifications. Bruce and Wegner adapted OSA to give a definition of behavioral subtyping for OO programming languages [BW90] Such a definition says that, if one can construct a model where the set of subtype objects is a subset of ....
Goguen, J. A. and Meseguer, J. Order-sorted algebra solves the constructor-selector, multiple representation and coercion problems. In Symposium on Logic in Computer Science, Ithaca, NY, pages 18--29. IEEE, June 1987.
....that is preserved by the trait functions; this ensures that the trait functions are redefined in the subtypes in a consistent way. To bring the values of the subtype up one uses a coercion function (not a relation) that maps each subtype abstract value to a single supertype abstract value [BW90] GM87] Ame91] Rey80] This allows assertions to be interpreted by mapping all values to the nominal type of the variables used in the assertion. With this approach, assertions may use equality ( freely for all types, but with the approach of bringing the trait functions down equality cannot be used ....
Joseph A. Goguen and Jose Meseguer. Order-Sorted Algebra Solves the Constructor-Selector, Multiple Representation and Coercion Problems. In Symposium on Logic in Computer Science, Ithaca, NY, pages 18--29. IEEE, June 1987.
....Alternatively, one could fix the example by declaring another method for f, such as the one below. f has method(y foo:Bar) int 4 one way to fix the above example Another interesting aspect of the implementation side checks is how they enforce a monotonicity [Reynolds 80] regularity [Goguen Meseguer 87] or consistency [Agrawal et al. 91] condition on the types of the methods in a generic function. This condition says that if a generic function conforms to two types, T 1 , T n ) T r and (S 1 , S n ) S r , and if for each i, S i is a subtype of T i , then S r must be a subtype ....
....condition on the return types of methods of a generic function, which says that more specific methods have more specific return types. This condition is the same as that used in the category sorted algebras of Reynolds [Reynolds 41 BeCecil Chambers Leavens 80] and in order sorted algebras [Goguen Meseguer 87] The implementation side checks also require that each set of methods that are confusable (i.e. that might handle the same call) is totally ordered by the programmer. Client side checks thus only need to find a single most specific multimethod that is applicable to the static types of the ....
Joseph A. Goguen and Jose Meseguer. Order-Sorted Algebra Solves the ConstructorSelector, Multiple Representation and Coercion Problems. In Symposium on Logic in Computer Science, Ithaca, NY, pp. 18-29. IEEE Press, NY, June, 1987.
....of objects. This abstraction step takes one from the generic function models described above to various algebraic models. 4. 1 Signatures Another way to capture the monotonicity requirement for generic function types is found in the work of Reynolds [45, 46] and of Goguen and Meseguer [22, 23] on algebraic models. In the tradition of universal algebra, this work collects the type information into a mathematical structure. We call this structure a signature with subtyping (to distinguish it from signatures without subtypes) A signature with subtyping consists of type names, the ....
....types, but in this respect we follow the algebraic tradition of flat argument lists. The above definition essentially follows Reynolds [45, Pages 217 218] The set OP is what we called Label in the two models of objects discussed above. In Goguen and Meseguer s work on order sorted algebra [23] [22, pp. 8 9] there is a monotonicity condition on signatures that has the same effect as the monotonicity condition on ResType above. Their regularity condition on signatures has the effect of allowing the result type of an operator to be given as a function of the arguments. Hence Goguen ....
[Article contains additional citation context not shown here]
Joseph A. Goguen and Jose Meseguer. Order-sorted algebra solves the constructor-selector, multiple representation and coercion problems. In Symposium on Logic in Computer Science, Ithaca, NY, pages 18--29. IEEE, June 1987.
....in Figure 5 is to be created and included. Another way to avoid the work of defining the trait functions that apply to the supertype for the subtype would be to use a language for specifying abstract values that had an explicit notion of subsorts; for example, one might use order sorted algebra [21]. 2.3 Type Specifications Examples of Larch LOAL type specifications are given in Figures 7 and 10. To follow Smalltalk and other object oriented languages we specify types in pairs; for example, in Figure 7 we specify both a type for instances (i.e. IntSet) and a type for the class object ....
....no problem in determining which trait function to call if the carrier sets of each sort, such as Interval and IntSet are disjoint (ignoring ) However, we also permit models where the carrier sets are not disjoint. Such models have been used by Cardelli and others to discuss subtyping [8] 6] 5] [21]. In such a model, when one is given a tuple of arguments to a trait function q, there may be no unique tuple of sorts S such that q 2 A S . So the last requirement on trait functions says that the algebra must be such that if q has more than one tuple of sorts, then the algebra must be ....
[Article contains additional citation context not shown here]
Goguen, J. A. and Meseguer, J. Order-sorted algebra solves the constructor-selector, multiple representation and coercion problems. Technical Report CSLI-87-92, Center for the Study of Language and Information, March 1987. Appears in Second Annual Symposium on Logic in Computer Science, Ithaca, NY, June, 1987, pages 18-29.
.... z n times ; cpo g ) contains two kinds and four sort constructors (actually, we have for each n a sort constructor Theta n ) cpo represents the kind of all complete partial orders, map represents the kind of all full function spaces 4 , 2 Order kinded would be more precise; see [9, 8] for order sorted algebras. 3 Regularity guarantees least kinds for every sort term. Coregularity and downward completeness guarantee unitary unification of sort terms. See [16, 20] for details. 4 Complete partial orders are used to model continuous functions and full function spaces are used ....
....1 Theta : Theta k SA n k SA such that if sc 2 SCw;s SCw 0 ;s 0 and w w 0 then sc SA w 0 ;s 0 j w SA= sc SA w;s In other words overloaded domain constructors must be equal on the smaller domain w SA = k SA 1 Theta : Theta k SA n where w = k 1 : kn . 7 See [9, 8]. We further require the following interpretation for the sort constructors occurring in the standard sort signature: Bool SA = fuu Bool ; ff ; ttg; Bool ) is the flat three valued boolean domain. For Theta SA n 2 cpo SA Theta : Theta cpo SA cpo SA : Theta SA n ....
J.A. Goguen and J. Meseguer. Order--Sorted Algebra Solves the Constructor-- Selector, Multiple Representation and Coercion Problems. In Logic in Computer Science, IEEE, 1987.
....same function name is declared twice, taking arguments of sort s and s 0 respectively, then the functions interpreting the two declarations must coincide on the intersection of the carriers of sort s and s 0 . On the converse in the so called overloaded order sorted algebra approach (see e.g. [415, 413]) a weaker condition is required, in order to get many sorted as a special case. Indeed, if the same function name is declared twice, taking arguments of sort s and s 0 respectively, then the functions interpreting the two declarations must coincide only on common subsorts of s and s 0 , if ....
....components of a specification in which this completed specification component is used) The semantics of PLUSS is expressed in terms of the ASL kernel specification language. OBJ3 [421] cf. OBJ2 [358] is a specification and logic programming language based on order sorted algebras and logic [413, 884]. Within this framework, many of the problems with partiality and polymorphism can be solved. OBJ3 inherits its structuring mechanisms, parameterization and views from CLEAR. OBSCURE [604] is based on module specifications. Each module is interpreted as a function mapping algebras into algebras. ....
J. A. Goguen and J. Meseguer. Order-sorted algebra solves the constructor-selector, multiple representation and coercion problem. In Proc. 2nd IEEE Symp. on Logic in Computer Science, 1987.
....to model Haskell like type classes. Like type classes they sort the types. The subsort order on kinds is intended to model the subclass order. The sort constructors are used to build sort terms. Definition 1. 2 The standard (predefined) sort signature 3 Order kinded would be more precise; see [GM87, Gog76] for order sorted algebras. In the sequel we will use order sorted and mean order sorted on the level of kinds. 4 See [SNGM89] for a definition. NP] use slightly different criteria. The standard sort signature: Omega standard = fcpo; mapg; ffBoolg cpo ; f g cpo cpo; cpo ; ....
....is built in two steps, first the sort signature and then the polymorphic signature, the definition of morphisms is also done in two steps. Definition 1. 7 Sort Signature Morphism: A sort signature morphism : Omega Omega 0 is an order sorted signature morphism = K ; SC ) see [GM87, Gog76] where: ffl K is a monotonic map on kinds: K : K; K 0 ; 0 ) k l ) K (k) 0 K (l) ffl SC is a family of maps respecting the types and the overloading of sort constructors. More precisely: SC = f w;k : SCw;k SC 0 K (w) K (k) g w2K ;k2K sc 2 SCw;k ) ....
[Article contains additional citation context not shown here]
J.A. Goguen and J. Meseguer. Order--Sorted Algebra Solves the Constructor--Selector, Multiple Representation and Coercion Problems. In Logic in Computer Science, IEEE, 1987.
.... used to write axioms, as well as of the form of signatures and structures (see [ST 86] for details) The notation of first order equational logic has been used here to write axioms and signatures structures contain types and values as in ML, but we could have used order sorted equational logic [GM 87] and imposed a sub type relation on types as in OBJ3 [GW 88] although this would have been a awkward choice for producing programs in Standard ML since it is unable to cope with sub types and coercions) The semantics of Extended ML regards executable code as a special case of axioms; e.g. ....
J. Goguen and J. Meseguer. Order-sorted algebra solves the constructor-selector, multiple representation and coercion problems. Proc. 2nd IEEE Symp. on Logic in Computer Science, Ithaca, New York, pp. 18--29 (1987).
.... language) and processes (PSL, process specification language) VSL is based on the equational specification language ASF (Amsterdam Specification Formalism) developed by Bergstra, Heering, and Klint [9] extended with the possibility to partially order sorts and to specify sort constraints [16, 19, 18]. The sorts specified in VSL are called value sorts. In CMSL specifications, data types like naturals, integers, rationals, money, date and time, and parametrized data types like sets, bags and strings are standard, the information analyst can add his or her own data type specifications. Example ....
Goguen, J.A. and Meseguer, J., "Order-Sorted Algebra Solves the Constructor-Selector, Multiple Representation and Coercion Problems," Second IEEE Symposium on Logic in Computer Science, Ithaca, New York, pp. 18-29 (june 1987).
....f # F are declared as in (11) and let E 1 # E be a subset of linear equations. Then the enrichment SP (F, R E 1 ) is consistent. # In particular, one can get non strict conditionals by adding IF the set of sort lifted versions of usual (linear ) axioms IF . Thus, following [GM87], we can add one more problem (let us call it the functional enrichment consistency problem) to the long list of those solved by order sorted algebra. Still the stratification construction is not the only possible way to represent our safe semantics of EDPA. Another possibility (which seems ....
Goguen J., Meseguer J. Order-sorted algebra solves the constructor selector, multiple representation and coercion problems. In Proc. Second Symposium on Logic in Comp. Sci., pp. 18-29, IEEE Comp. Society Press, 1987.
....subtype s used trait should be a consistent extension of the theories of its supertypes traits. One way to ensure this is to define the trait functions that apply to abstract values of the subtype by a homomorphic coercion function from subtype abstract values to supertype abstract values [Rey80, GM87, BW90, Ame91] The advantage of the more general approach taken in Larch Smalltalk is that the homomorphic coercion functions can be used whenever possible, but the specifier is not limited to this technique. For example, one can use homomorphic relations instead of functions. Subtype ....
Joseph A. Goguen and Jose Meseguer. Order-sorted algebra solves the constructor-selector, multiple representation and coercion problems. In Symposium on Logic in Computer Science, Ithaca, NY, pages 18--29. IEEE, June 1987.
....to our generalization of strictly typed relations would be that one can always construct algebraic models where the carrier set of a subtype is a subset of the carrier sets of its supertypes. As is done, for example, in [Car84] This condition is also imposed on models in order sorted algebras [GM87] For example, given an arbitrary algebraic model of a specification, A, where the carrier sets A S are disjoint, one can construct a model A 0 such that for each type T , A 0 T is the union of A S for all subtypes S of T . Our answer to this objection is that such a construction may ....
....are not generated by terms from the specification of T get in the way. Our generalization of typed relations and its applications to reasoning about objectoriented programs was inspired by Bruce and Wegner s coercion functions [BW90] which generalize the inclusions of an order sorted algebra [GM87] The idea is that a generalized order sorted algebra has a coercion function c S;T for each T and each subtype S of T that maps the carrier set of S to the carrier set of T . A coercion c S;T must preserve the effect of all of the operations of the supertype T . One way to think of the R T ....
Joseph A. Goguen and Jose Meseguer. Order-Sorted Algebra Solves the Constructor-Selector, Multiple Representation and Coercion Problems. Technical Report CSLI-87-92, Center for the Study of Language and Information, March 1987. Appears in Second Annual Symposium on Logic in Computer Science, Ithaca, NY, June, 1987, pages 18-29.
....features [77] which made the system more convenient for users. OBJ2 [35, 36] was implemented using parts of OBJ1 during 1984 85 at SRI by Kokichi Futatsugi and Jean Pierre Jouannaud, following a design in which Jos e Meseguer and Joseph Goguen also participated, based on order sorted algebra [44, 76, 62, 73, 141] rather than error algebra; also, OBJ2 provided Clear like parameterized modules, theories, and views, although not in full generality. Another influence on OBJ3 s design and implementation was the HISP system [38, 39, 30] of Kokichi Futatsugi. OBJ3 was first developed at SRI by Timothy Winkler, ....
.... documenting these distinctions; and, when the notion of subsort is added, to support multiple inheritance, overloading (a form of subsort polymorphism) coercions, multiple representations, and error handling, without the confusion, and lack of semantics, found in many programming languages (see [73] for a more detailed discussion of these issues) In particular, overloading can allow users to write simpler expressions, because context can often determine which possibility is intended. Of course, strong sorting may require additional declarations, but with a modern editor, it is little ....
[Article contains additional citation context not shown here]
Joseph Goguen and Jos'e Meseguer. Order-sorted algebra solves the constructor selector, multiple representation and coercion problems. In Proceedings, Second Symposium on Logic in Computer Science, pages 18--29. IEEE Computer Society, 1987.
.... perhaps because it seems easier to understand, it nonetheless has some deficiencies: it does not take sufficient account of the operations associated with types, and in particular, selectors (for constructors) are not treated in a natural way (see [57] for a treatment of some special cases, and [22] for a general discussion of the problem) it does not deal with the correctness of implementations; it has a difficult logic, so that it is hard to prove properties of types and operations; 2 data element: 110110 element of data set: f0,1,10,11,100, g carrier of element of concrete ....
....shown above, but also those in MONOID. In much the same way, we can give a denotation for a constrained parameterised theory. It is traditional to illustrate this with the following example, which also makes good use of order sorted algebra (for more information on order sorted algebra, see [24, 22]) 1 The attribute [prec 5] of the prefix operation s indicates that it is more tightly binding than , which OBJ3 gives the default precedence for binary infix operations of 41; see [28] 9 obj STACK[X : TRIV] is sorts Stack NeStack . subsort NeStack Stack . op push : Elt Stack NeStack ....
Joseph Goguen and Jos'e Meseguer. Order-sorted algebra solves the constructor selector, multiple representation and coercion problems. In Proceedings, Second Symposium on Logic in Computer Science, pages 18--29. IEEE Computer Society,
....operations, since inheritance appears as subset inclusion of the data elements; also, for regular signatures (Definition 2.3 below) any expression involving subsort polymorphism has a smallest sort. OSA also nicely accomodates coercions and multiple representation polymorphism, as discussed in [29] and briefly reviewed in Section 1.5 below, while parametric polymorphism is provided by parameterized ordered sorted algebras such as LIST[X] that provide higher order capabilities in a first order setting [21] These are called parameterized objects in the OBJ language [14, 15, 19] and their ....
....The inadequacy of strong typing for the stack example is a special case of what we call the constructor selector problem: for a given constructor, to define operations that retrieve its components. Although this problem is insoluble in MSA (many sorted algebra) it has a simple solution in OSA [29]. There are also many problems where one wants to represent data in more than one way, and then convert freely among the representations, using whichever is more convenient or efficient in a given context. This is multiple representation; for example, consider Cartesian and polar coordinates for ....
[Article contains additional citation context not shown here]
Joseph Goguen and Jos'e Meseguer. Order-sorted algebra solves the constructor selector, multiple representation and coercion problems. In Proceedings, Second Symposium on Logic in Computer Science, pages 18--29. IEEE Computer Society,
....in [50] Note that ordinary imperative programming is the special case of hidden algebra where the objects correspond to program variables; hence our work applies to traditional concurrent and sequential programming 2 . Because we use hidden sorts to specify classes, order sorted algebra [40,53,51] provides a natural way to handle inheritance; in addition, it supports partial functions, non terminating systems, various kinds of subtype, error de nition and recovery, coercions, overwriting, multiple representations, and more 3 . But for expository simplicity, this paper treats only hidden ....
....techniques can be used, as extensively illustrated in our executable algebraic text [44] on the semantics of imperative programs which shows how order sorted algebra and rewriting can add greatly to their e ectiveness. 3 [40] discusses polymorphism, dynamic binding and overwriting, [51] discusses errors, coercions, etc. and [36] discusses partial functions. 4 powerful modularization techniques, as sketched in Appendix B. Because constraints are inherent to hidden algebra, a new kind of logic programming can be obtained just by adding existential quanti ers. This constitutes ....
[Article contains additional citation context not shown here]
Joseph Goguen and Jose Meseguer. Order-sorted algebra solves the constructor selector, multiple representation and coercion problems. In Proceedings, Second Symposium on Logic in Computer Science, pages 18-29. IEEE Computer Society, 1987.
....in [49] Note that ordinary imperative programming is the special case of hidden algebra where the objects correspond to program variables; hence our work applies to traditional concurrent and sequential programming 2 . Because we use hidden sorts to specify classes, order sorted algebra [40,52,50] provides a natural way to handle inheritance; in addition, it supports partial functions, non terminating systems, various kinds of subtype, error definition and recovery, coercions, overwriting, multiple representations, and more 3 . But for expository simplicity, this paper treats only hidden ....
....techniques can be used, as extensively illustrated in our executable algebraic text [44] on the semantics of imperative programs which shows how order sorted algebra and rewriting can add greatly to their effectiveness. 3 [40] discusses polymorphism, dynamic binding and overwriting, [50] discusses errors, coercions, etc. and [36] discusses partial functions. powerful modularization techniques, as sketched in Appendix B. Because constraints are inherent to hidden algebra, a new kind of logic programming can be obtained just by adding existential quantifiers. This constitutes a ....
[Article contains additional citation context not shown here]
Joseph Goguen and Jos'e Meseguer. Order-sorted algebra solves the constructor selector, multiple representation and coercion problems. In Proceedings, Second Symposium on Logic in Computer Science, pages 18--29. IEEE Computer Society, 1987.
....much more ) can be found in [45, 37, 57, 60] and [78] among many other places; Appendix Section A summarizes certain aspects of this work in a way that is particularly suited to proof orientation of this paper. We try to avoid 1 [40] discusses polymorphism, dynamic binding and overwriting, and [50] discusses errors, coercions, etc. category theory, but in some cases its greater elegance and power was so compelling that we could not resist. For ease of reference, formal textual items (theorems, definitions, etc. are numbered sequentially on the same counter. 1.1 Algebraic Engineering and ....
.... semantics (for abstract syntax and abstract data types) 26, 57, 58] then order sorted algebra (giving a systematic approach to subtypes that also allows specifying partial recursive functions, partially defined functions, error definition and recovery, coercions and multiple representations [40, 52, 50]) and most recently in this tradition, hidden sorted algebra [33, 41, 43] or hidden algebra for short. The hidden approach differs from earlier approaches in its explicit connections to the object paradigm, including concurrency, its use of a fixed universe of data values, and its use of ....
[Article contains additional citation context not shown here]
Joseph Goguen and Jos'e Meseguer. Order-sorted algebra solves the constructor selector, multiple representation and coercion problems. In Proceedings, Second Symposium on Logic in Computer Science, pages 18--29. IEEE Computer Society, 1987.
No context found.
J.A. Goguen and J. Meseguer. Order--Sorted Algebra Solves the Constructor-- Selector, Multiple Representation and Coercion Problems. In Logic in Computer Science, IEEE, 1987.
No context found.
J.A. Goguen and J. Meseguer. Order--Sorted Algebra Solves the Constructor--Selector, Multiple Representation and Coercion Problems. In Logic in Computer Science, IEEE, 1987. 36
No context found.
Joseph A. Goguen and Jose Meseguer. Order-Sorted Algebra Solves the ConstructorSelector, Multiple Representation and Coercion Problems. In Symposium on Logic in Computer Science, Ithaca, NY, pp. 18-29. IEEE Press, NY, June, 1987.
No context found.
J.A. Goguen and J. Meseguer. Order--sorted algebra solves the constructor--selector, multiple representation and coercion problems. In Logic in Computer Science, IEEE, 1987.
No context found.
J. Goguen and J. Meseguer, Order-sorted algebra solves the constructor-selector, multiple representation and coercion problems. In Proceedings, Second Symposium on Logic in Computer Science, 18-29, IEEE Computer Society Press, 1987
No context found.
Joseph Goguen and Jos' e Meseguer, 1987. Order-Sorted Algebra Solves the ConstructorSelector, Multiple Representation and Coercion Problems. In Proc. 2nd IEEE Symp. Logic in Computer Science, Ithaca, NY.
First 50 documents
Online articles have much greater impact More about CiteSeer.IST Add search form to your site Submit documents Feedback
CiteSeer.IST - Copyright Penn State and NEC