| J. Bergstra, J. Heering, and P. Klint. Module algebra. JACM, 37(2):335--372, 1990. |
....presented 0 theories for some 0 . Diaconescu, Goguen, Stefaneas [14] and Ro su [41] present logic paradigm independent (or institutional [18] approaches to information hiding and integration of it with other operations on modules. Work on module algebra by Bergstra, Heering and Klint [1] also investigates information hiding formally. Behavioral abstraction is another development in algebraic speci cation which appears under various names in the literature such as hidden algebra in works by Goguen, Diaconescu and many others [17, 19, 23, 22, 42, 26] observational logic in works ....
J. Bergstra, J. Heering, and P. Klint. Module algebra. JACM, 37(2):335-372, 1990.
....(d 0 ) 2 ) then there exists 2 SenINS ( Sigma ) such that: 1 j= INS Sigma 1 SenINS (d) and SenINS (t) j= INS Sigma 2 2 : 2 Of course, the interpolation property does not hold in every institution. For instance, it does not hold for institution EQ of equational logic (see [BHK 90] However, it does hold for some richer institutions like e.g. institution FOLEQ of the first order logic with equality (see [BM 86] Definition 8 (D; T ) amalgamation property. A (D; T ) institution INS satisfies (D; T ) amalgamation property iff for any d; d 0 2 D and t; t 0 2 T that ....
....rules presented above. The above entailment relation is sound wrt the semantical consequence relation. The proof follows directly from the proof of soundness presented in [ST 88] Now, to prove its completeness we need some more notions. Similar definitions were presented in [Cen 94] cf. also [BHK 90] Definition 12 Normal form. We say that the specification SP is in the normal form if it has a form: derive h Sigma ; Phii by d; where (d : Sig[SP] Sigma ) 2 D and Phi SenINS ( Sigma ) 2 Definition 13. Specifications SP 1 and SP 2 are equivalent (written SP 1 = SP 2 ) if Sig[SP 1 ] ....
[Article contains additional citation context not shown here]
J. A. Bergstra, J. Heering, P. Klint. Module algebra. Journal of the ACM, 37(2):335-372, April 1990.
....in an algebraic fashion. 1. 1 Relation with Other Work Operators on modules and their semantics have been studied in e.g. 1] in the context of CLEAR) 5] in the context of PLUSS) 3] and [4] using category theory) 16] using model class semantics) Our main source of inspiration has been [2], where the approach is similar to Wirsing s in [16] extended to theory semantics and countable model semantics. The role of the interpolation theorem for the theory semantics of import and export has been pointed out in [7] Besides giving a survey of logical aspects of modularisation, this ....
.... of a renamed signature element is the renaming of the type of that signature element) Observe that we are liberal in the de nition of renamings in the sense that they need not be bijective, so e.g. P : R; Q : R] is a correct renaming (if P , Q and R have the same type) this is in contrast to [2], where renamings are bijective and even involutive (i.e. if (P ) Q then (Q) P ) We de ne domain and range of a renaming by dom( def fI j (I) 6= Ig rg( def f (I) j (I) 6= Ig ( dom( All renamings are nitely generated, so domain and range of a renaming are nite and hence ....
[Article contains additional citation context not shown here]
J.A. Bergstra, J. Heering, P. Klint, Module algebra, Journal of the ACM 37 (1990) 335-372
.... i 2 Sen I ( i ) for i = 1; 2, if Sen I (t 0 ) 1 ) j= I 0 Sen I (d 0 ) 2 ) then there exists Sen I ( such that: 1 j= I 1 Sen I (d) and Sen I (t) j= I 2 2 : 2 A characterization of above interpolation properties in terms of a module algebra can be found in [BHK 90] and also in [DGS 93] Lemma 2.17 If the (D; T ) institution I has in nite conjunction and satis es the weak (D; T ) interpolation property then it also satis es (D; T ) interpolation property. 2 Example 2.18 The (D; T ) institution EQ where DEQ is the class of signature inclusions and TEQ ....
....(see [RG 88] but not the (D; T ) interpolation property, whereas the (D; T ) institution FOEQ where DFOEQ is the class of signature inclusions and TFOEQ is the class of signature injections satis es both the interpolation properties. The above facts follow from the arguments presented in [BHK 90] 2 Remark 2.19 It follows from Example 2.18 and Lemma 2.17 that the (D; T ) institution EQ from the above example does not have in nite conjunction in the sense of De nition 2.6 (which is obvious anyway) 2 De nition 2.20 (Compactness) The institution I is compact i for any sentence 2 ....
[Article contains additional citation context not shown here]
J. A. Bergstra, J. Heering, P. Klint. Module algebra. Journal of the ACM, 37(2):335-372, April 1990.
....what we propose here could be applied to most existing algebraic specification languages (e.g. OBJ3 [13] or Larch [9] 1 We only present here the generalization and instantiation operators. Other operators have been defined in [17] and are similar to many others found in the literature (e.g. [19, 20, 3]) The syntax of our specifications is based on multi sorted signatures ( Sigma = S; Op) Sigma terms (noted by small s; t) and Sigma equations (noted by small e) Equations may be simple (t 1 = t 2 ) or conditional (t 1 = t 2 if e 1 : e n ) The semantics of our specifications are ....
J.A. Bergstra, J. Heering, and R. Klint. Module algebra. JACM, 37(2):335--372, 1990.
....Roughly speaking, this property states that models of given signatures can be combined to yield a uniquely determined model of a compound signature, provided that the original models are mutually compatible. The amalgamation property allows the computation of normal forms for 2 speci cations [5, 7]; it is a prerequisite for good behaviour w.r.t. parametrization [14] and conservative extensions [12] The combination of implementations in the semantics of architectural speci cations crucially depends on amalgamation [26] The proof system for development graphs with hiding [21] which allow a ....
J.A. Bergstra, J. Heering, and P. Klint, Module algebra, J. ACM 37 (1990), no. 2, 335-372.
....the simple notion of importing in the current model. The extensive literature on abstract data types and wide spectrum algebraic specification languages provides a rich source of motivation for other concrete models of IDLs and extensions to our general framework. Examples of sources include Bergstra et al. 1990], Ehrig and Mahr [1990] Goguen and Tracz [2000] Loeckx et al. 1996] Bidoit et al. 1999] Mosses [1999] A prototype of the specification has been developed in Prolog which has been used to test the axiomatisation. A next step is to use the general model of Section 3 to design a metalanguage ....
Bergstra et al. [1990] J Bergstra, P Heering, and P Klint. Module algebra. Journal of the ACM, 37(2):335--372, 1990.
....designers of PROLOG systems for a reject from PROLOG developpers of such techniques. Nevertheless, we think that it is essential for PROLOG today to endow it with reliable and well proven development techniques for large software. Among these, we are dealing here with modularity and genericity ([4], 5] 11] These techniques contribute to significantly improve decomposition, abstraction, reusability and maintenance for large software, therefore their quality. For some years, the concept of modularity has been introduced in PROLOG to come up to a proposal of standardization from ISO. ....
....using the mapping f. Using the predicate = 2 we write map(Mapping, map(Mapping, E1 L1] E2 L2] Goal = Mapping, E1, E2] call(Goal) map(Mapping, L1, L2) We can use map to increment all elements of a list : inc(X,Y) Y is X 1. map(inc, 1, 2, 3] L2) L2 = [2, 3, 4] In fact, to use genericity in logic programming in a strict way, at the present time, it is better to use languages based on a higher order logic than the one of PROLOG (see for example HiLog [7] Godel [10] Lambda Prolog [14] but this leads to a completely different class of languages that ....
J.A. Bergstra, J. Heering, and P. Klint. Module Algebra. JACM, 37(2):335--372, April 1990.
....skeleton of a general construction and indicates that a potentially large class of entailments can be extended so that a uniform presentation of the interpolants is available. 1 Introduction There is a well established relation between interpolation [8] and modularity properties of refinements [23, 24, 29, 5, 32, 40, 39, 12, 11] and databases [25] On the other hand, many logics that have been used in refinement or databases lack the desirable interpolation properties. To compensate for this inadequacy, several groups of researchers have proposed techniques to restrict these logics to fragments that have the desirable ....
J.A. Bergstra, J. Heering, and P. Klint. Module algebra. ACM, 37(2):335--372, 1990.
....available and the manipulation of uniform schemata is supported. 1 Introduction There is a well established relation between interpolation [7, 25, 40, 2] and modularity properties of refinement [26, 27, 53, 50, 52, 51, 15, 14, 13] and databases [29] Also, some operations of module algebras [5] are linked directly with a splitting version of interpolation ( 37] discussing an earlier version of [5] The behaviour of the language restriction operator [14, 13] also information hiding operator in [9] is associated with an interpolation property of the specification formalism. In ....
.... relation between interpolation [7, 25, 40, 2] and modularity properties of refinement [26, 27, 53, 50, 52, 51, 15, 14, 13] and databases [29] Also, some operations of module algebras [5] are linked directly with a splitting version of interpolation ( 37] discussing an earlier version of [5]) The behaviour of the language restriction operator [14, 13] also information hiding operator in [9] is associated with an interpolation property of the specification formalism. In addition, the presence of uniform interpolants facilitates formal reasoning and syntactic manipulations in all ....
[Article contains additional citation context not shown here]
J.A. Bergstra, J. Heering, and P. Klint. Module algebra. ACM, 37(2):335--372, 1990.
....a Development Workspace on Espec . 1 Introduction There is a well established relation between interpolation [6, 21, 31, 2] and modularity properties of refinement via implementations (e.g. 12, 11, 10] and [22, 23, 41, 38, 40, 39] and databases [24] Also, some operations of module algebras [4] have been linked directly with a splitting version of interpolation ( 28] discussing an earlier version of [4] and the behaviour of the language restriction (also information hiding in [8] is associated in [11, 13, 10] with an interpolation property of the specification formalism. ....
.... [6, 21, 31, 2] and modularity properties of refinement via implementations (e.g. 12, 11, 10] and [22, 23, 41, 38, 40, 39] and databases [24] Also, some operations of module algebras [4] have been linked directly with a splitting version of interpolation ( 28] discussing an earlier version of [4]) and the behaviour of the language restriction (also information hiding in [8] is associated in [11, 13, 10] with an interpolation property of the specification formalism. Furthermore, the presence of uniform interpolants facilitates formal reasoning and syntactic manipulations in all these ....
J.A. Bergstra, J. Heering, and P. Klint. Module algebra. ACM, 37(2):335--372, 1990.
.... Interpolation and Modularisation There is a well established relation between splitting versions of interpolation [7, 21, 31, 2] and modularity properties of refinement via implementations, e.g. 11, 10, 9] and [22, 41, 38, 40, 39] and databases [24] Also, some operations of module algebras [6] have been linked directly with a splitting version of interpolation ( 29] discussing an earlier version of [6] and the behaviour of language restriction ( information hiding in [8] is associated in [10, 12, 9] with an interpolation property of the specification formalism. Furthermore, the ....
.... [7, 21, 31, 2] and modularity properties of refinement via implementations, e.g. 11, 10, 9] and [22, 41, 38, 40, 39] and databases [24] Also, some operations of module algebras [6] have been linked directly with a splitting version of interpolation ( 29] discussing an earlier version of [6]) and the behaviour of language restriction ( information hiding in [8] is associated in [10, 12, 9] with an interpolation property of the specification formalism. Furthermore, the presence of uniform interpolants facilitates formal reasoning and syntactic manipulations in all these cases (as ....
J.A. Bergstra, J. Heering, and P. Klint. Module algebra. ACM, 37(2):335--372, 1990.
....to the Craig Interpolation Lemma. For a further analysis including a detailed proof (for the classical first order case) the reader is referred to [42] and [43] Some years later the important role of the Craig Interpolation property was independently observed by a group working with Bergstra [4], who attributed the lack of certain modularity properties in their formalisms to the absence of the interpolation property. Further work on this, revealed an important observation [32] For other logics, such as (conditional) equational logic, the various formulations of Craig interpolation are ....
J. Bergstra, J. Heering, and P. Klint. Module algebra. ACM, 37(2):335--372, 1990.
.... generally, faithful morphisms under pushouts (amalgamation of conservative extensions) 34, 33, 10, 9] The latter provides the formal basis for some fundamental modularity properties of refinement [21, 22, 35, 32, 34] 33, 10, 9, 8] and databases [24] while some operations of module algebras [2] have been linked directly with a similar form of interpolation ( 27] discussing an earlier version of [2] The paper is structured as follows: In section 2 we review the basic concepts involved and the relevant previous work on this subject. The generalised form of the interpolation property we ....
.... The latter provides the formal basis for some fundamental modularity properties of refinement [21, 22, 35, 32, 34] 33, 10, 9, 8] and databases [24] while some operations of module algebras [2] have been linked directly with a similar form of interpolation ( 27] discussing an earlier version of [2]) The paper is structured as follows: In section 2 we review the basic concepts involved and the relevant previous work on this subject. The generalised form of the interpolation property we are interested in, called CRI, is highlighted in section 3, where we also explain why CRI is in general ....
[Article contains additional citation context not shown here]
J.A. Bergstra, J. Heering, and P. Klint. Module algebra. ACM, 37(2):335--372, 1990.
....6 Concluding Remarks The concept of renaming has been widely studied and employed in mathematics and computer science for di erent purposes, including program composition. For instance, adopting an algebraic approach for de ning the semantics of module and module compositions, Bergstra et al. [3] introduced a renaming operator for combining di erent signatures. However, the kind of renaming they proposed is permutative , that is, if a is replaced by b, then b is replaced by a. This can be useful for avoiding name clashes, but not for purposes such as increasing or decreasing the ....
J. A. Bergstra, J. Heering, and P. Klint. Module Algebra. Journal of the ACM, 37(2):335-372, 1990.
.... for modular specifications dates back to the early eighties, with the proposal of the language CLEAR [Burstall and Goguen 1980] and its successors OBJ and OBJ2 [Futatsugi et al. 1985] Our proposal of an algebra of logic modules compares with the module algebra of Bergstra, Heering and Klint [Bergstra et al. 1990]. Their algebra includes both modules (first order logic specifications) and signatures of modules (declarations of types, constants and functions) Our proposal adheres to the type free tradition of logic programming, and hence our signatures are simply sets of predicate names, as mentioned in ....
....Our proposal adheres to the type free tradition of logic programming, and hence our signatures are simply sets of predicate names, as mentioned in the previous section. The adoption of a type discipline is an orthogonal concern with respect to the type free algebra of modules. The algebra in [Bergstra et al. 1990] provides a union combination operator ( a renaming operator ( and an export operator (2) Renaming is not directly supported in our proposal, although a form of renaming can be obtained by suitable compositions. For instance, the effect of exporting a predicate p renamed by q from a module ....
[Article contains additional citation context not shown here]
Bergstra, J., Heering, J., and Klint, P. 1990. Module algebra. Journal of the ACM 37, 2, 335--372.
....defined in the preceding section can be seen, from a more linguistic point of view, as the basis for defining a kernel language of modules with state independent of the underlying core language, intended to be a paradigmatic representative of concrete modular languages. Following the tradition of [10], we present this kernel module language as a (partial) algebra DM (for dynamic modules ) whose signature Sigma DM is given in Fig.1. We assume that Sigma DM contains a family of constant operators indexed by a set SDEF of state definitions and a family of unary operators indexed by a set ....
Bergstra, J., J. Heering, and P. Klint: 1990, `Module Algebra'. Journ. ACM 37(2), 335--372.
....3.11: Let s: q 1 ,D 1 ) q 2 ,D 2 ) be a spectative superposition morphism. Then, for every model # of (q 1 ,D 1 ) there is a model ## of (q 2 ,D 2 ) such that # ## s . z Model expansive transformations have been identified as playing a very important role in modularity [Maibaum et al. 85, Bergstra et al. 90, Diaconescu et al. 91] We shall see in section 5.3 how this property suggests the definition of the notion of superposing an observer (or monitor [Katz 93] on a base program, and how it can be used to characterise the notion of derived attribute or auxiliary variable as used in databases ....
....complex systems out of components. Spectative superposition also plays a very important role in program development. Indeed, in this section, we show how spectative superposition morphisms satisfy algebraic properties that have been recognised as the source of modularity in program development [Bergstra et al. 90, Diaconescu et al. 91, Maibaum et al. 85] We have already seen in section 3.2 that spectative superposition morphisms are model expansive. That is, by means of spectative superposition, a program can be extended without affecting its underlying behaviour. The following proposition shows that ....
[Article contains additional citation context not shown here]
J.Bergstra, J.Heering and P.Klint, "Module Algebra", Journal of the ACM 37(2), 1990, 335-372.
....[80] on reflection for survivable systems [73] and on metalogical foundations for reflection [56] will be extended in several ways. More generally, we will take into account many previous contributions by other researchers in the area of software architecture and module composition operations [6, 67, 15, 19, 8, 41, 36, 28, 75], in reflection [71, 70, 79, 76, 41, 38, 81, 7, 68, 39, 12, 53, 24, 37, 52, 61, 64, 69] and in recent approaches to interoperation [34, 13, 14, 42, 5, 1, 45, 20] The proposed research will lead to a new technology for composition, interoperation, and dynamic evolution of software systems. It ....
....the module mechanisms of ML, and have syntactic based counterparts in languages such as C and Ada. 8 In fact, a number of important theoretical studies and language proposals on module composition have appeared in the literature. Some use the institutions general logics foundational ideas [6, 67, 15, 19]. Other approaches are more particular in the sense of being formalism or language dependent, but also provide valuable ideas; for example, the approach proposed by Bracha and Lindstrom [8] in the context of object oriented languages using the lambda calculus as underlying formalism, and the ....
J.A. Bergstra, J. Heering, and P. Klint. Module algebra. Journal of the ACM, 37:335--372, 1990.
....refinement of parameterisations which unfolds to a (contravariant) parameter instantiation followed by a (covariant) nonparameterised refinement c.f. 18] discussing [44] 4. the proof of correctness for various operations of module algebras, c.f. 40] discussing an earlier version of [8]; 5. the orthogonality of presentation when sharing specification text following an one writer, many readers architecture in state based specification 3 Where grammatical expressions correspond to inductively defined finite strings of symbols and translations enjoy a mono epi factorisation. ....
J.A. Bergstra, J. Heering, and P. Klint. Module algebra. volume 37, pages 335--372, 1990.
....of visibility #export, hide#, data only importing, and inheritance. The widespread literature on abstract data types and widespectrum algebraic speci#cation languages provides a rich source of motivation for other concrete models of IDLs and extensions to our general framework. Examples include Bergstra et al. #1990#, Ehrig and Mahr #1990#, Goguen and Tracz #2000#, Loeckx et al. #1996#, Bidoit et al. #1999#, Mosses #1999#. 7.1 Interfaces in Component Based Systems There are a number of IDLs for component based systems, but the two mainstream approaches are the Common Object Request Broker Architecture ....
Bergstra et al. #1990# J Bergstra, P Heering, and P Klint. Module algebra. Journal of the ACM, 37#2#:335# 372, 1990.
....of specification frames. Actually we could have obtained similar results without requiring amalgamation, as long as it is considered erroneous to combine specifications (by the operation) whose associated pushout diagram does not have amalgamation. 2. Following the Module Algebra approach (Bergstra et al. 1990) we can consider the specificationbuilding operations as operators of an abstract signature SSPEC over two sorts (specifications and morphisms) In this sense, specification expressions are just terms in T SSPEC and the two semantic definitions [ Spec and [ Mod can be seen just as the ....
Bergstra, J.A.; Heering, J.; Klint, R. (1990): Module Algebra, Journal of the ACM 37, 2, 335-372.
....or the shared construct s implementation. Soundness of the mechanism is established by flattening. 1 Introduction The B method provides support for modularization and, herewith, for information hiding, compositionality of module operations, reusability of modules, and decomposition of proofs [4, 5]. Modules can be combined using a number of different mechanisms. Refinement being almost monotonic with respect to the composition mechanisms, most proof obligations arise on a per module base. The few additional restriction on the global structure can be checked automatically. In this ....
J. A. Bergstra, J. Heering, and P. Klint. Module algebra. Journal of the ACM, 37(2):335--372, 1990.
....SDF (the latter is used for defining all syntactic aspects of PICO) 2) no error cases are specified; 3) both positive and negative conditions are allowed in equations; 4) it can be translated to Prolog using an extension of the compilational approach of van Emden and Yukawa. Module Algebra [BHK90] An axiomatic algebraic calculus of modules is given which is based on the operators combination union, export, renaming, and taking the visible signature. Four different models of module algebra are discussed and compared. Prettyprinting without losing comments [Bra93] The problem of ....
J.A. Bergstra, J. Heering, and P. Klint. Module algebra. Journal of the ACM, 37(2):335--372, 1990.
....suited to all people for which a formal definition of VVSL is meant. For the new semantics of the structuring sublanguage, the prerequisites are familiarity with classical lambda calculus and Description Algebra or a similar model of specification modules (e.g. the models presented in [Wir86] or [BHK90]) It is not clear whether this alternative approach would have been usable for the VIP project; in particular it is doubtful whether a well defined semantics would have been available in time. The situation faced by the VIP project is in no way unique. In such situations, a relatively general ....
J.A. Bergstra, J. Heering, and P. Klint. Module algebra. Journal of the ACM, 37(2):335--372, 1990.
....which consists of MPL , the algebra DA (for Description Algebra) 26] and calculus (a version of lambda calculus) 28] DA is a general algebraic model for modular structuring of specifications which is suitable for state based specifications. It is closely related to MA (for Module Algebra) [29]. calculus, a variant of typed lambda calculus with parameter restriction in lambda abstractions, is used to deal with parameterization. The parameter restriction feature is like in ASL [30] This feature makes it possible to put requirements on the modules to which a parameterized module may ....
BERGSTRA, J.A., HEERING, J., and KLINT, P.: `Module algebra', Journal of the ACM, 1990, 37, (2), pp. 335--372
....software systems, it is indispensable that it permits two or more modules to have hidden state variables in common. This requires a model of specification modules which is more concrete than most models proposed for modular property oriented, algebraic specifications (such as the ones presented in [BHK90, SaT85, WiB89]) Appropriately concrete models (e.g. the model presented in [Ber86] and the presentation model from [Wir86] usually treat name clashes in a way which still inhibits modules to have hidden state variables in common. DA makes it possible for modules to have hidden state variables in common. This ....
....in common. DA makes it possible for modules to have hidden state variables in common. This is largely due to the way in which it treats name clashes. Nevertheless, many algebraic laws holding in the more generally accepted models also hold for DA. These laws include most laws of Module Algebra [BHK90]. Description Algebra is a heterogeneous algebra. Its main ingredients are: Descriptions . The objects of interest are descriptions. A description consists of an externally visible signature, an internal signature, a set of formulae and an origin partition. It is essentially a presentation of a ....
[Article contains additional citation context not shown here]
Bergstra, J.A., Heering, J. and Klint, P.: Module algebra. Journal of the ACM, 37, 335--372 (1990).
....logic) 4 A second reason for modularising the domain layer is related to the way this knowledge is going to be used at the inference layer. This will be further explained in section 3.2.1. 5 Our syntax for theories is very much inspired by algebraic specification languages (see for instance (Bergstra et al. 1990)) We only give a definition by example here, for a detailed description see (van Harmelen, Balder, Aben Akkermans, 1991) The keywords in our examples are printed in bold. User definable terms are printed in italics. denotes zero or more repetitions of the term indicated, denotes one or ....
Bergstra, J., Heering, J., and Klint, P. (1990). Module algebra. Journal of the ACM, 37(2):335--372.
....defined in order to make (in)equality between naturals decidable. Given to naturals m and n, the term eq(m; n) should result into T resp. F if m and n are equal resp. unequal. The equality function is already defined for each pair of naturals if equation 8 is replaced by the following equation (cf [BHK90]) 8 0 : eq(0; 0) T Now indeed inequality is computable. Given two naturals m and n, rule 11 can be applied till one of these terms reduces to 0. If both terms are reduced to 0 at the same time, then 8 0 tells that they are equal. And if not, then according to 9,10 they are unequal. In the ....
J.A. Bergstra, J. Heering, and P. Klint. Module algebra. Journal of the ACM, 37(2):335--372, 1990.
....out and are discussed. 1 Introduction Specifications, like programs, must be modular because very large formal texts are not understandable for a human being. So, the study of modules and modularization is one of the issues in software engineering. The three main objectives of modularization [BHK90] are : information hiding, compositionality of module operations and reusability of modules. If the specification methodology encompasses the need for formal proofs to ensure consistency, as it is the case in the B method, then modularity is also very crucial to decompose the proof process in many ....
....on the algebraic semantics of the components. The primitives of the language are: enrich, rename, union with implicit sharing, instantiate, quotient (which can be represented by our enrich) etc. One can found a complete study of meta operations on algebraic specifications called modules in [BHK90]. Model oriented specification formalisms provide examples of primitives to assemble specifications. The Z language [Spi88] is modular, because all the schemas can be specified separately. Bodies of component are texts of specification and can be obtained by replacement and copy of texts of the ....
J. A. Bergstra, J. Heering, and P. Klint. Module algebra. J. ACM, 37(2):335--372, 1990.
....there is a need for several design level transformations of of software system, which result into algebraic operations on design elements in class algebra. In order to prove the correctness of transformations it is necessary to use formal methods for for software at design level. Module Algebra (Bergstra, Heering, Klint 1990) describes modules as terms consisting of module constants variables and operators. According to this model modules are nothing but terms and the ways of fitting modules together are algebraic operators in the language of algebraic system. Class Algebra is an extension of module algebra and ....
Bergstra, J.A., Heering, J., Klint,, P (1990) Module Algebra, JACM Vol. 37 No 2 pp. 335-372.
....module, which depends on the (semantics of) the underlying core language. We think a simple and natural way for achieving that is to work within the theory of institutions ( 11] simply extending to the case of mixins the well established algebraic treatment of module composition (see, e.g. [4, 9]) In this approach, syntactic interfaces of modules are modeled by signatures of some institution I, and denotations of program modules are models of I; for instance, in a standard case, many sorted algebras (collections of related functions together with the data domains they operate on) More ....
.... be seen in two symmetric ways: from one side, we generalize the model of inheritance in [8] from objects (modeled as records) to modules denoting arbitrary semantic structures; from the other side, we present a kernel module language with algebraic semantics, in the spirit of the seminal paper [4], but considering, together with classical operators like export and renaming, new operators allowing module modification which would make no sense in the traditional model. This work is part of some ongoing research on algebraic foundations of advanced features in modularity. In [3] we have ....
[Article contains additional citation context not shown here]
J.A. Bergstra, J. Heering, and P. Klint. Module algebra. Journ. ACM, 37(2):335-- 372, 1990.
....glass box representation; black box (design) transformation and glass box transformation. The design of a software system can be viewed as the organisation of software components in a program, or, more specifically, as a hierarchically structured and component wise specified software system[2,3,4] wherein each component has a specification and an optional implementation. Usually there is one component called the system, which controls the execution of the system. Components in a software system are: classes, procedures, functions, types, variables. Design can be developed using design ....
....procedures, functions, types, variables. Design can be developed using design languages, which can be graphical such as OMT[5] UML[6] or Booch[1] or by using languages like Language for Object Oriented Modelling (LOOM) 7] Alternatively they can be specified using formal languages like COLD K[2,3,4] as in the Meteor Project. The authors of OMT, UML, and LOOM concentrated on design representation and do not discuss design transformations, whereas the Meteor[2,3,4] project works on design transformation using formal languages and provides formal proofs for behavioural equivalence in design ....
[Article contains additional citation context not shown here]
Bergstra, J.A., Heering, J., Klint,, P (1990) Module Algebra, JACM Vol. 37 No 2 pp. 335-372.
....0 ) 2 ) then there exists 2 SenINS ( Sigma) such that: 1 j= INS Sigma 1 SenINS (d) and SenINS (t) j= INS Sigma 2 2 : 2 Of course, the interpolation property does not hold in every institutions. For instance it does not hold for the institution EQ of equational logic (see [BHK 90] However, it does hold for some reacher institutions like e.g. the institution FOLEQ of the first order logic with equality (see [BM 86] Definition 8 ( D; T ) amalgamation property) A (D; T ) institution INS satisfy (D; T ) amalgama tion property iff for any d; d 0 2 D and t; t 0 2 T ....
....the semantical consequence relation. The proof follows directly from the proof of soundness presented in [ST 88] Now, to prove its completeness we need some more notions. The first is the notion of a normal form of a given specification. A similar definition was presented in [Cen 94] cf. also [BHK 90] Definition 11 (Normal form) We say that the specification SP is in the normal form if it has a form: derive from h Sigma; Phii by d where (d : Sig[SP] Sigma) 2 D and Phi SenINS ( Sigma) 2 The next definition introduces the notion of equivalence between specifications. Definition ....
[Article contains additional citation context not shown here]
J. A. Bergstra, J. Heering, P. Klint. Module algebra. Journal of the ACM, 37(2):335-372, April 1990.
....black box representation, glass box representation, black box (design) transformation and glass box transformation. Design of a software system can be viewed as organisation of software components in a program. Design is a hierarchically structured and component wise specified software system[6,7,8]. Each component has a specification and an optional implementation. Usually there is one component which is called the system, which represents the system to be developed. Components in a software system are: classes, procedures, functions, types, variables. Design can be developed using design ....
....functions, types, variables. Design can be developed using design languages, which can be graphical like OMT[9] UML[10] or Booch[5] notation or by using languages like Language for Object Oriented Modelling (LOOM) 11] alternatively they can be specified using formal languages like COLD K[7,8] as in the Meteor Project. The authors of OMT, UML, and LOOM concentrated on design representation and do not discuss design transformations, whereas Meteor[6,7,8] project works on design transformation using formal languages and provides formal proofs for behavioural equivalence in design ....
[Article contains additional citation context not shown here]
Bergstra, J.A., Heering, J., Klint,, P (1990) Module Algebra, JACM Vol. 37 No 2 pp. 335-372.
....as fundamental both from the type theoretic [17, 15] and the software engineering [8, 4, 19] point of view. In this paper, we take a different approach to the formal definition of operators for composing mixin modules, i.e. we give an axiomatic characterization, in the spirit of the seminal paper [5]. In particular, we show that all the mixin operators can be expressed in terms of three primitive operations (namely, sum, reduct and freeze) which are characterized by a small set of axioms. We show that the given axiomatization is sound w.r.t. the previously presented model. Finally, we prove ....
....of overriding: M (M = M . The existence of the right neutral element for overriding is stated in ax. xiii) M 1 (M 2j; M 1 j Sigma out 1 n; Phi M 2j; M 1 . 4 Conclusion We have given an axiomatic characterization of the notion of mixin module, following the spirit of the seminal paper [5]. We have proved that such axiomatization is sound w.r.t. the intended model, previously defined in [1, 2] and that each mixin expression is provably equal to a simple normal form where the freeze operator is applied only once. Moreover, many other expected properties of the mixin operators can ....
[Article contains additional citation context not shown here]
J.A. Bergstra, J. Heering, and P. Klint. Module algebra. Journ. ACM, 37(2):335-- 372, 1990.
....black box representation, glass box representation, black box (design) transformation and glass box transformation. Design of a software system can be viewed as organisation of software components in a program. Design is a hierarchically structured and component wise specified software system[2,3,4]. Each component has a specification and an optional implementation. Usually there is one component which is called the system, which represents the system to be developed. Components in a software system are: classes, procedures, functions, types, variables. Design can be developed using design ....
....functions, types, variables. Design can be developed using design languages, which can be graphical like OMT[5] UML[6] or Booch[1] notation or by using languages like Language for Object Oriented Modelling (LOOM) 7] alternatively they can be specified using formal languages like COLD K[2,3,4] as in the Meteor Project. The authors of OMT, UML, and LOOM concentrated on design representation and do not discuss design A Complete set of Design Transformations will be provided in this document. Should turn into a small book by the time it is complete. transformations, whereas ....
[Article contains additional citation context not shown here]
Bergstra, J.A., Heering, J., Klint,, P (1990) Module Algebra, JACM Vol. 37 No 2 pp. 335-372.
....means of importing. The externally visible signature of a description can be restricted by means of exporting. Unifying is a special operation for dealing with name clashes. Many algebraic laws holding in most other models hold for DA as well. These laws include most axioms of Module Algebra (MA) [2]. Below a number of algebraic laws that hold for DA are presented. These laws are axioms of MA or generalize axioms of MA with the exception of the laws concerning operations of DA which have no counterpart in MA. Sigma (ae ffl X ) ae ffl Sigma (X ) Sigma (X 1 X 2 ) Sigma(X 1 ) ....
J.A. Bergstra, J. Heering, and P. Klint. Module algebra. Journal of the ACM, 37(2):335--372, 1990.
No context found.
J.A. Bergstra, J. Heering, and P. Klint. Module Algebra (revised version).
....3.2] Similarly, an initial algebra specification of lists with a length function cannot be made into a definition of sets unless the length function is deleted. As in the previous case, hiding it is not sufficient since the length function is not compatible with the idempotent law for sets. In [2] we discussed the algebraic semantics of the modularization operators and 2. The latter, which restricts the visible signature of a specification, is directly related to hiding and satisfies several important identities. A delete operator, on the other hand, is not considered in [2] nor is it ....
....for sets. In [2] we discussed the algebraic semantics of the modularization operators and 2. The latter, which restricts the visible signature of a specification, is directly related to hiding and satisfies several important identities. A delete operator, on the other hand, is not considered in [2], nor is it available in most algebraic specification languages. As a consequence, modules that are too large can be reused only after the relevant parts have been factored out, an operation which affects their modular structure. With the delete operator no restructuring is necessary. 1.3 Two ....
J.A. Bergstra, J. Heering, and P. Klint, Module algebra, Journal of the ACM, 37 (1990) 335--372.
No context found.
J. Bergstra, J. Heering, and P. Klint. Module algebra. JACM, 37(2):335--372, 1990.
No context found.
J. Bergstra, J. Heering, and P. Klint. Module algebra. Journal of the ACM, 37(2):335--372, 1990.
No context found.
Bergstra, J., Heering, J., and Klint, P. (1990). Module algebra. Journal of the Association for Computing Machinery, 37:335--372.
No context found.
J. Bergstra, J. Heering, and P. Klint. Module algebra. J. ACM, 37(2):335-372, 1990.
No context found.
J. A. Bergstra, J. Heering, and P. Klint. Module Algebra. Journal of the ACM, 37(2):335--372, 1990.
No context found.
J.A. Bergstra, J. Heering, and P. Klint. Module algebra. volume 37, pages 335-372, 1990.
No context found.
J.A. Bergstra, J. Heering, and P. Klint. Module algebra. volume 37, pages 335--372, 1990.
No context found.
J. A. Bergstra, J. Heering, P. Klint. Module algebra. Journal of the ACM, 37(2):335-372, April 1990.
No context found.
J. A. Bergstra, J. Heering, P. Klint. Module algebra. Journal of the ACM, 37(2):335-372, April 1990.
No context found.
J.A. Bergstra, J. Heering, and P. Klint. Module algebra. Journ. ACM, 37(2):335--372, 1990.
First 50 documents Next 50
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